Auto-Capture: Claude Code Adapter

SkillAI & models

Lets your agent automatically save a record of every Claude Code session to Open Brain when it ends.

Then ask your AI: use the Auto-Capture: Claude Code Adapter skill

Details

Instructions available. Your AI can read the instructions. Execution depends on the setup they require.

Add it as a step in a pipeline you build on Ahel, or connect Ahel to Claude, ChatGPT, Cursor, Claude Code or Codex and ask your AI to use it.

About this skill

Claude Code adapter for the auto-capture skill. Extends auto-capture with automatic session-end hooks that capture transcripts to Open Brain without manual intervention. Use this when you want every meaningful Claude Code session to be preserved automatically, not just the ones where you remember t

What this skill tells your AI

The instructions your AI receives, as published by natebjones-projects/ob1 in skills/auto-capture-claude-code/SKILL.md and read by Ahel’s review.

Relationship to Upstream Skill

This adapter implements the session-end capture behavior defined by the upstream auto-capture skill by Jared Irish. The base skill is a behavioral protocol — it describes when and what to capture during interactive session closes. This adapter is the concrete Claude Code binding: a Stop-hook script that fires the same capture behavior automatically when a session ends without a verbal trigger. The upstream skill and this adapter are complementary; install both for full coverage.

Problem

The base auto-capture skill requires a verbal trigger ("wrap up", "park this") to fire. In practice, many Claude Code sessions end without that trigger — the user closes the terminal, hits Ctrl+C, or simply walks away. Those sessions and their decisions are lost.

What This Adapter Adds

This adapter uses Claude Code's hook system to run a capture script automatically at session end. It complements the base auto-capture skill:

  • Base auto-capture handles interactive session-close captures (ACT NOW items, session summaries) when the user explicitly wraps up.
  • This adapter handles ambient capture when the session ends without an explicit trigger (terminal close, timeout, Ctrl+C).

Together they ensure no valuable session falls through the cracks.

How It Works

  1. Claude Code fires a Stop hook at session end, passing the transcript path and session metadata via stdin as JSON.
  2. The hook script (session-end-capture.mjs) reads the transcript, filters out short or agent-only sessions, and formats the content.
  3. The formatted transcript is POSTed to the Open Brain REST ingest endpoint (or smart-ingest edge function) for automatic thought extraction.
  4. Failed captures are saved to a local retry queue and retried on subsequent session ends.

Skip Heuristics

Not every session is worth capturing. The hook skips:

  • Sessions with fewer than 3 user turns (too short to contain decisions)
  • Agent-only sessions (sub-agent work, automated tooling)
  • Sessions containing restricted content (matched against sensitivity patterns)
  • Session-end reasons that are not terminal (clear, resume)

Installation

Prerequisites

Install the base auto-capture skill first. This adapter extends it — it does not replace it.

Steps

  1. Copy session-end-capture.mjs to your project or a shared scripts directory.

  2. Register the hook in your Claude Code settings (.claude/settings.json or global ~/.claude/settings.json):

    {
      "hooks": {
        "Stop": [
          {
            "matcher": "",
            "hooks": [
              {
                "type": "command",
                "command": "node /path/to/session-end-capture.mjs"
              }
            ]
          }
        ]
      }
    }
    
  3. Set environment variables (in .env.local or your environment):

    SUPABASE_URL=https://<project-ref>.supabase.co
    MCP_ACCESS_KEY=your-access-key
    
  4. Restart Claude Code to pick up the hook.

  5. End a test session with at least 3 user messages and verify a capture appears in your Open Brain thoughts.

Adapting the Script

The included session-end-capture.mjs is a reference implementation. Adapt it to your setup:

  • Ingest endpoint: Update the URL construction if your REST API or smart-ingest function is deployed at a different path.
  • Sensitivity patterns: Add a config/sensitivity-patterns.json file with regex patterns for restricted content detection, or remove the check if you don't need it.
  • Retry queue: The script saves failed captures to data/capture-retry-queue/ and retries them on subsequent runs. Adjust RETRY_MAX_ATTEMPTS and RETRY_BATCH_SIZE as needed.
  • Hard timeout: The script exits after 25 seconds to avoid blocking Claude Code shutdown. Adjust HARD_TIMEOUT_MS if your network is slower.

Output

When working correctly:

  • Every meaningful Claude Code session (3+ user turns, non-agent, non-restricted) is automatically ingested into Open Brain for thought extraction.
  • Failed captures are queued locally and retried on subsequent session ends.
  • Short, agent, and restricted sessions are silently skipped.
  • All outcomes are logged to logs/ambient-capture.log for debugging.

Notes

  • This adapter is designed to be non-blocking. All errors are caught and logged — the hook never prevents Claude Code from shutting down.
  • The base auto-capture skill and this adapter are complementary. The skill handles interactive captures with ACT NOW items; the adapter handles ambient background capture of the full session transcript.
  • Tool names vary by client and connector. The hook script uses the REST API directly rather than MCP tools, so it works regardless of which MCP connector is active.

Signals

GitHub stars
5k
Forks
892
Last commit
Oct 2026
Advanced
Item type
skill
Key
auto-capture-claude-code
Source
github.com/natebjones-projects/ob1