Publish report
Skill modeled-information-format/research-harness-template/.claude/skills/publish-report
Render surviving research findings into the canonical MIF Level-3 markdown report — the harness's source of truth (reports/<topic>/<slug>.md), held to the same bar as a finding and graded by the falsification gate. A first-class harness output (not a pack), never exempt. Use this skill when the user wants the authoritative MIF report, the L3 report of record, or to emit the canonical report from the corpus. Triggers on 'publish report', 'generate the MIF report', 'render the report of record', 'emit the canonical report', 'L3 report from findings'.From its SKILL.md
npx -y skills add modeled-information-format/research-harness-template --skill publish-reportAssembled from the repository path, not quoted from the project. Check it against their README if it does not work.
One thing to look at
- 2 stars2 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.
SKILL.md
4.0 KB, as published. Nobody here has run it
publish-report — research → canonical MIF Level-3 report
The generic report channel is the canonical MIF Level-3 source of truth
(SPEC §10): a basic markdown report (reports/<topic>/<slug>.md) with authoritative
YAML frontmatter (the MIF concept) over a Markdown body. Unlike the blog and
book projections — which are MIF-exempt published prose — the report is never
exempt: it is held to the same L3 bar as a finding and must carry a real,
non-falsified extensions.harness.verification verdict before it ships.
Pipeline
-
Resolve the finding set. Default to the topic's findings dir (
reports/<topic>/findings/). Only surviving findings (verdict ≠falsified) are eligible. -
Synthesize the artifact (full MIF citations carried through):
scripts/synthesize-artifact.sh reports/<topic>/findings <genre> reports/<topic>/artifact.json -
Obtain a REAL verdict — never author it by hand. Run the same adversarial falsification gate a finding goes through over the synthesised report's claims, and extract the verdict block it writes:
# report-finding.json = a finding-shaped projection of the report's central # claims (its citations, no verification block yet). scripts/falsify.sh reports/<topic>/report-finding.json <evidence> \ > reports/<topic>/report-finding.falsified.json jq '.extensions.harness.verification' reports/<topic>/report-finding.falsified.json \ > reports/<topic>/report.verification.jsonA
falsifiedverdict means the report is quarantined and NOT shipped. -
Render the report (write-then-validated; fails closed if it does not project to a valid L3 finding):
scripts/render-artifact.sh reports/<topic>/artifact.json report \ reports/<topic>/<slug>.md reports/<topic>/report.verification.json -
Confirm L3.
scripts/render-artifact.shalready validates viascripts/mif-project.sh; before reporting done, re-run it to be sure:scripts/mif-project.sh reports/<topic>/<slug>.md -
Reconcile the topic README. Rendering the report wrote
reports/<topic>/<slug>.mdthrough the shell, which the README PostToolUse hook never observes — so the navigation README's Reports table and counts are now stale. Deterministically rebuild it (build mode preserves authored Purpose / Key Findings prose; idempotent):bash scripts/build-topic-readme.sh <topic>
Non-negotiables
- Never hand-author the verification verdict. It must come from a real
falsification pass, exactly as for a finding. The gate enforces that a
well-formed, non-
falsifiedverdict is present; that it was honestly earned rests on you. - Never ship a falsified or quarantined report.
mif-project.shand the citation-integrity gate reject afalsifiedverdict. - The report is the MIF source of truth, not exempt. The title lives in the frontmatter; the body carries no top-level heading (it would trip MD025 and duplicate the title). To change content, change the findings or the synthesis, not the rendered Markdown in place.
- Genres are L3 here. A genre shapes the report's content; the report is still rendered through this channel and held to L3.