Skip to content

Commit 778fdd6

Browse files
chore: update Spec Kit to v1.0.6
1 parent 0c50fa3 commit 778fdd6

17 files changed

Lines changed: 75 additions & 51 deletions

File tree

.agents/skills/speckit-analyze/SKILL.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@ You **MUST** consider the user input before proceeding (if not empty).
2121
**Check for extension hooks (before analysis)**:
2222
- Check if `.specify/extensions.yml` exists in the project root.
2323
- If it exists, read it and look for entries under the `hooks.before_analyze` key
24-
- If the YAML cannot be parsed or is invalid, skip hook checking silently and continue normally
24+
- If the YAML cannot be parsed or is invalid, do not skip silently: tell the user that `.specify/extensions.yml` could not be read (include the parser error) and that no hooks were checked, including any mandatory (`optional: false`) hooks registered there, then continue normally
2525
- Filter out hooks where `enabled` is explicitly `false`. Treat hooks without an `enabled` field as enabled by default.
2626
- For each remaining hook, do **not** attempt to interpret or evaluate hook `condition` expressions:
2727
- If the hook has no `condition` field, or it is null/empty, treat the hook as executable
@@ -208,7 +208,7 @@ Ask the user: "Would you like me to suggest concrete remediation edits for the t
208208
209209
After reporting, check if `.specify/extensions.yml` exists in the project root.
210210
- If it exists, read it and look for entries under the `hooks.after_analyze` key
211-
- If the YAML cannot be parsed or is invalid, skip hook checking silently and continue normally
211+
- If the YAML cannot be parsed or is invalid, do not skip silently: tell the user that `.specify/extensions.yml` could not be read (include the parser error) and that no hooks were checked, including any mandatory (`optional: false`) hooks registered there, then continue normally
212212
- Filter out hooks where `enabled` is explicitly `false`. Treat hooks without an `enabled` field as enabled by default.
213213
- For each remaining hook, do **not** attempt to interpret or evaluate hook `condition` expressions:
214214
- If the hook has no `condition` field, or it is null/empty, treat the hook as executable

.agents/skills/speckit-checklist/SKILL.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -51,7 +51,7 @@ You **MUST** consider the user input before proceeding (if not empty).
5151
**Check for extension hooks (before checklist generation)**:
5252
- Check if `.specify/extensions.yml` exists in the project root.
5353
- If it exists, read it and look for entries under the `hooks.before_checklist` key
54-
- If the YAML cannot be parsed or is invalid, skip hook checking silently and continue normally
54+
- If the YAML cannot be parsed or is invalid, do not skip silently: tell the user that `.specify/extensions.yml` could not be read (include the parser error) and that no hooks were checked, including any mandatory (`optional: false`) hooks registered there, then continue normally
5555
- Filter out hooks where `enabled` is explicitly `false`. Treat hooks without an `enabled` field as enabled by default.
5656
- For each remaining hook, do **not** attempt to interpret or evaluate hook `condition` expressions:
5757
- If the hook has no `condition` field, or it is null/empty, treat the hook as executable
@@ -353,7 +353,7 @@ Sample items:
353353
**Check for extension hooks (after checklist generation)**:
354354
Check if `.specify/extensions.yml` exists in the project root.
355355
- If it exists, read it and look for entries under the `hooks.after_checklist` key
356-
- If the YAML cannot be parsed or is invalid, skip hook checking silently and continue normally
356+
- If the YAML cannot be parsed or is invalid, do not skip silently: tell the user that `.specify/extensions.yml` could not be read (include the parser error) and that no hooks were checked, including any mandatory (`optional: false`) hooks registered there, then continue normally
357357
- Filter out hooks where `enabled` is explicitly `false`. Treat hooks without an `enabled` field as enabled by default.
358358
- For each remaining hook, do **not** attempt to interpret or evaluate hook `condition` expressions:
359359
- If the hook has no `condition` field, or it is null/empty, treat the hook as executable

.agents/skills/speckit-clarify/SKILL.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@ You **MUST** consider the user input before proceeding (if not empty).
2121
**Check for extension hooks (before clarification)**:
2222
- Check if `.specify/extensions.yml` exists in the project root.
2323
- If it exists, read it and look for entries under the `hooks.before_clarify` key
24-
- If the YAML cannot be parsed or is invalid, skip hook checking silently and continue normally
24+
- If the YAML cannot be parsed or is invalid, do not skip silently: tell the user that `.specify/extensions.yml` could not be read (include the parser error) and that no hooks were checked, including any mandatory (`optional: false`) hooks registered there, then continue normally
2525
- Filter out hooks where `enabled` is explicitly `false`. Treat hooks without an `enabled` field as enabled by default.
2626
- For each remaining hook, do **not** attempt to interpret or evaluate hook `condition` expressions:
2727
- If the hook has no `condition` field, or it is null/empty, treat the hook as executable
@@ -244,7 +244,7 @@ Context for prioritization: $ARGUMENTS
244244
Check if `.specify/extensions.yml` exists in the project root.
245245
- If it does not exist, or no hooks are registered under `hooks.after_clarify`, skip to the Completion Report.
246246
- If it exists, read it and look for entries under the `hooks.after_clarify` key.
247-
- If the YAML cannot be parsed or is invalid, skip hook checking silently and continue to the Completion Report.
247+
- If the YAML cannot be parsed or is invalid, do not skip silently: tell the user that `.specify/extensions.yml` could not be read (include the parser error) and that no hooks were checked, including any mandatory (`optional: false`) hooks registered there, then continue to the Completion Report.
248248
- Filter out hooks where `enabled` is explicitly `false`. Treat hooks without an `enabled` field as enabled by default.
249249
- For each remaining hook, do **not** attempt to interpret or evaluate hook `condition` expressions:
250250
- If the hook has no `condition` field, or it is null/empty, treat the hook as executable

.agents/skills/speckit-constitution/SKILL.md

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -40,7 +40,7 @@ and commands read the constitution at runtime and are not modified here.
4040
**Check for extension hooks (before constitution update)**:
4141
- Check if `.specify/extensions.yml` exists in the project root.
4242
- If it exists, read it and look for entries under the `hooks.before_constitution` key
43-
- If the YAML cannot be parsed or is invalid, skip hook checking silently and continue normally
43+
- If the YAML cannot be parsed or is invalid, do not skip silently: tell the user that `.specify/extensions.yml` could not be read (include the parser error) and that no hooks were checked, including any mandatory (`optional: false`) hooks registered there, then continue normally
4444
- Filter out hooks where `enabled` is explicitly `false`. Treat hooks without an `enabled` field as enabled by default.
4545
- For each remaining hook, do **not** attempt to interpret or evaluate hook `condition` expressions:
4646
- If the hook has no `condition` field, or it is null/empty, treat the hook as executable
@@ -108,7 +108,9 @@ Follow this execution flow:
108108
- Ensure each Principle section: succinct name line, paragraph (or bullet list) capturing non‑negotiable rules, explicit rationale if not obvious.
109109
- Ensure Governance section lists amendment procedure, versioning policy, and compliance review expectations.
110110
111-
4. Produce a Sync Impact Report (prepend as an HTML comment at top of the constitution file after update):
111+
4. Produce a Sync Impact Report as an HTML comment at the top of the constitution file after update.
112+
This report is temporary scratch material for human review of the amendment, not governance
113+
content; it is expected to be removed before the amended constitution file is committed.
112114
- Version change: old → new
113115
- List of modified principles (old title → new title if renamed)
114116
- Added sections
@@ -147,7 +149,7 @@ Write only `.specify/memory/constitution.md`; do not create or modify template s
147149
**Check for extension hooks (after constitution update)**:
148150
Check if `.specify/extensions.yml` exists in the project root.
149151
- If it exists, read it and look for entries under the `hooks.after_constitution` key
150-
- If the YAML cannot be parsed or is invalid, skip hook checking silently and continue normally
152+
- If the YAML cannot be parsed or is invalid, do not skip silently: tell the user that `.specify/extensions.yml` could not be read (include the parser error) and that no hooks were checked, including any mandatory (`optional: false`) hooks registered there, then continue normally
151153
- Filter out hooks where `enabled` is explicitly `false`. Treat hooks without an `enabled` field as enabled by default.
152154
- For each remaining hook, do **not** attempt to interpret or evaluate hook `condition` expressions:
153155
- If the hook has no `condition` field, or it is null/empty, treat the hook as executable

.agents/skills/speckit-converge/SKILL.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@ You **MUST** consider the user input before proceeding (if not empty).
2222

2323
- Check if `.specify/extensions.yml` exists in the project root.
2424
- If it exists, read it and look for entries under the `hooks.before_converge` key
25-
- If the YAML cannot be parsed or is invalid, skip hook checking silently and continue normally
25+
- If the YAML cannot be parsed or is invalid, do not skip silently: tell the user that `.specify/extensions.yml` could not be read (include the parser error) and that no hooks were checked, including any mandatory (`optional: false`) hooks registered there, then continue normally
2626
- Filter out hooks where `enabled` is explicitly `false`. Treat hooks without an `enabled` field as enabled by default.
2727
- For each remaining hook, do **not** attempt to interpret or evaluate hook `condition` expressions:
2828
- If the hook has no `condition` field, or it is null/empty, treat the hook as executable
@@ -241,7 +241,7 @@ Append to the **end** of `tasks.md`, per the append contract:
241241
After producing the result, check if `.specify/extensions.yml` exists in the project root.
242242

243243
- If it exists, read it and look for entries under the `hooks.after_converge` key
244-
- If the YAML cannot be parsed or is invalid, skip hook checking silently and continue normally
244+
- If the YAML cannot be parsed or is invalid, do not skip silently: tell the user that `.specify/extensions.yml` could not be read (include the parser error) and that no hooks were checked, including any mandatory (`optional: false`) hooks registered there, then continue normally
245245
- Filter out hooks where `enabled` is explicitly `false`. Treat hooks without an `enabled` field as enabled by default.
246246
- For each remaining hook, do **not** attempt to interpret or evaluate hook `condition` expressions:
247247
- If the hook has no `condition` field, or it is null/empty, treat the hook as executable

.agents/skills/speckit-implement/SKILL.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@ You **MUST** consider the user input before proceeding (if not empty).
2121
**Check for extension hooks (before implementation)**:
2222
- Check if `.specify/extensions.yml` exists in the project root.
2323
- If it exists, read it and look for entries under the `hooks.before_implement` key
24-
- If the YAML cannot be parsed or is invalid, skip hook checking silently and continue normally
24+
- If the YAML cannot be parsed or is invalid, do not skip silently: tell the user that `.specify/extensions.yml` could not be read (include the parser error) and that no hooks were checked, including any mandatory (`optional: false`) hooks registered there, then continue normally
2525
- Filter out hooks where `enabled` is explicitly `false`. Treat hooks without an `enabled` field as enabled by default.
2626
- For each remaining hook, do **not** attempt to interpret or evaluate hook `condition` expressions:
2727
- If the hook has no `condition` field, or it is null/empty, treat the hook as executable
@@ -186,7 +186,7 @@ Note: This command assumes a complete task breakdown exists in tasks.md. If task
186186
Check if `.specify/extensions.yml` exists in the project root.
187187
- If it does not exist, or no hooks are registered under `hooks.after_implement`, skip to the Completion Report.
188188
- If it exists, read it and look for entries under the `hooks.after_implement` key.
189-
- If the YAML cannot be parsed or is invalid, skip hook checking silently and continue to the Completion Report.
189+
- If the YAML cannot be parsed or is invalid, do not skip silently: tell the user that `.specify/extensions.yml` could not be read (include the parser error) and that no hooks were checked, including any mandatory (`optional: false`) hooks registered there, then continue to the Completion Report.
190190
- Filter out hooks where `enabled` is explicitly `false`. Treat hooks without an `enabled` field as enabled by default.
191191
- For each remaining hook, do **not** attempt to interpret or evaluate hook `condition` expressions:
192192
- If the hook has no `condition` field, or it is null/empty, treat the hook as executable

.agents/skills/speckit-plan/SKILL.md

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@ You **MUST** consider the user input before proceeding (if not empty).
2121
**Check for extension hooks (before planning)**:
2222
- Check if `.specify/extensions.yml` exists in the project root.
2323
- If it exists, read it and look for entries under the `hooks.before_plan` key
24-
- If the YAML cannot be parsed or is invalid, skip hook checking silently and continue normally
24+
- If the YAML cannot be parsed or is invalid, do not skip silently: tell the user that `.specify/extensions.yml` could not be read (include the parser error) and that no hooks were checked, including any mandatory (`optional: false`) hooks registered there, then continue normally
2525
- Filter out hooks where `enabled` is explicitly `false`. Treat hooks without an `enabled` field as enabled by default.
2626
- For each remaining hook, do **not** attempt to interpret or evaluate hook `condition` expressions:
2727
- If the hook has no `condition` field, or it is null/empty, treat the hook as executable
@@ -54,7 +54,7 @@ You **MUST** consider the user input before proceeding (if not empty).
5454
5555
## Outline
5656
57-
1. **Setup**: Run `.specify/scripts/bash/setup-plan.sh --json` from repo root and parse JSON for FEATURE_SPEC, IMPL_PLAN, SPECS_DIR, BRANCH. For single quotes in args like "I'm Groot", use escape syntax: e.g 'I'\''m Groot' (or double-quote if possible: "I'm Groot").
57+
1. **Setup**: Run `.specify/scripts/bash/setup-plan.sh --json` from repo root and parse JSON for FEATURE_SPEC, IMPL_PLAN, FEATURE_DIR, BRANCH. For single quotes in args like "I'm Groot", use escape syntax: e.g 'I'\''m Groot' (or double-quote if possible: "I'm Groot").
5858
5959
2. **Load context**: Read FEATURE_SPEC and `.specify/memory/constitution.md`. Load IMPL_PLAN template (already copied).
6060
@@ -73,7 +73,7 @@ You **MUST** consider the user input before proceeding (if not empty).
7373
Check if `.specify/extensions.yml` exists in the project root.
7474
- If it does not exist, or no hooks are registered under `hooks.after_plan`, skip to the Completion Report.
7575
- If it exists, read it and look for entries under the `hooks.after_plan` key.
76-
- If the YAML cannot be parsed or is invalid, skip hook checking silently and continue to the Completion Report.
76+
- If the YAML cannot be parsed or is invalid, do not skip silently: tell the user that `.specify/extensions.yml` could not be read (include the parser error) and that no hooks were checked, including any mandatory (`optional: false`) hooks registered there, then continue to the Completion Report.
7777
- Filter out hooks where `enabled` is explicitly `false`. Treat hooks without an `enabled` field as enabled by default.
7878
- For each remaining hook, do **not** attempt to interpret or evaluate hook `condition` expressions:
7979
- If the hook has no `condition` field, or it is null/empty, treat the hook as executable

.agents/skills/speckit-specify/SKILL.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@ You **MUST** consider the user input before proceeding (if not empty).
2121
**Check for extension hooks (before specification)**:
2222
- Check if `.specify/extensions.yml` exists in the project root.
2323
- If it exists, read it and look for entries under the `hooks.before_specify` key
24-
- If the YAML cannot be parsed or is invalid, skip hook checking silently and continue normally
24+
- If the YAML cannot be parsed or is invalid, do not skip silently: tell the user that `.specify/extensions.yml` could not be read (include the parser error) and that no hooks were checked, including any mandatory (`optional: false`) hooks registered there, then continue normally
2525
- Filter out hooks where `enabled` is explicitly `false`. Treat hooks without an `enabled` field as enabled by default.
2626
- For each remaining hook, do **not** attempt to interpret or evaluate hook `condition` expressions:
2727
- If the hook has no `condition` field, or it is null/empty, treat the hook as executable
@@ -239,7 +239,7 @@ Given that feature description, do this:
239239
Check if `.specify/extensions.yml` exists in the project root.
240240
- If it does not exist, or no hooks are registered under `hooks.after_specify`, skip to the Completion Report.
241241
- If it exists, read it and look for entries under the `hooks.after_specify` key.
242-
- If the YAML cannot be parsed or is invalid, skip hook checking silently and continue to the Completion Report.
242+
- If the YAML cannot be parsed or is invalid, do not skip silently: tell the user that `.specify/extensions.yml` could not be read (include the parser error) and that no hooks were checked, including any mandatory (`optional: false`) hooks registered there, then continue to the Completion Report.
243243
- Filter out hooks where `enabled` is explicitly `false`. Treat hooks without an `enabled` field as enabled by default.
244244
- For each remaining hook, do **not** attempt to interpret or evaluate hook `condition` expressions:
245245
- If the hook has no `condition` field, or it is null/empty, treat the hook as executable

.agents/skills/speckit-tasks/SKILL.md

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@ You **MUST** consider the user input before proceeding (if not empty).
2121
**Check for extension hooks (before tasks generation)**:
2222
- Check if `.specify/extensions.yml` exists in the project root.
2323
- If it exists, read it and look for entries under the `hooks.before_tasks` key
24-
- If the YAML cannot be parsed or is invalid, skip hook checking silently and continue normally
24+
- If the YAML cannot be parsed or is invalid, do not skip silently: tell the user that `.specify/extensions.yml` could not be read (include the parser error) and that no hooks were checked, including any mandatory (`optional: false`) hooks registered there, then continue normally
2525
- Filter out hooks where `enabled` is explicitly `false`. Treat hooks without an `enabled` field as enabled by default.
2626
- For each remaining hook, do **not** attempt to interpret or evaluate hook `condition` expressions:
2727
- If the hook has no `condition` field, or it is null/empty, treat the hook as executable
@@ -93,7 +93,7 @@ You **MUST** consider the user input before proceeding (if not empty).
9393
Check if `.specify/extensions.yml` exists in the project root.
9494
- If it does not exist, or no hooks are registered under `hooks.after_tasks`, skip to the Completion Report.
9595
- If it exists, read it and look for entries under the `hooks.after_tasks` key.
96-
- If the YAML cannot be parsed or is invalid, skip hook checking silently and continue to the Completion Report.
96+
- If the YAML cannot be parsed or is invalid, do not skip silently: tell the user that `.specify/extensions.yml` could not be read (include the parser error) and that no hooks were checked, including any mandatory (`optional: false`) hooks registered there, then continue to the Completion Report.
9797
- Filter out hooks where `enabled` is explicitly `false`. Treat hooks without an `enabled` field as enabled by default.
9898
- For each remaining hook, do **not** attempt to interpret or evaluate hook `condition` expressions:
9999
- If the hook has no `condition` field, or it is null/empty, treat the hook as executable
@@ -192,6 +192,7 @@ Every task MUST strictly follow this format:
192192
- Map each entity to the user story(ies) that need it
193193
- If entity serves multiple stories: Put in earliest story or Setup phase
194194
- Relationships → service layer tasks in appropriate story phase
195+
- For each field with constraints in data-model.md (max length, nullable/required, enum values, validation rules), quote the constraint verbatim in the task description so it is not left to implementation-time discretion
195196

196197
4. **From Setup/Infrastructure**:
197198
- Shared infrastructure → Setup phase (Phase 1)

0 commit comments

Comments
 (0)