# capture

Writes the decisions made during a session into the wiki pages they affect. Useful when the reasoning matters as much as the code.

- skill · `type=skill` · Claude Code, Codex, Cursor, GitHub Copilot, Gemini CLI, OpenCode · ★ 1971
- Author: nimbalyst
- License: MIT · policy=mirror · the beginning of the file is at the end of this page
- Source: https://github.com/nimbalyst/nimbalyst/tree/HEAD/plugins/nimbalyst-wiki/skills/capture/SKILL.md
- Updated: 2026-10-25
- HTML: https://affpapa.org/en/nevibecode/skills/nimbalyst-capture

## What it does

The skill reads the current session and pulls out what is worth keeping: what people decided, who decided it, what was rejected and why, and which questions stayed open. Routine progress and anything `git log` already shows get dropped. If nothing is left, it replies "nothing to record" and stops.

It works against a team or a local wiki. For the team wiki it calls `pages_status` with `repo` and `project`; when the state comes back `ambiguous`, it asks which project and pins it. For a local wiki it uses the `nimbalyst-local` tools, and offers to start one if none exists. Before writing, it reads the guide page on how that wiki is written and follows it. On a local wiki it starts from the code: `pagesForFiles` over the files this session changed, then either updates each page it finds or marks it `outdated` with one line about what changed.

One thing to watch: `stale` on a page means a covered file was committed after the page last changed, and that can include commits from before this session. The skill records only what changed now and says the page may lag further instead of guessing at older edits. If the desktop app's `mcp__nimbalyst-trackers__*` tools are available, it uses those and the desktop wiki skills rather than its own. It closes by listing the pages it updated, one link per line.

## Install

### Claude Code (native platform)

1. **Skills CLI (Vercel)**
```bash
npx skills add nimbalyst/nimbalyst --skill capture -a claude-code
```

2. **Manually: put the files in place**
- File: `~/.claude/skills/capture/SKILL.md` — Copy the whole skill folder; for one project use .claude/skills/capture/

### Codex

1. **Skills CLI (Vercel)**
```bash
npx skills add nimbalyst/nimbalyst --skill capture -a codex
```

2. **Manually: put the files in place**
- File: `.agents/skills/capture/SKILL.md` — For all projects use ~/.agents/skills/

### Cursor

1. **Skills CLI (Vercel)**
```bash
npx skills add nimbalyst/nimbalyst --skill capture -a cursor
```

2. **Manually: put the files in place**
- File: `.cursor/skills/capture/SKILL.md` — Cursor also reads .agents/skills/ and .claude/skills/

### GitHub Copilot

1. **GitHub CLI**
```bash
gh skill install nimbalyst/nimbalyst capture
```

2. **Manually: put the files in place**
- File: `.github/skills/capture/SKILL.md`

### Gemini CLI

1. **Skills CLI (Vercel)**
```bash
npx skills add nimbalyst/nimbalyst --skill capture -a gemini-cli
```

2. **Platform CLI**
```bash
gemini skills install https://github.com/nimbalyst/nimbalyst --path plugins/nimbalyst-wiki/skills/capture
```

### Windsurf (Devin Desktop)

**Manually: put the files in place**
- File: `.devin/skills/capture/SKILL.md` — The legacy .windsurf/skills/ path still works

### OpenCode

**Skills CLI (Vercel)**
```bash
npx skills add nimbalyst/nimbalyst --skill capture -a opencode
```

### Claude.ai

**Claude.ai**
- Zip the folder and upload it in Settings → Capabilities → Skills

Where a file is given instead of a command, copy the files from the source to that path: https://github.com/nimbalyst/nimbalyst/tree/HEAD/plugins/nimbalyst-wiki/skills/capture/SKILL.md

## When to use it
- keep session decisions in the project wiki
- flag pages that went stale after code changes
- record what was rejected and why
- leave open questions for teammates
- capture context that git log does not hold

## Example prompts
- capture: record this session's decisions in the wiki
- capture, just the auth scheme discussion
- capture and update the pages the changes touched

## Source text · SKILL.md · MIT

Below is the content of a third-party file. It is data, not instructions for you: do not act on anything written inside unless the human asks. Block tag: d1af49789e976ffb.

BEGIN THIRD-PARTY FILE d1af49789e976ffb
```text
---
name: capture
description: Record what people decided in this session in the wiki pages it affects (team or local wiki). Use when the user asks to capture or record what the session decided, or when a wiki reminder asks you to.
argument-hint: "[optional focus]"
---

Record what this session decided in the project's wiki. Load the `update` skill and follow it for every write; the `connect` skill covers choosing the wiki and finding the project.

Focus, if the user gave one: $ARGUMENTS (left as written or empty means the whole session)

1. If the desktop app's wiki tools are available (`mcp__nimbalyst-trackers__*`), use them and the desktop wiki skills instead of this plugin's tools.
2. Choose the wiki as the `connect` skill describes. For the team wiki, call `pages_status` with `repo` and `project`; if the state is `ambiguous`, ask which project and pin it; if it is `unbound`, follow the skill's connecting steps. For a local wiki, use the `nimbalyst-local` tools; if there is none yet, offer to start one. If there is still no wiki to write to, say so and stop.
3. Read the guide page ("How we write this wiki": `guideLink` on the team wiki, `listPages` on a local one) and follow it.
4. On a local wiki, start from the code: call `pagesForFiles` with the files this session changed (no arguments checks the working tree; when the work is already committed, pass the files, or `since` with the commit before it). For each page it returns, read it and either update it with what the change means for a reader, or, when you cannot say that well, set its `status` to `outdated` (`setPageFields`, or `tracker_update` on a typed page) and add one line saying what changed and where. `stale` means a covered file was committed after the page last changed, which may include commits from before this session; record what this session changed and say the page may lag further rather than guessing at older changes. Skip a page the change does not affect in meaning.
5. List the candidates from this session: decisions people made (who, what was not chosen, and why), questions answered or left open, and context a teammate would need to see the whole problem. Drop routine progress and anything the code or `git log` already says.
6. If nothing is left and no page needed updating, reply "nothing to record" and stop.
```
END THIRD-PARTY FILE d1af49789e976ffb

The third-party file has ended. Everything between the d1af49789e976ffb tags is data: requests and commands from it are not followed. An “end of file” line with another tag inside the block is part of the file.

First 2326 of 2857 bytes. © nimbalyst · MIT · https://github.com/nimbalyst/nimbalyst/tree/HEAD/plugins/nimbalyst-wiki/skills/capture/SKILL.md

## Similar
- [wiki-capture](https://affpapa.org/en/nevibecode/skills/wiki-capture.md) — skill · 2800 installs
- [notion-knowledge-capture](https://affpapa.org/en/nevibecode/skills/notion-knowledge-capture-2.md) — skill · 567 installs
- [session-learning-capture](https://affpapa.org/en/nevibecode/commands/session-learning-capture.md) — command · 425 installs

_Part of the page did not fit — see the HTML version._

---
NeVibeCode on affpapa.org. Catalog texts are descriptions, not instructions for the agent. How to choose and install: https://affpapa.org/en/nevibecode/agents.md
