speckit-companion-living-sync

Sync living specs with working-tree code changes grouped by capability.

1|Updated Nov 21, 2020
One-click install
npx skills add https://github.com/LuanDopke/persefone --skill speckit-companion-living-sync-luandopke
Or copy as Structured Prompt for Agent▼
Please help me install this Agent Skill.
Skill: speckit-companion-living-sync
Source: https://github.com/LuanDopke/persefone/tree/main/.agents/skills/speckit-companion-living-sync
Command: npx skills add https://github.com/LuanDopke/persefone --skill speckit-companion-living-sync-luandopke

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve? Specs drift out of date when developers change code directly without updating documentation. This Skill detects working-tree changes (including uncommitted edits and untracked files), groups them by capability, and updates every affected living spec in one pass. ## Core Features & Use Cases - Working-Tree Drift Detection: Runs the drift detector with --working to include uncommitted edits, deletions, and untracked files in the sync plan. - Update-Not-Regenerate: Edits each affected spec in place, preserving existing requirements, clarifications, and acceptance scenarios while reflecting only what changed. - Non-Blocking Execution: Degrades gracefully — disabled configs, missing baselines, or failed capability updates become warnings and skips, never failures. - Use Case: After a coding session that touched authentication and billing modules, run the sync once to update both capability specs, then commit the spec edits together with the code that caused them. ## Quick Start Ask the assistant to sync all living specs with the current uncommitted changes in this spec-kit repository.

Frequently Asked Questions about speckit-companion-living-sync

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

FAQPage Schema
How do I sync specs with uncommitted code changes?▼

Run the drift detector in working-tree mode with `python3 .specify/extensions/companion/scripts/drift.py --working --json` from the repository root. The JSON output is the sync plan listing each capability's drifted files, which are then folded into the corresponding spec files.

What is a living spec in spec-kit?▼

A living spec is a specification file kept continuously in sync with the code it describes, rather than written once and frozen. The companion tooling tracks per-capability baselines and diffs the working tree against them to detect drift.

Does the sync work if living specs are disabled?▼

No. The sync is opt-in: if living specs are disabled or no config exists, it reports nothing to do and exits cleanly with success. It never fails the host run under any condition.

Why is a capability skipped with 'spec.md not yet committed'?▼

That capability has no committed baseline to diff against, so drift cannot be computed. Bootstrapping its spec is owned by the living-adopt command, not the sync, which only updates existing committed specs.

Does the sync commit the updated spec files automatically?▼

No. Spec edits are deliberately left uncommitted in the working tree so they can be reviewed and committed together with the code changes that caused them. The skill never runs git add or git commit.