SuperAPI AI Directory

writing

Writing & research

View repository

Updated 10-15 12:41

About this skill

General Writing (Writing)

Knowing something, and letting others know it too, are two completely different abilities. This skill is the latter — turning existing knowledge, decisions and progress into documents that different readers can understand and are willing to read.


Core idea: component-driven, no preset templates

Writing is not "filling in a template", but "putting content into suitable components and composing them into a document".

传统模板派:先选模板(spec / PRD / 汇报)→ 模板说必备 X 章节 → 内容硬塞进去
本 skill:先看内容形态 → 挑能装这种形态的组件 → 自然组合

Why no longer use "mode → template"?

  • Real content rarely matches a template exactly (e.g. the same report contains both data and an architecture solution)
  • A template's "required sections" inflate simple content and cannot hold complex content
  • The core judgment in writing is "what does this piece of content look like, and which component can explain it clearly", template classification is only a distraction

Core resources:

  • references/components.md — Writing component library(HTML / Markdown / diagram components). This is the most important index file of this skill
  • references/templates/*.md — Common composition paradigms(spec / plan / PRD etc.). They are references, not rules
  • references/report-template.html — Sample collection of light reading-style HTML report components
  • references/templates/report-pitch.html — Sample collection of dark pitch-style HTML report components

Step 1: Understand the content

After receiving a writing request,first understand what the content looks like— not first choose "which type of document to write".

1.1 Content form analysis

Ask yourself the following questions (skip what is known, ask the user about what is vague):

Question Impact
What is the core thing to express? Determines the main line (decision? process? data? explanation?)
Who is the reader? Determines wording depth and degree of visualization (developer / product / user / reviewer / superior)
What should the reader do after reading? Understand? Decide? Execute? Check? Hold accountable?
What "forms" does the content contain? Decision? Numbers? Process? Comparison? Timeline? Architecture? API interface? — determines which components to use
Expected length? Brief summary? Full report? Presentation material?
Storage location? docs/ Which subdirectory? (according to CLAUDE.md conventions)

1.2 Output format judgment

Content/reader characteristics Recommended format
Read by developers, runnable and usable Markdown
Internal collaboration, needs git tracking Markdown
Needs projection / pitching / external presentation HTML (dark pitch style)
Quarterly review / data report HTML (light reading style)
Contains many statistical charts / rich visuals HTML
User help documentation / user manual Markdown or HTML (depending on user preference)

HTML no longer rigidly splits into "report type vs. pitch type"—the same HTML can mix Hero (pitch style) + Metric-Card (data) + Figure (architecture diagram). Choose components based on content, not on the "report sub-mode."

1.3 Align with the user (only when ambiguous)

Tell the user your understanding and let them confirm or correct it:

我的理解:
- 内容核心:xxx
- 读者:xxx
- 形态识别:含决策(3-4 项)/ 架构图(2 张)/ 风险点(5 个)
- 推荐格式:HTML(路演风格 + 数据指标混合)
- 存放:docs/reviews/

确认开始?

For simple, clear requirements ("help me write a spec to refactor the session module"), skip alignment and go directly to the next step.


Step 2: Choose components

Based on the content form identified in 1.1, go to references/components.md to find the corresponding component.

Quick reference table(for the full version, see components.md 's "H. Combination Quick Reference"):

Content form Recommended component
Establish global awareness on one screen Hero + Pill + TOC
Chapter skimming section-head + summary
Explain clearly with one diagram Figure
Parallel homogeneous items Card-Grid
A vs B, choose one of two VS-Block
Structured comparison Table
Time dimension / phase Timeline
Selected / to observe / risk Decision-Card three colors
Key numbers Metric-Card
0-100% progress Progress-Bar
Dimension scoring Score-Bar
Important notice interruption Callout
Inline status annotation Badge
Embed statistical charts Chart-Container
Lightweight process with ≤ 10 nodes ```flow code block
CLI command demonstration ```terminal code block

Component selection principles:

  • If the same content can use a lighter component, use the lighter one (if a list works, don't use grid; if grid works, don't use vs-block)
  • Components exist to express content, not to look visually good—if there is no corresponding content, don't use the corresponding component
  • Within a single document, don't stack more than 8-10 kinds of components, or it will become a "component exhibition hall"

Step 3: Reference combination paradigms (optional)

references/templates/*.md Undercommon combination paradigms—what chapter order certain types of documents have historically commonly used.This is a reference, not a rule:

File When to reference
spec.md Writing a technical proposal—when you need the "background → research → decision → technical proposal" skeleton
plan.md Writing a development plan—when you need the "related proposal + subtask checklist" skeleton
api-doc.md Writing API documentation—when you need the "overview / authentication / endpoint list / error codes" skeleton
dev-guide.md Writing a development guide—when you need the "prerequisites / environment setup / operation steps / FAQ" skeleton
prd.md Writing a PRD—when you need the "user scenarios / feature description / acceptance criteria" skeleton
operation-plan.md Writing an operations plan—when you need the "goals / strategy / execution / evaluation" skeleton
user-guide.md Writing a user manual—when you need the "quick start / core features / operation steps" skeleton

How to borrow from it:

  • If the content fits the paradigm → borrow the chapter order
  • If the content covers only part → deleteunused chapters; don't force yourself to write them
  • If the content goes beyond the paradigm → freely add chapters
  • The reason a chapter exists must be "the content needs it," not "the template requires it"

It's also fine not to reference it—when the content form is clear, go directly to Step 4.


Step 4: Materials ready

Before writing, confirm whether the materials are sufficient:

Material source How to obtain
Code / Configuration Read / Grep to read project files
Git history git log View change records
Existing documentation Read docs/ related documentation under
Project data Provided by the user or obtained from BI/monitoring
Research conclusions Cite the output of deep-research
Retrospective records Read docs/decisions/

When materials are insufficient: Proactively tell the user what information is missing; do not make it up. If research is needed, guide the user to use deep-research skill。


Step 5: Writing

Output in a "component + content" combination.Follow these general guidelines:

5.1 General writing guidelines

  • Primarily Chinese: The body text is in Chinese; code / commands / proper nouns remain in English
  • Precise wording: Avoid vague expressions such as "roughly", "seems", and "possibly"
  • Data first: If it can be explained with data, do not use adjectives
  • Structure serves content: Tables / lists / cards are for clearer expression, not for looking good
  • Adaptive length: Length is naturally determined by content complexity; do not artificially compress or pad
  • Effective charts: When charts are needed, call the diagram skill to generate them; for simple flows use ```flow code blocks; only consider a flowchart when the call relationships exceed 5 nodes

5.2 Fine-tuning by reader type

Reader Key points
Developer Accuracy > elegance; executable > readable; commands / code / API paths precise to the version
Product / Operations User language > technical language; scenario-driven; do not omit edge cases (empty state, error state)
User / Customer Zero terminology; steps can be followed directly; common questions sorted by frequency
Reviewer / Supervisor Conclusion first; visuals as the main body and text as footnotes; risks up front; actions clear

5.3 HTML report writing workflow

  1. Decide the tone: light reading-oriented (report-template.html) or dark roadshow-oriented (templates/report-pitch.html) — mixing is also possible
  2. Read the corresponding component example HTML file (to see available class names)
  3. Select components according to components.md and assemble according to the content
  4. Call the diagram skill to generate charts (review scenario diagrams have titles, document illustrations do not — see the diagram skill)
  5. Write output
  6. open Use the command to open for review

5.4 Markdown document writing workflow

  1. Identify the content form according to 1.1 → select components (most MD components = tables / lists / headings / code blocks)
  2. (Optional) Refer to references/templates/*.md to find composition patterns
  3. Write directly
  4. Call the preview-md skill to preview in the browser

Step 6: Quality self-check

After writing, automatically perform the following checks:

# Check item Description
1 Content coverage 1.1 Are all identified forms carried by corresponding components? Is there any "forgotten content"?
2 Component fit Are the components used really suitable for the content (not forced in for looks)?
3 Reader fit Do the wording and depth match the target reader? Technical docs should not waffle, product docs should not use jargon
4 Information accuracy Are the referenced file paths, version numbers, and data consistent with the current code / facts?
5 Actionability Can the steps in technical docs be executed directly? Are the action items in reports clear?
6 Format standards Do the file naming and storage location comply with the CLAUDE.md documentation standards?
7 Component restraint Have too many components been stacked, turning the document into a "showcase"? Cut what should be cut

Fix issues found in self-check directly; no need to inform the user.


Step 7: Delivery

Content type Output path Delivery method
Technical proposal / plan / guide docs/specs/ docs/plans/ docs/guides/ After writing, call preview-md to preview
Product documentation docs/prds/ docs/guides/ After writing, call preview-md to preview
Report / pitch / review HTML User-specified or docs/reports/ docs/reviews/ Create at the same level assets/ to save images, after writing open open the HTML

Relationship with other skills

deep-research → 调研结论 → writing(把调研写成文档)
tech-evaluation → 选型结论 → writing(把选型写成方案)
task-start → 对焦结论 → writing(写 spec / plan)
task-finish → 复盘结论 → writing(写 decisions / 汇报)

writing 调用:
  ← diagram skill(生成图表嵌入文档)
  ← preview-md skill(Markdown 文档预览)

Boundary division:

  • writing vs deep-research: deep-research is responsible for "figuring it out" (the research process), writing is responsible for "writing it clearly" (document output). Report writing within deep-research is part of the research process, and writing does not take it over
  • writing vs task-start: task-start is responsible for "when a spec/plan is needed" (process scheduling), writing is responsible for "how to write it well" (writing quality)

Anti-patterns

  • ❌ Choosing "which type of document to write" first and then filling in the template—you should look at the content form first and then choose components
  • ❌ Writing it forcibly because the template says "required chapters"—the reason a chapter exists is that the content needs it
  • ❌ Adding a hero to every HTML because there is a hero component—internal specs do not need a hero
  • ❌ Wrapping ordinary conclusions as decisions because there is a three-color decision-card—decision is designed to signal the three states of "decided/undecided/risk"
  • ❌ Making up numbers to fill metrics because there is a metric-card—if there are no numbers, don't use it
  • ❌ A single document stacks ≥ 10 types of components—it becomes a "component showcase"
  • ❌ Misreading "combination paradigms" as "required templates"—templates/*.md are references, not rules