serejaris/kimi-skills/report-writing
- community
Checking that the SKILL.md file is still in the repository.
End-to-end long-form report creation — outline design, multi-chapter content writing, review, and assembly. Covers industry research, market analysis, policy briefs, technical reports, consulting deliverables, and any structured long-form non-fiction requiring research, argumentation, and citations. Outputs are delivered in Markdown (`.md`) format. Do NOT use for: academic papers (use paper-writing), creative fiction, blog posts, or short-form content under 2000 words.
Install
npx vskill@latest install serejaris/kimi-skills/report-writingSKILL.md
Report Writing
Orchestrate the full lifecycle of professional long-form reports: outline design → content creation → review → assembly.
If the user explicitly requests an output format, deliver that format. If the user does not specify a format, deliver .docx by default. Workflow artifacts may still be generated in Markdown (.md) as intermediate files; when .docx delivery is needed, use the docx-related skill at skills/docx/SKILL.md to convert the generated Markdown artifact.
Workflow Decision Tree
Pre-Stage: Research Artifact Detection & Creation
Before starting any stage, check /mnt/agents/output/research/ for research artifacts.
Path A: Artifacts exist
If {topic}_dim*.md, {topic}_cross_verification.md, and {topic}_insight.md are found:
- Load them as research input for Stage 1–2. No additional research sub-agents needed.
Path B: No artifacts — create them
If the directory is empty or missing and the task requires factual research:
- Create
/mnt/agents/output/research/ - Decompose the topic into 3–5 research dimensions
- Deploy parallel research sub-agents, one per dimension, each performing ≥5 searches
- Each sub-agent saves output to
/mnt/agents/output/research/{topic}_dim{NN}.md - Orchestrator performs lightweight cross-verification →
{topic}_cross_verification.md, extracts insights →{topic}_insight.md - Proceed to Stage 1
The downstream pipeline (Stage 1–4) is identical regardless of artifact source.
Stage 1: Outline Design
Read [outline.md](./outline.md) first.
Goal: Produce a structured, executable outline.
Process:
- Deploy parallel sub-agents:
requirement_analyst— extract requirements from user query + uploaded filesstructure_designer— design chapter hierarchy, word countsartifact_analyst— synthesize research artifacts from/mnt/agents/output/research/content_planner— define content points and required elements per chapter
- Synthesize into unified outline (4-level heading format per outline.md)
- Save to
/mnt/agents/output/{filename}.agent.outline.md— do not skip this step; Stage 2 depends on the outline file - If full report intended: one sentence asking whether to proceed
- If outline only: deliver and stop
Stage 2: Content Creation
Read [content.md](./content.md) first. Follow its Resolution Principle, System Prompt Template, and Task Prompt Template.
Prerequisite: Research artifacts MUST exist at /mnt/agents/output/research/ before this stage begins.
Research artifact handoff: The Orchestrator passes research artifacts to each writer as Input Materials (see content.md template):
- Every writer receives:
{topic}_insight.mdand{topic}_cross_verification.md - Each writer receives the
{topic}_dim{NN}.mdfiles relevant to their chapter - User-provided sources: Even though research agents already read user-supplied files (PDFs, URLs, etc.) during the research stage, writers still need the original paths. Research extractions inevitably lose exact figures, table data, and nuanced arguments that writers need for accurate, detailed prose. Pass the relevant source paths to each writer alongside the dim files. Select per-chapter — not everything to everyone.
- User-provided sources: Even though research agents already read user-supplied files (PDFs, URLs, etc.) during the research stage, writers still need the original paths. Research extractions inevitably lose exact figures, table data, and nuanced arguments that writers need for accurate, detailed prose. Pass the relevant source paths to each writer alongside the dim files. Select per-chapter — not everything to everyone.
- User-provided sources: Even though research agents already read user-supplied files (PDFs, URLs, etc.) during the research stage, writers still need the original paths. Research extractions inevitably lose exact figures, table data, and nuanced arguments that writers need for accurate, detailed prose. Pass the relevant source paths to each writer alongside the dim files. Select per-chapter — not everything to everyone.
- Writers do NOT perform web searches for core research (minor supplementary searches acceptable)
Process:
- Parse outline: extract chapters, word counts, dependencies
- Resolve all writer configuration before creating any sub-agent (style, color scheme, instructions — see content.md)
- Chapter grouping: independent → parallelize; dependent → serialize with context handoff
Round dispatch (for stages with 3+ chapters): Parallel tasks CANNOT see each other's output. Before dispatching, analyze dependencies:
- List the dependency graph among chapters.
- Group into rounds: Round 1 = chapters with no upstream dependencies; Round 2 = chapters depending on Round 1 outputs; and so on.
- Summary / conclusion / synthesis chapters MUST be in a later round than the content they summarize.
- For later-round chapters, pass the actual outputs from earlier rounds as context — do not substitute with pre-existing materials when the produced content is available.
- When in doubt, dispatch in separate rounds.
- Create Writer via
create_subagent(System Prompt Template), dispatch viatask(Task Prompt Template) - One chapter per task — never merge.
- Validate each chapter output before proceeding to dependents
Stage 3: Review Pipeline
Read [review.md](./review.md) first.
Pipeline (sequential — each stage gates the next):
Each editor can pass or delegate rewrites. Rewrites happen in-place.
Stage 4: Assembly
- Blocked until citation_manager completes —
_ref.mdmust exist before merging - Merger sub-agent concatenates all
_sec{NN}.mdfiles, appends reference list, saves as/mnt/agents/output/{filename}.agent.final.md - Final validation: cross-references, heading hierarchy, citation continuity
- Convert to
.docxby default (pass docx skill path/app/.agents/skills/docx/SKILL.mdto merger). User-specified format overrides. Both.mdand formatted file are delivered.
Core Principles
- Research and writing are separate agents. Research agents gather information; writer agents produce content from provided materials. Non-negotiable.
- Markdown first, then format.
.agent.final.mdis mandatory intermediate output. - Execute to completion. Do not pause unless outline needs confirmation.
- Everything is a file. No long-form content in chat. Chat is for status updates only.
- File naming:
{filename}_sec{NN}.mdfor chapters,{filename}_ref.mdfor references,{filename}.agent.outline.mdfor outline,{filename}.agent.final.mdfor final. - Rewrites are in-place. No version proliferation.
- Language consistency. All content — prose, sub-agent names, prompts, deliverables — must match the user's language. Never mix languages unless explicitly requested.
- Context flows forward. Orchestrator passes cross-chapter context explicitly to later-stage agents.
- Citation integrity. MCP tools auto-record to
/mnt/agents/.citation.jsonland return globally unique citation indices (e.g.,[^49^]). Writers MUST use these indices as-is — never renumber. Chapter files contain only[^N^]markers in body text, no reference lists. See citation.md. - User-provided sources reach writers. Research-stage extractions (dim files) inevitably lose exact figures, formulas, and nuanced arguments. When the user supplied reference files or URLs, include the relevant original paths in each writer's task prompt — even though research agents already read them. Select per-chapter, not dump all.
- Strict UTF-8. When reading or concatenating
_sec{NN}.mdfiles during assembly, always useencoding='utf-8'with no error handler. OnUnicodeDecodeError, re-dispatch the writer for the corrupted section. Never fall back tolatin-1,gbk,cp1252,errors='ignore', orerrors='replace'— these convert a detectable error into silent mojibake in the delivered.docx.
Reference Files
| File | When to Read | Content | |
|---|---|---|---|
| outline.md | Before Stage 1 | Outline methodology, format spec, sub-agent strategy | |
| content.md | Before Stage 2 | Resolution principle, prompt templates, writing standards, color schemes | |
| review.md | Before Stage 3 | Editor roles, review criteria, quality gates | |
| citation.md | Before citation_manager | Citation format, source tiers, manager workflow | |
| styles/*.md | Before Stage 2 | Domain-specific voice, tone, conventions |
Security
- Security scanPassed, 95 of 100Pattern checks on the skill's files.
- Model reviewPassed
Quality evaluation
- Task evaluationNot runNo evaluation yet. Run one in Skill Studio.
Source
- SKILL.md in the repositoryCheckingskills/report-writing/SKILL.md
Popularity
- Repository stars
- 7
- Repository forks
- 3
- 7-day trend score
- 10
Stars and forks are for the whole GitHub repository, not this skill alone. Not refreshed yet.
Works with
Any agent vskill installs to: 56 targets in all. These 39 have a page on this site.
- Claude Code
- Cursor
- GitHub Copilot
- Windsurf
- Codex
- Gemini CLI
- Cline
- Amp
- Roo Code
- Goose
- Continue
- Kilo Code
- Junie
- Trae
- OpenHands
- Qwen Code
- AI Agent
- Tabnine Chat
- Sourcegraph Cody
- Amazon Q
- Firebase Genkit
- Sweep
- Devin
- Phind
- Mentat
- Claude Desktop
- Aider
- GPT Pilot
- Plandex
- bolt.new
- v0
- Replit Agent
- Anse
- TypingMind
- BetterChatGPT
- LibreChat
- Warp AI
- Pieces
- Fig AI
Embed badge
[](https://verified-skill.com/skills/serejaris/kimi-skills/report-writing)