From grimoire
Writes a self-contained checkpoint of a security research session to grimoire/hunt-summary-*.md. Analyzes transcript to capture discoveries, dead ends, leads, and next actions.
How this skill is triggered — by the user, by Claude, or both
Slash command
/grimoire:hunt-summaryThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
Analyze the current session's transcript and write a durable, self-contained checkpoint to
Analyze the current session's transcript and write a durable, self-contained checkpoint to
grimoire/hunt-summary-<datetime>.md in the audit workspace. The summary is the handoff: a future
hunt — run by you or another researcher — should be able to read it cold and continue without
re-deriving everything this session learned.
A hunt is a long game across many sessions. Context windows end; the engagement doesn't. The expensive part of security research is not the writing — it is the discovery, the ruling-out, and the half-formed hypotheses that live only in this conversation. When the session closes, that state evaporates unless it is captured. This skill captures it.
Dead ends are findings too. The most valuable thing one session gives the next is often what not to bother with. Record why a path was ruled out, not just that it was — otherwise the next run re-walks it.
Be honest about confidence. A conclusive find is proven with an artifact. A lead is a hypothesis. Do not promote leads to finds, and do not bury a real find as a lead. Calibrated status is what makes the summary trustworthy enough to act on.
Mine the transcript; do not invent. Everything in the summary must trace to something that actually happened this session — a file you read, a behavior you confirmed, a hypothesis you raised. If the session was thin, the summary should be short. Padding destroys the document's value.
When this skill is activated, create a todo list from the following steps. Mark each task in_progress before starting it and completed when done.
- [ ] 1. Locate the audit workspace and resolve the output path + timestamp
- [ ] 2. Mine the transcript — extract discoveries, finds, leads, dead ends, open questions, next actions
- [ ] 3. Reconcile against on-disk artifacts (findings/, sigil-findings/, tomes/, spells/, cartography)
- [ ] 4. Draft the hunt summary from the template
- [ ] 5. Write grimoire/hunt-summary-<datetime>.md
- [ ] 6. Present the summary and offer to fold key items into GRIMOIRE.md
The summary belongs in the engagement's grimoire/ workspace directory — the one created by
summon, sibling to GRIMOIRE.md and the findings/, tomes/, spells/ subdirectories. It is
not related to the Grimoire plugin's own source tree.
Determine the workspace:
grimoire/ directory exists at or above the current working directory (typically next to
GRIMOIRE.md), use it.GRIMOIRE.md exists but no grimoire/ directory does, write the summary next to
GRIMOIRE.md and note that this does not look like a fully initialized workspace (suggest
/summon).Resolve the timestamp with bash so the filename is sortable and collision-free:
date +%Y-%m-%d-%H%M%S
The output path is grimoire/hunt-summary-<datetime>.md (e.g.
grimoire/hunt-summary-2026-06-02-143052.md). Never overwrite an existing summary — each run is a
new checkpoint, preserving the trail.
Review the conversation from the start of this session to now. This is the core of the skill —
extract the research state into the five categories below. Work from what actually occurred; quote
file paths and file:line references wherever the session produced them.
If the transcript is genuinely sparse in a category, write "None this session." Do not fabricate.
The transcript is the primary source, but the workspace may contain artifacts the conversation produced or touched. Cross-check so the summary's references are accurate and nothing is dropped:
grimoire/findings/ and grimoire/sigil-findings/ — finding documents written this session.grimoire/tomes/ — detailed notes or flow analyses added or updated.grimoire/spells/ — scripts, PoCs, or detection modules created.GRIMOIRE.md — note anything the session learned that contradicts or extends it (used in step 6).List the artifacts touched with their paths. Where a conclusive find has a finding document, link
to it with an Obsidian-style wiki link (e.g. [[findings/reentrancy-withdraw]]) to match the
workspace's cross-linking convention.
Assemble the extracted state into the template below. Keep it scannable — bullets over prose, specifics over generalities. The document must stand alone: a reader with no access to this conversation should understand the state of the hunt.
# Hunt Summary — [Target] — [date]
> Hunt date: [YYYY-MM-DD HH:MM]
> Session focus: [one line — what this session set out to do]
## Scope of This Session
[2-4 sentences: which components / flows / contracts were examined, and what prompted the work.]
## Conclusive Finds
[Confirmed issues, proven with an artifact. For each:
- **[Title]** — [severity]. Location: `path:line`. Impact: [one line]. Proof: [path / [[findings/...]]].
If none: "None this session."]
## Discovered
[What was learned about the system — behaviors, mechanisms, invariants, trust boundaries. Context
for the next run, not necessarily bugs. Bulleted.]
## Interesting Leads
[Promising but UNVERIFIED hypotheses. For each:
- **[Lead]** — why it matters; where to look; what would confirm/refute it. Confidence: low/med/high.
If none: "None this session."]
## Dead Ends
[Paths ruled out, WITH reasoning so they are not re-walked. For each:
- **[Path / hypothesis]** — what was checked; why it is not exploitable / not a bug.
If none: "None this session."]
## Open Questions
[Unresolved questions, especially those blocked on the user, external docs, or scope.]
## Artifacts Touched
[Files created or modified this session — findings, tomes, spells/PoCs, cartography. Bulleted, with paths.]
## Next Actions
[Prioritized, concrete next steps for the next hunt run — ordered by expected impact. Each should
be actionable: "Investigate X in `path` because Y." Reference the leads above where relevant.]
Write the drafted summary to grimoire/hunt-summary-<datetime>.md. Do not overwrite an existing
file. Confirm the path back to the user.
Show the user a brief recap: the output path and a one-line count per section (e.g. "2 conclusive finds, 4 leads, 3 dead ends, 5 next actions").
GRIMOIRE.md is the engagement's living memory. If the session produced durable context — a new
crown jewel, a corrected flow, a trust-boundary insight, or a conclusive find — offer to fold a
concise version into the relevant GRIMOIRE.md section (e.g. Attack Surface Notes, Crown Jewels).
Keep GRIMOIRE.md concise; the full detail lives in the hunt summary. Only update GRIMOIRE.md with
the user's confirmation, and never duplicate the entire summary into it.
npx claudepluginhub joranhonig/grimoireGenerates an in-chat session report from the active or named transcript — every tool call, sub-agent delegation, and file edit, with diagnostics for missed parallelism, redundant work, and over-serialization.
Consolidates session work, artifacts, decisions, and pending items for handoff between sessions. Writes a summary file and updates current focus. Trigger: 'resumo', 'summary', 'handoff'.
Generates adaptive-depth session retrospective reports (retro.md) from plan.md and lessons.md, converting outcomes into persistent process improvements. Supports deep/light modes and directory resolution logic.