-
Notifications
You must be signed in to change notification settings - Fork 1k
Add Amp workflow support (using Agent Skills) #420
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: main
Are you sure you want to change the base?
Conversation
Add AmpSlashCommandConfigurator that generates Amp-native skill files
at .agents/skills/openspec-{proposal,apply,archive}/SKILL.md with YAML
frontmatter containing name and description fields.
- Register Amp in the native tool picker for init and update commands
- Include comprehensive test coverage for init and update scenarios
- Mark all add-amp-support tasks as complete
Amp-Thread-ID: https://ampcode.com/threads/T-019b6a90-6107-755b-8087-942d9b5460ac
Fix semantic mismatch with diverse tool terminology (skills, prompts, commands). Old names kept as deprecated aliases for compatibility. Amp-Thread-ID: https://ampcode.com/threads/T-019b6a90-6107-755b-8087-942d9b5460ac
📝 WalkthroughWalkthroughThis PR adds Amp native-tool support to OpenSpec by introducing an AmpSlashCommandConfigurator class that generates Amp-specific skill files during CLI initialization and refresh, alongside planning documentation for a refactoring to rename configurator classes from SlashCommand* to Workflow* for improved semantic accuracy. Changes
Estimated code review effort🎯 3 (Moderate) | ⏱️ ~25 minutes Possibly related PRs
Suggested reviewers
Poem
Pre-merge checks and finishing touches❌ Failed checks (1 warning)
✅ Passed checks (2 passed)
✨ Finishing touches
🧪 Generate unit tests (beta)
📜 Recent review detailsConfiguration used: Path: .coderabbit.yaml Review profile: CHILL Plan: Pro 📒 Files selected for processing (14)
🧰 Additional context used📓 Path-based instructions (4)openspec/changes/**/*.md📄 CodeRabbit inference engine (openspec/AGENTS.md)
Files:
openspec/changes/*/tasks.md📄 CodeRabbit inference engine (openspec/AGENTS.md)
Files:
openspec/changes/**/specs/**/spec.md📄 CodeRabbit inference engine (openspec/AGENTS.md)
Files:
openspec/changes/*/proposal.md📄 CodeRabbit inference engine (openspec/AGENTS.md)
Files:
🧠 Learnings (13)📓 Common learnings📚 Learning: 2025-11-25T01:08:19.004ZApplied to files:
📚 Learning: 2025-11-25T01:08:19.004ZApplied to files:
📚 Learning: 2025-11-25T01:08:19.004ZApplied to files:
📚 Learning: 2025-11-25T01:08:02.839ZApplied to files:
📚 Learning: 2025-11-25T01:08:19.004ZApplied to files:
📚 Learning: 2025-11-25T01:08:19.004ZApplied to files:
📚 Learning: 2025-11-25T01:08:19.004ZApplied to files:
📚 Learning: 2025-11-25T01:08:19.004ZApplied to files:
📚 Learning: 2025-11-25T01:08:19.004ZApplied to files:
📚 Learning: 2025-11-25T01:08:02.839ZApplied to files:
📚 Learning: 2025-11-25T01:08:19.004ZApplied to files:
📚 Learning: 2025-11-17T12:07:21.701ZApplied to files:
🧬 Code graph analysis (5)src/core/templates/index.ts (1)
src/core/templates/skill-templates.ts (1)
test/core/init.test.ts (1)
src/core/configurators/slash/amp.ts (2)
src/core/configurators/slash/registry.ts (1)
🪛 LanguageToolopenspec/changes/refactor-workflow-configurator-naming/specs/cli-init/spec.md[uncategorized] ~32-~32: The official name of this software platform is spelled with a capital “H”. (GITHUB) [uncategorized] ~32-~32: The official name of this software platform is spelled with a capital “H”. (GITHUB) 🔇 Additional comments (17)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
Review CompleteYour review story is ready! Comment !reviewfast on this PR to re-generate the story. |
|
@jeanduplessis Interesting, I would have thought the equivalent in AMP was the custom commands. But this is a pattern I'm seeing where some coding agents allow you to invoke skills directly vs others it's still on a more "conversational" trigger basis. Claude Code also recently seems to have some internal instructions mapping slash commands to skills. (Can't remember the exact details) Where it gets even trickier is when a coding agent supports both skills and slash commands... I think the approach here is right in the sense we should be opinionated on how best to integrate OpenSpec with whatever Coding Agent (AMP in this case). I just need to figure out how to deal with the awkwardness thats emerging. Instead of having a SlashCommand Generator (configurator/slash/*.ts)I think we'll need to instead have some sort of tool specific generator i.e. I'll have to get back to you on this PR as I need to think through things a bit more. (There's also some changes in progress that might make this out of date very fast). |
|
@TabishB yeah, it seems like the agent harness authors are preferring skills as a more comprehensive solution to custom/slash commands. Invoking the skill via a slash command or not essentially becomes a UX choice. I'll wait to see what you come up with (re in progress changes, etc.) and adapt as needed. |
Summary
Adds Amp as a natively supported tool in OpenSpec. When selected during openspec init, generates Amp skill files at .agents/skills/openspec-{proposal,apply,archive}/SKILL.md with YAML frontmatter and OpenSpec-managed body content.
Key additions:
Design note
Amp uses "skills" (.agents/skills/) rather than slash commands (refer to https://ampcode.com/manual?internal#migrating-custom-commands-to-skills), which deviates from the existing SlashCommandConfigurator naming convention. The base class name is a historical artifact—different tools use different terminology (skills, prompts, workflows, commands).
This PR includes a proposal (openspec/changes/refactor-workflow-configurator-naming/) (5ff0c92) to rename SlashCommandConfigurator → WorkflowConfigurator in a follow-up PR, which will better reflect the tool-agnostic nature of these configurators.
Test plan
openspec update correctly refreshes existing Amp skill files without creating missing ones
Summary by CodeRabbit
Release Notes
✏️ Tip: You can customize this high-level summary in your review settings.