Primitives

Harness building blocks

The reusable parts an agent system is built from: prompts, skills, commands, hooks, and subagents. Copy any of them. Systems wire them into loops.

Active-recall quiz

prompt

Turn notes or a source into retrieval practice instead of rereading.

Turn the text below into 10 hard short-answer questions that test recall, not recognition.

Ask them one at a time. After each answer, grade it against the source and tell me what I missed. Do not show the answers up front.

{{source}}

/commit command

command

A slash command that writes a clean commit from the staged diff.

---
description: Write a commit message from the staged diff and commit.
---

Read the staged diff with `git diff --cached`. Write a commit message:

- First line: imperative, under 60 characters, no trailing period.
- Body: why the change exists, not a restatement of the diff. Wrap at 72.
- No AI tells in the message. No em dashes.

Show me the message, then commit on my confirmation. Never commit secrets or unrelated files.
gitagents

Draft from outline

prompt

Turn an outline into a first draft in a fixed voice, ready for the editing loop.

Write a first draft from the outline below. Match this voice: {{voice}}.

Keep paragraphs short. State the point first, then support it. Do not pad. This is a draft for an editing pass, so favor substance over polish.

{{outline}}

Feynman explainer

prompt

Make a model find the gaps in your understanding of a concept.

Explain {{concept}} to me at three levels: to a beginner, to a practitioner, and to an expert.

Then I will explain it back to you in my own words. Find the logical gaps, point out where I only think I understand, and correct me. Do not be polite about it.

High-signal code review

prompt

Get the three problems that matter, not a wall of nitpicks.

Review this {{language}} code. Name the 3 highest-value problems, explain why each one matters, and show the fix.

Ignore style and formatting. Focus on correctness, edge cases, and anything that breaks in production.

{{code}}

Humanizer skill

skill

A skill that strips AI tells from prose before it ships.

---
name: humanizer
description: Use when writing or editing prose for a human reader. Removes AI tells.
---

Rewrite the text so it reads as written by a person.

Hard rules:
- No em dashes or en dashes. Use a period, comma, or colon.
- No rule-of-three padding, no "-ing" filler clauses, no promotional adjectives.
- Vary sentence length. State the point, then support it.
- Keep the author's voice. Do not add opinions to reference or technical text.

Before returning, scan the draft for the patterns above and fix any that remain.
writingagents

No-em-dash hook

hook

A PostToolUse hook that blocks em dashes from being written to files.

A deterministic gate. The model cannot talk its way past it. Register in settings.json:

```json
{
  "hooks": {
    "PostToolUse": [
      {
        "matcher": "Edit|Write|MultiEdit",
        "hooks": [
          {
            "type": "command",
            "command": "node .claude/hooks/no-emdash.mjs"
          }
        ]
      }
    ]
  }
}
```

The script greps the edited file for em and en dashes and exits non-zero with a message if it finds any, which feeds the failure back to the model as a correction.
hooksqualityagents

Reviewer subagent

subagent

An isolated subagent that scores a draft against criteria and returns structured feedback.

---
name: reviewer
description: Score a draft against fixed criteria. Returns a verdict and specific fixes.
tools: Read, Grep
---

You review one draft. You do not rewrite it.

Score it against the criteria you were given. Return JSON:

- `pass`: true or false
- `score`: 0 to 100
- `fixes`: the 3 highest-value changes, each with the reason and the exact edit

Be strict. Default to `pass: false` when a criterion is not clearly met. Your output is the loop's exit signal, so do not hedge.
subagentsagents