Add support for multiple slash command identifiers#8943
Conversation
- Update JSON schema to allow array of command names in slash_command.name field - Change Command field from string to []string in WorkflowData - Update extractCommandConfig to handle string or array of command names - Modify check_command_position.cjs to check multiple commands and output matched command - Add slash_command output to activation job containing the matched command name - Update all references to data.Command throughout the codebase - Update speckit-dispatcher workflow to support all speckit commands except execute Co-authored-by: pelikhan <4175913+pelikhan@users.noreply.github.com>
…tion - Fix Command field assignment from empty string to nil - Update buildEventAwareCommandCondition to accept []string instead of string - Support checking multiple commands with OR logic - Build succeeds and speckit-dispatcher compiles correctly with all commands Co-authored-by: pelikhan <4175913+pelikhan@users.noreply.github.com>
- Update test structs to use []string for Command field - Fix command comparisons in tests to check array length and values - All unit tests now pass - Recompiled all workflows successfully Co-authored-by: pelikhan <4175913+pelikhan@users.noreply.github.com>
| const command = process.env.GH_AW_COMMAND; | ||
| const commandsJSON = process.env.GH_AW_COMMANDS; | ||
| // Legacy support for single command | ||
| const legacyCommand = process.env.GH_AW_COMMAND; |
There was a problem hiding this comment.
@copilot remove legacy support, the compiler always generates GH_AW_COMMANDS
There was a problem hiding this comment.
Removed legacy GH_AW_COMMAND support in commit b7be9e9. The script now only uses GH_AW_COMMANDS which the compiler always generates.
The compiler always generates GH_AW_COMMANDS, so legacy support for GH_AW_COMMAND is no longer needed. Co-authored-by: pelikhan <4175913+pelikhan@users.noreply.github.com>
|
🎉 Yo ho ho! Smoke Copilot Safe Inputs found the treasure and completed successfully! ⚓💰 |
|
🤖 DIAGNOSTIC COMPLETE: Smoke Copilot No Firewall STATUS: ALL_UNITS_OPERATIONAL. MISSION_SUCCESS. |
|
🌑 The shadows whisper... Smoke Codex failed. The oracle requires further meditation... |
|
✅ Firewall validation complete... Smoke Codex Firewall confirmed network sandboxing is operational. 🛡️ |
|
🎉 Yo ho ho! Changeset Generator found the treasure and completed successfully! ⚓💰 |
|
📰 VERDICT: Smoke Copilot has concluded. All systems operational. This is a developing story. 🎤 |
|
📰 DEVELOPING STORY: Smoke Copilot Playwright reports failed. Our correspondents are investigating the incident... |
|
💫 TO BE CONTINUED... Smoke Claude failed! Our hero faces unexpected challenges... |
Smoke Test Results✅ File Writing: Created test file successfully Status: FAIL (missing safeinputs-gh tool)
|
Smoke Test Results for Copilot EngineLast 2 merged PRs:
Test Results:
Overall Status: ✅ PASS cc @pelikhan
|
|
Latest merged PRs:
|
|
✅ Smoke Test Results (Copilot Engine - No Firewall) All tests passed successfully:
|
…puts Updated documentation to reflect two new features merged on 2026-01-04: 1. Multiple slash command identifiers (#8943): - Documented array syntax for slash_command.name - Added needs.activation.outputs.slash_command output variable - Provided examples for command aliases and grouped handlers 2. Go language support in safe-inputs (#8941): - Added go: as fourth scripting option - Documented Go-specific syntax and standard library - Provided calculation and API call examples 🤖 Generated with [gh-aw](https://github.com/githubnext/gh-aw) Co-Authored-By: Daily Documentation Updater <noreply@github.com>
Add Multiple Slash Command Support ✅
Summary
Successfully implemented full support for multiple identifiers in the
on.slash_command.namefield. Workflows can now be triggered by multiple slash command names, and the matched command is available asneeds.activation.outputs.slash_command.Completed Work
slash_command.nameextractCommandConfig()to handle both single string and array of stringsslash_commandoutput to activation job containing the matched commandKey Changes
1. Schema Updates
slash_command.nameand deprecatedcommand.namenow accept string or array of stringsname: ["cmd.add", "cmd.remove"]2. Command Matching
check_command_position.cjschecks all commands with OR logic3. Activation Output
slash_commandoutput contains the matched command identifierneeds.activation.outputs.slash_commandin workflow content4. Speckit Dispatcher Update
/${{ needs.activation.outputs.slash_command }}Example Usage
Testing
Original prompt
✨ Let Copilot coding agent set things up for you — coding agent works faster and does higher quality work when set up for your repo.
Changeset
on.slash_command.name, exposed the matched command asneeds.activation.outputs.slash_command, and updatedspeckit.dispatcherto support additional speckit commands.