Azure-Samples / Azure-Samples/Spec2Cloud
[FEATURE] Add Claude Code as a supported agent surface (.claude-plugin manifests)
- Dominant language
- JavaScript
- Stars
- 31
- Forks
- 12
- PR merge metrics
- No merged PRs in 30d
Description
## Feature Description
Make the Spec2Cloud `lean` and `speckit` plugins installable in **Claude Code** (Anthropic's agent CLI), alongside the existing GitHub Copilot support — without changing or duplicating the skill content.
---
## Problem Statement
Today the plugins are surfaced only through the GitHub Copilot plugin marketplace (`copilot plugin marketplace add Azure-Samples/Spec2Cloud`) and APM. The skill content itself (the `SKILL.md` files with `name`/`description` frontmatter under each plugin's `skills/` directory) is already in the portable format that Claude Code reads natively. The only thing preventing Claude Code users from installing the toolkit is the **manifest location**: Claude Code discovers plugins via `.claude-plugin/marketplace.json` (repo root) and `.claude-plugin/plugin.json` (per plugin), whereas this repo places them under `.github/plugin/` (the Copilot convention).
---
## Proposed Solution
Additive only — leave the Copilot path (`.github/plugin/...`) completely untouched:
1. Add `/.claude-plugin/marketplace.json` at the repo root, porting the existing `.github/plugin/marketplace.json` so users can run `/plugin marketplace add Azure-Samples/Spec2Cloud` in Claude Code.
2. Add `.claude-plugin/plugin.json` to each plugin (`plugins/lean-spec2cloud/`, `plugins/speckit-spec2cloud/`), mirroring the existing `.github/plugin/plugin.json`.
3. Add a "Use with Claude Code" section to the README documenting the install commands.
The existing `skills/` directories are discovered automatically by Claude Code, so no skill files need to change.
### Possible follow-ups (out of scope for the first PR)
- A `package-*-claude-plugin` skill mirroring the existing `package-speckit-spec2cloud-plugin` skill, so the Claude manifests stay generated/in-sync with source.
- Neutralizing the few Copilot-only content references (`/fleet` usage in the README, also emitting `CLAUDE.md` next to `.github/copilot-instructions.md`).
---
## Alternative Solutions
- **Local-only binding** (drop skills into `~/.claude/skills/`): works for individuals but isn't shareable/installable, so it doesn't serve the catalog's distribution goal.
- **Separate repo for Claude manifests**: fragments the source of truth; keeping one repo with per-target manifests matches the existing pattern (Copilot + VS Code + APM already coexist here).
---
## Use Cases
- A developer who uses Claude Code wants the same Azure spec → plan → implement → verify → deploy loop without switching to Copilot.
- A team standardizing on Claude Code can `/plugin marketplace add Azure-Samples/Spec2Cloud` and get the `lean`/`speckit` skills, identical to the Copilot experience.
---
## Benefits
- Broader reach: one toolkit, multiple agent harnesses (Copilot, VS Code, APM, and now Claude Code).
- Zero duplication: same `SKILL.md` source serves all targets.
- Low risk: purely additive; no change to existing Copilot/VS Code behavior.
---
## Additional Context
Happy to implement this. Opening per CONTRIBUTING.md ("submit an issue with a proposal for your work first") — a PR with items 1–3 will follow shortly, scoped small and additive.
Contributor guide
Research direction
Compare .github/plugin/marketplace.json and each existing .github/plugin/plugin.json with the Claude Code manifest requirements. Add .claude-plugin/marketplace.json, per-plugin .claude-plugin/plugin.json files, and the README installation section without changing Copilot files. Verify the manifests reference the existing plugins and that the documented marketplace commands match the new layout.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- github, javascript
- Domain
- cli, documentation, tooling
- Issue type
- Feature
- Difficulty
- 2/5
- Estimated time
- 1-3 hours
- Activity status
- Quiet
- Clarity
- Clearly specified
- Newbie friendliness
- 78/100