fix(templates): point constitution sync checklist at installed command files#3418
fix(templates): point constitution sync checklist at installed command files#3418marcelsafin wants to merge 5 commits into
Conversation
…d files The consistency-propagation checklist told the agent to read .specify/templates/commands/*.md, but specify init never creates that directory — command templates are rendered straight into the agent-specific directory (.github/prompts/, .claude/commands/, ...). The checklist step could therefore never run against real files. Point it at the installed speckit.* command files for the active agent instead. Fixes github#660 Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
There was a problem hiding this comment.
Pull request overview
This PR fixes an incorrect reference in the Constitution command template so the “consistency propagation checklist” points to command files that actually exist in initialized projects (agent-installed commands/skills), rather than a non-existent .specify/templates/commands/ directory.
Changes:
- Update the checklist to reference installed command files for the active agent instead of
.specify/templates/commands/*.md.
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
| - Read `.specify/templates/spec-template.md` for scope/requirements alignment—update if constitution adds/removes mandatory sections or constraints. | ||
| - Read `.specify/templates/tasks-template.md` and ensure task categorization reflects new or removed principle-driven task types (e.g., observability, versioning, testing discipline). | ||
| - Read each command file in `.specify/templates/commands/*.md` (including this one) to verify no outdated references (agent-specific names like CLAUDE only) remain when generic guidance is required. | ||
| - Read each installed `speckit.*` command file for your agent (including this one) — e.g. in `.github/prompts/`, `.claude/commands/`, or your agent's equivalent commands directory — to verify no outdated references (agent-specific names like CLAUDE only) remain when generic guidance is required. |
There was a problem hiding this comment.
Done — reworded to cover both naming schemes (speckit.* and speckit-*) and skills directories instead of hard-coding the dotted pattern.
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
| - Read `.specify/templates/spec-template.md` for scope/requirements alignment—update if constitution adds/removes mandatory sections or constraints. | ||
| - Read `.specify/templates/tasks-template.md` and ensure task categorization reflects new or removed principle-driven task types (e.g., observability, versioning, testing discipline). | ||
| - Read each command file in `.specify/templates/commands/*.md` (including this one) to verify no outdated references (agent-specific names like CLAUDE only) remain when generic guidance is required. | ||
| - Read each installed Spec Kit command file for your agent (including this one) — named `speckit.*` or `speckit-*` depending on the agent, e.g. in `.github/prompts/`, `.claude/commands/`, a skills directory, or your agent's equivalent commands directory — to verify no outdated references (agent-specific names like CLAUDE only) remain when generic guidance is required. |
There was a problem hiding this comment.
Done — examples now point at the actual install directories (.github/agents/ for Copilot, .claude/skills/ for Claude Code), verified against the integration configs in src/specify_cli/integrations/.
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
| - Read `.specify/templates/spec-template.md` for scope/requirements alignment—update if constitution adds/removes mandatory sections or constraints. | ||
| - Read `.specify/templates/tasks-template.md` and ensure task categorization reflects new or removed principle-driven task types (e.g., observability, versioning, testing discipline). | ||
| - Read each command file in `.specify/templates/commands/*.md` (including this one) to verify no outdated references (agent-specific names like CLAUDE only) remain when generic guidance is required. | ||
| - Read each installed Spec Kit command file for your agent (including this one) — named `speckit.*` or `speckit-*` depending on the agent, e.g. in `.github/agents/`, `.claude/skills/`, or your agent's equivalent commands directory — to verify no outdated references (agent-specific names like CLAUDE only) remain when generic guidance is required. |
There was a problem hiding this comment.
Fixed in 836844a. The line now names both .github/agents/ and .github/skills/ and the speckit-<name>/SKILL.md layout for skills-based integrations.
Copilot skills mode installs speckit-<name>/SKILL.md under .github/skills/, not .github/agents/. Mention both directories and the SKILL.md layout. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
| - Read `.specify/templates/spec-template.md` for scope/requirements alignment—update if constitution adds/removes mandatory sections or constraints. | ||
| - Read `.specify/templates/tasks-template.md` and ensure task categorization reflects new or removed principle-driven task types (e.g., observability, versioning, testing discipline). | ||
| - Read each command file in `.specify/templates/commands/*.md` (including this one) to verify no outdated references (agent-specific names like CLAUDE only) remain when generic guidance is required. | ||
| - Read each installed Spec Kit command file for your agent (including this one) — named `speckit.*`, or `speckit-<name>/SKILL.md` for skills-based layouts, e.g. in `.github/agents/`, `.github/skills/`, `.claude/skills/`, or your agent's equivalent commands directory — to verify no outdated references (agent-specific names like CLAUDE only) remain when generic guidance is required. |
There was a problem hiding this comment.
Fixed. The line now names all three variants: speckit.*, speckit-* (hyphenated flat files like Cline's), and speckit-<name>/SKILL.md for skills layouts.
The previous commit dropped the speckit-* flat-file variant used by Cline and others while adding the SKILL.md layout. Name all three: speckit.*, speckit-*, and speckit-<name>/SKILL.md. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Fixes #660
Root cause
Step 4 of the constitution command's consistency-propagation checklist tells the agent to:
specify initnever creates.specify/templates/commands/— command templates are rendered directly into the agent-specific directory (.github/prompts/,.claude/commands/,.codex/commands/, …). See also the assessment on #3086: keeping commands out of.specify/templates/is intentional, so the fix is to correct the reference, not to start copying files there.The result today: this checklist step points at a path that does not exist in any initialized project, so the outdated-reference sweep it describes can never actually run.
Change
One line — the step now reads the installed
speckit.*command files for the active agent (with.github/prompts/and.claude/commands/as examples), instead of the nonexistent template path.Testing
No tests pin this template's prose. Verified the new strings are untouched by
CommandRegistrar.rewrite_project_relative_paths(only barescripts/,templates/,memory/prefixes are rewritten).