{"id":50276782,"url":"https://github.com/saadmsft/ghcp-plugins-unofficial","last_synced_at":"2026-05-27T21:02:03.122Z","repository":{"id":359362898,"uuid":"1245721451","full_name":"saadmsft/ghcp-plugins-unofficial","owner":"saadmsft","description":"Unofficial GitHub Copilot (VS Code) port of anthropics/claude-plugins-official — 21 plugins as prompts, agents, and skills","archived":false,"fork":false,"pushed_at":"2026-05-21T14:21:28.000Z","size":569,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2026-05-21T22:58:29.255Z","etag":null,"topics":["ai-agents","anthropic","claude-code","copilot-chat","github-copilot","plugins","vscode"],"latest_commit_sha":null,"homepage":null,"language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/saadmsft.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2026-05-21T13:45:51.000Z","updated_at":"2026-05-21T14:27:09.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/saadmsft/ghcp-plugins-unofficial","commit_stats":null,"previous_names":["saadmsft/ghcp-plugins-official"],"tags_count":1,"template":false,"template_full_name":null,"purl":"pkg:github/saadmsft/ghcp-plugins-unofficial","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/saadmsft%2Fghcp-plugins-unofficial","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/saadmsft%2Fghcp-plugins-unofficial/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/saadmsft%2Fghcp-plugins-unofficial/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/saadmsft%2Fghcp-plugins-unofficial/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/saadmsft","download_url":"https://codeload.github.com/saadmsft/ghcp-plugins-unofficial/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/saadmsft%2Fghcp-plugins-unofficial/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":33583399,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-26T15:22:16.424Z","status":"online","status_checked_at":"2026-05-27T02:00:06.184Z","response_time":53,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["ai-agents","anthropic","claude-code","copilot-chat","github-copilot","plugins","vscode"],"created_at":"2026-05-27T21:02:01.760Z","updated_at":"2026-05-27T21:02:03.108Z","avatar_url":"https://github.com/saadmsft.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003cdiv align=\"center\"\u003e\n\n\u003cbr/\u003e\n\n\u003cimg alt=\"ghcp-plugins-unofficial\" src=\"https://raw.githubusercontent.com/saadmsft/ghcp-plugins-unofficial/main/assets/banner.svg\" width=\"100%\"/\u003e\n\n\u003cbr/\u003e\n\n### _A constellation of Claude Code plugins, reborn for GitHub Copilot Chat in VS Code._\n\n[![License: MIT](https://img.shields.io/badge/Tooling-MIT-22c55e?style=for-the-badge\u0026logo=opensourceinitiative\u0026logoColor=white)](LICENSE)\n[![Content: Apache 2.0](https://img.shields.io/badge/Content-Apache_2.0-3b82f6?style=for-the-badge\u0026logo=apache\u0026logoColor=white)](https://www.apache.org/licenses/LICENSE-2.0)\n[![Plugins](https://img.shields.io/badge/Plugins-21-f59e0b?style=for-the-badge\u0026logo=githubcopilot\u0026logoColor=white)](#-the-pantheon)\n[![Artifacts](https://img.shields.io/badge/Artifacts-69-a855f7?style=for-the-badge)](#-the-pantheon)\n[![VS Code](https://img.shields.io/badge/VS_Code-007ACC?style=for-the-badge\u0026logo=visualstudiocode\u0026logoColor=white)](https://code.visualstudio.com/)\n[![Unofficial](https://img.shields.io/badge/Unofficial-fork-ef4444?style=for-the-badge)](https://github.com/anthropics/claude-plugins-official)\n\n\u003cp\u003e\n  \u003cem\u003eOne repo. One \u003ccode\u003e./install.sh\u003c/code\u003e. Twenty-one specialist agents in your sidebar.\u003c/em\u003e\u003cbr/\u003e\n  \u003csub\u003eNot affiliated with Anthropic or GitHub. Upstream content © Anthropic \u0026 contributors (Apache 2.0).\u003c/sub\u003e\n\u003c/p\u003e\n\n\u003ca href=\"#-quick-start\"\u003e\u003cimg alt=\"Quick Start\" src=\"https://img.shields.io/badge/▶_Quick_Start-1e293b?style=for-the-badge\"\u003e\u003c/a\u003e\n\u003ca href=\"#-the-pantheon\"\u003e\u003cimg alt=\"Plugins\" src=\"https://img.shields.io/badge/🎭_Plugins-1e293b?style=for-the-badge\"\u003e\u003c/a\u003e\n\u003ca href=\"docs/INSTALL.md\"\u003e\u003cimg alt=\"Docs\" src=\"https://img.shields.io/badge/📚_Docs-1e293b?style=for-the-badge\"\u003e\u003c/a\u003e\n\u003ca href=\"#-architecture\"\u003e\u003cimg alt=\"Architecture\" src=\"https://img.shields.io/badge/🏛️_Architecture-1e293b?style=for-the-badge\"\u003e\u003c/a\u003e\n\n\u003c/div\u003e\n\n---\n\n## 🌌 Why this exists\n\n[Claude Code plugins](https://code.claude.com/docs/en/plugins) bundle **slash commands · sub-agents · skills · MCP servers · hooks** into a single installable package. GitHub Copilot Chat in VS Code has the same building blocks — **prompts, agents, skills, MCP** — but speaks a *different on-disk dialect* and YAML frontmatter. So a Claude plugin can't drop in verbatim.\n\nThis repo is the **Rosetta stone** between the two ecosystems:\n\n```mermaid\nflowchart LR\n    A[📦 anthropics/\u003cbr/\u003eclaude-plugins-official] --\u003e|git clone --depth 1| B[🛰️ repo/\u003cbr/\u003e\u003ci\u003egitignored mirror\u003c/i\u003e]\n    B --\u003e|build-fork.py\u003cbr/\u003e\u003ci\u003edeterministic port\u003c/i\u003e| C[✨ ghcp-plugins-unofficial/\u003cbr/\u003eplugins/]\n    C --\u003e|./install.sh| D[💻 VS Code\u003cbr/\u003e~/Library/.../prompts/]\n    C --\u003e|./install.sh| E[🧠 ~/.copilot/skills/]\n    D --\u003e F[(GitHub Copilot Chat\u003cbr/\u003eprompts · agents · skills)]\n    E --\u003e F\n    style A fill:#1e293b,stroke:#f59e0b,color:#f1f5f9\n    style C fill:#1e293b,stroke:#a855f7,color:#f1f5f9\n    style F fill:#1e293b,stroke:#22c55e,color:#f1f5f9\n```\n\n\u003e [!TIP]\n\u003e Install once, reload VS Code, and 21 specialist personas live in your `/` slash menu and `@` agent picker. Each is renamed `claude-\u003cplugin\u003e-…` so they never collide with your own customizations.\n\n---\n\n## ⚡ Quick start\n\n```bash\ngit clone https://github.com/saadmsft/ghcp-plugins-unofficial.git\ncd ghcp-plugins-unofficial\n\n./install.sh --list                     # 👀 see the roster\n./install.sh --dry-run code-review      # 🔍 preview a single install\n./install.sh code-review feature-dev    # 🎯 install two\n./install.sh                            # 🌊 install ALL 21\n```\n\nThen in VS Code:\n\n| | |\n|---|---|\n| ⌨️ | \u003ckbd\u003e⌘\u003c/kbd\u003e+\u003ckbd\u003e⇧\u003c/kbd\u003e+\u003ckbd\u003eP\u003c/kbd\u003e → **Developer: Reload Window** |\n| `/` | Type a slash in Copilot Chat — `/claude-…` prompts appear |\n| `@` | Mention an agent — `@Claude: feature-dev — code-architect` |\n| 🧠 | Ask anything — skills auto-trigger by description |\n\n\u003e [!NOTE]\n\u003e Need a step-by-step? → **[docs/INSTALL.md](docs/INSTALL.md)** has macOS / Linux / Windows recipes, verification commands, and an MCP-merge walkthrough.\n\n---\n\n## 🗺️ What lands where\n\n```\n┌─────────────────────────────────────────────────────────────────────────┐\n│  plugins/\u003cP\u003e/prompts/*.prompt.md   →   ~/Library/.../Code/User/prompts/ │  →  /claude-\u003cP\u003e-\u003ccmd\u003e\n│  plugins/\u003cP\u003e/agents/*.agent.md     →   ~/Library/.../Code/User/prompts/ │  →  @Claude: \u003cP\u003e — \u003cagent\u003e\n│  plugins/\u003cP\u003e/skills/\u003cS\u003e/...        →   ~/.copilot/skills/\u003cS\u003e/           │  →  auto-trigger by description\n│  plugins/\u003cP\u003e/mcp.json              →   ⛔ manual merge (your call)      │  →  MCP tools in Copilot\n└─────────────────────────────────────────────────────────────────────────┘\n```\n\n🍎 macOS path shown. Linux/WSL substitutes `${XDG_CONFIG_HOME:-$HOME/.config}/Code/User/`. Windows is documented in **[docs/INSTALL.md](docs/INSTALL.md#windows)**.\n\n---\n\n## 🎭 The Pantheon\n\n\u003e **21 plugins · 26 prompts · 21 agents · 22 skills · 1 MCP placeholder**\n\nEach row is one plugin — its emoji is its calling card, its **codename** is your shortcut to remembering what it does, and the counts show what landed in your VS Code profile after `./install.sh`.\n\n| | Plugin | Codename | 💬 | 🤖 | 🧠 | 🔌 | Purpose |\n|---|---|---|---:|---:|---:|:---:|---|\n| 🛠️ | [`agent-sdk-dev`](plugins/agent-sdk-dev/) | **Hephaestus** | 1 | 2 | – | – | Verifies Anthropic Agent SDK apps (TS + Python) |\n| 🚀 | [`claude-code-setup`](plugins/claude-code-setup/) | **Genesis** | – | – | 1 | – | Onboarding skill — Claude Code first principles |\n| 📝 | [`claude-md-management`](plugins/claude-md-management/) | **Scribe** | 1 | – | 1 | – | Manage `CLAUDE.md` / `AGENTS.md` / `copilot-instructions.md` |\n| 🏛️ | [`code-modernization`](plugins/code-modernization/) | **Argonauts** | 7 | 5 | – | – | Legacy → modern pipeline: analyst · test-engineer · architecture-critic · security-auditor · business-rules-extractor |\n| 🔍 | [`code-review`](plugins/code-review/) | **The Tribunal** | 1 | – | – | – | Multi-agent PR review with confidence scoring |\n| ✂️ | [`code-simplifier`](plugins/code-simplifier/) | **Occam** | – | 1 | – | – | Refactor for clarity — preserves behavior |\n| 🌿 | [`commit-commands`](plugins/commit-commands/) | **Hermes** | 3 | – | – | – | Conventional commits, autocommit, PR helpers |\n| 🛠️ | [`cwc-makers`](plugins/cwc-makers/) | **The Makers** | 1 | – | 2 | – | \"Code with Claude\" maker workflows |\n| 🎒 | [`example-plugin`](plugins/example-plugin/) | **Hello-World** | 1 | – | 2 | ✓ | Reference plugin (MCP is placeholder) |\n| 🌱 | [`feature-dev`](plugins/feature-dev/) | **The Trinity** | 1 | 3 | – | – | spec → code-explorer → code-architect → code-reviewer loop |\n| 🎨 | [`frontend-design`](plugins/frontend-design/) | **Aesthete** | – | – | 1 | – | Design-system / UI conventions skill |\n| 🪝 | [`hookify`](plugins/hookify/) | **The Watcher** | 4 | 1 | 1 | – | Conversation-analyzer + helpers _(hooks themselves not ported)_ |\n| ➗ | [`math-olympiad`](plugins/math-olympiad/) | **Euclid** | – | – | 1 | – | Competition-math problem-solving |\n| 🔌 | [`mcp-server-dev`](plugins/mcp-server-dev/) | **The Forge** | – | – | 3 | – | Build · test · host MCP servers |\n| 🌉 | [`mcp-tunnels`](plugins/mcp-tunnels/) | **Iris** | 1 | – | – | – | Expose local MCP servers via tunnels |\n| 🎪 | [`playground`](plugins/playground/) | **Sandbox** | – | – | 1 | – | Scratch / experimentation skill |\n| 🧩 | [`plugin-dev`](plugins/plugin-dev/) | **Daedalus** | 1 | 3 | 7 | – | Author plugins: skill-reviewer · plugin-validator · agent-creator |\n| 🦅 | [`pr-review-toolkit`](plugins/pr-review-toolkit/) | **The Six** | 1 | 6 | – | – | Six specialist reviewers: silent-failure-hunter · type-design-analyzer · comment-analyzer · pr-test-analyzer · code-reviewer · code-simplifier |\n| 🔁 | [`ralph-loop`](plugins/ralph-loop/) | **Sisyphus** | 3 | – | – | – | \"Run until done\" iteration pattern |\n| 📒 | [`session-report`](plugins/session-report/) | **Chronicle** | – | – | 1 | – | Generate session / standup reports |\n| 🧪 | [`skill-creator`](plugins/skill-creator/) | **Athena** | – | – | 1 | – | Iteratively author + evaluate skills (485-line meta-skill) |\n\n\u003cdetails\u003e\n\u003csummary\u003e👻 \u003cb\u003ePlugins intentionally NOT ported\u003c/b\u003e (and why) — click to expand\u003c/summary\u003e\n\n| Category | Count | Plugins | Why skipped |\n|---|---:|---|---|\n| **LSP wrappers** | 12 | `clangd-lsp`, `csharp-lsp`, `gopls-lsp`, `jdtls-lsp`, `kotlin-lsp`, `lua-lsp`, `php-lsp`, `pyright-lsp`, `ruby-lsp`, `rust-analyzer-lsp`, `swift-lsp`, `typescript-lsp` | VS Code already has first-class LSP integrations. The Claude-side plugin only exists to wire LSPs into Claude Code's edit-event loop. |\n| **Hook / output-style only** | 3 | `explanatory-output-style`, `learning-output-style`, `security-guidance` | GHCP has no analog for Claude Code `hooks/` (shell scripts on `PostToolUse`, `UserPromptSubmit`) or output-style customization. |\n| **Placeholders** | 1 | `example-plugin`'s `.mcp.json` → `https://mcp.example.com/api` | Staged but not auto-merged into your MCP config. |\n\nFull reasoning: **[docs/MAPPING.md › what-cannot-be-ported](docs/MAPPING.md#what-cannot-be-ported)**\n\n\u003c/details\u003e\n\n---\n\n## 🧭 Repo layout\n\n```\nghcp-plugins-unofficial/\n│\n├── 🚀  install.sh                  # the one button you came for\n├── 🧹  uninstall.sh                # reverse it surgically\n├── 🔄  sync-from-upstream.sh       # re-port from a fresh upstream clone\n├── 🗂️  marketplace.json            # machine-readable index of all 21\n│\n├── 📦  plugins/                    # 21 ported plugins, one folder each\n│   └── \u003cplugin-name\u003e/\n│       ├── plugin.json             # metadata + inventory\n│       ├── prompts/                # *.prompt.md  ── slash commands\n│       ├── agents/                 # *.agent.md   ── chat participants\n│       ├── skills/\u003cname\u003e/          # SKILL.md + bundled resources\n│       ├── mcp.json                # MCP server defs (if applicable)\n│       ├── README.md               # per-plugin docs + install snippet\n│       └── LICENSE                 # Apache 2.0, preserved from upstream\n│\n├── 📚  docs/\n│   ├── GHCP-PRIMER.md              # 🆕 New to Copilot customization? Start here.\n│   ├── MAPPING.md                  # 🔀 Claude → GHCP feature translation\n│   ├── INSTALL.md                  # 💿 Detailed install / verify / per-OS\n│   ├── TROUBLESHOOTING.md          # 🩺 Symptom → cause → fix\n│   ├── ARCHITECTURE.md             # 🏛️ How build-fork.py works\n│   └── PORTING.md                  # 🛠️ Add a plugin · customize porter\n│\n├── README.md                       # ← you are here\n├── LICENSE                         # MIT for tooling\n├── CHANGELOG.md\n└── CONTRIBUTING.md\n```\n\n\u003e [!IMPORTANT]\n\u003e The porter (`build-fork.py`) lives **one directory up** at `../build-fork.py` — the fork's working tree stays clean of build tooling. Architectural rationale: **[docs/ARCHITECTURE.md](docs/ARCHITECTURE.md)**.\n\n---\n\n## 🎛️ Install / uninstall reference\n\n```bash\n./install.sh                              # 🌊 install ALL plugins\n./install.sh code-review                  # 🎯 install one\n./install.sh code-review feature-dev      # 🎯 install several\n./install.sh --list                       # 📜 print plugin names, one per line\n./install.sh --dry-run                    # 👀 show what would be copied (no writes)\n./install.sh --dry-run code-modernization # 👀 combine with selection\n./install.sh -h                           # ❓ built-in help\n\n./uninstall.sh                            # 🧹 remove ALL claude-* from your profile\n./uninstall.sh hookify                    # 🧹 remove just one\n```\n\n\u003e [!CAUTION]\n\u003e **Skills are removed-then-copied, not merged.** Any local edits inside `~/.copilot/skills/claude-…/` will be lost on re-install. Make changes in `plugins/\u003cP\u003e/skills/…` and re-run `./install.sh` instead.\n\n\u003e [!WARNING]\n\u003e **MCP servers are never auto-merged** into your user `mcp.json`. The porter stages them per-plugin so you can review and merge intentionally — see **[docs/INSTALL.md › MCP servers](docs/INSTALL.md#mcp-servers)**.\n\n---\n\n## 🔄 Staying in sync with upstream\n\n```bash\n./sync-from-upstream.sh    # 1️⃣ pulls latest anthropics/claude-plugins-official\n                           # 2️⃣ regenerates plugins/ deterministically\n                           # 3️⃣ leaves your tree dirty for review\ngit diff                   # 4️⃣ inspect what changed\ngit commit -am \"sync: $(date -u +%Y-%m-%d)\"\n```\n\nThe porter is **byte-deterministic** — running it twice on the same upstream commit produces identical output. `git diff` is a clean signal of what changed upstream this cycle. Details: **[docs/PORTING.md › Syncing](docs/PORTING.md#syncing)**.\n\n---\n\n## 🏛️ Architecture\n\n```mermaid\nflowchart TB\n    subgraph upstream[\"📦 anthropics/claude-plugins-official\"]\n      U1[plugin.json]\n      U2[commands/*.md]\n      U3[agents/*.md]\n      U4[skills/\u0026lt;n\u0026gt;/SKILL.md]\n      U5[.mcp.json]\n    end\n\n    subgraph porter[\"⚙️ build-fork.py · deterministic\"]\n      P1[parse_fm\u003cbr/\u003e\u003ci\u003eregex YAML\u003c/i\u003e]\n      P2[emit_prompt]\n      P3[emit_agent]\n      P4[emit_skill]\n      P5[prefix all\u003cbr/\u003eclaude-\u0026lt;plugin\u0026gt;-]\n    end\n\n    subgraph fork[\"✨ ghcp-plugins-unofficial/plugins/\u0026lt;P\u0026gt;/\"]\n      F1[plugin.json]\n      F2[prompts/*.prompt.md]\n      F3[agents/*.agent.md]\n      F4[skills/\u0026lt;n\u0026gt;/SKILL.md]\n      F5[mcp.json · staged]\n    end\n\n    U1 --\u003e P1\n    U2 --\u003e P2 --\u003e F2\n    U3 --\u003e P3 --\u003e F3\n    U4 --\u003e P4 --\u003e F4\n    U5 -.staged.-\u003e F5\n    P1 --\u003e F1\n    P5 -.applied to all.-\u003e fork\n\n    style upstream fill:#0c4a6e,stroke:#38bdf8,color:#f0f9ff\n    style porter fill:#3b0764,stroke:#a855f7,color:#faf5ff\n    style fork fill:#14532d,stroke:#22c55e,color:#f0fdf4\n```\n\n**Seven invariants** the porter must preserve (full list in **[docs/ARCHITECTURE.md](docs/ARCHITECTURE.md)**):\n\n1. 🔒 **Idempotent** — running twice on same input = identical output\n2. 🪶 **Lossless naming** — every artifact prefixed `claude-\u003cplugin\u003e-`, never collides\n3. 📜 **Apache-preserving** — per-plugin `LICENSE` always copied verbatim\n4. ⚪ **No-PyYAML** — regex-only frontmatter parser, zero runtime dependencies\n5. 🛡️ **No mutation of installed files** — `install.sh` only copies, never edits\n6. 🚫 **No silent MCP merge** — user opts in manually for every server\n7. 🎯 **Skippable explicitly** — LSP/hook-only plugins are filtered with reasons logged\n\n---\n\n## ⚠️ Caveats\n\n\u003e [!WARNING]\n\u003e 1. **🔧 Tool references don't translate.** Claude's `allowed-tools: Bash(gh pr view:*), Read, Grep` is stripped — GHCP's tool surface uses different names. Prompts that say \"use a Haiku agent\" or \"spawn a sub-agent with the Task tool\" become *guidance*, not literal sub-spawns. Prose-style prompts still work well.\n\u003e 2. **🪝 Hooks are dropped.** No GHCP analog for `hooks/` shell scripts.\n\u003e 3. **🎨 Output styles are dropped.** Same reason.\n\u003e 4. **🔌 MCP servers are staged, not auto-installed.** Manual merge gives you a chance to review.\n\u003e 5. **🧠 Skill triggers depend on description quality.** GHCP loads skills lazily by description match. A ported skill that never triggers usually needs description tuning — see **[TROUBLESHOOTING](docs/TROUBLESHOOTING.md#skill-never-auto-triggers)**.\n\u003e 6. **🏷️ The `claude-` prefix is hygiene, not branding.** It guarantees no collision and reliable uninstall — at the cost of mouthful slash-commands like `/claude-pr-review-toolkit-review-pr`. VS Code's incremental filter helps.\n\n---\n\n## 📚 More docs\n\n| 📄 Doc | 🎯 When to read it |\n|---|---|\n| [`docs/GHCP-PRIMER.md`](docs/GHCP-PRIMER.md)         | New to GHCP customization? Start here. |\n| [`docs/MAPPING.md`](docs/MAPPING.md)                 | \"What exactly does the porter do to a command vs an agent vs a skill?\" |\n| [`docs/INSTALL.md`](docs/INSTALL.md)                 | Detailed install + verification + per-OS notes + MCP-merge guide |\n| [`docs/TROUBLESHOOTING.md`](docs/TROUBLESHOOTING.md) | \"I installed it but Copilot doesn't see it\" |\n| [`docs/ARCHITECTURE.md`](docs/ARCHITECTURE.md)       | How `build-fork.py` is structured + invariants |\n| [`docs/PORTING.md`](docs/PORTING.md)                 | Add a new plugin · customize porter · contribute back |\n| [`CONTRIBUTING.md`](CONTRIBUTING.md)                 | Workflow for PRs |\n| [`CHANGELOG.md`](CHANGELOG.md)                       | What changed when |\n\n---\n\n## 💎 License \u0026 attribution\n\n\u003ctable\u003e\n\u003ctr\u003e\n\u003ctd width=\"50%\"\u003e\n\n### 📦 Plugin content (`plugins/`)\n**© Anthropic \u0026 contributors**\n[Apache License 2.0](https://github.com/anthropics/claude-plugins-official/blob/main/LICENSE)\n_Per-plugin `LICENSE` files preserved verbatim._\n\n\u003c/td\u003e\n\u003ctd width=\"50%\"\u003e\n\n### 🛠️ Porting scripts · tooling · docs\n**© 2026 Saad Mahmood**\n[MIT License](LICENSE)\n_The fork itself + `build-fork.py` + `install.sh`._\n\n\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/table\u003e\n\n\u003e [!NOTE]\n\u003e Issues with plugin **content** belong upstream at [anthropics/claude-plugins-official](https://github.com/anthropics/claude-plugins-official/issues).\n\u003e Issues with **porting** (plugin doesn't load, malformed YAML, install fails) belong [here](https://github.com/saadmsft/ghcp-plugins-unofficial/issues).\n\n---\n\n\u003cdiv align=\"center\"\u003e\n\n\u003cimg alt=\"footer\" src=\"https://raw.githubusercontent.com/saadmsft/ghcp-plugins-unofficial/main/assets/footer.svg\" width=\"100%\"/\u003e\n\n\u003csub\u003eIf this saved you an afternoon, ⭐ the repo. If it broke your morning, [open an issue](https://github.com/saadmsft/ghcp-plugins-unofficial/issues/new).\u003c/sub\u003e\n\n\u003c/div\u003e\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsaadmsft%2Fghcp-plugins-unofficial","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fsaadmsft%2Fghcp-plugins-unofficial","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsaadmsft%2Fghcp-plugins-unofficial/lists"}