plugins/capture/skills/capture/SKILL.md
Use when user invokes /capture to capture information from the current conversation into a staging file for later reflection and knowledge graph processing. Accepts no arguments (auto-extract), specific facts as text, or filter keywords like "decisions" or "technical". Do NOT use when the user wants to write directly to knowledge files — use direct file editing instead.
npx skillsauth add harnessprotocol/harness-kit captureInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
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:
| 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 |
Classify the argument:
decisions → filter to decisions onlytechnical → filter to technical facts onlyCheck in order:
scripts/session-staging.md in the project root (current working directory)~/.claude/session-staging.md as fallbackIf 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.
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'
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.
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.
| 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." |
tools
Harness Kit documentation — installation, plugin catalog, creating plugins, cross-harness setup, architecture, and FAQ. Use when working with or configuring harness-kit plugins, understanding the plugin/skill system, installing slash commands, setting up AI coding tool configuration, answering questions about the plugin marketplace, writing SKILL.md files, using harness.yaml, or integrating with Copilot, Cursor, or Codex. Do NOT use for general Claude Code questions unrelated to harness-kit.
development
Use when user invokes /stats or asks about Claude Code usage, token consumption, session history, model distribution, or activity patterns. Generates an interactive HTML dashboard with charts and tables, auto-opens in browser. Also triggers on "how much have I used Claude", "show my usage", "token usage", "session stats", "usage report", "usage dashboard". Do NOT use for API billing or cost estimation — token counts are not costs.
development
Use when user invokes /review to review code changes. Also triggers on "review my code", "check this PR", "look at my changes". Accepts a PR number (e.g. /review 123), a path filter (e.g. /review src/auth/), or no argument (reviews current branch vs base). Produces structured per-file review with severity labels, cross-file analysis, and an overall verdict. Do NOT use for explaining what code does — use /explain instead.
testing
Use when user invokes /research command with any source — URL, GitHub repo, YouTube video, podcast, Reddit post, academic paper, documentation page, product site, local file, or empty. Processes and indexes research materials with raw source preservation and topic-level synthesis coalescing. Do NOT use for quick factual questions — use /explain instead.