capturev0.4.0
Capture session information into a staging file for later reflection and knowledge graph processing
Install
Add the marketplace once, then install the plugin:
/plugin marketplace add harnessprotocol/harness-kit/plugin install capture@harness-kitSecurity & permissions
VerifiedNo issues foundDeclared capabilities
Scanned at build time from source. How trust signals work →
Skill1
captureskills/capture/SKILL.md
Session Staging
Overview
Capture information from the current conversation into a staging file for the daily reflection pipeline to consume and write to the knowledge graph.
Core principles:
- Token-conscious — 3-8 bullets, max 20 words each
- Complementary to Stop hook — captures nuance and specificity the auto-summary misses
- Append-only — never modify existing entries in the staging file
- Confirm what was staged — always show the user exactly what was written
Argument Types
| Argument | Behavior |
|---|---|
| (none) | Auto-extract 3-8 most important facts from the conversation |
| Specific text | Stage the provided facts as bullets |
decisions | Extract only decisions made this session |
technical | Extract only technical facts and implementation details |
Workflow (MANDATORY — follow in order)
Step 1: Parse Input
Classify the argument:
- No argument → auto-extract mode
- Exactly the word
decisions→ filter to decisions only - Exactly the word
technical→ filter to technical facts only - Anything else → treat as specific facts provided by the user
Step 2: Resolve Staging File
Check in order:
scripts/session-staging.mdin the project root (current working directory)~/.claude/session-staging.mdas fallback
If the resolved file does not exist, create it with this header:
# Session Staging
Facts staged here are consumed by the daily reflection and written to the knowledge graph.
Step 3: Extract or Formulate Bullets
Based on argument type, produce 3-8 bullets. Each bullet: max 20 words, factual, specific.
Auto-extract (no argument): Scan the conversation for the most important facts — decisions made, technical details learned, status changes, new entities or tools introduced. Prefer concrete facts over vague summaries.
Specific facts (user-provided text): Convert the user's text into clean bullet points. If they already gave you bullets, clean and tighten them. If they gave you prose, extract the key facts.
decisions filter: Extract only explicit decisions made in this session — architectural choices, plans confirmed, approaches selected. Skip observations, status updates, and technical details.
technical filter: Extract only technical facts — implementation details, APIs used, data structures, file paths, commands, schemas, and configuration. Skip process, decisions, and context.
Get the current timestamp via Bash:
date '+%Y-%m-%d %H:%M'
Step 4: Append to Staging File
Use Bash with >> to append — do NOT use Write (overwrites the whole file) or Edit (find-replace, not true append):
{
echo ""
echo "## YYYY-MM-DD HH:MM"
echo "<!-- source: manual -->"
echo "- bullet 1"
echo "- bullet 2"
} >> /path/to/staging-file.md
The <!-- source: manual --> marker tells the Stop hook that manual staging already happened today, enabling deduplication.
Step 5: Confirm
Display what was staged to the user. Show the exact bullets that were written. Keep it brief — no need to re-explain what staging does.
Scope Controls
- Max 8 bullets per entry
- Max 20 words per bullet
- Append-only — never modify existing entries
- Current conversation only — do not pull from memory, graph, or files
Common Mistakes
| Mistake | Fix |
|---|---|
| Using Write or Edit to append | Write overwrites. Edit is find-replace, not append. Use Bash >>. |
| Exceeding 8 bullets | Pick the most important facts. Cut the rest. |
Omitting <!-- source: manual --> | The Stop hook uses this marker for deduplication. Always include it. |
| Writing summaries instead of bullet facts | "Decided to use SQLite for storage" not "We had a productive discussion about databases." |
| Staging vague observations | "SQLite chosen over Postgres for local-first storage" not "database discussion happened." |