agentleFS
MicrosoftKnown publishermicrosoft/apm/.apm/skills/docs-impact-architect/SKILL.md

docs-impact-architect

Skill4.4k starsChanged 2 months agoApache-2.0View on GitHub

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.

1 other project uses a version of this.

Trending

More talk lately.about the whole repository

Dec 2025: 0 mentionsJan 2026: 0 mentionsFeb 2026: 0 mentionsMar 2026: 12 mentionsApr 2026: 7 mentionsMay 2026: 3 mentionsJun 2026: 3 mentionsJul 2026: 3 mentionsAug 2026: 2 mentionsSep 2026: 6 mentionsOct 2026: 21 mentionsNov 2026: 2 mentions
Dec 2025Jun 2026Nov 2026
Mentions a month of the microsoft/apm repository that our weekly crawl found. There is no adoption data for this file yet.

Most recently taken up by

Who's talking about microsoft/apm

The biggest 5 of 59 mentions linking to the repository that our crawl found. Each line is their own headline.

See all 59

Talked about on GitHub, Hacker News and Bluesky (59 times).

On GitHub · 50

45 more on GitHub

On Bluesky · 4

The file

We split this skill into the rules it gives an agent

2 rules. About 0 are common, 0 are distinctive, and 2 are very specific to this project.

  • ≈0

    Common · estimate

    Many files like this have a rule of this kind.

  • ≈0

    Distinctive · estimate

    This author's own choices. Worth a look.

  • 2

    Very specific

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

  • Common
  • Distinctive
  • Very specific
  1. Very specific:

    No page is orphaned from the TOC: Every new page has a parent_chapter and at least one incoming bridge.

    line 108
  2. Very specific:

    No retired page lacks a redirect_to: Search engines will index the old URL for months.

    line 109

≈ “Common” is an estimate: at least 1 in 5 of the 350,495 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

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:

  1. A precise TOC delta (added pages, moved pages, retired pages)
  2. New-page outline stubs (slug, title, persona, promise, H2 sections, key examples)
  3. 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_proposal from 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:

ShapePatternExample
NEW CAPABILITYA new CLI verb, primitive type, or schema concept the docs have no slot forapm pack --format wheel adds a new package format
EXPANDED CAPABILITYAn existing concept grows in scope and the current page can't hold itapm install gains a registry-proxy mode that needs its own sub-page
DEPRECATED CAPABILITYA removed CLI verb, flag, or concept; existing pages need to be retired or rewrittenA flag is removed; tutorial pages still teach it
CONCEPT SPLITOne concept becomes two distinct concepts; one page becomes twoapm audit splits into audit and audit ci
CONCEPT MERGETwo concepts unify; two pages should become oneapm pack and apm bundle merge into one verb
RAMP REORGThe 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:

  1. 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 under cross.
  2. Consumer pages don't pre-teach producer concepts. A consumer page may LINK to producer; it may not embed producer prose.
  3. Producer pages don't pre-teach enterprise concepts. Same rule, one promise down.
  4. No page is orphaned from the TOC. Every new page has a parent_chapter and at least one incoming bridge.
  5. 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_to on retired pages. SEO debt is the silent corpus killer.

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.