docforge — master skill (orchestrator)
Refuses first. Detects drift. Generates. Verifies. Reports. In that order. Always.
This is the master skill of the docforge pack. It orchestrates two sub-skills (docforge-sync for drift/lifecycle, docforge-llms for audience-LLM/dual-output) and implements its own capabilities for bootstrapping, generating, archiving, promoting, refusing, and releasing.
Pack layout
docforge/ # master (this directory)
├── SKILL.md # body (≤500 lines), capability surface, invariants
├── README.md # you are here — pack-level navigation
├── references/ # progressive disclosure (lazy-loaded)
│ ├── diataxis-deepdive.md
│ ├── editorial-principles.md # E1-E5 ranking + tiebreaks
│ ├── anti-patterns.md # A1-A5 detection + action
│ ├── abstinence-policy.md # N1-N5 refusal codes
│ ├── routing-decision-tree.md # master → sub-skill routing
│ └── voice-dna-mensageiro.md # SP1-SP7 / AP1-AP7
├── templates/ # 15 doc templates + config + CI
│ ├── readme.template.md
│ ├── tutorial.template.md
│ ├── how-to.template.md
│ ├── reference.template.md
│ ├── explanation.template.md
│ ├── adr.template.md
│ ├── runbook.template.md
│ ├── changelog.template.md
│ ├── contributing.template.md
│ ├── security.template.md
│ ├── glossary.template.md
│ ├── handoff.template.md # G1
│ ├── postmortem.template.md # G2 — blameless: true invariant
│ ├── migration-guide.template.md # G5
│ ├── security-advisory.template.md # G6
│ ├── docforge.config.template.yaml
│ └── ci/
│ └── github-actions.yml.tmpl
└── scripts/ # capability implementations
├── init.py
├── audit.py
├── generate.py
├── release_prep.py
├── explain.py
├── archive.py
├── promote.py
├── refuse.py
├── status.py
├── compliance_report.py
└── lib/
├── diataxis_classifier.py
├── orchestrator.py # routes to sub-skills via JSON manifest
├── e1_e5_enforcer.py
├── voice_enforcer.py
└── session.py # .docforge/session.json breadcrumbs
Sibling skills
docforge-sync — sensor + diagnostician. Owns DDS-1, doctest dispatch, Vale, lychee, frontmatter schema (CANONICAL), schema-derive (Pydantic/OpenAPI/Proto/GraphQL), i18n drift, diagram alt-text. Master imports the schema from here.
docforge-llms — projection forger. Owns canonical → per-page .md + llms.txt + AGENTS.md + CLAUDE.md + MCP scaffold + chunkability lint + cache-aware payload optimization.
Anti-coupling rule: sync and llms NEVER invoke each other. Every cross-cutting flow passes through master via lib/orchestrator.py.
Reading order (new contributors)
SKILL.md — capability surface, invariants, when NOT to use.
references/editorial-principles.md — why E1>E5>E2>E4>E3 and how conflicts resolve.
references/abstinence-policy.md — when docforge refuses, with N-codes.
references/routing-decision-tree.md — how master delegates.
templates/ — read three (readme, adr, postmortem) to feel the voice variation.
scripts/lib/orchestrator.py — see how delegation manifests look on the wire.
Forging context
Built in P4-skills-forge as part of the docforge pack. Framework: D:/lozano-system/workspace/docforge-build/P3-athena-framework/framework.md. PRD: prd.md v1.0 + prd-addendum-v1.1.md. Identity: identity-persona.md. Voice: voice-dna.md. Values ranking: values-ranking.md.
v0.1.0 | master of docforge pack | refuses first, generates second

<sub>Built with MyClaude Studio Engine</sub>