spectra-commit

Stage and commit files scoped to a selected Spectra change.

Updated Apr 27, 2026
One-click install
npx skills add https://github.com/zooroy/appt-system --skill spectra-commit-zooroy
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: spectra-commit
Source: https://github.com/zooroy/appt-system/tree/main/.agents/skills/spectra-commit
Command: npx skills add https://github.com/zooroy/appt-system --skill spectra-commit-zooroy

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill requires git.

What problem does it solve?

It prevents accidentally committing unrelated changes when you have multiple Spectra changes in progress by staging and committing only the artifacts (and optionally tracked source files) that belong to a specific Spectra change.

Core Features & Use Cases

  • Select a specific Spectra change by name (or infer it when unambiguous).
  • Stage change-scoped artifacts by collecting files under openspec/changes/<name>/ from your current git working tree.
  • Optionally include tracked source files using the tracking file .spectra/touched/<change-name>.json to group source files by task.
  • Provide a commit plan and confirmation gate so you can choose commit as shown, include all dirty files, customize the set, or archive-first then commit.
  • Generate a structured commit message by reading openspec/changes/<name>/proposal.md and task completion state.

Quick Start

Use spectra-commit with a specific change name like: run $spectra-commit add-auth to preview and confirm a commit that includes only that change’s artifacts (and any tracked source files).

Frequently Asked Questions about spectra-commit

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

FAQPage Schema
How do I commit only the files for a specific change without mixing unrelated dirty files?

To commit only specific change files without mixing unrelated dirty files, you can stage artifacts and tracked source files filtered by a specific change name. This prevents accidentally committing unrelated work when multiple changes are active in your git working tree.

How do I group source files by task when staging a git commit?

You group source files by task during a git commit by reading tracking data from a .spectra/touched/<change-name>.json file. This tracking file maps task-scoped source files to their specific change for accurate staging.

What is the best way to commit Spectra change artifacts without including untracked source code?

The best way to commit Spectra change artifacts without untracked source code is to collect files under openspec/changes/<name>/ from your git status. This isolates change artifacts and filters out unrelated dirty files from the commit.

Does git status automatically separate change artifacts from unrelated dirty files?

Git status alone does not separate change artifacts from unrelated dirty files. You need a staging mechanism that filters your working tree using openspec/changes/<name>/ directories and .spectra/touched tracking data to include only task-scoped files.

Can I automatically generate a structured git commit message from a proposal?

Yes, you can generate a structured git commit message by reading openspec/changes/<name>/proposal.md and task completion state. This automatically builds a descriptive commit message based on the specific change's proposal details.

How do I review a commit plan before staging files in git?

You review a commit plan before staging files in git by using a confirmation gate. This allows you to commit the plan as shown, include all dirty files, customize the file set, or run an archive and sync operation before committing.