Docs Impact Architect
Design documentation structure changes and generate new page outlines when PRs require TOC updates.
Installation
- Make sure Claude is on your device and in your terminal.
Skills load from
~/.claude/skills/when Claude Code starts up — so you need it on your machine first. If you don't have it yet, install it once with the command below, then runclaudein any terminal to verify.One-time setupnpm i -g @anthropic-ai/claude-codeAlready have it? Skip ahead.
- Paste into Claude Code or into your terminal.
This copies the whole skill folder into
~/.claude/skills/docs-impact-architect-microsoft/— the SKILL.md plus any scripts, reference docs, or templates the skill ships with. Safe default: works for every skill.Faster alternative (instruction-only skills)
Skips the clone and grabs only the SKILL.md file. Don't use this if the skill ships Python scripts, reference markdowns, or asset templates — they won't be downloaded and the skill will fail when it tries to load them.
Quick install (SKILL.md only)Sign up to copy - Restart Claude Code.
Quit and reopen Claude Code (or any other agent that loads from
~/.claude/skills/). New skills are picked up on startup. - Just ask Claude.
Skills auto-activate when your request matches the skill's description — no slash command needed. Trigger phrases live in the skill's own frontmatter; you can read them in the “What this skill does” section above.
Prefer to read the source first? Open on GitHub.
When Claude uses it
Use this skill when the docs-impact-classifier returns a structural verdict, signalling that the documentation TOC must change to accommodate the PR. Proposes TOC deltas (new pages, moves, merges) and emits new-page outline stubs that the doc-sync panel later fleshes out. Holds the 3-promise narrative (consume / produce / govern) and the persona ramps as hard constraints.
What this skill does
docs-impact-architect
Single responsibility: when the classifier says a PR needs structural docs changes (new page, page move, TOC reshape), design the change and emit:
- A precise TOC delta (added pages, moved pages, retired pages)
- New-page outline stubs (slug, title, persona, promise, H2 sections, key examples)
- The persona-ramp impact (which ramp gains/loses a stop)
You are NOT the writer (doc-writer owns prose). You are the TOC architect. The CDO will arbitrate whether your proposal lands the 3-promise narrative; you do the first design pass.
When to invoke
The docs-sync orchestrator invokes you ONLY when the classifier
returned verdict: structural. For no_change or in_place you
don't run.
Inputs
structural_proposalfrom the classifier (a sketch you refine)- The PR diff (
gh pr diff $PR) .apm/docs-index.yml(full corpus map)- The PR description (for author-stated intent)
Step 1: read the corpus map, not the corpus
Load .apm/docs-index.yml entirely. Inspect chapters[], pages[],
promises[]. This is your map. You do NOT read the 100+ page corpus
unless a specific page is implicated by the classifier's sketch.
Step 2: classify the structural shape
Match the PR's surface change to one of these structural shapes:
| Shape | Pattern | Example |
|---|---|---|
| NEW CAPABILITY | A new CLI verb, primitive type, or schema concept the docs have no slot for | apm pack --format wheel adds a new package format |
| EXPANDED CAPABILITY | An existing concept grows in scope and the current page can't hold it | apm install gains a registry-proxy mode that needs its own sub-page |
| DEPRECATED CAPABILITY | A removed CLI verb, flag, or concept; existing pages need to be retired or rewritten | A flag is removed; tutorial pages still teach it |
| CONCEPT SPLIT | One concept becomes two distinct concepts; one page becomes two | apm audit splits into audit and audit ci |
| CONCEPT MERGE | Two concepts unify; two pages should become one | apm pack and apm bundle merge into one verb |
| RAMP REORG | The PR's surface change shifts a concept across promises (e.g. an enterprise feature becomes consumer-default) | Policy enforcement moves from enterprise to consumer default behaviour |
The structural shape drives the TOC delta shape.
Step 3: design the TOC delta
For each new page proposed, fill in:
new_page:
slug: docs/src/content/docs/<persona>/<topic>.md
title: "<short imperative title>"
persona: consumer | producer | enterprise | cross
promise: 1 | 2 | 3 | cross
parent_chapter: <existing chapter slug>
h2_sections:
- "## Why <topic>" # OPTIONAL -- skip unless concept is genuinely new
- "## How to <use>" # REQUIRED -- code first
- "## Reference" # OPTIONAL -- flag/option table
- "## Troubleshooting" # OPTIONAL -- only if known footguns
bridges:
incoming: # which existing pages should link TO this
- {from: <slug>, link_text: <suggested>}
outgoing: # which existing pages should this link FROM
- {to: <slug>, link_text: <suggested>}
ramp_impact: >-
one-paragraph description of how this changes the <persona>
ramp: which step it slots into, whether it adds a stop or
replaces an existing one
For each moved/retired page:
moved_page:
from: <slug>
to: <slug>
redirect_rationale: <one-sentence>
retired_page:
slug: <slug>
reason: <one-sentence>
redirect_to: <slug> # MUST exist; orphaning pages breaks SEO
Step 4: validate against the 3-promise narrative
Apply these hard rules. If any fails, redesign:
- Every page belongs to exactly one promise. Cross-cutting pages (integrations, troubleshooting, reference) are explicitly marked
promise: cross. If a new page straddles two promises, split it OR park it undercross. - Consumer pages don't pre-teach producer concepts. A consumer page may LINK to producer; it may not embed producer prose.
- Producer pages don't pre-teach enterprise concepts. Same rule, one promise down.
- No page is orphaned from the TOC. Every new page has a
parent_chapterand at least oneincomingbridge. - No retired page lacks a
redirect_to. Search engines will index the old URL for months; the redirect is the SEO contract.
Step 5: emit the architect report
Return JSON:
{
"structural_shape": "NEW CAPABILITY" | "EXPANDED CAPABILITY" | "DEPRECATED CAPABILITY" | "CONCEPT SPLIT" | "CONCEPT MERGE" | "RAMP REORG",
"toc_delta": {
"new_pages": [...],
"moved_pages": [...],
"retired_pages": [...],
"chapter_changes": [...]
},
"promise_validation": {
"all_pages_single_promise": true | false,
"no_orphans": true | false,
"no_unredirected_retires": true | false,
"concerns": []
},
"downstream_in_place_pages": ["..."],
"rationale": "<2-3 sentence summary of why this structural delta and not alternatives>"
}
downstream_in_place_pages[] is the handoff to the localizer -- after
the architect approves the TOC, the localizer plans in-place edits
to existing pages that REFERENCE the new structure.
Output contract
Return a SINGLE JSON document matching the schema in Step 5 as the final message of your task. No prose around the JSON.
Anti-patterns
- Inflating new-page counts to seem thorough. The minimal true delta wins.
- Skipping the promise-validation step. The CDO will catch it; better to self-catch.
- Designing a new chapter when an existing chapter has room. Always prefer extending over creating.
- Forgetting
redirect_toon retired pages. SEO debt is the silent corpus killer.
Related skills
Claude API Helper
anthropics
Build, debug, and optimize Claude API applications with caching and model migration support.
Documentation Co-Authoring
anthropics
Guide structured workflows for writing docs, proposals, and technical specs collaboratively.
PPTX Text Extractor
axoviq-ai
Extract text and speaker notes from PowerPoint presentations.
Memory Search
davila7
Search conversation history and recall previous discussions, decisions, and context.