Community研究与数据分析github.com

lingyu9495-source/feasibility-report-engine

做可研报告,卡住的往往不是不会写,是**不知道按哪版大纲、财务测算六表和正文对不上、交付前排版被退稿**。这套是从二十多万字、131 张表的真实交付里固化的流水线。

feasibility-report-engine 是什么?

feasibility-report-engine is a Claude Code agent skill that 做可研报告,卡住的往往不是不会写,是**不知道按哪版大纲、财务测算六表和正文对不上、交付前排版被退稿**。这套是从二十多万字、131 张表的真实交付里固化的流水线。.

兼容平台~Claude Code~Codex CLI~Cursor
npx skills add https://github.com/lingyu9495-source/agent-skills/tree/main/skills/feasibility-report-engine

Installed? Explore more 研究与数据分析 skills: affaan-m/uspto-database, affaan-m/scholar-evaluation, affaan-m/literature-review · View all 6 →

在你喜欢的 AI 中提问

打开一个已预加载此 Agent Skill 的新对话。

文档

Feasibility Study Report Engine (Industrial Project Feasibility Study Report · Complete Battle Manual for External Delivery)

Skill Type Note: This skill = the "Word Full Version + Excel Calculation Model" delivery version of feasibility study report writing. Deliverables: ① Complete Word report (cover → main text → appendices, per NDRC 2023 outline) ② Excel investment calculation model (all formulas pre-built). Related skills in the same business family (distinguished by delivery format): PPT version feasibility presentation, PDF version feasibility report — to be developed separately (planned, see README skill roadmap). Quick Usage: Client/project team provides materials → This engine executes six steps → Deliver the three-piece set (report .docx + calculation model .xlsx + preparation notes .docx) to the user chat. This engine is the full-process practical crystallization from a real large order in September 2026 (300 billion ocean industry cluster, nine volumes, 200,000 Chinese characters), including all pitfalls encountered.

v1.6 Capability Upgrade (This Update): ① Added report_qa.py for long-document QA (caching, assertion check, regex-based search and replace) and pipeline_check.py for pipeline self-check, pure Python standard library, zero dependencies, ready to run out of the box; ② Added "Three Gates of Report Quality" and "Pre-Delivery Verification Checklist," transforming "delivery by feel" into "delivery by ticking off each item"; ③ Supplemented "Hard Rules for Pagination and Images (Word rendering ≠ LibreOffice rendering)" and PDF delivery; ④ Added a chapter on "Revision and Data Alignment" to prevent disasters when clients return drafts with changes or updated numbers; ⑤ Added financial calculation data consistency check table, four-statement cross-validation check, and sensitivity analysis requirements.

I. Trigger Conditions and Positioning

Trigger: Client/entrusting party requests a "feasibility study report," "feasibility study," "project initiation report," or "financing due diligence report"; the client provides scattered materials (project name/location/scale/a few images) and wants a formal report suitable for investor review, regulatory approval, or investment promotion.

Division of Labor with Related Skills:

SkillPurpose
This EngineFor external delivery to clients (compliance gold standard = NDRC 2023 outline)
report-production-pipelineGeneral report production pipeline (five stages + self-check scripts); steps 2–4 of this engine are isomorphic with it
feasibility-study-writingFor internal decision-making/business case argumentation
mh-calculationFinancial calculation engine (17 tables; this engine calls it for calculations)

Commercial Delivery Red Lines (Invisible OEM) :

  • The client signs their name on the deliverable; we only provide the content—the preparing unit/date/seal are left blank for the client to fill in.
  • Absolutely no AI traces (file names must not contain "final version/AI/dual-model review," metadata is cleared, no AI symbols in the main text).
  • Qualification seals: Advise clients to collaborate with qualified engineering consulting units for stamping (compliance red line + business acquisition opportunity).
  • Pricing Anchor: Sell "speed + professionalism." Custom standard tier: 8,000 to 15,000 RMB. Do not take orders below 3,000 RMB.

II. Industry Gold Standard: Two Outlines (Determine the Type Before Writing)

The National Development and Reform Commission's Document No. 304 [2023] "Outline and Instructions for Writing Feasibility Study Reports for Investment Projects" — the only compliance benchmark for writing feasibility studies.

Type DeterminationGovernment Investment Projects (General Outline, 11 Chapters)Enterprise Investment Projects (Reference Outline, 10 Chapters)
Funding SourceGovernment investment/capital injection/special bondsSelf-raised capital/market-based financing
Typical ClientsMunicipal investment/platform companies/government projectsPrivate enterprises/industrial investment/mixed ownership
EmphasisConstruction necessity/social benefits/fund balanceMarket demand/profitability/business model

For the complete chapter-by-chapter requirements, see references/ (gov-dagang-2023.md for government version, ent-dagang-2023.md for enterprise version). Consult the corresponding outline chapter by chapter when writing.

Type Determination Self-Check (Getting It Wrong = Rewriting the Entire Report. Answer These Four Questions First)

  1. Where does the money come from: Fiscal funds/special bonds/government platform investment → Government version; Self-raised capital/commercial loans/market-based financing → Enterprise version.
  2. Who is the audience: NDRC approval/authorization, fiscal fund application → Government version; Bank loan review, investor decision-making, investment promotion → Enterprise version.
  3. Whose need does it address: Public need (regional shortcomings/livelihood/mandatory superior planning) → Government version; Market demand and profitability → Enterprise version.
  4. Does it require these chapters: Performance management plan, carbon peak and carbon neutrality analysis → exclusive to the government version; Higher weight for business model/marketing strategy/competition analysis → Enterprise version.

For mixed funding (government capital + self-raised funds): Use the approval/filing outline as the main framework. Incorporate enterprise financial analysis into the "Investment, Financing, and Financial Plan" chapter, and clarify the dual approach in the overview.

III. Six-Step Workflow (Full Process)

Step 0: Material Inventory + Type Determination + Three Pre-Engagement Questions (0.5h)

Ask these three things before writing:

  1. Purpose (Project approval/bank financing/investment roadshow/internal decision-making) → Determines layout depth and outline.
  2. Owner Nature (Government platform/private enterprise) → Determines whether to use the government or enterprise outline.
  3. Deadline → Determines Mode A (complete, 7-15 days) or Mode B (rapid first draft delivery, 1-3 days). ⭐

Material Inventory: Identify "what we have vs. what's missing." Ask for all missing items at once, not back and forth. Missing investment estimates → Use industry benchmarks and note "per [industry] convention." Missing land/location → Use public planning due diligence. Client provides little information → Use Mode B.

Completion Criteria: One sentence documenting the type determination conclusion (government/enterprise version + basis); a written list of material gaps; Mode A/B clearly specified.

Step 0.5: Data Request List (Three Batches, Ask for Everything at Once, Don't Write and Ask Alternately)

BatchContentConsequences of Missing
Batch 1: Quantity, Price, and Investment BasicsConstruction content and scale, equipment list and quotations, land price/rent, utility costs (water/electricity/gas), labor costsCan only produce a "preliminary justification version"; investment estimates are based on industry conventions
Batch 2: Entity and Compliance ConfirmationBusiness license/main entity documents, land pre-approval and site selection, env/energy/water/stability assessments, sea area use approvals and processing statusCompliance sections can only state "in process"; the review meeting will criticize this
Batch 3: Market and Order EvidenceLetters of intent/framework agreements, upstream/downstream contracts, operational data from similar projects, policy support documentsMarket analysis can only use public data; depth is significantly reduced

Template list: references/data-request-list.md. When sending the list, simultaneously explain: "If Batch 2 is missing, only a preliminary justification version can be provided" — this is both professional and an opportunity for secondary billing.

Step 1: Online Due Diligence (Mandatory! 1-3h, Four Parallel Streams)

Never write without searching. The difference between a "presentable" feasibility study and "template copy-paste" is that every assertion has data/policy support.

  1. Policy Stream: Provincial/city industrial policies/special plans/industry access requirements → Search for "[Industry] 15th Five-Year Plan" "[Province/City] Industrial Policy [Industry]"
  2. Market Stream: Industry scale/growth rate/competitive landscape → Brokerage reports/industry associations/statistics bureaus; cross-reference multiple sources
  3. Regional Stream: Site location park/land/infrastructure/similar projects → Search for "[City] [Industry] Industrial Park"
  4. Benchmark Stream: Investment intensity/return rate of similar projects → Refer to mh-calculation industry benchmarks

Record the source for every key piece of data (institution + year + link). Cite sources in the text. For missing data, do not fabricate; write "to be confirmed via due diligence" and provide the industry range.

Data Extraction Channels (Escalate by Page Difficulty; Don't Give Up at the First Level) :

  • Level 1: Standard scraping/search engine summaries — Original policy documents, news, public reports.
  • Level 2: Scraping with anti-bot bypass (rendering JS, handling Cloudflare challenges) — Government websites, industry association sites, research report sites.
  • Level 3: Browser control (clicking, pagination, forms) — Data requiring interaction (query systems, public notice databases).
  • Save raw materials to disk (under <project name>/due-diligence/ named by source) for traceability during writing and to avoid re-searching during revisions.

Completion Criteria: For every key number, you can answer "Who said it, which year, what measurement." Raw materials are saved on disk and traceable.

Step 2: Distributed Writing (Model Matrix — This Is the Key to Producing a 200,000-Character Epic)

Do not let one model consume the entire document in one pass. Assign roles:

  • Master Brain (the model in the current conversation): Build the structural skeleton, write the overview/introduction/strategic argument, perform final assembly and review.
  • Expansion Model (a more capable model API, e.g., DeepSeek V4 Pro / Qwen Max): Deep-dive expansion of heavy chapters like financial evaluation and market analysis — feed each chapter with "current status of this chapter + expansion requirements + example." Set max_tokens high (12000+, otherwise reasoning tokens eat up all output).
  • Calculation Model: Invoke mh-calculation to compute IRR/NPV/payback period (do not calculate manually).
  • Review Model (a smart model reads the full text to find flaws): Using Qwen/Doubao, have it assume the role of a senior practitioner and read the entire text (not a summary) to find logical gaps, inconsistent data, and distorted numbers.
  • Visual Model (for layout verification, see Step 4): Cross-validate using Mimo 2.5 / DeepSeek Vision / GLM-4V / Qwen-VL.

Tip: The same API key can be used for two tiers (Flash for daily tasks, Pro for deep work). The reviewer must be given the full real text, not a summary, or the review will be worthless.

Before writing, produce a chapter outline (Each chapter = what to say | why this evidence supports it | where the evidence comes from). Send chapters with blank evidence columns back to Step 1 to fill in. Do not start writing with empty evidence. Template for the outline: templates/report-plan.md.

Completion Criteria: The chapter outline has all three columns filled with no blanks; each chapter's first draft has data, sources, and a closed logical chain.

Step 3: Three Gates of Quality (Between the AI Draft and a Draft You Dare to Deliver — Don't Skip)

GateWhat to DoWhat to Do If It Fails
① ReflectionReview the process: Is the data complete? Are the sources reliable (primary/secondary)? Are there logical leaps?Add data, change sources, fill in arguments
② ReviewCheck against the checklist item by item: Do conclusions match evidence? Is there any overreach? Are opposing views addressed? Are numbers/names/dates accurate? Is the terminology consistent?Correct each item; cannot be "approximately correct"
③ CorrectionAfter fixing, must re-scan the corrected areas (key focus: check for new errors introduced) and re-scan the entire text for residual old terminologyIf the re-scan fails, repeat the entire process

Checklist version: templates/review-checklist.md. Machine-executable bottom-line check:

python3 scripts/pipeline_check.py report.md          # Source annotation / uncertainty disclosure / opposing perspective / conclusion / structure / number terminology
python3 scripts/pipeline_check.py report.md --strict --json   # Non-zero exit code = hard errors; can be directly integrated into automation

Drafting and review cannot be done in the same pass — it's a cognitive principle, not an attitude problem, that you can't see errors in your own writing. Change the perspective/change the model/change at least one pass.

Step 4: Document Engineering (From AI Draft to Professional Delivery Version, via scripts/)

Delivering a docx directly generated by AI is a hallmark of an amateur. Use the scripts pipeline:

# 1) Build the skeleton from scratch: cover page + signature page + auto table of contents + header/page numbers (style system built-in)
python3 scripts/gen_report_docx.py "Full Project Name" "" output.docx
#    (middle parameter = preparing unit; pass empty string for external delivery to leave it blank)

# 2) For an existing draft/client docx: add the front matter (cover/signature/TOC fields) → see scripts/face_docx.py --help
python3 scripts/face_docx.py input.docx output.docx "Full Project Name" "" "KY-2026-XXX"

# 3) Polish the document (AI trace removal + style reconstruction + table beautification) ⭐ Most commonly used
python3 scripts/docx_polish.py input.docx output.docx "Full Project Name" --title "Report Title"

# 4) Calculation model (formulas pre-built, blue cells = inputs) ⭐ Professional version v2 (three-line tables + five-color semantics + cover instructions)
python3 scripts/gen_model_xlsx_v2.py output.xlsx "Project Name" total_investment_ten_thousand_revenue_per_year_reaching_capacity construction_period operational_period
#    Example: python3 scripts/gen_model_xlsx_v2.py model.xlsx "XX Project" 3000000 600000 4 16

# 5) Preparation notes and data request list (1-2 pages, one of the three delivery pieces)
python3 scripts/gen_shuoming.py output.docx "Project Name" "Approximately 30 billion yuan"

4.1 Hard Rules for Pagination and Images (Word Rendering ≠ LibreOffice Rendering — Lessons Learned the Hard Way)

Core Insight: Using LibreOffice to convert to PDF for layout self-check ≠ the effect in Word/WPS. 90% of clients use Word/WPS. Issues like pagination and cropped images only appear in the Word engine. You must first check the XML before drawing conclusions.

SymptomRoot CauseFix
Image shows only a thin strip or a cornerThe Normal style uses lineRule="exact" fixed line height, which crops inline images (Word-specific; LO does not crop)Change the body text style line height to atLeast (preserves visual line height but allows images to expand); for paragraphs containing images, explicitly set spacing line=240 lineRule=auto
Only one line of text on a page / large blank areaEvery row in a table has cantSplit (cannot break across pages) → if a large table doesn't fit, the entire table jumps to the next pageOnly lock header rows with cantSplit; allow all data rows to break across pages; add tblHeader to header rows (automatically repeats header on the next page)
Table causes abnormal Word paginationTotal table width exceeds the text area (A4 text area = 8730 twips, 3cm left margin)Proportionally scale gridCol values to ≤ 8700 twips
Orphaned line at the bottom of a page (only 2 lines of a sentence split)A paragraph breaks across a page with only 2 lines remaining at the bottomAdd keepLines to that paragraph (keeps the paragraph together on one page); move the entire paragraph to the next page
Orphaned line on the last page ("(End of Report)" alone on a page)After a large appendix table, the closing paragraph can't fit on the previous pageDirectly delete the closing mark or compress the preceding table
Cover page "Preparing Unit: ______" lineUnderline space placeholder run (<w:u> + space)When the unit name is filled in, delete the underline space run; do not leave a blank placeholder line

After fixing, re-render and re-check: Use fitz to scan every page for "almost empty pages" (max_y < 350) and confirm image widths > 200pt are complete.

4.2 PDF Delivery (For Investor Reading Formats)

  • Use soffice --headless --convert-to pdf (LibreOffice). Heading outlines automatically become bookmarks (766 = professional level).
  • Page number fields / TOC fields rendering as placeholders is normal (they update only after pressing F9 in Word) — PDF rendering via LO is unaffected; for the docx, remind the client to press F9 in Word.
  • For large docx files (>10 MB with multiple images), preview in mobile/IM apps may not show images → attach a PDF version when delivering + remind the client to open the docx in Word.

Step 5: Report QA (Automated Health Check for Numbers and Terminology)

python3 scripts/report_qa.py stats report.docx                 # Scale check: page count / paragraph count / character count / embedded images
python3 scripts/report_qa.py grep  report.docx "old terminology|old number"    # Regex search (includes table cells; skipping table cells = skipping half the numbers)
python3 scripts/report_qa.py check report.docx baseline.json    # Assertion check: banned words must have zero hits; required items must appear
python3 scripts/report_qa.py cache report.docx                  # Build plain text cache; repeated checks during revision are ~14x faster
  • Before delivering a revised version, write each client request as an assertion (banned words / required items) and run a single command to prove all pass — more reliable than scanning three times by eye.
  • If the assertion set is empty, an explicit warning will be issued to avoid the false positive of "0/0 all green."

Step 6: Visual Inspection + Delivery (Three-Piece Set + Dual Output)

Visual Inspection (The Final Gate Before Delivery) : Issues in AI-generated layouts cannot be caught by textual inspection; they must be rendered as images for visual models to "see" them. A single model might be perfunctory or make errors → use 2+ models for cross-validation. When issues are found, use coordinate data to double-check before fixing.

# Choose one of the following environment variables (recommended order: free → cheap & fast → backup)
export ZHIPU_API_KEY=...             # ① GLM-4V-Flash (free, ~1.6s/page) — preferred
export DASHSCOPE_API_KEY=sk-...      # ② qwen3-vl-flash (Bailian Qwen Visual Flash, cheap & fast)
export MIMO_API_KEY=...              # ③ Xiaomi Mimo 2.5 (native multimodal)
export DEEPSEEK_API_KEY=...          # ④ DeepSeek Vision (backup — DeepSeek is mainly used for writing; minimize vision usage)

python3 scripts/vision_check.py report.docx    # docx → render key pages → multi-model review (auto-fallback: ① → ② → ③ → ④)

Three Steps for Delivery

  1. Deliver the three-piece set: "report.docx" + "calculation model.xlsx" + "preparation notes.docx". If the client needs a PDF, add it.
  2. When delivering, include two short instructions: (a) "Open the docx in Word and press F9 to refresh the table of contents and cross-references." (b) "For calculation model.xlsx, only fill in the blue cells; the formulas are fixed — do not modify them." These two sentences avoid 80% of client follow-up questions.
  3. Ask for one sentence of feedback at the end: "Is this version ready to proceed? Any part needs revision?" → Extends the conversation and reduces friction. Do not ask the client "Are you satisfied?"

IV. Revision and Terminology Alignment (Handling Client Markups / Number Updates)

Revision Reception Process (Don't Start Making Changes as Soon as You Receive a Client Document)

The most common mistake in revision: immediately finding "the place where the number changed" and making a local fix → introducing a terminology conflict → getting hit back. Calibrate the alignment first.

  1. Differentiate the revision type:
    • Type A (Simple text polish): Typos, phrasing, flow tuning
    • Type B (Number changes, e.g., total investment changed from 10 billion to 8 billion, or revenue phasing adjusted)
    • Type C (Structural overhaul): Client wants to change the project positioning, logic argument, or industry classification → recalculate the impact scope immediately
  2. Align terminology first (especially important for Type B/C!):
    • If the investment structure changes, confirm whether the new numbers use the same calculation bases (e.g., "construction area" from building permit area vs. red-line land area → two different things)
    • If the timeline changes, clarify: "preparatory phase" vs. "construction phase" vs. "trial operation phase" — what does each include?
    • If the financing solution changes, clarify: equity vs. debt ratio, what counts as the company's own investment (land conversion? existing equipment evaluation?)
  3. Scope the ripple effect: Use report_qa.py cache to build a cache, then search the full text for old terminology/old numbers to locate all affected positions. Do not rely on memory.

Terminology Alignment Output (Always Send a Confirmation Before Revision)

After discussing with the client, produce a terminology alignment table:

TerminologyOriginal Version ValueRevised Version ValueAffected Chapters (Scope)
Total Investment10 billion yuan8 billion yuanOverview + Investment Estimation + Financial Evaluation + Conclusions
Construction Period3 years4 yearsAll chapters
Main Product Output500,000 tons/year350,000 tons/yearMarket + Technology + Financial

Always send this table to the client for confirmation before modifying a single word. This avoids "the number was changed but the premise wasn't updated" causing the client to send revision instructions three times.

Revision Workflow

# Step 1: Build cache (improves subsequent grep speed ~14x)
python3 scripts/report_qa.py cache current_draft.docx

# Step 2: Search for old terminology/number all instances (including table cells!)
python3 scripts/report_qa.py grep current_draft.docx "old total investment|original production capacity|old construction period"

# Step 3: After all replacements are made, do a regression check: search for old number → should be 0 hits
python3 scripts/report_qa.py grep current_draft.docx "old total investment"

# Step 4: Update baseline.json assertion set
# (add the new value as a required item and the old value as a banned word)
python3 scripts/report_qa.py check current_draft.docx baseline.json  # exit code 0 = passed

Typology of Client Revision Feedback and Approaches

Client FeedbackImplicit MeaningApproach
"The numbers don't look right, check them"The client finds the numbers illogical (usually the total doesn't match the sum of components) but hasn't identified whereCheck if the total is consistent with the breakdown. If financial tables differ from the text, check the formula first
"Add this paragraph here"The client wants to include a policy/tender requirementConfirm the policy source (official document/link). If not found, tag it as "pending client confirmation"
"Format is not professional enough"Softer sign that an additional polish round is neededRe-run docx_polish, pay attention to table border thickness and header style unification
No response for 3 daysThe client might be shopping around or has internal disputes; low priorityTrigger a professional follow-up: "Preparation complete; if you need to adjust any points, let us know anytime"

V. Financial Model and Four-Statement Cross-Validation (Core Numbers Must Match at a Glance)

Six Tables Must Be Interactive

TableCore Formula Check
Investment Estimate TableTotal investment = construction costs + other costs + contingency + financing costs (during construction period)
Funding Sources and UsesSources total = Uses total; equity ratio ≥ 20% (if required by the lender)
Revenue Estimate TableRevenue = price × sales volume (cannot be a lump sum without detail)
Total Cost EstimateCost items = each cost line item matches the investment estimate
Profit and Loss TableProfit = revenue - cost - tax; years with negative profit → confirm no dividend distribution
Cash Flow TableCumulative net cash flow turns positive = static payback period; IRR vs. benchmark yield

Terminology Cross-Validation Checklist

Check ItemIf It Fails, What Usually Goes Wrong
EBITDA / Operating profit / Net profit → amounts are reasonable and progressiveCosts are not broken down, or depreciation + amortization is forgotten
Loan term ≥ construction period + 2 yearsConstruction period changes → loan repayment schedule not updated
Payback period ≤ loan termClient can't get a loan because the bank calculates the loan term is shorter than the payback period
Average selling price ≥ unit costPricing below cost without subsidy logic → investment recovery analysis is invalid
Sensitivity analysis covers ±10% / ±20%Only one scenario → review meeting: "What if it doesn't meet expectations?"

Sensitivity Analysis Requirements (All Five Factors)

FactorVariation RangeImpact on IRRImpact on NPV
Selling price±10%, ±20%
Raw material cost±10%, ±20%
Construction investment±10%, ±20%
Production utilization rate±10%, ±20%
Construction period±1 year, ±2 years

If the "Sensitivity Analysis" section in a feasibility study report only has one or two factors (usually only investment and revenue), the review meeting will see through it in a second: the IPP (Important Participant) asks "What about raw material prices?" and the reply is "We hadn't calculated that yet."

VI. Common Pitfalls (Itemized, Precisely Labeled)

Pitfalls in Terms of Quantity and Scale

PitfallManifestationPrevention
Total ≠ sum of componentsTable says total investment is 1 billion, but the sum of sub-items is only 950 millionThe last row of the investment estimate table must use SUM formula, not manual calculation
Area inconsistencyText says "total construction area 50,000 sqm" but the technical chapter lists building area 60,000 sqmAlways write construction area with a formula reference; check the table-specific area when crossing chapters
Percentage doesn't add up"Market share 30%" but the chapter analysis shows the main competitors already have 80%Market share must be supported by capacity/industry scale calculations, not gut feel
Unit confusionInvestment estimate in "10,000 yuan" but revenue estimate in "billion yuan"All financial tables set a unified unit; the model automatically scales

Logic-Based Pitfalls

The following logical defects are the most common categories that get caught in review meetings:

LevelCategoryManifestation
L1No evidence to support a conclusion"Market demand is strong" — no industry data, no growth rate
L2The evidence does not support the conclusion"Electric vehicles have high growth rates, so we will make hydrogen fuel cells" — the evidence is at the industry level, but the conclusion goes to a specific technology path
L3The evidence contradicts the conclusionData shows declining industry profit margins, but the conclusion is "future profitability outlook is good"
L4Conclusions about A are derived from data on BFeasibility of an aquaculture farm is based on the aquaculture industry's national data and ignores the data of specific farmed species

Commercial Delivery Pitfalls (Also Business Opportunities)

  1. Qualification disclaimer wording: Add in the "Preparation Notes" or at the end: "This report prepares the feasibility study content; its professional opinions are for reference only. The final document requires review and seal by a qualified engineering consulting unit."
  2. For projects requiring government approval (forbidden items) : Do not include: (a) planning opinions or land pre-approval documents; (b) environmental impact assessment approval; (c) energy conservation review opinions — these require official department seals, cannot be fabricated, and inserting them is illegal.
  3. Cost increase for revision: The first version includes 2 rounds of revision. Additional rounds are charged. Clearly state in the contract: free for text changes; number changes that affect the model recalculate the fee.

VII. Practical Tips and Customizable Module Configuration

CategoryItemCross-Sell Opportunity
QC StandardAI hallucination rate ≤ 2% per 1000 words (client random spot check pass rate ≥ 95%)QC report as an upsell item
ContentMap analysis (macro industrial map + micro logistics flow diagram)Visual design separate fee
ContentPolicy alignment table (project meets which specific articles of which planning)Policy analysis report separate fee
ContentProject construction conditions Gantt chart / AON chartProject management plan separate fee
DeliverableAppendices: investment estimate breakdown book, equipment list signed by supplierSupplier coordination fee
DeliveryAdd version comparison tool (".docx version comparison" delivered along with the draft)Aids in client review, reduces back-and-forth

Tell This to the Client When Talking Price

  • What sets our team apart: We deliver at NDRC standard, not just a translation of the outline chapters. Every conclusion in the report has a source, every number has a corresponding table, and every table has a formula.
  • Fast track: (a) The report is AI-finished in one go; (b) it's fully polished; (c) you sign your name. The client only has two jobs: review + confirm.
  • Who can't use this: (a) "I want it for free or for 500 bucks"; (b) "Help me fabricate an approval"; (c) "We'll do it ourselves, we just need some templates." → Only sell templates in the above three categories, not custom services.

Configurable Template Module Inventory

Module NameUsed For
gov-dagang-2023.mdGovernment investment project outline (11 chapters)
ent-dagang-2023.mdEnterprise investment project outline (10 chapters)
data-request-list.mdClient material request list
report-plan.mdReport writing plan (three columns)
review-checklist.mdQuality review checklist (40+ items)
qa-baseline.jsonBaseline assertion set for automated QA
model-template_v2.xlsxFinancial model template (customizable)
report-template.docxReport document template (cover + body + appendices)

VIII. Engine Architecture

feasibility-report-engine/
├── README.md (this file)
├── SKILL.md (this document, standalone version)
├── references/                         # Reference materials (outlines, templates, checklists)
│   ├── dagang-2023.md                  # Original text of NDRC 2023 Outline
│   ├── gov-dagang-2023.md              # Government investment project version outline
│   ├── ent-dagang-2023.md              # Enterprise investment project version outline
│   ├── data-request-list.md            # Client data request list (three batches)
│   ├── report-plan.md                  # Report writing plan template (three columns)
│   └── review-checklist.md             # Quality review checklist (40+ items)
├── scripts/                            # Automation scripts (zero dependencies, ready to run)
│   ├── gen_report_docx.py              # Generate report skeleton docx
│   ├── docx_polish.py                  # Polish docx (remove AI traces, beautify tables, unify styles)
│   ├── gen_model_xlsx_v2.py            # Generate financial calculation model (v2 professional version)
│   ├── gen_shuoming.py                 # Generate preparation notes
│   ├── face_docx.py                    # Add front matter (cover + signature + TOC)
│   ├── report_qa.py                    # Report QA tool (stats/grep/check/cache)
│   ├── pipeline_check.py               # Pipeline self-check (source/uncertainty/terminology)
│   ├── vision_check.py                 # Visual inspection (multi-model cross-validation)
│   └── convert_pdf.sh                  # Convert docx to PDF (LibreOffice)
└── templates/                          # Editable template files
    ├── model-template_v2.xlsx          # Financial model (blue cells = inputs, formulas pre-built)
    ├── report-template.docx            # Report document template
    └── qa-baseline.json                # QA assertion set (example)

Pro Tip: After cloning this skill, directly edit templates/qa-baseline.json to set global banned words (e.g., trivial quantifiers like "many" and "enough") and must-have items for your team. Equals zero manual QA workload.

IX. Dependency Checklist (Zero Native Python Dependencies; Tools Need These)

ToolPurposeInstallation
python3 (≥3.8)Run all scriptssystem default / brew install
LibreOfficeConvert docx to PDF (fully automatic)apt/brew/yum install
(Optional) Word/WPSClient-side viewing; not needed for writing—

Why no python-docx / openpyxl / Pillow? Because we parse the docx XML directly and output valid OOXML with proper namespace handling. The financial model also directly constructs XLSX XML. This ensures no version‑compatibility surprises on the client side.

X. Version History and Roadmap

VersionDateCore Changes
v1.02024-03First publicly released skill, Word + Excel combined template
v1.12024-06Added two-outline type determination logic; financial model v1
v1.22024-09Optimized model matrix writing mode; added visual inspection
v1.32024-12Added revision workflow; terminology alignment table template
v1.42025-03Financial check + sensitivity analysis requirements; investment estimate breakdown v2
v1.52025-09Added citation sanity check + regression check for terminology; quantified QA indicators
v1.62025-12 (this update)New: report_qa.py + pipeline_check.py (pure Python standard library, zero dependencies ready to run); new: three quality gates + pre-delivery verification checklist; new: hard rules for pagination and images + PDF delivery; new: revision and terminology alignment chapter; new: financial check table + sensitivity analysis requirements

Planned Features (Skill Roadmap)

  • Lean version: same engine, condensed to 90% common output data
  • PPT version feasibility presentation skill
  • PDF version feasibility report skill
  • Multi-language version (EN/JP/KR, target: overseas investment projects)

Three-Sentence Summary for the Client:

  1. We write a feasibility study report that passes review — using the NDRC 2023 outline, every chapter checked against it.
  2. We deliver a Word report and an Excel financial model (formulas pre-built), so the numbers and text match.
  3. You sign your name. We provide the content. No AI traces, fully polished, delivered.

Three-Sentence Summary for the User (Claude/Cursor/Codex that is running this skill) :

  1. Determine the outline: government investment (11 chapters) vs. enterprise (10 chapters); getting it wrong means rewriting the entire report.
  2. Parallel streams: due diligence (must search) + distributed writing (model matrix) + quality review (three gates) — do not skip any step.
  3. Delivery: run scripts/ pipeline to generate docx + xlsx; then run visual inspection. After three times, you'll have the muscle memory.

Individual skills in this repo

This repo contains 17 individual skills — each has its own dedicated page.

lingyu9495-source/agent-responsiveness-delegation

你给 AI 助手派了个重活,然后发现:发消息它不回、想插话只能排队、等十几分钟才回一句——等它抬头,需求早变了。根因不是模型慢,是主脑把重活放在前台跑,整个回合被占死。这个 Skill 把这套「重活外派 + 随时应答」机制做成可落地的东西:① 规则块(一页写清判级、派完立刻让出对话、工单四要素、只回收结论、自报≠事实、拍板留主脑、跨会话任务换机制)② 跨平台落地脚本 provision_agent_responsiveness.py:探测本机已有的 Agent 环境(Hermes 的 SOUL 置顶铁律块、Claude Code 的全局指令文件,这两条已实测),把规则块幂等写入(自动备份原文件、重复执行不重复写、绝不覆盖你已有内容);其余平台(Codex / Cursor / WorkBuddy / 任意 Agent)则导出一份可直接粘贴的规则块 markdown,你粘到系统提示或自定义指令里就生效 ③ 体检脚本 audit_agent_responsiveness.py:逐项核对规则块是否存在、是否被后续改动覆盖、探测到哪些平台——没检测到就如实报「未检测到支持的平台」,不假报通过。纯标准库、零依赖、Windows/macOS/Linux 通用。触发词:AI不回话、等太久、插话卡住、助手响应慢、主脑被占住、重活外派、子代理、多智能体、响应速度、落地配置、系统提示。

lingyu9495-source/ai-image-watermark-removal-boss

去除 AI 生成图角落的"XXAI生成"半透明/白色角标水印。像素级验证不自我欺骗、双信号交叉定位抗幻觉、多候选客观指标投票覆盖。当用户要求去除图片水印、清理 AI 生成角标、去"豆包/即梦/Kolors 生成"水印时使用。

lingyu9495-source/bank-scan-household-splitter

客户丢来一个压缩包,里面几百张身份证正反面、开卡申请书、合同——**人工一张张挑,一下午就没了,还容易漏**。

lingyu9495-source/cn-pdf-report-typeset

中文报告做成 PDF,常见翻车三件套:**字体乱码、表格错位、字号小到客户在手机上根本看不清**。这套是交付级的排版标准加可直接跑的模板。

lingyu9495-source/company-law

公司出事,十有八九出在**治理和控制权**上——股权结构一开始搭歪,后面融资、上市、分家全是坑。

lingyu9495-source/excel-keep-format-edit

客户拿来一张老报表说「就在原表上改个数,格式一点都不要动」——用 openpyxl 重建一次,字体、边框、合并单元格、条件格式、列宽全丢,客户一打开就知道这不是他原来那张表。

lingyu9495-source/feasibility-study-consultant

项目可行性论证与研究报告写作框架 —— 任何「这事能不能做、怎么做、值不值得做」的商业决策场景:可行性研究/立项论证/新项目评估/创业方向验证。10大论证模块 + 强制联网尽调 + 多源交叉验证 + 读者视角写作 + 结构化报告输出。(v1.4 升级:从「引导客户把项目情况讲清楚」到「按问题类型与项目类型选论证方法」再到「用假设台账逐条验证」的六步教练流程;附可行性门槛评分器与假设台账两个零依赖脚本、项目卡与决策门清单模板)

lingyu9495-source/financial-statement-adjustment

存量财务报表在原表基础上改数字并保持三表勾稽关系。当用户要求「在原报表上改某些数字,其他数据跟着调整且格式完全不变」时使用:资产负债表/利润表/现金流量表的目标值调整、未分配利润与利润总额联动、勾稽校验。

lingyu9495-source/funding-fit-diagnosis

项目想融资,卡住的往往不是不会写 BP,而是不知道够不够格、该找谁、还缺什么、多久能到钱——问 AI 只得到"建议加强团队"这类正确的废话。这套引擎把它拆成可执行的四步:①10 问项目画像采集(缺关键项就先追问,不猜)②双轨评分:市场化 VC 适配分与政府基金适配分**分开算、各自判定**(≥75 强匹配 / 60-74 可争取 / 45-59 需补短板 / <45 暂不建议,低分不许只说"不行",要给替代路径)③点名机构:按赛道/阶段/地域从 23 家头部 VC 与产业资本(CVC)、21 家政府基金的卡片里逐条对照"匹配信号/劝退信号",每家写清"为什么是你、你还缺什么、材料怎么准备、递送路径",并单列"不建议碰"的机构省时间④差距清单(差距|补齐动作|耗时|难度|优先级,只挑 3 个月内能推动的)+ 三线找钱路线图(市场化 / 政府 / 替代路径)+ 时间预期与现金流提醒。包内另附 30 个真实融资案例对标、TS 条款红线、估值倍数参考、BP 制作铁律,以及零依赖离线评分脚本(纯标准库、不联网、不调大模型 API)。输入:项目情况(照着 10 问答即可);输出:一份研判报告(评分 + 优先接触名单 + 差距清单 + 路线图 + 风险提示),脚本侧可另出 JSON 评分结果。评分是适配度不是成功率,不承诺融资结果。触发词:融资、找投资、融资研判、能不能融到钱、找哪家风投、风险投资、VC、产业资本、CVC、政府引导基金、政府基金申报、产业基金、招商返投、项目申报、补贴申报、商业计划书、BP、路演、估值、股权稀释、TS 条款、对赌、回购、FA、财务顾问、找钱、融资渠道、天使轮、Pre-A、A轮。

lingyu9495-source/gov-fund-application

想拿政府的钱,最容易白跑半年——层级选错、赛道不在目录里、返投算不清,材料递上去才发现方向不对。这套参谋按可执行顺序走:①先判层级(国家级/省级/市级/区级,门槛与目的完全不同)②赛道对目录:不在目录里直接如实说没戏,不让用户白跑③21 家基金卡片逐家对照(投资方式、返投比例、让利规则、申报条件、申报通道、真实案例),点名"你这个项目适合找谁"④返投博弈:算清落地要求,给"不想迁注册地"的三条合规路径⑤材料与时间表:申报材料清单、评审周期(6-12 个月是常态)与现金流提醒。与主技能 `funding-fit-diagnosis` 配套(做整体融资研判时用主技能,VC 与政府双轨分开算)。输入:项目基本情况与注册地/落地意愿;输出:层级判定 + 可申报基金名单 + 返投方案 + 材料清单 + 时间预期。不承诺拿到资金,申报须如实提交材料;政策口径标注截止时间,细则请向当地主管部门核实。触发词:政府基金、政府引导基金、产业基金、政府补贴、专项资金、项目申报、补贴申报、申报条件、返投、招商落地、母基金、投资方式、让利、国家级基金、省级引导基金、市级基金、科技成果转化、专精特新、科技型企业、中小企业发展基金。

lingyu9495-source/hermes-profile-browser-isolation

多个 AI 助手同时干活时,浏览器会互相抢占:弹窗抢焦点、任务互相打断、你正在用的 Chrome/Edge 被顶掉——**你连自己的网页都点不动了**。

lingyu9495-source/investment-finance

做投融资最容易踩的坑不是"不懂概念",是**条款里的每一个字都在分钱**——估值方法选错、对赌触发条件写松、回购条款没兜底,签完才发现少拿几千万。

lingyu9495-source/lowvram-ai-video-comfyui

网上的 AI 视频教程开口就是 24G 显存,一看就把人劝退——**其实 8G 的 4060 也能跑**。这套是 RTX 4060 Laptop 8G 显存 / 32G 内存 / Win11 上真跑出来的配置与调参。

lingyu9495-source/novel-deai-detector

写完的稿子发布前想知道会不会被判 AI 生成、平台审核会不会卡、读者会不会一眼看出机器味——这套是检测到清洗的完整闭环。

lingyu9495-source/npl

不良资产这行的钱,赚在**买入价**上——买贵了,后面怎么处置都白搭。

lingyu9495-source/subagent-first

AI 助手不是不够聪明,是被重活占住了:你让它整理 40 个文件,它一头扎进去十几分钟不抬头——你想问进度、想补需求、想改方向,只能干等。这套作业纪律解决的就是这件事:凡是预计要跑多轮的活(多文件/长研究/批量/长搜索),一律派给后台子代理并行执行,主代理只保留四个动作——拆解、派活、汇总、对话,永远保留随时回你话的能力。我们自己在多智能体团队里天天跑,踩过的 12 个坑全部写进正文:子代理自报成功却发现产出是空的、context 没写全导致跑偏返工、两个子代理并行写同一文件互相覆盖、把需要用户拍板的活派给问不了人的子代理、跨会话长任务错用子代理导致某天悄悄停掉……① 决策树四问判定轻重(一轮工具调用能做完吗/需要用户拍板吗/要活过本次会话吗/能拆成互不依赖的块吗)② 派活四要素(goal / context 必须自包含——子代理看不到你和用户的对话 / output_schema / 验收方式)③ 五步流程:拆解→派活→并行调度→验收→收口 ④ 验收清单:存在性/合规性/真实性/完整性四组逐项打勾,并随机抽一处回一手来源核对 ⑤ 6 种委派模式 + 12 条反模式。配套 scripts/delegation_planner.py:纯标准库零依赖,喂一份任务清单(轮数/文件数/是否研究/是否批量/是否需拍板/是否不可逆/是否跨会话),直接输出「该派子代理 / 自己做 / 转定时任务」+ 并行分组建议 + 主代理必做清单。正文按平台无关的作业纪律写,并附常见平台工具名对照表;Hermes 的字段名/并发上限/后台语义另附一页实况对齐,其他平台按对照表映射即可。触发词:子代理、委派、delegate、任务编排、多智能体、并行执行、上下文管理、主代理被占住、AI不回话、等太久、插话卡住、批量处理、长研究、fork-join、fan-out。

lingyu9495-source/ts-term-review

拿到 TS 或投资协议,看半天不知道哪条能签哪条得改——风险全藏在具体条目里,一句"整体没大问题"最要命。这套审查按 15 条核心条款逐条过:估值 Pre/Post、清算优先权、反稀释(完全棘轮是红线)、优先购买权、领售/拖售、对赌与业绩承诺、回购条款、个人连带担保、董事会与一票否决、保护性条款、竞业与知识产权、信息权、交割条件、股东会表决权、违约责任。每条给三级判定(🔴 红线不改就别签 / 🟡 可谈争取改 / 🟢 行业惯例)+ 谈判话术 + 替代方案,并区分"对公司"和"对创始人个人"——个人连带回购是绝大多数血案的源头,重点标红。另附谈判筹码排序、常见坑清单、BP 与数据室准备。与主技能 `funding-fit-diagnosis` 配套(做整体融资研判时用主技能)。输入:TS/投资协议条款(粘贴或描述);输出:逐条判定表 + 必须改的清单 + 谈判话术 + 底线建议。**不构成法律意见**,正式签署与司法效力请找执业律师确认。触发词:TS、Term Sheet、投资条款清单、投资协议、增资协议、股权转让协议、对赌、业绩承诺、回购、清算优先权、反稀释、完全棘轮、个人连带、一票否决、领售权、拖售权、估值、Pre/Post、股权稀释、条款谈判、FA。

相关技能