Skill instructions

The prose instruction bodies the LLM loads (via skill_fetch) when it runs a skill. These are generated from the skill source markdowns, so the published reference always matches what the agent actually reads.

For each skill’s typed input/output contract, see the Skill schema reference; for the conceptual overview of skills, roles, and how they compose with the LLM, see Skills & roles.

Content authoring and editorial review (authoring-core)

SkillIdSchemaSummary
Block Densityblock-density—
/canonical-watchercanonical-watcher—A concrete instance of local/integration-watcher. The parent encodes
Chapter Complexity Reviewchapter-complexity-review—
Compute Integration Watchercompute-integration-watcher—
Content Graphcontent-graph—cd content && python3 pipeline/content-graph-analysis.py
Content typescontent-profiles—A document folio is structured prose: policy guidance, a standard, a report.
/detangler-integration-watcherdetangler-integration-watcher—A concrete instance of local/integration-watcher. The parent encodes
/devils-advocate-watcherdevils-advocate-watcher—A concrete instance of integration-watcher.
Editoreditor—
Evidence reviewevidence-review—> Skill id: evidence-review · Package: folio-core
/exposition-swarm-drainexposition-swarm-drain—Bring every narrative block up to the Milnor exposition standard
/integration-auditintegration-audit—A maintenance command for the multi-axis QA-sidecar pipeline (voice,
Markdown Authoring Conventionsmd-authoring—
The Milnor exposition standardmilnor-exposition-standard—Three files sent readers here for this section and it did not exist.
One-Voice Auditone-voice-audit—grep -rEn “[✅❌⚠⏳🔧🚧☑☒]|✓|✗|★” “$CONTENT” –include=”*.md”
/one-voice-integration-watcherone-voice-integration-watcher—A concrete instance of local/integration-watcher.
One-Voice Style Guideone-voice-style-guide—> See also: one-voice-audit is the mechanical sweep (greps for
Production vs exploratory vs numerologyproduction-vs-exploratory-discipline—N_TRUNCATION = 5
Readability Editingreadability-editing—
Review heat mapreview-heatmap—> Skill id: review-heatmap · Package: folio-core · Bean: qbfi · Epic: q4jm
Scientific Accuracyscientific-accuracy—
Technical documentationtechnical-documentation—The register is an SDO’s — W3C, IHE. The reader is an implementer who was not
Todo Reviewtodo-review—> Disambiguation:
uses[] Editorial Reviewuses-editorial-review—
Voice authoring guidancevoice-authoring-guidance—
Voice editorial reviewvoice-editorial-review—
Voice overlay reviewvoice-overlay-review—

Lifecycle skills

SkillIdSchemaSummary
Content Authoringcontent-authorschemaCreate and develop content artifacts according to the project plan.
Content Feedback Collectioncontent-feedbackschemaGather and triage feedback on published content for future iterations.
Content Planningcontent-planschemaPlan content development by defining scope, team, timeline, and sprint cadence.
Content Publicationcontent-publishschemaPackage, version, and publish approved content.
Content Retirementcontent-retire—Deprecate and retire content that is no longer current or needed.
Content Reviewcontent-reviewschemaFormal review and approval of validated content before publication.
Content Testingcontent-testschemaEnd-to-end testing of content artifacts in realistic scenarios.
Content Validationcontent-validateschemaValidate authored content against schemas, standards, and clinical accuracy.
Evidence Appraisalevidence-appraisal—Appraise and grade a body of evidence against the grading system the folio
IG publisher + validatorig-publisher-service-contract—ig-publisher-service in scenarios/roles.json is played by a
Lean toolchainlean-toolchain-contract—lean-toolchain in scenarios/roles.json is played by a mechanical

Agent conduct (conduct-core)

SkillIdSchemaSummary
Subagent memoryagent-memory—A subagent declaring project memory gets its own directory; the first **200
Agent permissionsagent-permissions—processes/process/secure-agent-permissions.bpmn
The language you communicate incommunication-language—
A confirmation can be waivedconfirmation-waiver—Several rules here stop an agent and hand a decision back: merging to main,
The comparison goes BEFORE the question, not inside the optionsdecision-comparison—interaction-modality §4.1 fixes the order —
Deletion requires explicit confirmationdeletion-requires-confirmation—One rule, and it has no exceptions worth the word:
/getting-startedgetting-started—Process: the content core’s processes/conduct/getting-started.bpmn.
Harness projections: CI writes them, the owner consents to every hand editharness-projections—Owner, 2026-10-09: generated .claude/ projections of the knowledge graph
/interaction-modalityinteraction-modality—Process: the content core’s processes/conduct/getting-started.bpmn,
/repo-conversionrepo-conversion—Process: the content core’s processes/conduct/getting-started.bpmn,
A falling-off retry rate, on every errorretry-backoff—Owner, 2026-09-20: **“as rule, use logarithmic fall-off on all errors. core
symbiotic-interactionsymbiotic-interaction—
Untrusted inputuntrusted-input—One defect, three substrates. In every case something **substitutes a value
Never encode a constraint you have not verifiedunverified-constraints—Owner, 2026-09-19: “dont encode rules against a working setup.”
Where does this go?where-does-this-go—> Skill id: where-does-this-go · Package: folio-core

Security — values crossing a boundary (security)

SkillIdSchemaSummary
Injectioninjection-boundaries—run: |
Path containmentpath-containment—src/core/safe-path.ts is the implementation. This is when to reach for which,
Securitysecurity—> This value came from outside. What may I do with it?
Zero-trust handoverzero-trust-handover—This is a skill: this platform’s application of a method, not the method.

Platform core (folio-core)

SkillIdSchemaSummary
Covered is not reachablecovered-is-not-reachable—*A skill can be satisfied by the *neighbours of its mechanism while the
MCP assemblymcp-assembly—mcp-projection maps one Tool node to one MCP tool.
MCP contractmcp-contract—mcp-projection emits a server. This checks the emitted
MCP projectionmcp-projection—The harness does not require MCP. It knows how to emit it. That distinction
Skills and Toolsskills-and-tools—**A skill is a capability stated generically. A Tool content node is one
Tool Authoringtool-authoring—> Skill id: tool-authoring · Package: folio-core

Graph management (graph-management)

SkillIdSchemaSummary
Domain fencingdomain-fencing—> Skill id: domain-fencing · Package: graph-management
Edge kinds and blast radiusedge-kinds-and-blast-radius—> Skill id: edge-kinds-and-blast-radius · Package: graph-management
Graph detanglementgraph-detanglement—> Skill id: graph-detanglement · Package: graph-management
Graph rendering: one set of rules for every drawn graphgraph-rendering—> Skill id: graph-rendering · Package: graph-management
Knowledge Graph separationkg-separation—> Skill id: kg-separation · Package: graph-management
KG subgraph layout: one diagram per declared sub-graph, laid out in the browserkg-subgraph-layout—> Skill id: kg-subgraph-layout · Package: graph-management
LSI indexinglsi-indexing—The method is the node, not this file. lsi
Named Query Execution across CLI, MCP, and Webnamed-query-execution—This skill governs the execution of audited SPARQL 1.1 named queries against partitioned W3C N-Quads
W3C N-Quads Dataset Packaging & Subgraph Distributionnquads-distribution—This skill governs the compilation, subgraph partitioning, packaging, and distribution of RDF datase
Sub-KG lifecyclesub-kg-lifecycle—> Skill id: sub-kg-lifecycle · Package: graph-management

Knowledge graph — declaration, placement, export, audit (kg-core)

SkillIdSchemaSummary
Artefact reachabilityartefact-reachability—**A declared executable artefact that nothing can reach is indistinguishable,
Associate a harnessassociate-harness—The owner, 2026-09-23, on the ihris folio:
Audit coverageaudit-coverage—**A sidecar count is a fine measurement of sidecars and says nothing about
Code node reviewcode-node-review—
Content, context and state graphscontent-context-and-state-graphs—An instance declares directories, and each says what kind of graph it
Corpus-Grepcorpus-grep—> Disambiguation. This skill formalizes the backward check
Data modellingdata-modelling—One question, and everything else follows from it:
Directory conventionsdirectory-conventions—Every instance carries a declaration at its repository root — a *.json whose name field equa
External registryexternal-registry-contract—external-registry in scenarios/roles.json is played by an external
Flushable containersflushable-containers—**A flushable container is a named store whose whole point is that it keeps
fsh-guts/fsh-guts—Delete means relocate. Nothing in this repository is removed with rm
Harness requirementsharness-requirements—Declaring a directory is a promise. It says this instance holds a graph of
index.config.json: what this checkout instantiatesindex-config—The owner, 2026-10-07: *“migration to index.config.json
Instance kindsinstance-kinds—Two different things are called a “kind” here, and a reader who conflates them
instance-publicationinstance-publication—> Skill id: instance-publication · Package: folio-core · Instance:
Offering the knowledge graphkg-contribution-offer—Owner, 2026-09-20: *“update CRDM process that when a user is done with
KG exportkg-export—agentic-harness has no renderer. folio is the only renderable graph
KG → package → distribution → portalkg-to-portal—A knowledge graph is in a repository. A portal — a Moodle site, a ministry’s
NPM Knowledge Graph Distributionnpm-kg-distribution—Knowledge Graphs in the folio ecosystem can be distributed and consumed as
Placementplacement—One question, answered before the first file exists:
Remote-mount a harnessremote-mount—The owner, 2026-10-06, ruled on how a downstream folio gets the layers it is
Managing a schemaschema-management—This skill does not restate where schemas live or how they are laid out.
Adding askill-registration—One command, before you commit:
Skill voice reviewskill-voice-review—
Surprise to corpussurprise-to-corpus—> Skill id: surprise-to-corpus · Package: folio-core
UML overview: generated from declarations and schemas, never drawnuml-overview—Every UML diagram here is generated. Nothing in a class box is typed by
Vocabulary authorityvocabulary-authority—> Skill id: vocabulary-authority · Package: folio-core

Knowledge-graph navigation (tooled)

SkillIdSchemaSummary
Reading the knowledge graphkg-navigation—You are in a fresh container. You have a task, a filesystem, and no memory of

Large data sets (subsetting, materializing, publishing)

SkillIdSchemaSummary
Working on materialized contentcopy-out-materialized—**Materialized content is a copy of somebody else’s bytes, and this repository
Subscribing to a knowledge graphkg-subscription—Owner, 2026-09-30 (issue #1719): *“a way for a folio instance (or cat-harness
Materialize on demandmaterialize-on-demand—Bootstrap brings an agent to a working harness. It does not bring the
Materializing remote contentmaterialize-remote—One process, and this repository already ran it twice before naming it.
Sample importsample-import—The SDLC for trying out a remote source before committing to it: take a

Library and information management (library-core)

SkillIdSchemaSummary
Adopt a methodology from a source documentadopt-methodology-from-source—The adoption rules are methodology-adoption. This skill is the **op
Asset extractionasset-extraction—A container arrives in uploads/: a zip of a saved web page, a PDF, a
Code listscode-lists—Owner, 2026-09-23: *“we need an expandable option, not just declared in code.
Acquisition is the step before ingestion, and it had no homecontent-acquisition—document-ingestion.bpmn begins at **StartEvent_Dropped — “a file lands in
Library ingestionlibrary-ingestion—uploads/ and library/ are two stages of one pipeline. uploads/ is the
Literature searchliterature-search—A node cites a source. Nothing in any declared library holds it. This skill is
Term disagreementterm-disagreement—> Skill id: term-disagreement · Package: library-core
Translation managertranslation-manager—> Skill id: translation-manager · Package:
Upload namingupload-naming—> Lives in library-core, not folio-core. It was written into
Two mechanisms and a personaupload-routes—content-acquisition decides what channel a
Watching the queueuploads-watch—uploads/ is the acquisition queue —

Process model — roles, authorization, methodology (process-core)

SkillIdSchemaSummary
Compiled Artefact Cachecompiled-artefact-cache—This skill documents the generalisable pattern for caching compiled artefacts (such as Lean caches a
Decision methodology selectordecision-methodology-selector—Input: a decision context — what is being decided, how many alternatives,
Adopting a methodology, and choosing between themmethodology-adoption—A methodology is somebody else’s work, adopted whole. It is not a house
Roles are swimlanesrole-model—One sentence carries the whole model:
Swimlane Glossaryswimlane-glossary—
Running a SWOT scanswot-analysis—The method is not in this file. It is the swot node in the methodology
Task authorizationtask-authorization—> **Before an actor performs a task or answers a decision, the BPMN executor

RACI involvement model (skills/process/raci)

SkillIdSchemaSummary
RACIraci—The method is not in this file. It is the raci node in the methodology

Workflow & process (workflow)

SkillIdSchemaSummary
bpmn-authoringbpmn-authoringschema> Skill id: bpmn-authoring · Package: workflow ·
Processes are BPMN, and the diagrams are executablebpmn-processes—The .bpmn file is the source of truth. The rendered SVGs are generated —
Branch freshnessbranch-freshness—A feature branch that drifts from main accumulates three kinds of debt:
Code review processcode-review-process—Code review is a quality gate, not a release gate. It happens at the
The deterministic-to-agentic spectrumdeterministic-and-agentic—> **A spectrum of deterministic vs agentic BPMN state management / workflow
dmn-authoringdmn-authoringschema> Skill id: dmn-authoring · Package: workflow ·
Process stateprocess-state—An agent working a BPMN process holds nested state: a task, inside a
Release epic planningrelease-epic-planning—A release epic groups all the work for a specific release version.
Release lifecyclerelease-lifecycle—This skill governs when and why to create releases. For the how
Render a Knowledge Graph to a CDNrender-kg-to-cdn—Owner, 2026-09-30: *“render content of a KG (or list of subgraphs within) for
Session contextsession-context—A session is one actor working, from the moment it picks up until it stops.
Playing a state machinesession-state-machine—> **An agent could also play a (non-deterministic) state machine as a tool.
Specification-compiled agentsspecification-compiled-agents—Renders methodologies/specification-compiled-agents.md
State in a running processworkflow-state—A process instance is not self-contained. It walks a diagram that lives

CRDM requirements methodology (skills/sdlc/crdm)

SkillIdSchemaSummary
CRDMcrdm-data-model—This skill says WHEN and WITH WHOM. It does not say how to model. That is
Feature-request detection (CRDM trigger)crdm-detectschemaDetect when a user request is a feature request (platform capability change)
Phase 4crdm-impact-analysis—This skill expands the Phase 4 summary in crdm-requirements-workflow.md.
Phase 1crdm-needs-assessment—This skill expands the Phase 1 summary in crdm-requirements-workflow.md.
Requirements from a recorded walkthroughcrdm-recorded-walkthrough—A walkthrough recording is the best source a CRDM round can have: the
Phase 3crdm-requirements-template—This skill expands the Phase 3 summary in crdm-requirements-workflow.md.
CRDM requirements workflowcrdm-requirements-workflow—Once a feature request is detected (see crdm-detect.md), the agent follows

Software delivery practice — work plan, review, merge, CI, coordination (sdlc-core)

SkillIdSchemaSummary
Activity logactivity-log—**Write an entry when you start a task, when you end one, and whenever you
Adjudicationadjudication—> Skill id: adjudication · Package: sdlc-core
Adversarial code reviewadversarial-code-review—The Task_Review step of
One task, two agents, one human between themagent-handoff—Two agents, two environments: the coordinator can see the work, but it
Blocking is a claim about the work, not a moodbean-blocking—blocked is the most expensive status a bean can carry, because a blocked bean
Bean Coordinationbean-coordination—The bean-based work-plan system — the beans
/before-after-previewbefore-after-preview—> Skill id: before-after-preview · Package: sdlc-core · Issue: #1710 ·
Benchmarking modebenchmarking-mode—> Skill id: benchmarking-mode · Package: sdlc-core · Issue: #363
Blocked build dependenciesblocked-build-dependencies—Outbound HTTPS from an agent container goes through a proxy. A failed download
Branch archaeology: what each branch holds that main does notbranch-archaeology—The question sounds like git branch -r --no-merged, and that command answers
Bun Runtime, Toolchain, and Multi-Repo Conventionsbun-use—> Skill id: bun-use · Package: sdlc-core
CI healthci-health—A workflow’s outcome is invisible from the working tree. Nothing in a
/continual-progresscontinual-progress—Sibling agents and the author can only coordinate with work they can
/coordinatecoordinate—When several Claude branches are converging on the same long-term goal
A decision is not a finding, and neither is a substitute for the otherdecision-audit—A finding is an observation — a checker, an agent or a person saw something.
Delivery Summarydelivery-summary—After completing a feature or edit (i.e., after pushing changes), provide:
Deployment & Authdeployment-auth—
Diffdiff—Show what changed at the content-block level, with viewer links and
/dispatch-agentdispatch-agent—The expensive failure mode of multi-agent dispatch is going dark: you
Feature-branch stagingfeature-staging—
Finding softwarefinding-software—Owner, 2026-10-09, after an ingest stopped at a missing tesseract and the
“NOT clean” is a verdict about the RUN, not about your diffgate-tree-mutation—bun run cat gates snapshots the tree before the first gate and after every one, so
Generalise the fix, then attack the generalisationgeneralise-the-fix—A fix that repairs one instance and leaves its siblings is half a fix. A fix
Reading GitHub stategithub-state-inspection—> Skill id: github-state-inspection · Package: sdlc-core
Goal reviewgoal-review—Authored 2026-09-20 from a live session (bean mgta, issue #578): the owner
Handover reporthandover-report—An agent’s state lives in three places that do not survive it: the chat, its
idle-backlogidle-backlog—Generalises a 5-minute idle-trigger / work-the-queue-while-idle policy that
/integration-backlogintegration-backlog—A workflow skill that turns each integration-watcher’s open findings
/integration-watchintegration-watch—A thin dispatcher in front of integration-watcher
integration-watcher (abstract parent)integration-watcher—A concrete watcher (this skill’s child) watches incoming activity
Working an issueissue-working—Two rules. Both exist because **your view of an issue and everyone else’s
Merge-conflict patternsmerge-conflict-patterns—bun run cat merge:main is the command; processes/sdlc/merge-base.bpmn is the
Merge queuemerge-queue—processes/sdlc/merge-train.bpmn is the process. The ORDER is computed by
Merge to mainmerge-to-main—processes/sdlc/merge-to-main.bpmn
Minimal changeminimal-change—Kept from a higher layer’s retired CODING_AGENTS.md (owner, 2026-10-23: “E a”).
Does the prose say what the code does?narrative-asserts-code—Issue #1042, feature bean flbx, stage C. The owner, 2026-09-21: *“need to see
Opening briefopening-brief—Split out of todo-manager.md on 2026-09-19 (bean tdmg), which had reached
Cutting a package releasepackage-release—A release is a version number that one commit keeps from then on: a tag,
/pending-showpending-show—Quick status display. Read-only. Run any time to answer “where am I?”
Pickuppickup—Continue work on existing open change proposals — pull requests (PRs) —
The platform’s own gatesplatform-gates—One command:
pr-descriptionpr-description—Owner, 2026-10-02, on litlfred/fhir-ig-publisher#8: *“PR should be readable
Prepare for a handoverprepare-for-handover—When a session stalls, what survives is what is on the remote: commits on
/prepare-merge-autoprepare-merge-auto—Runs the full /prepare-merge workflow PLUS:
Prepare-mergeprepare-merge—Canonical, repo-agnostic skill for taking a claude/* (or any feature) branch
Publish verification, and the one alertpublish-verification—Bean vigi. Owner, 2026-09-23: *“a set of post processing tools for
QA report signingqa-report-signing—A QA report becomes evidence when a third party can establish what was
QA reportsqa-reports—**A QA result is either reproducible or it is not, and that decides where it
QA witnessesqa-witness—A QA witness is what a reader sees when they open the QA badge beside a
Ref stewardshipref-stewardship—A watched ref is a long-lived branch that several processes write and that
Related work: find it, sort it, askrelated-work-coordination—Owner, 2026-09-23 (issue #1023): *“when CRDM is initiated/updated through human agent chat discussio
Rendered impactrendered-impact—> Skill id: rendered-impact · Package: sdlc-core · Bean: bnjs · Epic: q4jm · Issue #971
/rendered-verificationrendered-verification—continual-progress argues that **a human cannot
Secretssecrets—The design is docs/proposals/credentials-needs-and-supply.md
/session-intentsession-intent—A coordination failure mode recurs whenever agents have no durable
Specification and requirements managementspecification-management—> Skill id: specification-management · Package: sdlc-core
Staging reviewstaging-reviewschema> Skill id: staging-review · Package: sdlc-core
Stalled-agent triagestalled-agent-triage—A stall is not an event anyone records. The agent simply stops, and what it
Swarm managementswarm-management—A swarm is several agents working one goal in parallel. It is the most
Test Engineertest-engineer—bun test # from scripts/tests/
Running a test plantest-plan-execution—> Skill id: test-plan-execution · Package: sdlc-core · Process:
Session Task Manager (beans)todo-manager—> Disambiguation:
Turn reportingturn-reporting—Split out of todo-manager.md on 2026-09-19 (bean tdmg), which had reached
Untainted verificationuntainted-verification—> Skill id: untainted-verification · Package: sdlc-core
Adopting an upstream version bumpupstream-version-adoption—An unpinned dependency is an unreviewed commit from a stranger, merged on every
Visual diffvisual-diff—> Skill id: visual-diff · Package: sdlc-core · Bean: 0rxe · Epic: q4jm
/watchwatch—A unified watcher that handles branches (poll git ls-remote) and
Where a proposal goeswhere-a-proposal-goes—A design proposal is a comment on the issue it is for. Not a page in
Restructuring a work planwork-plan-restructure—lsi-indexing §”Epic filing”

Spec Kit spec-driven development (skills/sdlc/spec-kit)

SkillIdSchemaSummary
Change Size Rulechange-size—
Spec Kitspec-kit—
Feature Specification: [Feature Name]spec-template—Feature Branch: claude/[branch-name]

Theming (theming)

SkillIdSchemaSummary
Create a sticky notecreate-sticky-note—A sticky note is a carried note: something a person or agent sticks onto the
Site presentation assetssite-presentation-assets—A visual fact has one home, and it is a node in the knowledge graph. A
Theme art intaketheme-art-intake—Art arrives — three crops for a theme or an avatar — and the answer is either
Per-artefact specialisationtheme-artefacts—This is level 3 of the axis, and it is deliberately the narrowest. The
Contrast: measured over the darkest thing that could be theretheme-contrast—Consumer stage. generation emits the ink; this says what the ink has to
Declaring a themetheme-declaration—Producer stage. Intake decides whether art may enter; this decides what is
Generating a theme’s CSStheme-generation—Consumer stage. declaration says what a theme is; this says what a
Theming, split on the stage it fails attheming—**Every file here is named for the skill it declares, and that is load-bearing

Rendering, UI and publication surfaces (ui-core)

SkillIdSchemaSummary
ArchiMate modelsarchimate-models—> Skill id: archimate-models · Package: ui-core · Subgraph:
auto-docsauto-docs—<base>/<handler>/auto-docs/<auto-doc-type>/<sub-graph>/ is an index of what
Relationship first, visualisation laterboard-diagram-interchange—One sentence, and it is the owner’s:
Start in the avatar, open into a windowboard-windows—The owner, 2026-09-20 and 2026-09-21:
Deployment awarenessdeployment-awareness—The owner, 2026-09-20:
Documentation Generationdocs-generation—cd content && bun run pipeline/build.ts \
A tile is the harness’s, not the node’sharness-tiles—The owner, 2026-09-20, correcting the question rather than answering it:
HTML Rendering QChtml-rendering-qc—grep -rn ‘\operatorname’ content/*/.md
Incremental renderincremental-render—Owner, 2026-09-20, bean 9c34:
Rendering the knowledge graphkg-viewer—kg-export serialises the instance’s graph to one JSON-LD document. This skill
Liquid templatesliquid-templates—Two engines run Liquid here, and they produce different kinds of output. Know
Markdown Render Checkmarkdown-render-check—git diff HEAD~1 HEAD –name-only – ‘*.md’
Inline PDF viewerpdf-inline-viewer—> Skill id: pdf-inline-viewer · Package: ui-core · Bean
A folio’s READMEreadme-sections—Two tools divide the file between them, and **between them no link in a folio
Render loggingrender-logging—Owner, 2026-09-20: *“a specialised Logger skill for the gh-pages rendering
Render orderrender-order—Two things live here, and they are deliberately one skill: **the general
Serving a renderingserving-renderings—A rendering is what an instance publishes about itself. Running it produces
At ingestion, and only at ingestiontheme-ui-review—The owner, 2026-09-23 and 2026-09-24, settling bean 9fdi:
All UI must follow accessibility guidelinesui-accessibility—This is a rule, stated as one by the owner, and it binds every surface this
Visualizer loadingvisualizer-loading—> Skill id: visualizer-loading · Package: ui-core · Beans 680p, s32v,
Wireframe design reviewwireframe-design-reviewschemaMethod: wiregen
Wireframe viewport checkwireframe-viewport-checkschemaStep 3 of wireframe-design-review: what can be judged without judgem

Content layer (folio-assistant-core)

SkillIdSchemaSummary
Deep document researchdeep-document-research—Renders methodologies/doc-researcher.md — Dong et al., arXiv:2510.21603v1 —

Content lifecycle refinements (content-lifecycle-ext)

SkillIdSchemaSummary
Corpuscorpus-commit-contract—corpus (declared below this layer) is played by a mechanical actor: the
quality-controlquality-controlschema> Skill id: quality-control · Package: content-lifecycle-ext ·
External registryregistry-authority-contract—external-registry (declared below this layer) is played by an external
Review commentsreview-comments—> Skill id: review-comments · Package: content-lifecycle-ext

Document adapter (folio-document-adapter)

SkillIdSchemaSummary
Block actions: [edit] and [feedback] on every blockblock-actions—A reader who finds something wrong in a block should be one click from
document-authoringdocument-authoringschemaAuthor a document folio: policy guidance, a standard, a report, a
document-publishingdocument-publishingschemaTake a document folio from corpus to published artifact — without a TeX
document-structuredocument-structureschemaDecide and maintain the chapter/section skeleton of a document folio.
normative-statementsnormative-statementsschemaCarry a recommendation, requirement or rule in a document folio — the
public-commentpublic-comment—> Skill id: public-comment · Package: folio-document-adapter · Process:

Requirements planning (requirements-planning)

SkillIdSchemaSummary
A plan request stops at a signed-off planplan-request-gate—Issue #2405, owner
One definition of a requirementrequirement-definition—Issue #2405 FR-007

Catalogue records — Dublin Core renderings (catalogue)

SkillIdSchemaSummary
Dublin Core renderingsdublin-core-renderings—Bean 7eak. The owner, 2026-09-30: *“do we render the proper xml for dublin
Oxigraph Multi-Graph Static Search & Catalog Discoveryoxigraph-catalogue-search—This skill defines the generic, platform-level architecture for querying library catalogue hierarchy

Cataloguing methods (cataloguing)

SkillIdSchemaSummary
Materializing from arXivarchiving-arxiv—arXiv is the easiest case to get nearly right, which is why it is worth its
Archiving a web pagearchiving-web-pages—A URL is not an archive. It is a request you hope somebody else keeps
bib-human-reviewbib-human-review—Status sidecar: content/schema/references.review.json.
bib-photo-ingestion-watcherbib-photo-ingestion-watcher—The automation half of the bib-human-review workflow.
Bibliography QAbib-qa—cd content && bun run pipeline/bib-qa.ts –check-urls
Filing a source: what Dublin Core carries, and what it does notfiling-dublin-core—This is the librarian’s half of intake, not the ingestion engine’s. A file
Glossary Buildglossary-build—
Glossary termsglossary-terms—The owner, 2026-09-23: “put glossary into folio-assistant-core”, *“it should
Semantic Ontologist (Ambiguity Detection & Glossary)ontologist—

Document ingestion methods (ingestion)

SkillIdSchemaSummary
Audio transcription: which recogniser, when, and how to check itaudio-transcription—Bean 1r0p. The first real recording is the smart-ra meeting:
Document Intakedocument-intake—> Bib human-review integration. Track per-upload ingestion
L1 coveragel1-coverage—Issue #2405 FR-009:
L1 document ingestionl1-document-ingestion—This is a refinement, not the entry point. The harness’s
Tabular metadatatabular-metadata—The model is CSVW and nothing custom. Bean ulqj, decided by the owner:

Where to start reviewing a large folio (review)

SkillIdSchemaSummary
Review: a pointer to the review skillsreview—Bean 0jtl. The owner asked for review skills “for document review for large

FHIR IG authoring (fhir-ig-authoring)

SkillIdSchemaSummary
fhir-questionnaire-wireframefhir-questionnaire-wireframe—> Skill id: fhir-questionnaire-wireframe · Package: fhir-ig-authoring ·
fhir-validationfhir-validationschema> Skill id: fhir-validation · Package: fhir-ig-authoring ·
ig-publicationig-publicationschema> Skill id: ig-publication · Package: fhir-ig-authoring ·
l3-fhir-authoringl3-fhir-authoringschema> Skill id: l3-fhir-authoring · Package: fhir-ig-authoring ·
terminology-managementterminology-managementschema> Skill id: terminology-management · Package: fhir-ig-authoring ·

FHIR client & SMART launch (fhir-harness/skills/fhir-client)

SkillIdSchemaSummary
fhir-client-operationsfhir-client-operations—> Skill id: fhir-client-operations · Package: fhir-client · Instance:
smart-launchsmart-launch—> Skill id: smart-launch · Package: fhir-client · Instance:

FHIR IG build (fhir-harness/skills/fhir-ig-base)

SkillIdSchemaSummary
fhir-ig-createfhir-ig-create—> Skill id: fhir-ig-create · Package: fhir-ig-base · Instance: fhir-harness
ig-ast-deltaig-ast-delta—> Skill id: ig-ast-delta · Package: fhir-ig-base · Instance:
ig-binary-artefactsig-binary-artefacts—> Skill id: ig-binary-artefacts · Package: fhir-ig-base · Instance:
ig-build-pipelineig-build-pipeline—> Skill id: ig-build-pipeline · Package: fhir-ig-base · Instance:
ig-publisher-forkig-publisher-fork—> Skill id: ig-publisher-fork · Package: fhir-ig-base · Instance:
ig-publisher-reductionig-publisher-reduction—> Skill id: ig-publisher-reduction · Package: fhir-ig-base · Instance:
ig-render-jekyllig-render-jekyll—> Skill id: ig-render-jekyll · Package: fhir-ig-base · Instance:
ig-site-linksig-site-links—> Skill id: ig-site-links · Package: fhir-ig-base · Instance:
ig-site-themeig-site-theme—> Skill id: ig-site-theme · Package: fhir-ig-base · Instance:

WHO IRIS (catalogue instance)

SkillIdSchemaSummary
IRIS, DSpace and Dublin Coreiris-dspace—Every claim here was read off one captured record — the DSpace full item
Oxigraph Multi-Graph Search & Discovery for WHO IRISiris-oxigraph—This skill defines how to use Oxigraph (in-memory WASM on the client, and native in Bun/Node on

Mathematical authoring (authoring-math)

SkillIdSchemaSummary
latex-authoringlatex-authoringschema> Skill id: latex-authoring · Package: authoring-math ·
lean-formalizationlean-formalizationschema> Skill id: lean-formalization · Package: authoring-math ·
proof-verificationproof-verificationschema> Skill id: proof-verification · Package: authoring-math ·

Paper adapter (folio-paper-adapter)

SkillIdSchemaSummary
/build-docsbuild-docs—Builds the Lean HTML documentation using doc-gen4 locally, to save CI
/build-pdfbuild-pdf—Builds the PDF locally to save CI minutes: the monolithic main.pdf and
Category Theory Formalizationcategory-theory—
Chapter Analysis & Formalizationchapter-analysis—
Compute Auditcompute-audit—python3 script.py –args …
Compute-authorcompute-author—
Content Block Reviewcontent-block-review—
Content Validationcontent-validation—bun run cat-harness-tools/pipeline/validate.ts content/ # after setup-folio-assistant.sh
Critical Path Analysis & Context Reviewcritical-path-analysis—
definition-clarity-auditdefinition-clarity-audit—A content block can be schema-clean, ref-resolving, proof-backed and still be
FFI roundtrip auditffi-roundtrip-audit—total = mp.mpf(0)
Lean 4 Formalizer (Narrative to Proof)formalizer—The base ring rule, import ordering, and library synthesis. Read before
Gröbner Basisgroebner-basis—
LaTeX build performancelatex-build-cache—```
LaTeX Compilationlatex-compilation—cat-harness-tools/scripts/latexmk-compile.sh main.tex
LaTeX Validationlatex-validation—
Lean Build Fixlean-build-fix—
Lean cache: the authoring looplean-cache-restore—> This is an instantiation of the general compiled-artefact-cache pattern. See `cat-harness/skills/p
Lean Completeness Auditlean-completeness-audit—find content//lean/ -name '*.lean' -not -path '*/.lake/*' | sort
Lean Environment Setuplean-environment-setup—A proven workaround for one specific failure: lake exe cache get returning
Lean formal dependency graphlean-formal-graph—bun run cat-harness-tools/pipeline/content-graph.ts content/
Lean File Generationlean-generation—Description here.
MathlibExt Curatorlean-mathlibext-curator—
Lean Proof Reviewlean-proof-review—git diff origin/main…HEAD – ‘*.lean’ \
lean-proof-vacuity-auditlean-proof-vacuity-audit—A proof can be sorry-free, axiom-clean, and statement-faithful and still
/lean-substantive-passlean-substantive-pass—The job of this skill is to take an abstract `class FooContext where
Lean Witness Auditlean-witness-audit—python3 witness_base.py check-stale my-computation.witness.json
Paper Importerpaper-importer—> Bib human-review integration. When importing a paper whose
Proof Concisenessproof-conciseness—
Proof Editor (Coordinator)proof-editor—
Proof Exposition Reviewproof-exposition-review—
Proof Gap Auditproof-gap-audit—
/proof-integration-watcherproof-integration-watcher—A concrete instance of local/integration-watcher.
Proof Narrative ↔ Lean Equivalence Auditproof-narrative-lean-equivalence—> Specialises narrative-asserts-code
Proof Simplifierproof-simplifier—bun run cat-harness-tools/pipeline/refactor-strategy.ts –lean 4.24.0 –applicable
Proof Status Trackingproof-status-tracking—
Proof Triage & Resolutionproof-triage—[[require]]
/proposition-consolidation-auditproposition-consolidation-audit—grep -lE “^export default (proposition|theorem|lemma|corollary)” \
/q-usage-watcherq-usage-watcher—> Folio-optional axis. The q-usage criteria encode a substrate
Remark Auditremark-audit—cd content && grep -rl ‘“remark”’ –include=’*.ts’ | sort
Rendering Auditorrendering-auditor—cd content && bun run pipeline/build.ts /.ts \
Rendering Fixesrendering-fixes—
Semantic review scopingsemantic-review-scoping—
Simulator Math Auditsimulator-math-audit—
Simulatorsimulator—
Verify Anchor Connectivityverify-local-substrate—
Witnessed Valueswitnessed-values—

Synced from claude-scientific-skills (pinned, read-only)

SkillIdSchemaSummary
Scientific Visualizationscientific-visualization—Build figures that preserve scientific meaning before optimizing appearance. Separate universal prin

Synced from claude-scientific-skills (pinned, read-only)

SkillIdSchemaSummary
Scientific Visualizationscientific-visualization—Build figures that preserve scientific meaning before optimizing appearance. Separate universal prin

Synced from claude-scientific-skills (pinned, read-only)

SkillIdSchemaSummary
Scientific Visualizationscientific-visualization—Build figures that preserve scientific meaning before optimizing appearance. Separate universal prin

Science layer: Lean tooling (folio-assistant-sci)

SkillIdSchemaSummary
Lean formal edges (elaborated)lean-formal-edges—bun run folio-assistant-sci/pipeline/formal-edges.ts \
Lean HTML docslean-html-docs—A directory of graph typology lean holds a folio’s Lean 4 formalisation:

Science layer: reference data (folio-assistant-sci)

SkillIdSchemaSummary
Reference dataset ingestionreference-dataset-ingestion—

WHO SMART Guidelines (authoring-who-smart-guidelines)

SkillIdSchemaSummary
dak-l1-librarydak-l1-library—> Skill id: dak-l1-library · Package: authoring-who-smart-guidelines ·
dak-postprocessingdak-postprocessing—> Skill id: dak-postprocessing · Package: authoring-who-smart-guidelines ·
dak-preprocessingdak-preprocessing—> Skill id: dak-preprocessing · Package: authoring-who-smart-guidelines ·
gradegrade—> Skill id: grade · Package: authoring-who-smart-guidelines · The grading
guideline-use-caseguideline-use-case—> Skill id: guideline-use-case · Package: authoring-who-smart-guidelines ·
ig-artifact-ingestionig-artifact-ingestion—> Skill id: ig-artifact-ingestion · Package: authoring-who-smart-guidelines ·
l2-component-edit-reviewl2-component-edit-review—> Skill id: l2-component-edit-review · Package: authoring-who-smart-guidelines ·
l2-dak-authoringl2-dak-authoringschema> Skill id: l2-dak-authoring · Package: authoring-who-smart-guidelines ·
l2-dependency-choicel2-dependency-choice—> Skill id: l2-dependency-choice · Package: authoring-who-smart-guidelines ·
l3-dependency-choicel3-dependency-choice—> Skill id: l3-dependency-choice · Package: authoring-who-smart-guidelines ·
l3-readinessl3-readiness—> Skill id: l3-readiness · Package: authoring-who-smart-guidelines ·
l4-application-briefl4-application-brief—> Skill id: l4-application-brief · Package: authoring-who-smart-guidelines ·
l4-application-buildl4-application-build—> Skill id: l4-application-build · Package: authoring-who-smart-guidelines ·
recommendation-candidatesrecommendation-candidates—Step 1 of recommendation-extraction, for one
recommendation-extractionrecommendation-extraction—> Skill id: recommendation-extraction · Package: authoring-who-smart-guidelines ·
recommendation-scenariosrecommendation-scenarios—Step 2 of recommendation-extraction. That
smart-base Toolchainsmart-base-tools—> Skill id: smart-base-tools · Package:
smart-guideline-createsmart-guideline-create—> Skill id: smart-guideline-create · Package: authoring-who-smart-guidelines
smart-guideline-end-to-endsmart-guideline-end-to-end—> Skill id: smart-guideline-end-to-end · Package: authoring-who-smart-guidelines ·
smart-stack-layeringsmart-stack-layering—> Skill id: smart-stack-layering · Package: authoring-who-smart-guidelines
toolchain-ownershiptoolchain-ownership—> Skill id: toolchain-ownership · Package: authoring-who-smart-guidelines ·
transcription-verbatimtranscription-verbatim—A step of recommendation-extraction, for a

Local skills (.claude/skills/local)

SkillIdSchemaSummary
bean-coordinationbean-coordination—This is a stub. The skill lives in the kg graph, not here.
/language-trap-agent-auditlanguage-trap-agent-audit—The mechanical scanner (content/pipeline/language-trap-audit.ts)
todo-managertodo-manager—This is a stub. The skill lives in the kg graph, not here.

The authoring-math and authoring-who-smart-guidelines packages ship skill definitions + typed schemas today; their prose instruction bodies will appear here as they are authored.


Table of contents


folio-assistant — code under the Apache License 2.0, documentation under CC BY 3.0. Generated schema and API references are rebuilt from source on every push to main.

deployed dev