From dbd1437aeaa08a2a54239c4d46feaaef58f2c234 Mon Sep 17 00:00:00 2001 From: "den (work)" <53200638+localden@users.noreply.github.com> Date: Tue, 21 Oct 2025 13:17:48 -0700 Subject: [PATCH] Let's switch to proper prompts --- .github/workflows/scripts/create-release-packages.sh | 6 +++--- AGENTS.md | 9 ++++++--- scripts/bash/update-agent-context.sh | 2 +- scripts/powershell/update-agent-context.ps1 | 2 +- templates/commands/analyze.md | 1 + templates/commands/checklist.md | 1 + templates/commands/clarify.md | 1 + templates/commands/constitution.md | 1 + templates/commands/implement.md | 1 + templates/commands/plan.md | 1 + templates/commands/specify.md | 1 + templates/commands/tasks.md | 3 ++- 12 files changed, 20 insertions(+), 9 deletions(-) diff --git a/.github/workflows/scripts/create-release-packages.sh b/.github/workflows/scripts/create-release-packages.sh index 25e42ae0..5462a14f 100644 --- a/.github/workflows/scripts/create-release-packages.sh +++ b/.github/workflows/scripts/create-release-packages.sh @@ -95,7 +95,7 @@ generate_commands() { { echo "description = \"$description\""; echo; echo "prompt = \"\"\""; echo "$body"; echo "\"\"\""; } > "$output_dir/speckit.$name.$ext" ;; md) echo "$body" > "$output_dir/speckit.$name.$ext" ;; - chatmode.md) + prompt.md) echo "$body" > "$output_dir/speckit.$name.$ext" ;; esac done @@ -146,8 +146,8 @@ build_variant() { generate_commands gemini toml "{{args}}" "$base_dir/.gemini/commands" "$script" [[ -f agent_templates/gemini/GEMINI.md ]] && cp agent_templates/gemini/GEMINI.md "$base_dir/GEMINI.md" ;; copilot) - mkdir -p "$base_dir/.github/chatmodes" - generate_commands copilot chatmode.md "\$ARGUMENTS" "$base_dir/.github/chatmodes" "$script" + mkdir -p "$base_dir/.github/prompts" + generate_commands copilot prompt.md "\$ARGUMENTS" "$base_dir/.github/prompts" "$script" # Create VS Code workspace settings mkdir -p "$base_dir/.vscode" [[ -f templates/vscode-settings.json ]] && cp templates/vscode-settings.json "$base_dir/.vscode/settings.json" diff --git a/AGENTS.md b/AGENTS.md index b8f29097..23906556 100644 --- a/AGENTS.md +++ b/AGENTS.md @@ -33,7 +33,7 @@ Specify supports multiple AI agents by generating agent-specific command files a |-------|-----------|---------|----------|-------------| | **Claude Code** | `.claude/commands/` | Markdown | `claude` | Anthropic's Claude Code CLI | | **Gemini CLI** | `.gemini/commands/` | TOML | `gemini` | Google's Gemini CLI | -| **GitHub Copilot** | `.github/chatmodes/` | Markdown | N/A (IDE-based) | GitHub Copilot in VS Code | +| **GitHub Copilot** | `.github/prompts/` | Markdown | N/A (IDE-based) | GitHub Copilot in VS Code | | **Cursor** | `.cursor/commands/` | Markdown | `cursor-agent` | Cursor CLI | | **Qwen Code** | `.qwen/commands/` | TOML | `qwen` | Alibaba's Qwen Code CLI | | **opencode** | `.opencode/command/` | Markdown | `opencode` | opencode CLI | @@ -318,7 +318,10 @@ Command content with {SCRIPT} and $ARGUMENTS placeholders. **GitHub Copilot Chat Mode format:** ```markdown -# Command Name +--- +description: "Command description" +mode: speckit.command-name +--- Command content with {SCRIPT} and $ARGUMENTS placeholders. ``` @@ -338,7 +341,7 @@ Command content with {SCRIPT} and {{args}} placeholders. - **CLI agents**: Usually `./commands/` - **IDE agents**: Follow IDE-specific patterns: - - Copilot: `.github/chatmodes/` + - Copilot: `.github/prompts/` - Cursor: `.cursor/commands/` - Windsurf: `.windsurf/workflows/` diff --git a/scripts/bash/update-agent-context.sh b/scripts/bash/update-agent-context.sh index 0957fdb1..becbded2 100644 --- a/scripts/bash/update-agent-context.sh +++ b/scripts/bash/update-agent-context.sh @@ -61,7 +61,7 @@ AGENT_TYPE="${1:-}" # Agent-specific file paths CLAUDE_FILE="$REPO_ROOT/CLAUDE.md" GEMINI_FILE="$REPO_ROOT/GEMINI.md" -COPILOT_FILE="$REPO_ROOT/.github/chatmodes/copilot-instructions.md" +COPILOT_FILE="$REPO_ROOT/.github/prompts/copilot-instructions.md" CURSOR_FILE="$REPO_ROOT/.cursor/rules/specify-rules.mdc" QWEN_FILE="$REPO_ROOT/QWEN.md" AGENTS_FILE="$REPO_ROOT/AGENTS.md" diff --git a/scripts/powershell/update-agent-context.ps1 b/scripts/powershell/update-agent-context.ps1 index 9898c524..db30c3b7 100644 --- a/scripts/powershell/update-agent-context.ps1 +++ b/scripts/powershell/update-agent-context.ps1 @@ -46,7 +46,7 @@ $NEW_PLAN = $IMPL_PLAN # Agent file paths $CLAUDE_FILE = Join-Path $REPO_ROOT 'CLAUDE.md' $GEMINI_FILE = Join-Path $REPO_ROOT 'GEMINI.md' -$COPILOT_FILE = Join-Path $REPO_ROOT '.github/chatmodes/copilot-instructions.md' +$COPILOT_FILE = Join-Path $REPO_ROOT '.github/prompts/copilot-instructions.md' $CURSOR_FILE = Join-Path $REPO_ROOT '.cursor/rules/specify-rules.mdc' $QWEN_FILE = Join-Path $REPO_ROOT 'QWEN.md' $AGENTS_FILE = Join-Path $REPO_ROOT 'AGENTS.md' diff --git a/templates/commands/analyze.md b/templates/commands/analyze.md index 4c298676..0f484605 100644 --- a/templates/commands/analyze.md +++ b/templates/commands/analyze.md @@ -1,5 +1,6 @@ --- description: Perform a non-destructive cross-artifact consistency and quality analysis across spec.md, plan.md, and tasks.md after task generation. +mode: speckit.analyze scripts: sh: scripts/bash/check-prerequisites.sh --json --require-tasks --include-tasks ps: scripts/powershell/check-prerequisites.ps1 -Json -RequireTasks -IncludeTasks diff --git a/templates/commands/checklist.md b/templates/commands/checklist.md index 0900e33a..9e6383aa 100644 --- a/templates/commands/checklist.md +++ b/templates/commands/checklist.md @@ -1,5 +1,6 @@ --- description: Generate a custom checklist for the current feature based on user requirements. +mode: speckit.checklist scripts: sh: scripts/bash/check-prerequisites.sh --json ps: scripts/powershell/check-prerequisites.ps1 -Json diff --git a/templates/commands/clarify.md b/templates/commands/clarify.md index 65f2536f..4093d0c7 100644 --- a/templates/commands/clarify.md +++ b/templates/commands/clarify.md @@ -1,5 +1,6 @@ --- 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. +mode: speckit.clarify scripts: sh: scripts/bash/check-prerequisites.sh --json --paths-only ps: scripts/powershell/check-prerequisites.ps1 -Json -PathsOnly diff --git a/templates/commands/constitution.md b/templates/commands/constitution.md index d3bd158e..e0050f06 100644 --- a/templates/commands/constitution.md +++ b/templates/commands/constitution.md @@ -1,5 +1,6 @@ --- description: Create or update the project constitution from interactive or provided principle inputs, ensuring all dependent templates stay in sync. +mode: speckit.constitution handoffs: - label: Build Specification agent: speckit.specify diff --git a/templates/commands/implement.md b/templates/commands/implement.md index c6ddc672..9102d515 100644 --- a/templates/commands/implement.md +++ b/templates/commands/implement.md @@ -1,5 +1,6 @@ --- description: Execute the implementation plan by processing and executing all tasks defined in tasks.md +mode: speckit.implement scripts: sh: scripts/bash/check-prerequisites.sh --json --require-tasks --include-tasks ps: scripts/powershell/check-prerequisites.ps1 -Json -RequireTasks -IncludeTasks diff --git a/templates/commands/plan.md b/templates/commands/plan.md index 06b4a6fc..cff93a74 100644 --- a/templates/commands/plan.md +++ b/templates/commands/plan.md @@ -1,5 +1,6 @@ --- description: Execute the implementation planning workflow using the plan template to generate design artifacts. +mode: speckit.plan handoffs: - label: Create Tasks agent: speckit.tasks diff --git a/templates/commands/specify.md b/templates/commands/specify.md index a7ae5dd4..c5eea64c 100644 --- a/templates/commands/specify.md +++ b/templates/commands/specify.md @@ -1,5 +1,6 @@ --- description: Create or update the feature specification from a natural language feature description. +mode: speckit.specify handoffs: - label: Build Technical Plan agent: speckit.plan diff --git a/templates/commands/tasks.md b/templates/commands/tasks.md index c3179e3f..4674e7e0 100644 --- a/templates/commands/tasks.md +++ b/templates/commands/tasks.md @@ -1,9 +1,10 @@ --- description: Generate an actionable, dependency-ordered tasks.md for the feature based on available design artifacts. +mode: speckit.tasks handoffs: - label: Analyze For Consistency agent: speckit.analyze - prompt: Start the implementation in phases + prompt: Run a project analysis for consistency send: true - label: Implement Project agent: speckit.implement