Repository navigation
feat(init): add Amp skills support - #420
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
|
Navigate logical layers of code changes, visualize relationships, and explore their blast radius. No actionable comments were generated in the recent review. 🎉 ℹ️ Recent review info⚙️ Run configurationConfiguration used: Repository: Fission-AI/OpenSpec/.coderabbit.yaml Review profile: CHILL Plan: Advanced Run ID: 📒 Files selected for processing (10)
🚧 Files skipped from review as they are similar to previous changes (2)
Included review availability: This review used your included allowance. Your plan provides up to 10 included reviews per hour; 2 remain after this review. 📝 WalkthroughWalkthroughAmp is added as a skills-only tool that uses ChangesAmp skills support
Priority: ⬇️ Low Estimated code review effort: 2 (Simple) | ~10 minutes Change: Feature Sequence Diagram(s)sequenceDiagram
participant InitCommand
participant AI_TOOLS
participant ProjectFiles
participant CLIOutput
InitCommand->>AI_TOOLS: Resolve Amp tool configuration
InitCommand->>ProjectFiles: Write skills under .agents/skills/ and the amp target marker
InitCommand->>CLIOutput: Report that command generation was skipped
Merge Risk: ⚪ Minimal · up to Amp support adds skills under the shared Security Architecture ReviewSecurity architecture risk: 🔵 Low · up to Amp support can cause unattended setup to write shared agent skills when an Amp directory is detected. Existing ownership controls limit the impact, but an unmarked shared tree may still be changed without an explicit tool selection. Retained concerns
Security review detailsSecurity Blast Radius
Security Findings and Attack Paths
Trust Boundaries and Controls
Resilience and Maintainability Implications
Hardening Proposals
🚥 Pre-merge checks | ✅ 4 | ❌ 1❌ Failed checks (1 warning)
✅ Passed checks (4 passed)
Full details: Docstring CoverageExplanation Docstring coverage is 0.00% which is insufficient. The required threshold is 80.00%. Docstring coverage is scoped to functions touched by this diff. Analyzed 2 functions across 5 files. (6 skipped: 6 unsupported.)
✨ Finishing Touches🧪 Generate unit tests (beta)
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. |
|
It would be great to have Amp supported as an agent. Until now, I was using the AGENT.md flow, but after updating to the latest version, it disappeared. |
# Conflicts: # src/core/config.ts # src/core/configurators/slash/registry.ts # src/core/templates/index.ts # src/core/templates/skill-templates.ts # test/core/init.test.ts # test/core/update.test.ts
alfred-openspec
left a comment
There was a problem hiding this comment.
Amp project skills and workspace detection match the current vendor documentation. Shared-root ownership, skills-only generation, update behavior, release tracking, and CI are covered. The docs-lab change still requires final review from @TabishB.
Status
LGTM. Ready for human review; all GitHub CI and security checks pass on the refreshed branch.
What was missing / the motivation
Amp reads project Agent Skills from
.agents/skills/, but OpenSpec did not list Amp in the init picker or accept--tools amp. The universalagentstarget worked only for users who already knew Amp's discovery path.What it does
ampid..agents/skills/generator and ownership marker instead of maintaining Amp-specific workflow templates..amp/and refreshes Amp-owned skill trees duringopenspec update.Proof it works
openspec validate add-amp-support --strict: passed.eslint src/: passed.node build.js: passed.The full local suite reached unrelated environment-sensitive failures: this machine has a user-level MiniMax skill install that changes subprocess delivery behavior, and its terminal reports
TERM=dumb, which suppresses two completion-tip assertions. The clean GitHub runners pass the full suite on Linux, macOS, and Windows.Notes / nits
.agents/skills/for project skills andSKILL.mdfiles withnameanddescriptionfrontmatter.