Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 0 additions & 3 deletions .agents/skills/speckit-analyze/SKILL.md
Original file line number Diff line number Diff line change
@@ -1,13 +1,10 @@
---
name: "speckit-analyze"
description: "Perform a non-destructive cross-artifact consistency and quality analysis across spec.md, plan.md, and tasks.md after task generation."
argument-hint: "Optional focus areas for analysis"
compatibility: "Requires spec-kit project structure with .specify/ directory"
metadata:
author: "github-spec-kit"
source: "templates/commands/analyze.md"
user-invocable: true
disable-model-invocation: false
---


Expand Down
3 changes: 0 additions & 3 deletions .agents/skills/speckit-checklist/SKILL.md
Original file line number Diff line number Diff line change
@@ -1,13 +1,10 @@
---
name: "speckit-checklist"
description: "Generate a custom checklist for the current feature based on user requirements."
argument-hint: "Domain or focus area for the checklist"
compatibility: "Requires spec-kit project structure with .specify/ directory"
metadata:
author: "github-spec-kit"
source: "templates/commands/checklist.md"
user-invocable: true
disable-model-invocation: false
---


Expand Down
3 changes: 0 additions & 3 deletions .agents/skills/speckit-clarify/SKILL.md
Original file line number Diff line number Diff line change
@@ -1,13 +1,10 @@
---
name: "speckit-clarify"
description: "Identify underspecified areas in the current feature spec by asking up to 5 highly targeted clarification questions and encoding answers back into the spec."
argument-hint: "Optional areas to clarify in the spec"
compatibility: "Requires spec-kit project structure with .specify/ directory"
metadata:
author: "github-spec-kit"
source: "templates/commands/clarify.md"
user-invocable: true
disable-model-invocation: false
---


Expand Down
5 changes: 1 addition & 4 deletions .agents/skills/speckit-constitution/SKILL.md
Original file line number Diff line number Diff line change
@@ -1,13 +1,10 @@
---
name: "speckit-constitution"
description: "Create or update the project constitution from interactive or provided principle inputs, ensuring all dependent templates stay in sync."
argument-hint: "Principles or values for the project constitution"
compatibility: "Requires spec-kit project structure with .specify/ directory"
metadata:
author: "github-spec-kit"
source: "templates/commands/constitution.md"
user-invocable: true
disable-model-invocation: false
---


Expand Down Expand Up @@ -87,7 +84,7 @@ Follow this execution flow:
- Read `.specify/templates/plan-template.md` and ensure any "Constitution Check" or rules align with updated principles.
- 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 installed Spec Kit command file for your agent (including this one) — named `speckit.*` or `speckit-*` (dot or hyphen depending on the agent), or laid out as `speckit-<name>/SKILL.md` for skills-based integrations, e.g. in `.github/agents/`, `.github/skills/`, `.Codex/skills/`, or your agent's equivalent commands directory — to verify no outdated references (Codex-only or other agent-specific names) remain when generic guidance is required.
- Read each installed Spec Kit command file for your agent (including this one) — named `speckit.*` or `speckit-*` (dot or hyphen depending on the agent), or laid out as `speckit-<name>/SKILL.md` for skills-based integrations, e.g. in `.github/agents/`, `.github/skills/`, `.claude/skills/`, or your agent's equivalent commands directory — to verify no outdated references (CLAUDE-only or other agent-specific names) remain when generic guidance is required.
- Read any runtime guidance docs (e.g., `README.md`, `docs/quickstart.md`, or agent-specific guidance files if present). Update references to principles changed.

5. Produce a Sync Impact Report (prepend as an HTML comment at top of the constitution file after update):
Expand Down
2 changes: 0 additions & 2 deletions .agents/skills/speckit-converge/SKILL.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,8 +5,6 @@ compatibility: "Requires spec-kit project structure with .specify/ directory"
metadata:
author: "github-spec-kit"
source: "templates/commands/converge.md"
user-invocable: true
disable-model-invocation: false
---


Expand Down
3 changes: 0 additions & 3 deletions .agents/skills/speckit-implement/SKILL.md
Original file line number Diff line number Diff line change
@@ -1,13 +1,10 @@
---
name: "speckit-implement"
description: "Execute the implementation plan by processing and executing all tasks defined in tasks.md"
argument-hint: "Optional implementation guidance or task filter"
compatibility: "Requires spec-kit project structure with .specify/ directory"
metadata:
author: "github-spec-kit"
source: "templates/commands/implement.md"
user-invocable: true
disable-model-invocation: false
---


Expand Down
3 changes: 0 additions & 3 deletions .agents/skills/speckit-plan/SKILL.md
Original file line number Diff line number Diff line change
@@ -1,13 +1,10 @@
---
name: "speckit-plan"
description: "Execute the implementation planning workflow using the plan template to generate design artifacts."
argument-hint: "Optional guidance for the planning phase"
compatibility: "Requires spec-kit project structure with .specify/ directory"
metadata:
author: "github-spec-kit"
source: "templates/commands/plan.md"
user-invocable: true
disable-model-invocation: false
---


Expand Down
3 changes: 0 additions & 3 deletions .agents/skills/speckit-specify/SKILL.md
Original file line number Diff line number Diff line change
@@ -1,13 +1,10 @@
---
name: "speckit-specify"
description: "Create or update the feature specification from a natural language feature description."
argument-hint: "Describe the feature you want to specify"
compatibility: "Requires spec-kit project structure with .specify/ directory"
metadata:
author: "github-spec-kit"
source: "templates/commands/specify.md"
user-invocable: true
disable-model-invocation: false
---


Expand Down
3 changes: 0 additions & 3 deletions .agents/skills/speckit-tasks/SKILL.md
Original file line number Diff line number Diff line change
@@ -1,13 +1,10 @@
---
name: "speckit-tasks"
description: "Generate an actionable, dependency-ordered tasks.md for the feature based on available design artifacts."
argument-hint: "Optional task generation constraints"
compatibility: "Requires spec-kit project structure with .specify/ directory"
metadata:
author: "github-spec-kit"
source: "templates/commands/tasks.md"
user-invocable: true
disable-model-invocation: false
---


Expand Down
3 changes: 0 additions & 3 deletions .agents/skills/speckit-taskstoissues/SKILL.md
Original file line number Diff line number Diff line change
@@ -1,13 +1,10 @@
---
name: "speckit-taskstoissues"
description: "Convert existing tasks into actionable, dependency-ordered GitHub issues for the feature based on available design artifacts."
argument-hint: "Optional filter or label for GitHub issues"
compatibility: "Requires spec-kit project structure with .specify/ directory"
metadata:
author: "github-spec-kit"
source: "templates/commands/taskstoissues.md"
user-invocable: true
disable-model-invocation: false
---


Expand Down
2 changes: 2 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -44,6 +44,7 @@ coverage/
.nyc_output/

# Logs
*.log
npm-debug.log*
yarn-debug.log*
yarn-error.log*
Expand Down Expand Up @@ -109,6 +110,7 @@ Thumbs.db
# ---------------------------------------------------------------------------
# Misc
# ---------------------------------------------------------------------------
*.tmp
*.tsbuildinfo
.cache/
tmp/
Expand Down
12 changes: 3 additions & 9 deletions .opencode/commands/speckit.converge.md
Original file line number Diff line number Diff line change
Expand Up @@ -199,19 +199,13 @@ Append to the **end** of `tasks.md`, per the append contract:
(highest existing phase + 1).
2. Write a single new section header `## Phase N: Convergence`.
3. Emit one checklist item per actionable finding, ordered CRITICAL/HIGH first, assigning
zero-padded IDs `T{M+1:03d}, T{M+2:03d}, …`, following the same checkbox/ID/marker
format as `/speckit.tasks` (`- [ ] [TaskID] [P?] [Story?] Description with file path`):
zero-padded IDs `T{M+1:03d}, T{M+2:03d}, …`:

```markdown
- [ ] T042 [P?] [Story?] <imperative description with concrete file path> per <source-ref> (<gap-type>)
- [ ] T042 <imperative description with exact affected file path> per <source-ref> (<gap-type>)
```

Include `[P]` only when the task is parallelizable (different file, no dependency on an
incomplete task). Include `[Story]` (e.g. `[US1]`) only when `<source-ref>` identifies a
specific user story (e.g. `US1/AC2`); omit it for plan-level or constitution-level
findings, matching `/speckit.tasks`'s rule that Setup/Foundational/Polish tasks carry no
story label.

The imperative description MUST name the exact affected file path.
`<source-ref>` traces the task to its origin: e.g. `FR-003`, `SC-002`,
`US1/AC2`, `plan: storage decision`, `Constitution II`.

Expand Down
4 changes: 2 additions & 2 deletions .opencode/commands/speckit.specify.md
Original file line number Diff line number Diff line change
Expand Up @@ -139,9 +139,9 @@ Given that feature description, do this:
7. Identify Key Entities (if data involved)
8. Return: SUCCESS (spec ready for planning)

7. Write the specification to SPEC_FILE using the template structure, replacing placeholders with concrete details derived from the feature description (arguments) while preserving section order and headings.
6. Write the specification to SPEC_FILE using the template structure, replacing placeholders with concrete details derived from the feature description (arguments) while preserving section order and headings.

8. **Specification Quality Validation**: After writing the initial spec, validate it against quality criteria:
7. **Specification Quality Validation**: After writing the initial spec, validate it against quality criteria:

a. **Create Spec Quality Checklist**: Generate a checklist file at `SPECIFY_FEATURE_DIRECTORY/checklists/requirements.md` using the checklist template structure with these validation items:

Expand Down
2 changes: 1 addition & 1 deletion .opencode/commands/speckit.tasks.md
Original file line number Diff line number Diff line change
Expand Up @@ -165,7 +165,7 @@ Every task MUST strictly follow this format:

**Examples**:

- ✅ CORRECT: `- [ ] T001 Create project structure (src/, tests/) per implementation plan`
- ✅ CORRECT: `- [ ] T001 Create project entry points in src/main.py and tests/conftest.py per implementation plan`
- ✅ CORRECT: `- [ ] T005 [P] Implement authentication middleware in src/middleware/auth.py`
- ✅ CORRECT: `- [ ] T012 [P] [US1] Create User model in src/models/user.py`
- ✅ CORRECT: `- [ ] T014 [US1] Implement UserService in src/services/user_service.py`
Expand Down
8 changes: 8 additions & 0 deletions .prettierignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
node_modules/
dist/
build/
coverage/
.next/
package-lock.json
yarn.lock
pnpm-lock.yaml
2 changes: 1 addition & 1 deletion .specify/feature.json
Original file line number Diff line number Diff line change
@@ -1,3 +1,3 @@
{
"feature_directory": "specs/003-brand-crud"
"feature_directory": "specs/004-provider-keys"
}
5 changes: 3 additions & 2 deletions .specify/init-options.json
Original file line number Diff line number Diff line change
@@ -1,8 +1,9 @@
{
"ai": "opencode",
"ai": "codex",
"ai_skills": true,
"feature_numbering": "sequential",
"here": true,
"integration": "opencode",
"integration": "codex",
"script": "sh",
"speckit_version": "0.12.14"
}
10 changes: 5 additions & 5 deletions .specify/integration.json
Original file line number Diff line number Diff line change
Expand Up @@ -2,14 +2,14 @@
"version": "0.12.14",
"integration_state_schema": 1,
"installed_integrations": [
"opencode"
"codex"
],
"integration_settings": {
"opencode": {
"codex": {
"script": "sh",
"invoke_separator": "."
"invoke_separator": "-"
}
},
"integration": "opencode",
"default_integration": "opencode"
"integration": "codex",
"default_integration": "codex"
}
17 changes: 17 additions & 0 deletions .specify/integrations/codex.manifest.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
{
"integration": "codex",
"version": "0.12.14",
"installed_at": "2026-07-28T11:21:21.220147+00:00",
"files": {
".agents/skills/speckit-analyze/SKILL.md": "2e89ffed73764eb9d3ee2d9fba7e245a5e73229b809ddec52409ca74c44e585d",
".agents/skills/speckit-clarify/SKILL.md": "5095627c89a249d402ad2d0fad425ea0c0bd5e8559e9d6f5b682dea4f513ed54",
".agents/skills/speckit-constitution/SKILL.md": "c57bf65daa9c23e24c97071bc0e4f930b3f458549b52792c4a65830de6b28f6b",
".agents/skills/speckit-implement/SKILL.md": "248c2fa4be8a969ea771c88c38546d6735d7d4994bbe698bbabd18f53f88f0cd",
".agents/skills/speckit-converge/SKILL.md": "1355b748919c7750cc87be94534192e5ff227229c14cbd34ca993a5f977a4ce2",
".agents/skills/speckit-plan/SKILL.md": "c5522489fd177028e02ff4f1588a06bde811a0146cdc1d3495812694d6ea41b3",
".agents/skills/speckit-checklist/SKILL.md": "4eb7e030d04014e6bbf5177f84aeef19b11adfa8470a14dd18506f65c7cf9dcb",
".agents/skills/speckit-specify/SKILL.md": "6313b902b49bf2ae3582421be21c2453ff98a863974acca3e6a83cdad9d4b70b",
".agents/skills/speckit-tasks/SKILL.md": "2dceed4345af65dbc6625157be8817dc35f2b0943b5896815ef1bc4d3421efba",
".agents/skills/speckit-taskstoissues/SKILL.md": "2c00fdc774cb9b435ea8566c7efa8b208568d533d57529e61c35f18aa52d6c67"
}
}
6 changes: 3 additions & 3 deletions .specify/integrations/opencode.manifest.json
Original file line number Diff line number Diff line change
@@ -1,17 +1,17 @@
{
"integration": "opencode",
"version": "0.12.14",
"installed_at": "2026-07-19T16:37:19.006397+00:00",
"installed_at": "2026-07-26T16:19:25.218431+00:00",
"files": {
".opencode/commands/speckit.analyze.md": "07e1e9f997bce9e06d3823ecf1ed315bb62381b81e7d6a7aef19c5087c320e70",
".opencode/commands/speckit.clarify.md": "595ae8988179a91780ce10e258afcccaa313b0924a79e720c66226e31af7ec00",
".opencode/commands/speckit.constitution.md": "e0d1d7c237d4657914dcccb6ea0c3a3a10d8d1d9a36b198282e22b3d0b9a55e5",
".opencode/commands/speckit.implement.md": "6a5713a4db8d48dd7c93e38b9957c6e54b6b7dc899ebab66f9ccb3bce58fdfeb",
".opencode/commands/speckit.converge.md": "e585bc94a3f01cb45eb4f4f6003268a7bc7e1f1685d343c25ad5dc3c484b4816",
".opencode/commands/speckit.converge.md": "fb8dcfb3e9c5df97793081825c9be11d8fe1b0d4bdc5478629c73608f3e5f60b",
".opencode/commands/speckit.plan.md": "ff1809d5d72b399ec364414a150c1a20e782677972d11f0bdf8c65c73f898a71",
".opencode/commands/speckit.checklist.md": "2124a817bddbff7f469fd47b08e43dd9a39b769499d367f6888a74e1e821412d",
".opencode/commands/speckit.specify.md": "e24c01f27d269dab73c4178ce5bb1c31198dbfc36b9198cc6e407ef1122f4745",
".opencode/commands/speckit.tasks.md": "e3569f2fbdb99704b81e3647ce9e52fb812764d6b2590fc497a2c2130b43ba72",
".opencode/commands/speckit.tasks.md": "201668645aa013b8e4dab7ef89325559071e6f57e99500112fdba837780ea81a",
".opencode/commands/speckit.taskstoissues.md": "0a436a42ceca2db309df88985d1939ee7f176c4a7a2d7c7a8d2253006cfe6870"
}
}
12 changes: 6 additions & 6 deletions .specify/integrations/speckit.manifest.json
Original file line number Diff line number Diff line change
Expand Up @@ -5,13 +5,13 @@
"files": {
".specify/scripts/bash/common.sh": "6ff86bf39f6b4684b0f80927dc7a1dadec26b4671988a3fe4d6c2523cbd3aa22",
".specify/scripts/bash/setup-plan.sh": "4469b22960f43c07c33dca00de6dedb252145e9a9ce8fbb0e63be82e02b082ab",
".specify/scripts/bash/setup-tasks.sh": "cf21ba2212b4dd5b435c5ea8527500cfd27768b86c0bbc7ebc3207759f118d27",
".specify/scripts/bash/check-prerequisites.sh": "a7d8a14ecf87332b600cd966b5d0e7cb9d594abce7e4d1ee4372b2b5b3efff06",
".specify/scripts/bash/setup-tasks.sh": "1d4bcebe93f3e4e778964978cfe9bfb67ee94e7dc688f2ff3be224f647f61f1f",
".specify/scripts/bash/check-prerequisites.sh": "ac3e96258a05d029d048076393a03aadff5c7c3a55a26d0a9f5c17886a1c659d",
".specify/scripts/bash/create-new-feature.sh": "dd531f9ba47c9ce9975b597947377be9542b7236681d6dc033513c4e3cfc50f2",
".specify/templates/constitution-template.md": "ce7549540fa45543cca797a150201d868e64495fdff39dc38246fb17bd4024b3",
".specify/templates/checklist-template.md": "709d8ab8384a3a49f5e0f64479f71553ef6d6f8bb4f00281b05f47837993b536",
".specify/templates/tasks-template.md": "fc29a233f6f5a27ca31f1aa46b596af6500c627441c6e62b2bc4a1d721525842",
".specify/templates/spec-template.md": "3945437fc35cd30a5b2bf7beea680337c3516826d3efa5a6b92c4a7eca1ba28e",
".specify/templates/plan-template.md": "7e637502d41eccf0ca672496636365691fdca62ef37b27ec07fcb412dbfa90d4"
".specify/templates/checklist-template.md": "0ad704b60af2df817aee1c0a2ecc0e0304b271d2de34047df1c891735967033e",
".specify/templates/tasks-template.md": "61f9bf0d34c75f97e91486037ff35cdde35915d8d9f9b2fa755882c35eb497f9",
".specify/templates/spec-template.md": "8bc198906589c75c3490d1e1edd09194bc94348b3ae8ee46657a62a7f9ebd4d8",
".specify/templates/plan-template.md": "bbe9f9504a26f7400b2d92015b858a30dbc92e5069cf02840cec19c45b6abc95"
}
}
Loading