speckit-companion-mark-complete

Marks the active spec-kit feature as completed in .spec-context.json via a Python script.

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

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve? The stock spec-kit workflow has no terminal step and force-closes without ever writing a completed status, leaving specs stuck in an ambiguous state. This Skill provides the explicit completion gate that promotes the active feature to status: completed in .spec-context.json. ## Core Features & Use Cases - Terminal Status Writer: Runs write-context.py --mark-complete to set status: completed while keeping currentStep at implement, preserving the history invariant. - Automatic Feature Resolution: The script resolves the active feature directory on its own via environment variables, .specify/feature.json, or git branch prefix, with an optional --feature-dir override. - Graceful Degradation: Skips with a warning if python3 is missing and leaves already-completed or archived specs untouched, exiting 0. - Use Case: After finishing the implement step of a spec-kit Companion workflow, run this step so the spec lands at the end of the Active → Completed lifecycle with an auditable status record. ## Quick Start Ask the assistant to mark the current spec-kit feature complete after implementation is finished.

Frequently Asked Questions about speckit-companion-mark-complete

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

FAQPage Schema
How do I mark a spec-kit feature as completed?▼

Run python3 .specify/extensions/companion/scripts/write-context.py --mark-complete --by ai from the repository root. The script resolves the active feature directory automatically and writes status: completed to .spec-context.json.

What is the final step in the spec-kit Companion workflow?▼

The mark-complete step is the terminal phase of the Companion workflow. It runs after implement finishes and promotes the active feature from Active to Completed status, which the stock speckit workflow never does.

Does mark-complete work without python3 installed?▼

No, it requires python3. If python3 is not detected, the step skips with a warning message and does not fail the host command, so the rest of the workflow continues unaffected.

What happens if I run mark-complete on an already completed spec?▼

The operation is idempotent. A spec already at completed or archived status is left untouched, the script reports the current state, and it exits with code 0.

How does the script find the active feature directory?▼

It resolves the directory through a fallback chain: the --feature-dir flag, SPECIFY_FEATURE_DIRECTORY, SPECIFY_FEATURE, .specify/feature.json, and finally the git branch prefix. You can pass --feature-dir specs/<NNN>-<slug> explicitly when known.