/docs-external — Harvest External Documentation
┌─ THE FLYWHEEL ──────────────────────────────────────────────────────────┐
│ SHAPE → PLAN → REVIEW×N → DECOMPOSE → SPRINT PLAN → EXECUTE → CLOSE │
│ ★ YOU ARE HERE: Sprint close — extract user-facing docs to areas/site/. │
│ See FLYWHEEL.md for the full development lifecycle. │
└─────────────────────────────────────────────────────────────────────────┘
At feature or sprint close, extract the external-facing content from your
internal artifacts and write clean user documentation. The site doesn't need
to exist yet — this captures content into a standard folder structure that
any static site generator can consume later.
Feature directory: $ARGUMENTS (e.g., docs/projects/features/org-management/ or
org-management). If just a name is given, look in docs/projects/features/<name>/.
Output Location
docs/areas/site/
├── features/ # Feature-specific docs
│ ├── org-management/
│ │ ├── workspaces.md # Concepts: what workspaces are, hierarchy
│ │ ├── vaults.md # Concepts: credential storage, resolution
│ │ ├── settings.md # Concepts: inheritance, LLM profiles
│ │ └── agents.md # Concepts: visibility, discovery, install
│ └── agent-builder/
│ └── ...
├── guides/ # How-to guides (cross-feature)
│ └── <task>.md # e.g., create-workspace.md, manage-credentials.md
├── reference/
│ ├── api/ # API reference
│ │ └── <resource>.md # e.g., workspaces.md, vaults.md, agents.md
│ └── cli/ # CLI reference (first-class interface)
│ └── <command>.md # One doc per command group, with --json schemas
└── _meta.yaml # Site config placeholder (for future site generator)
This is just markdown. No site generator needed yet. When you eventually
pick one (Nextra, Docusaurus, Mintlify), point it at docs/areas/site/ and add
config.
Process
Read all source artifacts for the feature:
docs/projects/features/<name>/PLAN.md → feature overview and capabilities
docs/projects/features/<name>/architecture.md → system design (if exists, from /docs-gen-int)
docs/projects/features/<name>/api.md → API details (if exists)
docs/projects/features/<name>/cli.md → CLI details (if exists)
- Decision docs → concepts and rationale
- Implementation code → API reference, CLI commands, configuration
Identify external-facing content. For each artifact, extract ONLY what
an end user or integrator needs to know. Strip:
- Internal debate and alternatives-considered (keep in internal docs)
- Implementation details that don't affect users
- Team workflow and process notes
- Temporary workarounds and tech debt notes
Write docs to the structure above:
Feature docs (docs/areas/site/features/<name>/)
- One file per major concept the feature introduces
- Written for users: "what is this, why should I care, how does it work"
- Include examples and diagrams
Guides (docs/areas/site/guides/)
- Task-oriented: "How to create a workspace", "How to manage credentials"
- Step-by-step with code examples (both UI steps and CLI commands)
- Cross-feature guides go here (e.g., "Getting started" spans multiple features)
API reference (docs/areas/site/reference/api/)
- One file per resource (workspaces, vaults, agents, etc.)
- Endpoint, method, request/response schemas, auth, errors
- Copy from internal api.md but rewrite for external audience
CLI reference (docs/areas/site/reference/cli/)
- One file per command group (workspace, vault, agent, etc.)
- Command syntax, flags, arguments
--json output schemas
- Example usage (both human-friendly and JSON mode)
Each doc should have frontmatter:
---
title: "<title>"
description: "<one-line description>"
category: feature | guide | api-reference | cli-reference
feature: <feature-name>
source_artifacts:
- <path to source doc>
---
Report — list docs created, flag gaps (things a user would need to know
that aren't covered by any source artifact).
Rules
- Auto-write everything. Create all directories (
docs/areas/site/features/<name>/,
docs/areas/site/guides/, docs/areas/site/reference/api/, docs/areas/site/reference/cli/)
if they don't exist, then write all docs directly. Do NOT ask the user for
confirmation before writing. Do NOT present content and wait for approval.
Extract and write.
- Write for the external reader. They don't know your internal terminology
unless you define it.
- Each doc must stand alone — no "see the PRD for details."
- Don't create empty placeholder docs. Only write docs where source material
exists.
- If a concept or feature isn't ready for public docs, skip it.
- Include CLI examples alongside API examples — CLI is a first-class interface.
- Use extended thinking for content extraction.
1---2name: hs-sw-docs-gen-ext3description: Extract external-facing documentation from internal artifacts into docs/areas/site/ — capture now, build site later4---56# /docs-external — Harvest External Documentation78```9┌─ THE FLYWHEEL ──────────────────────────────────────────────────────────┐10│ SHAPE → PLAN → REVIEW×N → DECOMPOSE → SPRINT PLAN → EXECUTE → CLOSE │11│ ★ YOU ARE HERE: Sprint close — extract user-facing docs to areas/site/. │12│ See FLYWHEEL.md for the full development lifecycle. │13└─────────────────────────────────────────────────────────────────────────┘14```1516At feature or sprint close, extract the external-facing content from your17internal artifacts and write clean user documentation. The site doesn't need18to exist yet — this captures content into a standard folder structure that19any static site generator can consume later.2021**Feature directory:** `$ARGUMENTS` (e.g., `docs/projects/features/org-management/` or22`org-management`). If just a name is given, look in `docs/projects/features/<name>/`.2324## Output Location2526```27docs/areas/site/28├── features/ # Feature-specific docs29│ ├── org-management/30│ │ ├── workspaces.md # Concepts: what workspaces are, hierarchy31│ │ ├── vaults.md # Concepts: credential storage, resolution32│ │ ├── settings.md # Concepts: inheritance, LLM profiles33│ │ └── agents.md # Concepts: visibility, discovery, install34│ └── agent-builder/35│ └── ...36├── guides/ # How-to guides (cross-feature)37│ └── <task>.md # e.g., create-workspace.md, manage-credentials.md38├── reference/39│ ├── api/ # API reference40│ │ └── <resource>.md # e.g., workspaces.md, vaults.md, agents.md41│ └── cli/ # CLI reference (first-class interface)42│ └── <command>.md # One doc per command group, with --json schemas43└── _meta.yaml # Site config placeholder (for future site generator)44```4546**This is just markdown.** No site generator needed yet. When you eventually47pick one (Nextra, Docusaurus, Mintlify), point it at `docs/areas/site/` and add48config.4950## Process51521. **Read all source artifacts** for the feature:53 - `docs/projects/features/<name>/PLAN.md` → feature overview and capabilities54 - `docs/projects/features/<name>/architecture.md` → system design (if exists, from /docs-gen-int)55 - `docs/projects/features/<name>/api.md` → API details (if exists)56 - `docs/projects/features/<name>/cli.md` → CLI details (if exists)57 - Decision docs → concepts and rationale58 - Implementation code → API reference, CLI commands, configuration59602. **Identify external-facing content.** For each artifact, extract ONLY what61 an end user or integrator needs to know. Strip:62 - Internal debate and alternatives-considered (keep in internal docs)63 - Implementation details that don't affect users64 - Team workflow and process notes65 - Temporary workarounds and tech debt notes66673. **Write docs** to the structure above:6869 ### Feature docs (`docs/areas/site/features/<name>/`)70 - One file per major concept the feature introduces71 - Written for users: "what is this, why should I care, how does it work"72 - Include examples and diagrams7374 ### Guides (`docs/areas/site/guides/`)75 - Task-oriented: "How to create a workspace", "How to manage credentials"76 - Step-by-step with code examples (both UI steps and CLI commands)77 - Cross-feature guides go here (e.g., "Getting started" spans multiple features)7879 ### API reference (`docs/areas/site/reference/api/`)80 - One file per resource (workspaces, vaults, agents, etc.)81 - Endpoint, method, request/response schemas, auth, errors82 - Copy from internal api.md but rewrite for external audience8384 ### CLI reference (`docs/areas/site/reference/cli/`)85 - One file per command group (workspace, vault, agent, etc.)86 - Command syntax, flags, arguments87 - `--json` output schemas88 - Example usage (both human-friendly and JSON mode)89904. **Each doc** should have frontmatter:91 ```yaml92 ---93 title: "<title>"94 description: "<one-line description>"95 category: feature | guide | api-reference | cli-reference96 feature: <feature-name>97 source_artifacts:98 - <path to source doc>99 ---100 ```1011025. **Report** — list docs created, flag gaps (things a user would need to know103 that aren't covered by any source artifact).104105## Rules106107- **Auto-write everything.** Create all directories (`docs/areas/site/features/<name>/`,108 `docs/areas/site/guides/`, `docs/areas/site/reference/api/`, `docs/areas/site/reference/cli/`)109 if they don't exist, then write all docs directly. Do NOT ask the user for110 confirmation before writing. Do NOT present content and wait for approval.111 Extract and write.112- Write for the external reader. They don't know your internal terminology113 unless you define it.114- Each doc must stand alone — no "see the PRD for details."115- Don't create empty placeholder docs. Only write docs where source material116 exists.117- If a concept or feature isn't ready for public docs, skip it.118- Include CLI examples alongside API examples — CLI is a first-class interface.119- Use extended thinking for content extraction.