From 2b92ab444debbbd2e81d4faafc95fb0304d3e687 Mon Sep 17 00:00:00 2001 From: Zaheer Uddin Date: Tue, 3 Mar 2026 13:52:02 +0000 Subject: [PATCH] fix(checklist): clarify file handling behavior for append vs create (#1556) * fix(checklist): clarify file handling behavior for append vs create Resolves contradictory instructions in checklist.md lines 97-99 where the template stated both 'append to existing file' and 'creates a NEW file'. Changes: - Clarified that if file doesn't exist, create new with CHK001 - If file exists, append new items continuing from last CHK ID - Emphasized preservation of existing content (never delete/replace) Co-authored-by: Augment Agent * fix(checklist): align report language with append behavior --------- Co-authored-by: Augment Agent --- templates/commands/checklist.md | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/templates/commands/checklist.md b/templates/commands/checklist.md index e32a2c84..a79131a2 100644 --- a/templates/commands/checklist.md +++ b/templates/commands/checklist.md @@ -94,9 +94,10 @@ You **MUST** consider the user input before proceeding (if not empty). - Generate unique checklist filename: - Use short, descriptive name based on domain (e.g., `ux.md`, `api.md`, `security.md`) - Format: `[domain].md` - - If file exists, append to existing file - - Number items sequentially starting from CHK001 - - Each `/speckit.checklist` run creates a NEW file (never overwrites existing checklists) + - File handling behavior: + - If file does NOT exist: Create new file and number items starting from CHK001 + - If file exists: Append new items to existing file, continuing from the last CHK ID (e.g., if last item is CHK015, start new items at CHK016) + - Never delete or replace existing checklist content - always preserve and append **CORE PRINCIPLE - Test the Requirements, Not the Implementation**: Every checklist item MUST evaluate the REQUIREMENTS THEMSELVES for: @@ -208,13 +209,13 @@ You **MUST** consider the user input before proceeding (if not empty). 6. **Structure Reference**: Generate the checklist following the canonical template in `templates/checklist-template.md` for title, meta section, category headings, and ID formatting. If template is unavailable, use: H1 title, purpose/created meta lines, `##` category sections containing `- [ ] CHK### ` lines with globally incrementing IDs starting at CHK001. -7. **Report**: Output full path to created checklist, item count, and remind user that each run creates a new file. Summarize: +7. **Report**: Output full path to checklist file, item count, and summarize whether the run created a new file or appended to an existing one. Summarize: - Focus areas selected - Depth level - Actor/timing - Any explicit user-specified must-have items incorporated -**Important**: Each `/speckit.checklist` command invocation creates a checklist file using short, descriptive names unless file already exists. This allows: +**Important**: Each `/speckit.checklist` command invocation uses a short, descriptive checklist filename and either creates a new file or appends to an existing one. This allows: - Multiple checklists of different types (e.g., `ux.md`, `test.md`, `security.md`) - Simple, memorable filenames that indicate checklist purpose