Write a human-readable mathematical progress report (compiled PDF) on a project for the operator / the mathematician who posed the problem. This is NOT `elaboration` (the internal strategy synthesis) and NOT the dashboard. Render from the fact graph's verified statements/proofs into a clean, self-contained report — precise problem statement, essential partial results with REAL proof sketches, the one major obstacle, a neutral approach timeline, and the single remaining lemma written out in fu...
Scanned 9/5/2026
Install to Claude Code
npx -y skills add frenzymath/Danus --skill human-summary --agent claude-codeInstalls into .claude/skills of the current project.
Are you the author of Human Summary?
Add the live security badge to your README — it updates automatically with every re-scan.
[](https://www.skillsdirectory.com/skills/frenzymath-human-summary)More formats (shields.io, HTML) on the badges page.
---
name: human-summary
description: Write a human-readable mathematical progress report (compiled PDF) on a project for the operator / the mathematician who posed the problem. This is NOT `elaboration` (the internal strategy synthesis) and NOT the dashboard. Render from the fact graph's verified statements/proofs into a clean, self-contained report — precise problem statement, essential partial results with REAL proof sketches, the one major obstacle, a neutral approach timeline, and the single remaining lemma written out in full — then output a compiled PDF.
---
# Human-readable progress report
You are the main agent. This skill produces a **human-facing** math report — for
the operator, or the mathematician who posed the problem. The audience is a
mathematician fluent in standard English math terminology who knows **nothing**
about how the work was produced.
You do **not** author the prose yourself and you do **not** read the fact files.
The report is written by an **isolated report-writer codex** behind the
`human-summary` MCP tool, which is fed ONLY the verbatim problem statement and a
**scrubbed, id-free bundle** of the project's verified results. That isolation is
the structural guarantee that no internal identifier (`fact_id`, `author`,
`predecessors`, …) or system/orchestration vocabulary can reach the report — the
author's window never contains any of it. Your job is to **call the tool, then
render and deliver the PDF.**
## Step 1 — generate the clean report.md (the tool does the writing)
Call the MCP tool (server `human-summary`):
```
summary_write(project="<project>")
```
It assembles the writer prompt + `PROBLEM.md` + a scrubbed fact bundle
(statement / proof / intuition bodies only — **all frontmatter stripped**, no fact
ids, no author names, no machinery), drives an isolated codex, writes the result
to `<project>/report/report.md`, and runs a **leak check** on the output. It
returns a small dict:
```
{report_md_path, status, returncode, leak_findings, stderr_tail}
```
**Honesty gate — do not proceed unless `status == "ok"`:**
- `status == "ok"` means: codex exited 0, produced a non-empty report, AND the
leak check found **zero** hits (`leak_findings == []`). Only then does
`report.md` exist as a clean artifact.
- `status != "ok"` (`error` / `timeout` / `leak`): **no clean `report.md` is
written.** On a leak, the offending output is quarantined at `report.leaky.md`
and `leak_findings` names what leaked — report this to the operator, do NOT
render or deliver it, and do NOT hand-fix and pass it off as clean. If codex
failed, surface `stderr_tail`.
You never read the fact graph and never write the report prose; the tool owns
both. If the operator asks for a different language/register, that is a property
of the writer prompt (`agents/skills/human-summary/REPORT_WRITER_PROMPT.md`,
operator-editable) — the register rule (narrative in the operator's language,
**all standard math terminology in English**) and the five-section structure are
locked there, not here.
## Step 2 — render the PDF and deliver
Once you have a clean `report.md`, render it to a self-contained PDF:
```bash
bash "${CLAUDE_SKILL_DIR}/render_pdf.sh" <report.md> <out.pdf> "Title"
```
This server-renders markdown + KaTeX into self-contained HTML and prints it to
PDF via **headless Chrome** — so the math + fonts are handled without any LaTeX
engine. **Deliver the PDF path** to the operator — never paste raw
`$...$`/`\boxed{}` into chat; it shows as tex garbage and is unreadable.
## Step 3 — backstop self-check (documented, kept as defence-in-depth)
The tool's leak check is the primary guard, and the scrub makes a leak
structurally impossible. As a belt-and-braces backstop before you deliver, you
may still grep the rendered source:
```bash
grep -E '[0-9a-f]{16}' <report.md> # must return nothing (no fact_id / hash prefix)
```
If this (or the tool's `leak_findings`) ever fires, treat the report as
compromised: do not deliver it, and report the finding.
## What the report is (locked spec, enforced in the writer prompt)
For reference — you do not enforce these, the isolated writer does:
1. **Register / language.** Narrative in the operator's language; **ALL standard
math terminology stays in English** (`reduction`, `coboundary`, `full-rank`,
`saturation`, `negative twist`, `Green–Griffiths`, …). Math is identical across
language versions; only the prose language changes.
2. **No identifiers / hashes** anywhere — results are rendered as statements, not
pointed at by id.
3. **Content focus:** the essential partial results (each with a REAL, detailed
proof sketch) + the one major obstacle; omit resolved-worry episodes.
4. **Fully self-contained statements** — every object introduced, every hypothesis
quantified, every symbol defined.
5. **Five sections:** precise problem statement · main mathematical progress
(proven / conditional) · main obstacle · neutral approach timeline · current
status & the single remaining lemma written out in full (boxed).
6. **No numerical examples**; honest proven / conditional / conjecture marking.
7. **No system / operational info** — reads as a clean standalone research report;
no fact counts, no `master_guidance`, no swarm/worker/verifier
vocabulary, blank author, no run timestamps.
## How this differs from `elaboration`
| | `elaboration` | `human-summary` |
|---|---|---|
| audience | the main agent (internal strategy) | a human mathematician |
| density | maximal, terse, status tables | readable prose + detailed proof sketches |
| ids | cites `fact_id`s | **none** |
| length | tight | as long as the math needs (multi-page is normal) |
| output | a global-memory entry (kind `elaboration`) | a compiled **PDF** |
Run `human-summary` **on demand** (the operator asks for a report) or periodically
as an operator update — it is separate from the internal strategy cycle, and it
never feeds internal strategy nor reads/writes global memory as truth. It is also **NOT
`write-paper`**: no bibliography, no `external_refs`, no house style — a private
progress report, not a publication artifact.
## Prerequisites for the render (declare them; the ops layer provisions them)
- A **headless Chrome / Chromium** binary — resolved via `DANUS_CHROME_BIN` (from
`scripts/env.sh`) or a `google-chrome` on PATH. This is a local PDF-render
binary only; it is unrelated to any browser transport. Confirm with
`bash "${CLAUDE_SKILL_DIR}/doctor.sh"`.
- **node** (provisioned by `scripts/bootstrap.sh`) + the pinned node deps
(`markdown-it`, `katex`) in `package.json`. `render_pdf.sh` installs them once if
absent; the KaTeX CSS is then vendored from the local install, so subsequent
renders need **no network**.
A tiny 3-fact example under `examples/` exercises the render pipeline end to end.
Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.
No comments yet. Be the first to comment!