blog-thesis
Use when research on a post is finished and before any outlining or drafting begins. Trigger on "research is done", "ready to write", "let's draft this", or any attempt to invoke blog-outline or blog-
SKILL.md.claude/skills/blog-thesis/SKILL.md
GitHubSettle the thesis
This is the human gate. It is the one mandatory checkpoint in the pipeline, matching the
Plan gate in AGENTS.md — the profile's only required approval.
Its job is to force one question that is otherwise deferred until it is too late: has the claim changed since the hypothesis?
Prerequisite
The working doc docs/research/<slug>.md must contain a ## Hypothesis section and a
## Findings section. If either is missing, stop and run blog-hypothesis or
blog-research first. Do not reconstruct a hypothesis from the findings — a hypothesis
written after the evidence always matches it.
The failure this prevents
Theses drift silently during research, and the drift is invisible because every individual step feels small. Left unchecked, the draft argues the original hypothesis while the evidence supports something else — and the piece reads as under-argued for reasons the author cannot locate.
On this site's SDD post the claim moved from "SDD extends earlier and later than development" to "specs written from the middle are unanchored, and the executable property was lost" — a materially larger claim, arrived at across three findings, noticed only because someone asked.
Write to the working doc
Append a ## Thesis section containing all five parts:
## Thesis
**Sentence.** The argument in one sentence. If it needs two, it is not settled.
**Delta from hypothesis.** State explicitly: unchanged, narrowed, widened, or replaced —
and what moved it. Never omit this line, even when nothing changed.
**Strongest unanswered objection.** The best case against, and whether the piece answers it
or concedes it. "None" is almost never true.
**Demoted.** Findings that no longer carry weight, and why. Keeping a finding that stopped
supporting the thesis is how a piece becomes a list.
**Publish gates.** Which ⚠ sourcing items must be closed before publication versus which
may ship flagged.
Then stop
Present the thesis and wait for approval. Do not continue to blog-outline or
blog-write in the same turn. This gate is human-owned; an unapproved thesis is not a
thesis, and everything downstream inherits it.
Tick - [x] Thesis in the stage block only after the human approves.
Do not
- Do not skip the delta line when the thesis seems unchanged. That is exactly when drift hides — it is easier to notice a claim that transformed than one that quietly widened.
- Do not write the thesis sentence to match the hypothesis. The hypothesis was a guess made before evidence. Fidelity to it is not a virtue.
- Do not record "no unanswered objection." If none surfaced during research, the research was too narrow, or the rival position has not been sought. Go find it.
- Do not proceed on your own approval. Presenting the thesis and continuing anyway converts the only gate in the pipeline into a formality.
Next step
Approved? → blog-outline.
Thesis moved enough to need more evidence? → back to blog-research.