Skip to content

feat(020): implement speckit workflow update#76

Merged
jwill824 merged 15 commits into
mainfrom
020-speckit-workflow
Mar 24, 2026
Merged

feat(020): implement speckit workflow update#76
jwill824 merged 15 commits into
mainfrom
020-speckit-workflow

Conversation

@jwill824
Copy link
Copy Markdown
Owner

Implements 020-speckit-workflow.

Summary

Updates the speckit developer workflow tooling across 9 user stories and 42 tasks. Zero application source code changes — all changes are in .github/, .specify/, and repo config.

What changed

  • US1 (P1) — Issue triage guard in speckit.specify: auto-runs issue-triage agent, supports multi-issue linking (#N, #N), posts traceability comments on linked GitHub issues
  • US2 (P2) — Per-phase conventional commits in all 7 speckit agents with pre-commit summary guard (removes auto-commit from conventional-commit SKILL.md)
  • US3 (P2) — Automatic spec.md status advancement through full lifecycle
  • US4 (P3) — Stack-aware agents: stack-template.md v1.0, auto-detect or manual stack entry, stack context surfaced in plan/tasks/implement/analyze
  • US5 (P3)issues-backlog.md refresh on every speckit.specify run
  • US6 (P3) — Paradigm shift detection in specify + clarify agents
  • US7 (P3) — Drift detection in speckit.analyze: diffs spec artifacts from branch-creation baseline
  • US8 (P2) — Session lifecycle: fixed log-prompt.sh copy-paste bug, added .gitignore guards to all hooks, context loading preambles in all resuming agents
  • US9 (P3) — Portability contract (docs/speckit-portability.md) + bootstrap.sh

Files changed

14 agent/skill/hook/template files · .gitignore · copilot-instructions.md · constitution.md

Closes #31

jwill824 and others added 14 commits March 22, 2026 09:29
- Fill spec.md with 6 user stories (P1–P3) covering GitHub issue linkage,
  per-phase commits, status lifecycle enforcement, stack-aware agents,
  issues backlog memory file, and constitution auto-update
- Add FR-001 through FR-012 with testable acceptance scenarios
- Define SC-001 through SC-007 measurable outcomes
- Add quality checklist (all items passing)

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
- US1: add multi-issue support per spec and issue-triage guard before specify
- US2: extend per-phase commits to all 7 speckit phases; use conventional-commit skill
- US4: redesign as stack.md template with auto-detect and manual-entry modes; extensible schema
- US7 (new): spec artifact drift detection via git diff from branch creation
- FR-001–FR-022: updated/expanded to cover all new requirements
- SC-001–SC-010: updated to match new user stories
- Key entities: added stack.md, Stack Template, Drift Report
- Assumptions: added conventional-commit skill dependency, stack.md versioning, drift scope

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
…s overlap fixes (#31)

- FR-023: embed issue-triage invocation in speckit.specify agent directly (agent-to-agent)
- FR-024: remove issue-triage.instructions.md; consolidate routing into copilot-instructions.md
- FR-025: replace abridged constitution in copilot-instructions.md with pointer to constitution.md;
  add spec-kit workflow reference
- Assumptions: document copilot-instructions vs constitution overlap rationale and instructions
  file removal rationale

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
- FR-026: context-map skill invoked at start of /speckit.plan
- FR-027: context-map skill invoked per task group in /speckit.implement
- FR-028: github-issues skill posts comment on linked issues after /speckit.specify
- FR-029: github-issues skill creates PR with Closes refs in /speckit.implement
- FR-030: sessionEnd hook warns on uncommitted speckit artifacts
- FR-031: userPromptSubmitted hook fixed (copy-paste bug) + logs phase invocations
- FR-032: sessionStart hook detects active speckit branch and logs current phase
- Key Entities: added Context Map and Session Audit Log
- Assumptions: documented skill/hook constraints and the log-prompt.sh bug

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
- US8: Session Lifecycle Management (P2) with 5 acceptance scenarios
- FR-033: hook setup guard — check .gitignore + logs dir before writing
- FR-034: /speckit.specify warns on non-fresh session (non-blocking)
- FR-035: resuming agents must explicitly load constitution, stack.md, spec.md, phase artifacts
- Edge cases: partial setup warning, non-blocking session contamination check
- Assumptions: CLI auto-load limitation, advisory-only session boundary, .gitignore guard rationale

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
- US9: Portability and Cross-Repo Bootstrap (P3) with 5 acceptance scenarios
- FR-036: separate generic tooling from project-specific context
- FR-037: bootstrap script scaffolds project-specific layer in new repos
- FR-038: bootstrap script is idempotent, skips existing artifacts
- FR-039: project-level agent/skill definitions take precedence over global
- Edge cases: idempotent bootstrap, local-over-global name conflict
- Key Entities: Speckit Repo, Bootstrap Script, User-Level Extensions
- Assumptions: portability contract scoped to current feature; actual standalone repo is future work

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
- US2 scenarios 9-10: pre-commit summary required before git commit;
  developer decline aborts phase without marking it complete
- FR-040: conventional-commit skill MUST show staged files + message
  preview and require explicit confirmation before committing;
  guard applies in all permission modes including YOLO/auto-approve
- Edge case: developer declines pre-commit summary -> phase aborted
- Assumption: YOLO bypasses tool permissions, not conversational prompts

Note: current conventional-commit SKILL.md says 'no confirmation needed'
— FR-040 requires updating that skill definition during implement.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
- plan.md: technical context, constitution check (all pass), file
  change inventory, agent/skill change designs, phase-end commit
  block pattern, conventional-commit skill update design
- research.md: 5 decisions documented (pre-commit guard, hook guards,
  branch detection, drift detection, stack-template schema); full
  codebase inventory of 14 files to change/create
- data-model.md: stack-template.md schema v1.0 with all standard
  fields, auto-detection sources, version upgrade procedure, state
  transitions
- spec.md: Status advanced Draft → Planned

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
42 tasks across 12 phases covering all 9 user stories.
Advance spec Status: Planned → Tasked.

Phase 1-2: setup (.gitignore, stack-template) + foundational (conventional-commit guard, copilot-instructions pointer)
Phase 3: US1 P1 - GitHub issue triage guard + multi-issue + traceability (T005-T008)
Phase 4-5: US2/US3 P2 - per-phase commits in all 7 agents + auto status advancement (T009-T018)
Phase 6: US8 P2 - session lifecycle, hook fixes, context loading preambles (T019-T026)
Phase 7-11: US4-US9 P3 - stack-aware agents, backlog refresh, drift detection, portability (T027-T039)
Phase 12: polish + verification (T040-T042)

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
…pdates (#31)

- Add issue-triage.agent.md and issue-triage.prompt.md (US1 triage guard)
- Add .specify/memory/stack.md — project stack context for stack-aware agents (US4)
- Add .specify/memory/issues-backlog.md — backlog snapshot for US5 refresh
- Add --issue N flag to create-new-feature.sh for GitHub issue linking at branch creation (US1)
- Add GitHub Issue front-matter field and status lifecycle comment to spec-template.md
- Regenerate copilot-instructions.md to reflect spec-020 tooling (drop stale per-spec entries)

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Advance spec status from Implemented → Analyzed after cross-artifact
consistency check. Analysis identified 7 findings (3 CRITICAL, 2 MEDIUM,
2 LOW): FR-026 and FR-027 (context-map not wired into speckit.plan and
speckit.implement), constitution violation in implement agent using
non-canonical status "Implementing" vs "In Progress", and minor
underspecifications. All 42 tasks confirmed complete; no unchecked items;
no artifact drift detected.

Refs: #31
…-workflow

C1: Wire context-map skill into speckit.plan.agent.md preamble (FR-026)
C2: Wire context-map skill per task group in speckit.implement.agent.md (FR-027)
C3: Fix non-canonical status "Implementing" -> "In Progress" in implement agent
    (constitution Principle VI MUST lifecycle violation)
I1: Align tasks.md T017 wording to use "In Progress" (was "Implementing")
E1: Add US2 acceptance scenario 11 for FR-018 mid-implementation task discovery

Refs: #31
Adds a Speckit Refinement Ideas section to issues-backlog.md capturing
five logged improvements: session lifecycle scoping (R1), constitution digest
for token efficiency (R2), context-map frequency reduction (R3), agent
instruction lazy-loading (R4), and headings-only drift detection (R5).

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
@jwill824 jwill824 merged commit 16ee649 into main Mar 24, 2026
10 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Update our spec-kit workflow

1 participant