agentleFS
bbvch-aibbvch-ai/aihub-core/.claude/skills/write-doc/SKILL.md

write-doc

Skill16 starsChanged 3 days agoApache-2.0View on GitHub

Write new documentation pages for the VitePress docs site at docs/docs/. Ensures correct file structure (index.en.md only), frontmatter, heading hierarchy, media references, VitePress containers, and adherence to writing guidelines. Use when user says "write documentation", "create a doc page", "add documentation for X", "document this feature", "new docs page", or "write a guide for X". Do NOT use for ADR creation (use document-decision) or feature deep-dives from code analysis (use document-feature).

We split this skill into the rules it gives an agent

27 rules. About 0 are common, 18 are distinctive, and 9 are very specific to this project.

  • ≈0

    Common · estimate

    Many files like this have a rule of this kind.

  • ≈18

    Distinctive · estimate

    This author's own choices. Worth a look.

  • 9

    Very specific

    Tied to their project's names, files or tools. Probably skip.

  • Common
  • Distinctive
  • Very specific
  • could be automatic: a setting could enforce it
  1. Very specific:

    Write a new documentation page for the VitePress docs site.

    line 9
  2. Very specific:

    Read the docs scope guide: docs/CLAUDE.md

    line 13
  3. Distinctive:

    If the page describes a feature, read the relevant source code to verify all claims

    line 18
  4. Very specific:

    Every page lives in its own numbered directory as index.en.md.

    line 22
  5. Very specific:

    Never go deeper than ###

    line 82
  6. Distinctive:

    Prefer flatter structure over deeply nested headings

    line 83
  7. Distinctive:

    Be direct and factual: Write like you're explaining something to an intelligent colleague.

    line 89
  8. Distinctive:

    Bold: only for the article subject on first mention, never for emphasis

    line 112
  9. Distinctive:

    Write in paragraphs, not lists, unless a list is genuinely the clearest format

    line 113
  10. Distinctive:

    Prefer commas or parentheses over em dashes for asides

    line 115
  11. Very specific:

    Use straight quotes (") not curly quotes

    line 116
  12. Distinctive:

    Verify all claims against the codebase — confirm features exist, check configuration

    line 120
  13. Distinctive:

    Don't describe features that aren't implemented

    line 121
  14. Distinctive:

    Remove unverified performance numbers or statistics

    line 123
  15. Distinctive:

    Use containers for callouts — not for decoration:

    line 136
  16. Distinctive:

    Use language identifiers for syntax highlighting:

    line 162
  17. Distinctive:

    Use for flowcharts, sequence diagrams, and architecture diagrams:

    line 173
  18. Very specific:

    Add data-zoomable for lightbox behavior on important images.

    line 193
  19. Distinctive:

    Use relative paths to other pages:

    line 198
  20. Distinctive:

    Use for decision matrices, feature comparisons, or structured data:

    line 207
  21. Very specific:

    Check frontmatter has title:

    line 218
  22. Distinctive:

    Verify the page appears in the sidebar at the correct position

    line 226
  23. Distinctive:

    Check all internal links resolve

    line 227
  24. Distinctive:

    Check all image paths resolve

    line 228
  25. Distinctive:

    Run translation to generate German version:

    line 229
  26. Very specific:

    Commit both index.en.md and the generated index.de.md

    line 233
  27. Very specific:

    Place new pages in the appropriate section.

    line 249

≈ “Common” is an estimate: at least 1 in 5 of the 308,232 skill files we read have a rule of the same kind, not the same words. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.

Keep what fits and drop the rest. Your version, ready for your agents.
Files
SKILL.md

Write Documentation

Write a new documentation page for the VitePress docs site. The topic should be provided via $ARGUMENTS.

Step 1: Read Reference Materials

  1. Read the docs scope guide: docs/CLAUDE.md
  2. Study 2-3 existing pages near where the new page will live:
    • Platform example: docs/docs/2_platform/5_agents/index.en.md
    • SDK example: docs/docs/3_sdk/2_building_agents/1_agent_fundamentals/index.en.md
    • Ecosystem example: docs/docs/4_ecosystem/2_using_ai/3_vibe_coding_guidelines/index.en.md
  3. If the page describes a feature, read the relevant source code to verify all claims

Step 2: Create the File

Every page lives in its own numbered directory as index.en.md. The numeric prefix controls sidebar order.

docs/docs/<section>/<N>_<topic>/index.en.md

To determine the correct number prefix, list the sibling directories and pick the next available number:

ls docs/docs/<section>/

Only write index.en.md — German translations are auto-generated by pnpm run docs:translate. Never create index.de.md manually.

Do NOT edit these generated zones

  • docs/6_code_deep_dive/ — overwritten by sync-docs.sh
  • index.de.md files — overwritten by translate-docs.sh
  • public/ — rebuilt by generate-llm-files.mjs

Step 3: Frontmatter

Minimal frontmatter — the title field is mandatory:

---
title: Your page title here
---
  • description is optional
  • No index, order, or sidebar_position field — ordering is via directory prefix only
  • The title appears in the auto-generated sidebar (docs/.vitepress/sidebar-logic.mjs)

Step 4: Page Structure

---
title: Page title
---

# Page title

Opening paragraph that sets context. No meta-commentary ("In this section, we will discuss...").

## First major section

Content in paragraphs, not bullet lists by default.

## Second major section

Mix paragraphs, code blocks, tables, and containers for variety.

Heading rules:

  • # for the page title (must match frontmatter title)
  • ## for major sections — use sentence case, not Title Case
  • ### sparingly for subsections when necessary
  • Never go deeper than ###
  • Prefer flatter structure over deeply nested headings

Step 5: Write the Content

Writing guidelines

Be direct and factual. Write like you're explaining something to an intelligent colleague. Describe what the platform does without inflating its significance. Skip "powerful", "game-changing", "seamless", "robust", or any tourist-brochure language.

Never use these patterns:

  • Grandiose framing: "testament to", "vital role", "watershed moment", "underscores the importance"
  • Editorial commentary: "it's important to note", "it is worth remembering", "no discussion would be complete without"
  • Formulaic connectors to start sentences: "Moreover,", "Furthermore,", "In addition,"
  • Summary endings: "In summary,", "In conclusion,", "Overall,"
  • Forced parallelism: "Not only... but...", "It's not just about X, it's about Y"
  • Rule of three: avoid listing exactly three adjectives or three parallel phrases
  • Significance tacking: "-ing" phrases like "highlighting the platform's entry", "improving convenience"
  • Vague attributions: "Industry reports suggest", "Observers have noted" — cite a specific source or don't make the claim
  • "From X to Y" constructions when listing examples
  • Meta-commentary: "In this section, we will discuss..."
  • Knowledge disclaimers: "as of [date]", "based on available information"
  • Conversational asides: "I hope this helps", "Certainly!"

Style and formatting:

  • Sentence case for headings ("How agents work", not "How Agents Work")
  • Bold only for the article subject on first mention, never for emphasis
  • Write in paragraphs, not lists, unless a list is genuinely the clearest format
  • No emojis
  • Prefer commas or parentheses over em dashes for asides
  • Use straight quotes (") not curly quotes

Technical accuracy:

  • Verify all claims against the codebase — confirm features exist, check configuration
  • Don't describe features that aren't implemented
  • Be honest about limitations rather than implying capabilities
  • Remove unverified performance numbers or statistics

Consistent terminology:

  • Lowercase for general terms: "agents", "pipelines", "knowledge bases"
  • Capitalize proper names: "SharePoint", "Dagster", "LiteLLM", "Milvus"

Write naturally. Vary sentence lengths. Include occasional informality. Let your personality show through. Real writing has rhythm variations that formulaic writing lacks. Trust readers to understand why something matters without explicit signposting.

VitePress containers

Use containers for callouts — not for decoration:

::: info
Context that helps understanding.
:::

::: tip
Helpful suggestion or best practice.
:::

::: warning
Important caveat or gotcha.
:::

::: danger
Critical security or safety concern.
:::

::: details Click to expand
Collapsible content for long examples, JSON payloads, or optional detail.
:::

Code blocks

Use language identifiers for syntax highlighting:

```python
def example():
    return "highlighted"
```

Mermaid diagrams

Use for flowcharts, sequence diagrams, and architecture diagrams:

```mermaid
sequenceDiagram
    participant User
    participant Agent
    User->>Agent: Ask question
    Agent-->>User: Return answer
```

Images

Store in docs/media/ organized by topic. Reference with relative paths:

![Caption](../../../../media/evaluation/filename.png)

Add data-zoomable for lightbox behavior on important images. Create a new subdirectory in media/ if the topic doesn't have one yet.

Internal links

Use relative paths to other pages:

[Link to sibling section](../5_agents/)
[Link to subsection](../../6_pipelines/1_fundamentals/)

Tables

Use for decision matrices, feature comparisons, or structured data:

| Feature | Agent | Pipeline |
|---------|-------|----------|
| Real-time | Yes | No |
| Scheduled | No | Yes |

Step 6: Verify

  1. Check frontmatter has title:
    head -5 docs/docs/<section>/<N>_<topic>/index.en.md
  2. Preview the page:
    cd docs && pnpm run docs:dev
  3. Verify the page appears in the sidebar at the correct position
  4. Check all internal links resolve
  5. Check all image paths resolve
  6. Run translation to generate German version:
    cd docs && pnpm run docs:translate
  7. Commit both index.en.md and the generated index.de.md

Existing Docs Structure

For reference, the top-level documentation sections:

docs/
├── 1_vision_and_positioning/   # Why the platform exists
├── 2_platform/                 # Platform features and configuration (22 subsections)
├── 3_sdk/                      # Building agents, pipelines, processes
├── 4_ecosystem/                # Contributing, using AI, certification
├── 5_references/               # API reference, troubleshooting, glossary
└── 6_code_deep_dive/           # AUTO-SYNCED — never edit directly

Place new pages in the appropriate section. If unsure, 2_platform/ covers platform features and 3_sdk/ covers building with the SDK.

Download now (ZIP)

Does it work?

Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.

No reviews yet

People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.

  • It worked
  • Partly
  • It didn't
What did you use it for? e.g. Reviewing pull requests in a Rails app

Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.

Your trail

Files you open will collect here, so you can find them again.

Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.

Now do this for your own.

Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.