Azure-Samples / Azure-Samples/Spec2Cloud

[FEATURE] Add Claude Code as a supported agent surface (.claude-plugin manifests)

Open Beginner friendly
#12 0 comments 0 reactions 0 assignees View on GitHub
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

Open the contributing 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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.