Skip to content

Conversation

@jeanduplessis
Copy link

@jeanduplessis jeanduplessis commented Dec 29, 2025

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:

  • AmpSlashCommandConfigurator extending the base configurator for Amp-specific skill format
  • New skill-templates.ts with improved template format optimized for AI agents (execution checklists, examples, reference commands)
  • Registration in init/update tool picker alongside other AI tools
  • Comprehensive test coverage for init and update scenarios

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

  • Build passes
  • All 664 tests pass including new Amp-specific tests
  • Local testing confirms skill files are generated correctly with proper YAML frontmatter and OpenSpec markers
    openspec update correctly refreshes existing Amp skill files without creating missing ones

Summary by CodeRabbit

Release Notes

  • New Features
    • Added Amp as a selectable AI tool during project initialization.
    • Amp integration automatically generates skill files for proposal, apply, and archive workflows in the .agents/skills/ directory.
    • The update command now refreshes existing Amp skill files while preserving configuration.

✏️ Tip: You can customize this high-level summary in your review settings.

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
@coderabbitai
Copy link
Contributor

coderabbitai bot commented Dec 29, 2025

📝 Walkthrough

Walkthrough

This 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

Cohort / File(s) Summary
Amp Configuration & Core
src/core/config.ts, src/core/configurators/slash/amp.ts, src/core/configurators/slash/registry.ts
Adds Amp to AI_TOOLS; introduces AmpSlashCommandConfigurator extending SlashCommandConfigurator with FILE_PATHS mapping to .agents/skills/openspec-*/SKILL.md; registers configurator in slash registry.
Amp Templates & Accessors
src/core/templates/skill-templates.ts, src/core/templates/index.ts
New skill-templates.ts defines SkillId, SkillMetadata, and getSkillBody/getSkillMetadata accessors; TemplateManager exposes these via public methods for proposal/apply/archive skill content retrieval.
Amp Test Coverage
test/core/init.test.ts, test/core/update.test.ts
Init test validates creation of three Amp SKILL.md files with YAML frontmatter and markers; update tests verify refresh of existing skills while preserving frontmatter and preventing creation of missing files.
Amp & Refactor Documentation
openspec/changes/add-amp-support/*, openspec/changes/refactor-workflow-configurator-naming/*
Proposes Amp init/update behavior, defines specs for skill file generation, and outlines planned refactoring from SlashCommand* to Workflow* naming (proposals, specs, and task checklists).

Estimated code review effort

🎯 3 (Moderate) | ⏱️ ~25 minutes

Possibly related PRs

Suggested reviewers

  • TabishB

Poem

🐰 Hop-hop, the Amp tool joins the fold,
With SKILL.md files, precious as gold,
Frontmatter gleams, markers aligned,
Init refreshes, no file left behind,
Workflow renaming awaits on the morrow!

Pre-merge checks and finishing touches

❌ Failed checks (1 warning)
Check name Status Explanation Resolution
Docstring Coverage ⚠️ Warning Docstring coverage is 0.00% which is insufficient. The required threshold is 80.00%. You can run @coderabbitai generate docstrings to improve docstring coverage.
✅ Passed checks (2 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title clearly and specifically describes the main change: adding Amp workflow support using Agent Skills, which is directly reflected in the changeset (AmpSlashCommandConfigurator, skill files, and Amp registration).
✨ Finishing touches
  • 📝 Generate docstrings
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Post copyable unit tests in a comment

📜 Recent review details

Configuration used: Path: .coderabbit.yaml

Review profile: CHILL

Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between fb7ff52 and 5ff0c92.

📒 Files selected for processing (14)
  • openspec/changes/add-amp-support/proposal.md
  • openspec/changes/add-amp-support/specs/cli-init/spec.md
  • openspec/changes/add-amp-support/specs/cli-update/spec.md
  • openspec/changes/add-amp-support/tasks.md
  • openspec/changes/refactor-workflow-configurator-naming/proposal.md
  • openspec/changes/refactor-workflow-configurator-naming/specs/cli-init/spec.md
  • openspec/changes/refactor-workflow-configurator-naming/tasks.md
  • src/core/config.ts
  • src/core/configurators/slash/amp.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
🧰 Additional context used
📓 Path-based instructions (4)
openspec/changes/**/*.md

📄 CodeRabbit inference engine (openspec/AGENTS.md)

Scaffold proposal using proposal.md, tasks.md, optional design.md, and delta specs under openspec/changes/<id>/

Files:

  • openspec/changes/refactor-workflow-configurator-naming/tasks.md
  • openspec/changes/add-amp-support/specs/cli-update/spec.md
  • openspec/changes/add-amp-support/specs/cli-init/spec.md
  • openspec/changes/add-amp-support/tasks.md
  • openspec/changes/add-amp-support/proposal.md
  • openspec/changes/refactor-workflow-configurator-naming/specs/cli-init/spec.md
  • openspec/changes/refactor-workflow-configurator-naming/proposal.md
openspec/changes/*/tasks.md

📄 CodeRabbit inference engine (openspec/AGENTS.md)

Ensure tasks.md contains implementation checklist with numbered sections and checkbox items

Files:

  • openspec/changes/refactor-workflow-configurator-naming/tasks.md
  • openspec/changes/add-amp-support/tasks.md
openspec/changes/**/specs/**/spec.md

📄 CodeRabbit inference engine (openspec/AGENTS.md)

openspec/changes/**/specs/**/spec.md: Use ## ADDED|MODIFIED|REMOVED|RENAMED Requirements headers in spec delta files
Include at least one #### Scenario: per requirement in spec delta files
Use #### Scenario: Name format (4 hashtags) for scenario headers, not bullets or bold text
Use ## ADDED Requirements for new orthogonal capabilities that can stand alone; use ## MODIFIED Requirements for behavior changes of existing requirements
When using MODIFIED Requirements, paste the full requirement block including header and all scenarios

Files:

  • openspec/changes/add-amp-support/specs/cli-update/spec.md
  • openspec/changes/add-amp-support/specs/cli-init/spec.md
  • openspec/changes/refactor-workflow-configurator-naming/specs/cli-init/spec.md
openspec/changes/*/proposal.md

📄 CodeRabbit inference engine (openspec/AGENTS.md)

Ensure proposal.md includes sections: Why (1-2 sentences), What Changes (bullet list with breaking change markers), and Impact (affected specs and code)

Files:

  • openspec/changes/add-amp-support/proposal.md
  • openspec/changes/refactor-workflow-configurator-naming/proposal.md
🧠 Learnings (13)
📓 Common learnings
Learnt from: CR
Repo: Fission-AI/OpenSpec PR: 0
File: AGENTS.md:0-0
Timestamp: 2025-11-25T01:08:02.839Z
Learning: Use `@/openspec/AGENTS.md` to learn how to create and apply change proposals, spec format and conventions, and project structure and guidelines
Learnt from: CR
Repo: Fission-AI/OpenSpec PR: 0
File: AGENTS.md:0-0
Timestamp: 2025-11-25T01:08:02.839Z
Learning: Always open `@/openspec/AGENTS.md` when the request mentions planning or proposals (words like proposal, spec, change, plan), introduces new capabilities, breaking changes, architecture shifts, or performance/security work, or sounds ambiguous and needs the authoritative spec before coding
Learnt from: CR
Repo: Fission-AI/OpenSpec PR: 0
File: openspec/AGENTS.md:0-0
Timestamp: 2025-11-25T01:08:19.004Z
Learning: Applies to openspec/changes/**/*.md : Scaffold proposal using `proposal.md`, `tasks.md`, optional `design.md`, and delta specs under `openspec/changes/<id>/`
📚 Learning: 2025-11-25T01:08:19.004Z
Learnt from: CR
Repo: Fission-AI/OpenSpec PR: 0
File: openspec/AGENTS.md:0-0
Timestamp: 2025-11-25T01:08:19.004Z
Learning: Applies to openspec/changes/*/tasks.md : Ensure `tasks.md` contains implementation checklist with numbered sections and checkbox items

Applied to files:

  • openspec/changes/refactor-workflow-configurator-naming/tasks.md
  • openspec/changes/add-amp-support/tasks.md
📚 Learning: 2025-11-25T01:08:19.004Z
Learnt from: CR
Repo: Fission-AI/OpenSpec PR: 0
File: openspec/AGENTS.md:0-0
Timestamp: 2025-11-25T01:08:19.004Z
Learning: Applies to openspec/changes/**/specs/**/spec.md : Use `## ADDED Requirements` for new orthogonal capabilities that can stand alone; use `## MODIFIED Requirements` for behavior changes of existing requirements

Applied to files:

  • openspec/changes/add-amp-support/specs/cli-update/spec.md
  • openspec/changes/add-amp-support/specs/cli-init/spec.md
  • openspec/changes/refactor-workflow-configurator-naming/specs/cli-init/spec.md
📚 Learning: 2025-11-25T01:08:19.004Z
Learnt from: CR
Repo: Fission-AI/OpenSpec PR: 0
File: openspec/AGENTS.md:0-0
Timestamp: 2025-11-25T01:08:19.004Z
Learning: Applies to openspec/changes/**/specs/**/spec.md : Use `## ADDED|MODIFIED|REMOVED|RENAMED Requirements` headers in spec delta files

Applied to files:

  • openspec/changes/add-amp-support/specs/cli-update/spec.md
  • openspec/changes/add-amp-support/specs/cli-init/spec.md
  • openspec/changes/refactor-workflow-configurator-naming/specs/cli-init/spec.md
📚 Learning: 2025-11-25T01:08:02.839Z
Learnt from: CR
Repo: Fission-AI/OpenSpec PR: 0
File: AGENTS.md:0-0
Timestamp: 2025-11-25T01:08:02.839Z
Learning: Use `@/openspec/AGENTS.md` to learn how to create and apply change proposals, spec format and conventions, and project structure and guidelines

Applied to files:

  • openspec/changes/add-amp-support/specs/cli-update/spec.md
  • openspec/changes/add-amp-support/specs/cli-init/spec.md
  • openspec/changes/add-amp-support/tasks.md
  • src/core/templates/skill-templates.ts
  • openspec/changes/add-amp-support/proposal.md
  • openspec/changes/refactor-workflow-configurator-naming/specs/cli-init/spec.md
📚 Learning: 2025-11-25T01:08:19.004Z
Learnt from: CR
Repo: Fission-AI/OpenSpec PR: 0
File: openspec/AGENTS.md:0-0
Timestamp: 2025-11-25T01:08:19.004Z
Learning: Applies to openspec/changes/**/specs/**/spec.md : When using MODIFIED Requirements, paste the full requirement block including header and all scenarios

Applied to files:

  • openspec/changes/add-amp-support/specs/cli-update/spec.md
  • openspec/changes/add-amp-support/specs/cli-init/spec.md
  • openspec/changes/refactor-workflow-configurator-naming/specs/cli-init/spec.md
📚 Learning: 2025-11-25T01:08:19.004Z
Learnt from: CR
Repo: Fission-AI/OpenSpec PR: 0
File: openspec/AGENTS.md:0-0
Timestamp: 2025-11-25T01:08:19.004Z
Learning: Applies to openspec/changes/*/proposal.md : Ensure `proposal.md` includes sections: Why (1-2 sentences), What Changes (bullet list with breaking change markers), and Impact (affected specs and code)

Applied to files:

  • openspec/changes/add-amp-support/specs/cli-update/spec.md
  • openspec/changes/add-amp-support/specs/cli-init/spec.md
  • openspec/changes/add-amp-support/tasks.md
  • src/core/templates/skill-templates.ts
  • openspec/changes/add-amp-support/proposal.md
  • openspec/changes/refactor-workflow-configurator-naming/specs/cli-init/spec.md
📚 Learning: 2025-11-25T01:08:19.004Z
Learnt from: CR
Repo: Fission-AI/OpenSpec PR: 0
File: openspec/AGENTS.md:0-0
Timestamp: 2025-11-25T01:08:19.004Z
Learning: Use `openspec archive <change-id> --skip-specs --yes` for tooling-only changes

Applied to files:

  • openspec/changes/add-amp-support/specs/cli-update/spec.md
  • openspec/changes/add-amp-support/proposal.md
📚 Learning: 2025-11-25T01:08:19.004Z
Learnt from: CR
Repo: Fission-AI/OpenSpec PR: 0
File: openspec/AGENTS.md:0-0
Timestamp: 2025-11-25T01:08:19.004Z
Learning: Applies to openspec/changes/**/specs/**/spec.md : Include at least one `#### Scenario:` per requirement in spec delta files

Applied to files:

  • openspec/changes/add-amp-support/specs/cli-update/spec.md
  • openspec/changes/add-amp-support/specs/cli-init/spec.md
  • openspec/changes/refactor-workflow-configurator-naming/specs/cli-init/spec.md
📚 Learning: 2025-11-25T01:08:19.004Z
Learnt from: CR
Repo: Fission-AI/OpenSpec PR: 0
File: openspec/AGENTS.md:0-0
Timestamp: 2025-11-25T01:08:19.004Z
Learning: Applies to openspec/changes/**/*.md : Scaffold proposal using `proposal.md`, `tasks.md`, optional `design.md`, and delta specs under `openspec/changes/<id>/`

Applied to files:

  • openspec/changes/add-amp-support/specs/cli-update/spec.md
  • openspec/changes/add-amp-support/specs/cli-init/spec.md
  • openspec/changes/add-amp-support/tasks.md
  • src/core/templates/skill-templates.ts
  • openspec/changes/add-amp-support/proposal.md
  • openspec/changes/refactor-workflow-configurator-naming/specs/cli-init/spec.md
📚 Learning: 2025-11-25T01:08:02.839Z
Learnt from: CR
Repo: Fission-AI/OpenSpec PR: 0
File: AGENTS.md:0-0
Timestamp: 2025-11-25T01:08:02.839Z
Learning: Always open `@/openspec/AGENTS.md` when the request mentions planning or proposals (words like proposal, spec, change, plan), introduces new capabilities, breaking changes, architecture shifts, or performance/security work, or sounds ambiguous and needs the authoritative spec before coding

Applied to files:

  • openspec/changes/add-amp-support/specs/cli-update/spec.md
  • openspec/changes/add-amp-support/specs/cli-init/spec.md
  • openspec/changes/add-amp-support/tasks.md
  • src/core/templates/skill-templates.ts
  • openspec/changes/add-amp-support/proposal.md
  • openspec/changes/refactor-workflow-configurator-naming/specs/cli-init/spec.md
📚 Learning: 2025-11-25T01:08:19.004Z
Learnt from: CR
Repo: Fission-AI/OpenSpec PR: 0
File: openspec/AGENTS.md:0-0
Timestamp: 2025-11-25T01:08:19.004Z
Learning: Applies to openspec/specs/**/spec.md : Use SHALL/MUST for normative requirements in spec files; avoid should/may unless intentionally non-normative

Applied to files:

  • openspec/changes/add-amp-support/specs/cli-update/spec.md
📚 Learning: 2025-11-17T12:07:21.701Z
Learnt from: ydai-hub
Repo: Fission-AI/OpenSpec PR: 268
File: src/core/configurators/iflow.ts:14-21
Timestamp: 2025-11-17T12:07:21.701Z
Learning: In the OpenSpec repository, `TemplateManager.getClaudeTemplate()` returns a generic template that works for iFlow and other CLI tools, not just Claude-specific content. It's acceptable to use this template across different tool configurators.

Applied to files:

  • openspec/changes/refactor-workflow-configurator-naming/specs/cli-init/spec.md
🧬 Code graph analysis (5)
src/core/templates/index.ts (1)
src/core/templates/skill-templates.ts (4)
  • SkillId (1-1)
  • getSkillBody (191-193)
  • SkillMetadata (3-6)
  • getSkillMetadata (195-197)
src/core/templates/skill-templates.ts (1)
src/core/templates/index.ts (4)
  • SkillId (60-60)
  • SkillMetadata (60-60)
  • getSkillBody (49-51)
  • getSkillMetadata (53-55)
test/core/init.test.ts (1)
src/utils/file-system.ts (1)
  • fileExists (84-94)
src/core/configurators/slash/amp.ts (2)
src/core/templates/index.ts (4)
  • SlashCommandId (59-59)
  • getSkillMetadata (53-55)
  • SkillId (60-60)
  • getSkillBody (49-51)
src/core/templates/skill-templates.ts (3)
  • getSkillMetadata (195-197)
  • SkillId (1-1)
  • getSkillBody (191-193)
src/core/configurators/slash/registry.ts (1)
src/core/configurators/slash/amp.ts (1)
  • AmpSlashCommandConfigurator (23-39)
🪛 LanguageTool
openspec/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”.
Context: ...during initialization - THEN create .github/prompts/openspec-proposal.prompt.md, `...

(GITHUB)


[uncategorized] ~32-~32: The official name of this software platform is spelled with a capital “H”.
Context: ...b/prompts/openspec-proposal.prompt.md, .github/prompts/openspec-apply.prompt.md`, and ...

(GITHUB)

🔇 Additional comments (17)
openspec/changes/add-amp-support/proposal.md (1)

1-11: LGTM! Proposal follows the required structure.

The proposal correctly includes all required sections per coding guidelines: Why (concise motivation), What Changes (clear bullet list of additions), and Impact (affected specs and code). The scope is well-defined for adding Amp as a new native tool option.

openspec/changes/add-amp-support/tasks.md (1)

1-13: LGTM! Tasks follow the required checklist format.

The tasks.md correctly uses numbered sections with checkbox items as per coding guidelines. All tasks are marked complete, which aligns with the PR summary indicating successful testing and verification.

openspec/changes/refactor-workflow-configurator-naming/tasks.md (1)

1-30: LGTM! Follow-up refactoring proposal is well-structured.

This tasks document correctly follows the required format with numbered sections and checkbox items. All checkboxes are appropriately unchecked since this represents future work (as noted in the PR objectives: "A follow-up proposal is included to rename SlashCommandConfigurator → WorkflowConfigurator").

src/core/configurators/slash/registry.ts (3)

22-22: LGTM! Amp configurator import follows the established pattern.

The import is consistent with other tool configurators in the registry.


48-48: LGTM! Amp configurator instantiation follows the established pattern.

The instantiation in the static block is consistent with other tool configurators (lines 28-47).


70-70: LGTM! Amp configurator registration follows the established pattern.

The registration in the configurators map is consistent with other tool configurators (lines 50-69).

src/core/config.ts (1)

21-21: LGTM! Amp tool option is correctly configured.

The Amp entry follows the established format with all required fields (name, value, available, successLabel) and is correctly positioned in alphabetical order between Amazon Q Developer and Antigravity.

openspec/changes/add-amp-support/specs/cli-update/spec.md (1)

1-8: LGTM! Spec delta follows the required format.

The spec correctly uses "## MODIFIED Requirements" for extending existing behavior and includes a properly formatted scenario with 4 hashtags (#### Scenario:). The WHEN/THEN/AND structure clearly specifies the expected update behavior for Amp skill files.

openspec/changes/add-amp-support/specs/cli-init/spec.md (1)

1-9: LGTM! Spec delta follows the required format.

The spec correctly uses "## MODIFIED Requirements" to extend existing slash command configuration behavior. The scenario is properly formatted with 4 hashtags and clearly describes the YAML frontmatter and managed marker requirements for Amp skill files.

test/core/init.test.ts (1)

260-320: LGTM! Comprehensive test coverage for Amp skill generation.

The test follows the established pattern used for other workflow-based tools (Windsurf, Antigravity) and validates all critical aspects:

  • Correct file paths under .agents/skills/openspec-*/SKILL.md
  • YAML frontmatter with name and description fields
  • OPENSPEC markers (START/END)
  • Expected content structure (section titles)
  • Proper ordering (frontmatter before markers)

The test implementation is thorough and consistent with the project's testing approach.

test/core/update.test.ts (2)

498-538: LGTM! Comprehensive test coverage for Amp skill refresh.

The test correctly verifies all key behaviors:

  • Frontmatter preservation (name, description)
  • Content update between OpenSpec markers
  • Marker integrity after update
  • Proper ordering (frontmatter before markers)
  • Console logging output

The test follows the established pattern used for other tool configurators.


540-574: LGTM! Proper verification that update doesn't create missing files.

The test correctly ensures that the update command only refreshes existing Amp skill files and does not create missing ones (proposal and archive), which aligns with the expected update-only behavior.

src/core/configurators/slash/amp.ts (1)

1-39: LGTM! Clean and well-documented Amp configurator implementation.

The implementation correctly:

  • Extends the base SlashCommandConfigurator pattern
  • Maps workflow IDs to Amp-specific skill file paths
  • Generates YAML frontmatter from skill metadata
  • Returns properly formatted skill bodies

The inline documentation (lines 5-15) effectively explains the terminology mismatch and provides context for why this extends SlashCommandConfigurator despite generating "skills" rather than "slash commands."

src/core/templates/skill-templates.ts (1)

1-197: LGTM! Well-structured skill templates optimized for AI agents.

The templates provide comprehensive guidance with:

  • Clear execution checklists for progress tracking
  • Guardrails to constrain agent behavior
  • Practical examples demonstrating workflows
  • Reference commands table for common operations
  • Detailed metadata descriptions with activation triggers

The verbose metadata descriptions (lines 176-177, 181-182, 186-187) appear intentional for Amp's skill discovery mechanism, helping AI agents understand when to activate each skill.

The template structure aligns well with OpenSpec's proposal/apply/archive workflow pattern and provides the right balance of structure and flexibility for agent execution.

openspec/changes/refactor-workflow-configurator-naming/proposal.md (1)

1-26: LGTM! Well-structured proposal following OpenSpec conventions.

The proposal correctly includes all required sections:

  • Why: Clear rationale explaining the semantic mismatch (lines 1-9)
  • What Changes: Comprehensive bullet list of renames and compatibility strategy (lines 11-21)
  • Impact: Identifies affected specs and code with breaking change assessment (lines 23-26)

The proposal clearly articulates the naming issue and provides a sensible solution with backward compatibility through type aliases.

Based on learnings, this follows the expected proposal format.

src/core/templates/index.ts (1)

8-8: LGTM! Clean integration of skill template APIs.

The changes correctly:

  • Import skill template functions and types (line 8)
  • Add delegating static methods on TemplateManager (lines 49-55)
  • Export public types for external consumers (line 60)

The integration follows the established pattern used for slash command templates and maintains API consistency.

Also applies to: 49-55, 60-60

openspec/changes/refactor-workflow-configurator-naming/specs/cli-init/spec.md (1)

1-44: LGTM! Spec delta follows OpenSpec conventions.

The spec correctly:

  • Uses ## MODIFIED Requirements header for behavior changes
  • Includes the full requirement block with all scenarios
  • Uses #### Scenario: format (4 hashtags) as required
  • Provides clear acceptance criteria with WHEN/THEN/AND structure

The Amp scenario (lines 14-20) properly specifies:

  • Skill file paths under .agents/skills/
  • YAML frontmatter requirements
  • OpenSpec marker wrapping for update support
  • Template stage alignment

Based on coding guidelines, this follows the expected spec delta format.


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.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

@vibe-kanban-cloud
Copy link

Review Complete

Your review story is ready!

View Story

Comment !reviewfast on this PR to re-generate the story.

@TabishB
Copy link
Contributor

TabishB commented Dec 30, 2025

@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. AMPConfigurator that sets it up in an Amp appropriate way.

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).

@jeanduplessis
Copy link
Author

@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.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants