doc-set-planner
Skill1 starsChanged 34 days agoMITView on GitHub
Plan and decompose a broad documentation subject into a coordinated SET of MIF documents, fan out to the genre member skills, and reconcile the cross-document MIF relationship graph. Use when a request spans multiple documents ("document the auth system", "produce the full spec set for feature X") rather than a single genre artifact.
In this repository46 other files it gives its agents.
- academicSkill
- adrSkill
- ai-architecture-docSkill
- arc42-arch-docSkill
- audit-docsSkill
- briefingSkill
- business-planSkill
- c4-model-diagramSkill
- changelogSkill
- clinical-submissionSkill
- competitive-quadrantSkill
- compliance-auditSkill
- computing-paperSkill
- diataxis-explanationSkill
- diataxis-how-toSkill
- diataxis-referenceSkill
- diataxis-tutorialSkill
- ears-acceptance-criteriaSkill
- engineeringSkill
- exec-summarySkill
- feature-specSkill
- google-design-docSkill
- humanities-chicagoSkill
- humanities-mlaSkill
- kiro-designSkill
- kiro-requirementsSkill
- kiro-tasksSkill
- legal-memoSkill
- market-research-reportSkill
- mif-corpusSkill
- mif-frontmatterSkill
- mif-provenanceSkill
- mif-to-pdfSkill
- mif-validateSkill
- nist-spSkill
- playbookSkill
- prdSkill
- python-pepSkill
- regulatory-disclosureSkill
- rust-rfcSkill
- security-pentestSkill
- sre-runbookSkill
- sustainability-reportSkill
- svg-chartsSkill
- systematic-reviewSkill
- trend-analysisSkill
The file
We split this skill into the rules it gives an agent
2 rules. About 0 are common, 1 is distinctive, and 1 is very specific to this project.
≈0
Common · estimate
Many files like this have a rule of this kind.
≈1
Distinctive · estimate
This author's own choices. Worth a look.
1
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Distinctive: line 21
When a semantic corpus is available, search it for each planned member first (see *Semantic discovery* below) and surface strong hits as …
- Very specific: line 56
When the optional mif-rs tooling is available (an mif-mcp server or the mif-cli binary — see the mif-corpus skill for resolution order and …
≈ “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.
Files
doc-set-planner
The orchestration engine of the suite. A broad subject is planned and
decomposed, not hand-assembled doc-by-doc. One engine + declarative per-group
recipes (mirroring an orchestrator -> fan-out pattern): take a subject, decompose
it into a group's member documents, fan out to the member genre skills, and
reconcile the cross-document MIF relationships[] graph.
Engine flow (genre-agnostic)
- Scope — take the subject + target group; load the group recipe from
recipes/<group>.json. - Plan — decompose into the recipe's member docs; emit a plan (what each member covers, the shared MIF namespace, the intended cross-link graph). When a semantic corpus is available, search it for each planned member first (see Semantic discovery below) and surface strong hits as "existing coverage — extend instead of create?" decisions in the plan.
- Fan-out — invoke each member skill with its slice; members author independently (in parallel where possible).
- Reconcile — wire MIF
relationships[]across members per the recipe's cross-link contract; dedupe entities. When a corpus is available, offer find-similar results per member as candidate additionalrelationships[]targets for the author to accept or reject. - Validate — every member passes its own acceptance (
mif-validate --level 1) and the set is link-complete: every declared cross-relationships[]target resolves to a produced member.
Recipes (data, not code) — recipes/*.json
| Recipe | Members | Decomposition | Cross-link contract |
diataxis | tutorial, how-to, reference, explanation | subject -> 4 user-need modes | each mode links to its siblings |
ai-spec | prd, feature-spec, ai-architecture-doc | problem -> solution -> architecture | PRD realized-by feature-spec; feature-spec depends-on arch-doc |
kiro | kiro-requirements, kiro-design, kiro-tasks | feature -> req -> design -> tasks | tasks trace-to design trace-to requirements |
architecture | arc42-arch-doc, c4-model-diagram | subject -> narrative + diagrams | C4 diagrams referenced by matching arc42 sections |
What stays standalone
Singletons have no member set and are invoked directly: adr, changelog,
sre-runbook, playbook, rust-rfc, python-pep, google-design-doc,
engineering, academic, systematic-review, computing-paper,
humanities-mla, humanities-chicago, clinical-submission, nist-sp,
regulatory-disclosure, compliance-audit, security-pentest,
legal-memo, market-research-report, business-plan,
sustainability-report, trend-analysis, competitive-quadrant,
briefing, exec-summary.
Semantic discovery (optional, via mif-corpus)
When the optional mif-rs tooling is available (an mif-mcp server or the
mif-cli binary — see the mif-corpus skill for resolution order and store
conventions), the engine uses it at exactly two points:
- Plan — search the corpus (
search_documents/mif-cli search) with each planned member's one-line scope. A hit scoring roughly 0.55 or higher is surfaced in the plan as an existing-coverage decision: extend the found doc, or proceed and cross-link it. State the score and id; the human (or calling context) decides. - Reconcile — for each produced member, run find-similar
(
find_similar_documents/mif-cli find-similar) on itsurn:mif:id and offer the top matches as candidaterelationships[]targets beyond the recipe's contract. Candidates are suggestions; never write them into a member silently.
Two hard rules. First, the corpus never gates: recipe decomposition, the
cross-link contract, and planner-check behave byte-identically with or
without it — similarity output adds candidates and decisions, not verdicts.
Second, absence is stated, not papered over: with no corpus available the
engine runs exactly as before, and if discovery was asked for explicitly, say
the tooling is not installed rather than substituting string search.
Link-completeness check
node scripts/planner-check.mjs <recipe> # asserts every recipe member exists
# and the cross-link graph closesplanner-check is deterministic and corpus-independent by design: it checks
the declared cross-link graph over the recipe's declared member set, never
similarity.
Does it work?
Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.
Reviews can't be read right now.
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.

