⏳ This skill is pending AI review.

Scores will appear once the review pipeline completes.

version unknown

agent-cockpit

@chutingyean⭐ 365 stars

Work under Agent Cockpit, the evidence-chain whiteboard and MCP server for research repos. Use when a repo has a `.cockpit/` folder, an "Agent Cockpit" section in AGENTS.md, or `cockpit_*` MCP tools; or when the user asks to set up Agent Cockpit, track experiments, register results as claims, or check which results still hold.

Choose how to use this skill

You do not need every option. Choose the path your AI client supports. The stable page stays the same; versioned files are immutable.

1. Native installer

This listing has no registered native installer command. Use the complete package or source fallback below, depending on what your client supports.

Do not guess an installer command or replace an existing version without reviewing the diff.

2. Complete package recommended

Download the ZIP when available. It includes SKILL.md plus the references, security notes and version metadata.

No complete ProSkills package is published for this listing yet.

3. Prompt-only

Copy the prompt above when the agent can read the stable page or when you want to adopt the workflow without installing a skill.

Need only the instruction file?

Download SKILL.md only if your client requires a single file. The complete ZIP is safer for a full installation because it preserves the references and release context.

No path installs or executes anything by itself. Your agent still needs access to the project files. Before updating, compare the installed version and review the diff.

—/10

// RATINGS

⭐GitHub Stars
⭐⭐⭐ 365 on GitHubGitHub ↗

Popular

🟢ProSkills Score
—
📍

Not yet listed on ClawHub or SkillsMP

// README

Agent Cockpit is a local whiteboard plus an MCP server for AI agents that do research. Any agent that speaks MCP (Claude Code, Codex, Cursor, Gemini CLI, …) draws its work onto the same board: the plan, the tasks, every experiment run, every claim, and the code each run depended on. A deterministic engine keeps checking the whole evidence chain. When any link changes, the cards that depend on it turn red. You can tell which results still hold, and why, without reading the code.

Why

After a few days of research with AI agents, the same things keep going wrong:

  • Claims lose their footing silently. An agent edits the grader, the data pipeline or a statistics helper, and results that were "verified" no longer hold. Nobody notices.
  • Changes go unreported. Files change and no agent says so, or an agent says it changed something it didn't.
  • Decisions pile up, assumptions harden, loops spin. Questions meant for a human wait unanswered, untested premises become foundations, and an agent keeps tweaking hyperparameters "one more time".
  • The code grows faster than you can read it.

Agent Cockpit turns these into rules a machine can check, and shows the result on one board.

Features

  • Evidence chains, down to a JSON field. A claim must cite a value that a recorded run actually wrote. Each run records the hash of its script, of every file the script depends on, and of each function it reaches. If any of those changes, the run goes stale and every claim built on it is flagged for recheck. Revert the change and the hashes match again, so the claims recover.
  • Works with any MCP agent. Agent identity comes from the MCP handshake. cockpit init writes the config for Claude Code, Cursor, VS Code and Gemini CLI, and prints the command for Codex.
  • One write gate. Every write from MCP, the CLI or the board passes through the same validator. Non-compliant writes are rejected with a reason the agent can act on. Rejections are logged too.
  • Unreported changes get caught. Real file changes are detected whether or not an agent reports them. Unreported changes block git commit, and Claude Code cannot end its turn until it reports them.
  • Built-in code graph and code review, no extra installs. A lightweight graphify-style call graph supplies dependency closures, communities, core nodes and impact analysis. A rule-based reviewer looks at the changed lines every time a file changes. Install the real graphify or open-code-review and they are used automatically.
  • Human decisions in the loop. Agents ask through cockpit_decide and wait. When a change breaks claims, the cockpit raises a decision itself and writes a one-page evidence brief, laid out by answer-me-with-html.
  • Replay. Everything is an append-only event, so you can scrub or play the board back to any moment. A brief stays available even after the problem is fixed.
  • Local and deterministic. The board binds to 127.0.0.1. Every check is a plain rule, with no LLM calls and zero tokens.

Quick start

Requires Node.js 22.13+ (for the built-in node:sqlite), git, and python3 for the demo project.

git clone https://github.com/chutingyean/Agent-Cockpit.git
cd Agent-Cockpit
npm install
npm run demo                                       # build a demo research repo: 6 real runs, 6 claims
node bin/cockpit.mjs serve --repo demo/research    # open http://127.0.0.1:4180

Then, in a second terminal, break something and watch the board:

node bin/cockpit.mjs demo --break      # quietly loosens the grader's answer matching, unreported
node bin/cockpit.mjs demo --restore    # put it back: hashes match, claims recover

Use it on your own research repo

No clone needed:

cd /path/to/your-research                                   # must be a git repo
npx -y @tingyen/agent-cockpit init                      # MCP configs, AGENTS.md, Stop hook, pre-commit
npx -y @tingyen/agent-cockpit serve                     # the board
npx -y @tingyen/agent-cockpit run -- python3 train.py   # run experiments through the cockpit

Prefer a permanent cockpit command? npm install -g @tingyen/agent-cockpit.

init only writes inside your repo. Open the repo in your agent and it reads AGENTS.md and the MCP config. The tutorial walks through every agent step by step.

Claude Code plugin. Adds a skill that teaches Claude when and how to use Agent Cockpit, including how to set it up:

claude plugin marketplace add chutingyean/Agent-Cockpit
claude plugin install agent-cockpit@agent-cockpit

The same skill lives in skills/agent-cockpit/SKILL.md for other agents that read SKILL.md files. The MCP server is also listed in the MCP Registry as io.github.chutingyean/agent-cockpit.

How it works

  • Content hashes, not timestamps. Staleness is decided by comparing hashes, so reverting a file restores validity exactly.
  • Function-level precision. For Python dependencies, a change to a function the run never reaches does not make the run stale. Changes to reachable functions, imports or module-level code always do.
  • Event sourcing. .cockpit/events.jsonl is the single source of truth, and it doubles as the agents' work log. Commit it. The board is a pure projection (reduce → derive), which makes replay possible.

MCP tools

Research toolsPurpose
cockpit_overviewCall first: pending decisions, claims needing recheck and why, unreported changes
cockpit_plan / cockpit_stageThe research path. A stage cannot close until its required tools have been called
cockpit_taskThe agent's own task card, updated every round (what, why, next)
cockpit_runRun an experiment and record it
cockpit_claimRegister a claim. Evidence must be a file and field written by a recorded run
cockpit_hypothesis / cockpit_premiseHy

// HOW IT'S BUILT

// FILES

2 files shipped with this skill. Inline text is the catalog copy. The upstream link is the source repository.

  • skills/agent-cockpit/SKILL.md4.8 KB558db14a71beupstream ↗
    ---
    name: agent-cockpit
    description: Work under Agent Cockpit, the evidence-chain whiteboard and MCP server for research repos. Use when a repo has a `.cockpit/` folder, an "Agent Cockpit" section in AGENTS.md, or `cockpit_*` MCP tools; or when the user asks to set up Agent Cockpit, track experiments, register results as claims, or check which results still hold.
    ---
    
    # Agent Cockpit
    
    Agent Cockpit records every experiment run, every claim and the code each run depended on, and keeps checking the chain. If anything a run used changes later, the run goes stale and the claims built on it need recheck. A human follows along on a local board. Your job is to keep that record honest.
    
    The cockpit's own messages (rejections, overview, board text) are in Traditional Chinese. Read them carefully; they tell you exactly what to fix.
    
    ## 1. Set up (only if the repo is not set up yet)
    
    Check whether the `cockpit_overview` tool is available and the repo has a `.cockpit/` folder. If not, and the user wants Agent Cockpit:
    
    ```bash
    npx -y @tingyen/agent-cockpit init      # run in the repo root; it must be a git repo
    ```
    
    `init` writes the MCP config for Claude Code, Cursor, VS Code and Gemini CLI, adds the rules to `AGENTS.md`, a Claude Code Stop hook and a git pre-commit hook. It prints the command for Codex. Tell the user to restart the agent session so the `cockpit` MCP server loads, and to open the board:
    
    ```bash
    npx -y @tingyen/agent-cockpit serve     # http://127.0.0.1:4180
    ```
    
    ## 2. Start of every session
    
    1. Call `cockpit_overview` first. It lists decisions waiting for a human, decisions already answered, claims that need recheck and why, unreported changes, and unmet stage requirements.
    2. For answered decisions, call `cockpit_decisions` and act on the answer. Before acting, check the overview and the board: if the work the decision asked for was already done (for example the re-run exists after the answer), do not do it again.
    3. Create or update your task card with `cockpit_task` (`state`, `step`, `summary`, `why`, `next`). Update the same card every round; pass its `id`.
    
    ## 3. Run experiments only through the cockpit
    
    - Use `cockpit_run` (or `cockpit run -- <command>` in a terminal). A number that did not come from a recorded run cannot be registered as a claim.
    - Write results to JSON files with stable top-level keys, so a claim can cite one field and other runs can write other fields to the same file.
    - Do not hand-edit result files. The cockpit notices and flags the claim.
    
    ## 4. Register claims
    
    ```
    cockpit_claim({ text, hypothesis, evidence: [{ run: "R3", path: "results/metrics.json", key: "combo.acc" }] })
    ```
    
    - `path` must be a file that run wrote; `key` names the field. The cockpit reads the actual value.
    - If the run is stale (something it used has changed since), the claim is rejected. Re-run, then claim again with the new run. To update an existing claim, pass its `id`.
    - Set a hypothesis to `verified` or `refuted` with `cockpit_hypothesis` only after a valid claim supports it.
    
    ## 5. Report every file you change
    
    Call `cockpit_report({ files, summary, why, next })` after editing files (an empty `files` array if you changed nothing). Unreported changes turn red on the board, block `git commit`, and stop Claude Code from ending its turn.
    
    ## 6. Ask the human
    
    - Use `cockpit_decide` for choices a human should make: give options and a recommendation, and set it blocking when you must wait. Mark your task `blocked`, stop, and tell the user to answer on the board.
    - Use `cockpit_premise` for an assumption you are relying on but have not verified.
    
    ## 7. Code graph and review
    
    - `canvas_structure` rebuilds the code graph. With `{ file, funcs }` it returns every function affected by changing those functions.
    - `cockpit_review` reviews the changed lines (open-code-review if installed, otherwise built-in rules). Fix high-severity findings, report, re-run and re-claim.
    - `canvas_diagram` accepts an architecture diagram in md² format; `canvas_createNode` and `canvas_link` add notes and papers. Do not use them to create claims, runs or tasks.
    
    ## When a call is rejected
    
    The reason says what to fix. Common ones:
    
    | Rejection | Fix |
    |---|---|
    | The evidence file was not written by that run | Cite the run that wrote it, or re-run |
    | The run is stale | A dependency changed after the run. Re-run and cite the new run |
    | A field is too short (`summary`, `why`, `next`) | Write a real sentence: what you did and why |
    | A blocking decision is pending | Wait for the human; read it with `cockpit_decisions` |
    | A stage cannot close | Call the tools the stage requires first |
    | The path is outside the repo | Use a path inside the repo |
    
    ## Never
    
    - Run experiments outside `cockpit_run`.
    - Edit anything under `.cockpit/`.
    - Claim a number you did not get from a recorded run.
    - Leave a turn with unreported file changes.
    
  • README.mdupstream ↗

    Contents are not inlined in the catalog. Open the upstream file.

Plain-text copy, no login: /skill-bundles/chutingyean-agent-cockpit-skills-agent-cockpit.md

// REPO STATS

365 stars