speckit-companion-capture-implement

Records per-task implementation progress into .spec-context.json for the SpecKit Companion GUI.

Updated May 28, 2026
One-click install
npx skills add https://github.com/whw23/PingoGate --skill speckit-companion-capture-implement-whw23
Or copy as Structured Prompt for Agent▼
Please help me install this Agent Skill.
Skill: speckit-companion-capture-implement
Source: https://github.com/whw23/PingoGate/tree/main/.claude/skills/speckit-companion-capture-implement
Command: npx skills add https://github.com/whw23/PingoGate --skill speckit-companion-capture-implement-whw23

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve? When working through a spec-kit feature's task list, the Companion GUI loses track of implementation progress unless each completed task is captured. This Skill automates that capture as an after_implement lifecycle hook, keeping the GUI's step and status display in sync with the actual tasks.md checkboxes. ## Core Features & Use Cases - Task-Sync Capture: Reads completed task markers in the feature's tasks.md and appends one transition per completed task to .spec-context.json, skipping already-recorded tasks idempotently. - Automatic Status Resolution: Sets status to implemented when every task marker is checked, otherwise records implementing. - Graceful Degradation: Never fails the host command; warns and skips when python3 is missing or the feature directory cannot be resolved. - Use Case: After finishing several tasks in specs/042-auth-flow/tasks.md during an implement run, the hook updates .spec-context.json so the Companion GUI immediately shows currentStep=implement with the correct status. ## Quick Start Run the implement capture hook for the active feature so the Companion GUI reflects my current task progress in .spec-context.json.

Frequently Asked Questions about speckit-companion-capture-implement

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I sync spec-kit task progress with the Companion GUI?▼

Run the write-context.py script with --step implement and --tasks-file pointing at the feature's tasks.md. It reads completed task markers and appends one transition per task to .spec-context.json, which the GUI renders.

How does the capture hook decide between implementing and implemented status?▼

The script checks every task marker in tasks.md. When all markers are checked it records status=implemented; otherwise it records status=implementing automatically, so partial progress is represented accurately.

What happens if python3 is not installed when the hook runs?▼

The capture is skipped with the warning '[companion] Warning: python3 not detected; skipped .spec-context.json capture'. The hook is best-effort and never fails the host command.

Does the capture script overwrite existing history in .spec-context.json?▼

No. The write is atomic using a temp file plus rename, and it appends to the canonical history[] array without rewriting existing entries. Already-recorded tasks are skipped, making repeated runs idempotent.

How does the script resolve which feature directory to update?▼

It resolves in order: --feature-dir flag, SPECIFY_FEATURE_DIRECTORY env, SPECIFY_FEATURE env, .specify/feature.json, then the current git branch prefix. The --tasks-file argument must still point at that feature's tasks.md.