{"id":"8a3bb2e6-c026-41dc-8da9-e1cb89f6d930","shortId":"stMXdw","kind":"skill","title":"plugins-management","tagline":"Create, publish, delete, and submit plugins for coding agents (Claude Code, OpenCode). Use when user wants to (1) create a new plugin with proper structure, (2) create or configure a plugin marketplace, (3) publish plugins to GitHub/GitLab/npm, (4) delete/uninstall plugins, (5) v","description":"# Plugins Manager\n\nManage plugins across coding agents: create, validate, publish, delete, and submit to official directories or npm.\n\n**Supported agents:**\n- **Claude Code**: `.claude-plugin/plugin.json`-based plugins, distributed via marketplaces\n- **OpenCode**: TypeScript/JavaScript plugins in `.opencode/plugins/` or npm packages listed in `opencode.json`\n\n**CRITICAL**: Before performing any deletion, uninstall, or removal operation, you MUST use the `AskUserQuestion` tool to confirm with the user. Never delete/uninstall plugins or remove marketplaces without explicit user confirmation.\n\n## Quick Reference\n\n| Task | Command/Script |\n|------|----------------|\n| Create plugin | `python scripts/init_plugin.py <name>` |\n| Create marketplace | `python scripts/init_marketplace.py <name>` |\n| Validate plugin | `python scripts/validate_plugin.py <path>` |\n| Validate marketplace | `claude plugin validate <path>` |\n| Prepare submission | `python scripts/prepare_submission.py <path> --email X --company-url Y` |\n| Install plugin | `/plugin install <name>@<marketplace>` |\n| Delete plugin | `/plugin uninstall <name>@<marketplace>` |\n| Test plugin (dev) | `claude --plugin-dir ./my-plugin` |\n| Reload after edits | `/reload-plugins` |\n| Cut release tag | `claude plugin tag --push` |\n| List installed | `claude plugin list [--json] [--available]` |\n| Update plugin | `claude plugin update <name>@<marketplace>` |\n\n## Workflows\n\n### 1. Create a New Plugin\n\n```bash\n# Basic plugin with commands\npython scripts/init_plugin.py my-plugin --path ./\n\n# Full plugin with all components\npython scripts/init_plugin.py my-plugin --path ./ --all\n\n# Specific components\npython scripts/init_plugin.py my-plugin --with-agents --with-skills\n```\n\n**Flags:**\n- `--with-commands` (default): Include commands directory\n- `--with-agents`: Include agents directory\n- `--with-skills`: Include skills directory\n- `--with-hooks`: Include hooks configuration\n- `--with-mcp`: Include MCP server configuration\n- `--all`: Include all components\n- `--author \"Name\"`: Set author name\n\n**After creation:**\n1. Edit `.claude-plugin/plugin.json` with plugin details\n2. Add commands to `commands/*.md` with YAML frontmatter\n3. Add agents to `agents/*.md` if needed\n4. Update `README.md` with documentation\n\n### 2. Create a Marketplace\n\n```bash\n# Empty marketplace\npython scripts/init_marketplace.py my-marketplace --path ./\n\n# With initial plugin\npython scripts/init_marketplace.py my-marketplace --with-plugin my-plugin\n```\n\n**After creation:**\n1. Edit `.claude-plugin/marketplace.json`\n2. Add plugins to `plugins/` directory\n3. Push to GitHub: `git push origin main`\n\n**Users install with:**\n```bash\n/plugin marketplace add username/my-marketplace\n```\n\n**Marketplace references:**\n- Required file: `.claude-plugin/marketplace.json`\n- Plugin entries must have `name` that matches each plugin's `plugin.json` name\n- Use relative paths in `source` (e.g., `./plugins/my-plugin`), not absolute paths\n- Use `${CLAUDE_PLUGIN_ROOT}` inside hooks and MCP configs referenced by marketplace plugins\n\n### 3. Validate a Plugin\n\n```bash\npython scripts/validate_plugin.py ./my-plugin\n```\n\n**Validates:**\n- plugin.json required fields (name, description, version, author)\n- Semantic versioning format\n- Command/agent frontmatter\n- Hooks and MCP configuration\n- README.md and LICENSE presence\n\n**Also consider:**\n- `claude plugin validate <path>` for marketplace JSON validation\n\n### 4. Publish a Plugin\n\n**To GitHub:**\n```bash\ncd my-marketplace\ngit init\ngit add .\ngit commit -m \"Initial release\"\ngit remote add origin https://github.com/user/my-marketplace.git\ngit push -u origin main\n\n# Tag release\ngit tag -a v1.0.0 -m \"Version 1.0.0\"\ngit push origin v1.0.0\n```\n\n**Distribution methods:**\n- GitHub: `/plugin marketplace add user/repo`\n- GitLab: `/plugin marketplace add https://gitlab.com/user/repo.git`\n- URL: `/plugin marketplace add https://example.com/marketplace.json`\n\n### 5. Delete/Uninstall Plugins\n\n**⚠️ ALWAYS confirm with user before deleting/uninstalling.** Use `AskUserQuestion` to ask: \"Are you sure you want to uninstall '[plugin-name]'? This action cannot be undone.\"\n\n```bash\n# Uninstall from Claude Code\n/plugin uninstall plugin-name@marketplace-name\n\n# Remove marketplace (confirm with user first!)\n/plugin marketplace remove marketplace-name\n```\n\n**To delete source files:** First confirm with user via `AskUserQuestion`, then remove the plugin directory from the marketplace's `plugins/` folder and update `marketplace.json`.\n\n### 6. Submit to Anthropic's Official Directory\n\nThe submission script automatically gathers all required form fields using `gh` CLI and git.\n\n**Prerequisites:**\n1. Plugin pushed to GitHub\n2. `gh` CLI installed and authenticated\n3. All validation checks pass\n\n**Prepare submission:**\n```bash\n# Basic - gathers repo URL and SHA automatically\npython scripts/prepare_submission.py ./my-plugin\n\n# With required contact info\npython scripts/prepare_submission.py ./my-plugin \\\n  --email your@email.com \\\n  --company-url https://yourcompany.com\n\n# Copy SHA to clipboard\npython scripts/prepare_submission.py ./my-plugin --copy-sha\n\n# Save to JSON file\npython scripts/prepare_submission.py ./my-plugin --output submission.json\n\n# Open form in browser\npython scripts/prepare_submission.py ./my-plugin --open-form\n```\n\n**Form fields gathered automatically:**\n| Field | Source |\n|-------|--------|\n| Link to Plugin | `gh repo view --json url` |\n| Full SHA | `git rev-parse HEAD` |\n| Plugin Homepage | plugin.json homepage or repo URL |\n| Plugin Name | plugin.json name |\n| Plugin Description | plugin.json description (50-100 words) |\n\n**Fields you must provide:**\n- `--email`: Primary contact email\n- `--company-url`: Company/Organization URL\n\n**Submission requirements:**\n- Plugin must be pushed to GitHub\n- Working directory should be clean (no uncommitted changes)\n- Description should be 50-100 words\n- README.md and LICENSE files present\n- No secrets/API keys in code\n\n## Plugin Structure Reference\n\n```\nmy-plugin/\n├── .claude-plugin/\n│   └── plugin.json       # Optional manifest (auto-discovered if absent)\n├── skills/               # Agent skills (preferred over commands/)\n│   └── */SKILL.md\n├── commands/             # Skills as flat .md files\n│   └── *.md\n├── agents/               # AI subagents\n│   └── *.md\n├── output-styles/        # Output style definitions (2026)\n├── themes/               # Color themes (2026)\n├── monitors/             # Background monitors (2026, v2.1.105+)\n│   └── monitors.json\n├── hooks/\n│   └── hooks.json        # Event handlers\n├── bin/                  # Executables added to PATH (2026)\n├── settings.json         # Default agent / subagentStatusLine (2026)\n├── .mcp.json             # MCP servers\n├── .lsp.json             # LSP server config (since v2.0.74)\n├── package.json          # Auto-installed dependencies (2026)\n├── README.md             # Documentation\n├── CHANGELOG.md\n└── LICENSE\n```\n\n**For detailed reference:** See [references/plugin-guide.md](references/plugin-guide.md)\n\n## OpenCode Plugins\n\nOpenCode (anomalyco/opencode v1.14.x) plugins are TypeScript/JavaScript modules — fundamentally different from Claude Code plugins.\n\n### Quick reference\n\n| Task | Approach |\n|------|----------|\n| Create local plugin | Drop `.ts` file in `.opencode/plugins/` (project) or `~/.config/opencode/plugins/` (global) |\n| Author npm plugin | `npm init`, add `keywords: [\"opencode-plugin\"]`, depend on `@opencode-ai/plugin` |\n| Install npm plugin | Add package name to `opencode.json` → `\"plugin\": [...]`; restart |\n| Distribute | Publish to npm (no central marketplace) |\n\n### Minimal plugin\n\n```typescript\n// .opencode/plugins/env-protection.ts\nimport type { Plugin } from \"@opencode-ai/plugin\"\n\nexport default (async () => ({\n  tool: {\n    execute: {\n      before: async (input, output) => {\n        if (output.args.filePath?.includes(\".env\")) {\n          throw new Error(\"Reading .env is forbidden\")\n        }\n      },\n    },\n  },\n})) satisfies Plugin\n```\n\n### Register npm plugins\n\n```json\n{\n  \"$schema\": \"https://opencode.ai/config.json\",\n  \"plugin\": [\n    \"opencode-helicone-session\",\n    \"@my-org/custom-plugin\"\n  ]\n}\n```\n\nOpenCode runs `bun install` at startup. Cached at `~/.cache/opencode/node_modules/`.\n\n### What plugins can do\n\n- Add custom tools the AI can call (Zod-validated args)\n- Intercept/block tool calls (`tool.execute.before` throws to block)\n- Subscribe to ~25 lifecycle events (`session.idle`, `file.edited`, `permission.asked`, ...)\n- Register custom slash commands and auth providers\n- Transform messages or system prompts during context compaction (experimental)\n\n### Critical caveats (v1.14.x)\n\n- `tool.execute.*` hooks **do not fire** for MCP tool calls — use the `permission` block in `opencode.json`\n- No central marketplace — distribute via npm and aggregators like [awesome-opencode](https://github.com/awesome-opencode/awesome-opencode)\n- Plugins run in-process with full SDK access — audit third-party code before installing\n\nSee [references/opencode-plugins.md](references/opencode-plugins.md) for the full OpenCode plugin reference.\n\n## Critical Rules (Avoid Silent Failures)\n\n- Keep `skills/`, `commands/`, `agents/`, `hooks/`, `monitors/`, `themes/`, `output-styles/`, `bin/` at the plugin root (never inside `.claude-plugin/`).\n- Do not add standard component paths to `plugin.json`. Only specify non-standard paths starting with `./`.\n- Use `${CLAUDE_PLUGIN_ROOT}` (cache path, changes per version) and `${CLAUDE_PLUGIN_DATA}` (persistent across updates) in hooks and MCP/LSP/monitor config paths. Relative paths break after install.\n- Ensure hook scripts are executable (`chmod +x scripts/*`).\n- Marketplace `plugins[].name` must match the plugin's `plugin.json` `name`.\n- **Path traversal limit (2026)**: plugins cannot reference files outside their directory; use symlinks inside the plugin if needed.\n- **Versioning (2026)**: omit `version` to use git SHA (every commit is a new version). Set `version` and bump for stable releases. Use `claude plugin tag` to cut release tags.\n\n## Common Patterns\n\n### Command File Format\n\n```markdown\n---\ndescription: What this command does\n---\n\n# Command Name\n\nInstructions for Claude when command is invoked.\n```\n\n### Agent File Format\n\n```markdown\n---\ndescription: Agent specialty and purpose\n---\n\n# Agent Name\n\nDetailed instructions and expertise.\n```\n\n### Hooks Configuration\n\n```json\n{\n  \"hooks\": {\n    \"PostToolUse\": [\n      {\n        \"matcher\": \"Write|Edit\",\n        \"hooks\": [\n          {\n            \"type\": \"command\",\n            \"command\": \"${CLAUDE_PLUGIN_ROOT}/scripts/validate.sh\"\n          }\n        ]\n      }\n    ]\n  }\n}\n```\n\n### MCP Server Configuration\n\n```json\n{\n  \"mcpServers\": {\n    \"server-name\": {\n      \"command\": \"node\",\n      \"args\": [\"./servers/server.js\"]\n    }\n  }\n}\n```\n\n### Skill File Format\n\n```markdown\n---\nname: my-skill\ndescription: What this skill does and when to use it\n---\n\n# Skill Title\n\nInstructions for Claude when this skill is invoked.\n```\n\n### Marketplace Entry Example\n\n```json\n{\n  \"name\": \"my-plugin\",\n  \"source\": \"./plugins/my-plugin\",\n  \"description\": \"Short description\",\n  \"version\": \"1.0.0\",\n  \"author\": { \"name\": \"Author Name\" },\n  \"category\": \"productivity\",\n  \"keywords\": [\"tag1\", \"tag2\"],\n  \"strict\": true\n}\n```","tags":["plugins","management","driven","development","codealive-ai","agent-safety","agent-skills","ai-coding","ai-driven-development","ai-safety","antigravity","bash"],"capabilities":["skill","source-codealive-ai","skill-plugins-management","topic-agent-safety","topic-agent-skills","topic-ai-coding","topic-ai-driven-development","topic-ai-safety","topic-antigravity","topic-bash","topic-claude-code","topic-codex-cli","topic-cursor","topic-developer-tools","topic-gemini-cli"],"categories":["ai-driven-development"],"synonyms":[],"warnings":[],"endpointUrl":"https://skills.sh/CodeAlive-AI/ai-driven-development/plugins-management","protocol":"skill","transport":"skills-sh","auth":{"type":"none","details":{"cli":"npx skills add CodeAlive-AI/ai-driven-development","source_repo":"https://github.com/CodeAlive-AI/ai-driven-development","install_from":"skills.sh"}},"qualityScore":"0.483","qualityRationale":"deterministic score 0.48 from registry signals: · indexed on github topic:agent-skills · 67 github stars · SKILL.md body (11,290 chars)","verified":false,"liveness":"unknown","lastLivenessCheck":null,"agentReviews":{"count":0,"score_avg":null,"cost_usd_avg":null,"success_rate":null,"latency_p50_ms":null,"narrative_summary":null,"summary_updated_at":null},"enrichmentModel":"deterministic:skill-github:v1","enrichmentVersion":1,"enrichedAt":"2026-05-18T18:57:07.157Z","embedding":null,"createdAt":"2026-05-04T06:56:23.517Z","updatedAt":"2026-05-18T18:57:07.157Z","lastSeenAt":"2026-05-18T18:57:07.157Z","tsv":"'-100':716,751 '/.cache/opencode/node_modules':978 '/.config/opencode/plugins':884 '/awesome-opencode/awesome-opencode)':1057 '/config.json':960 '/custom-plugin':969 '/marketplace.json':339,369,508 '/my-plugin':164,412,636,643,656,666,675 '/plugin':151,155,358,491,496,503,542,556,901,930 '/plugin.json':71,279 '/plugins/my-plugin':388,1316 '/reload-plugins':168 '/scripts/validate.sh':1266 '/servers/server.js':1278 '/skill.md':786 '/user/my-marketplace.git':469 '/user/repo.git':501 '1':21,189,274,334,608 '1.0.0':483,1321 '2':29,283,305,340,613 '2026':804,808,812,824,829,844,1172,1188 '25':1003 '3':36,292,346,405,619 '4':41,300,443 '5':44,509 '50':715,750 '6':586 'absent':779 'absolut':390 'access':1066 'across':50,1138 'action':533 'ad':821 'add':284,293,341,360,457,465,493,498,505,891,905,983,1110 'agent':12,52,65,226,240,242,294,296,781,794,827,1091,1236,1241,1245 'aggreg':1050 'ai':795,900,929,987 'also':434 'alway':512 'anomalyco/opencode':858 'anthrop':589 'approach':873 'arg':993,1277 'ask':521 'askuserquest':101,519,571 'async':933,937 'audit':1067 'auth':1014 'authent':618 'author':267,270,420,886,1322,1324 'auto':776,841 'auto-discov':775 'auto-instal':840 'automat':596,633,682 'avail':182 'avoid':1085 'awesom':1053 'awesome-opencod':1052 'background':810 'base':72 'bash':194,309,357,409,449,537,626 'basic':195,627 'bin':819,1098 'block':1000,1040 'break':1148 'browser':672 'bump':1204 'bun':972 'cach':976,1128 'call':989,996,1036 'cannot':534,1174 'categori':1326 'caveat':1026 'cd':450 'central':917,1044 'chang':746,1130 'changelog.md':847 'check':622 'chmod':1156 'claud':13,66,69,136,160,172,178,185,277,337,367,393,436,540,770,867,1106,1125,1134,1209,1231,1263,1301 'claude-plugin':68,276,336,366,769,1105 'clean':743 'cli':604,615 'clipboard':653 'code':11,14,51,67,541,762,868,1071 'color':806 'command':198,233,236,285,287,785,787,1012,1090,1218,1225,1227,1233,1261,1262,1275 'command/agent':424 'command/script':121 'commit':459,1196 'common':1216 'compact':1023 'compani':146,647,727 'company-url':145,646,726 'company/organization':729 'compon':209,218,266,1112 'config':400,836,1144 'configur':32,255,262,429,1252,1269 'confirm':104,117,513,552,567 'consid':435 'contact':639,724 'context':1022 'copi':650,658 'copy-sha':657 'creat':4,22,30,53,122,126,190,306,874 'creation':273,333 'critic':88,1025,1083 'custom':984,1010 'cut':169,1213 'data':1136 'default':234,826,932 'definit':803 'delet':6,56,92,153,563 'delete/uninstall':42,109,510 'deleting/uninstalling':517 'depend':843,896 'descript':418,712,714,747,1222,1240,1287,1317,1319 'detail':282,850,1247 'dev':159 'differ':865 'dir':163 'directori':61,237,243,249,345,576,592,740,1179 'discov':777 'distribut':74,488,912,1046 'document':304,846 'drop':877 'e.g':387 'edit':167,275,335,1258 'email':143,644,722,725 'empti':310 'ensur':1151 'entri':371,1308 'env':943,948 'error':946 'event':817,1005 'everi':1195 'exampl':1309 'example.com':507 'example.com/marketplace.json':506 'execut':820,935,1155 'experiment':1024 'expertis':1250 'explicit':115 'export':931 'failur':1087 'field':416,601,680,683,718 'file':365,565,663,756,792,879,1176,1219,1237,1280 'file.edited':1007 'fire':1032 'first':555,566 'flag':230 'flat':790 'folder':582 'forbidden':950 'form':600,670,678,679 'format':423,1220,1238,1281 'frontmatt':291,425 'full':205,693,1064,1079 'fundament':864 'gather':597,628,681 'gh':603,614,688 'git':350,454,456,458,463,470,477,484,606,695,1193 'github':349,448,490,612,738 'github.com':468,1056 'github.com/awesome-opencode/awesome-opencode)':1055 'github.com/user/my-marketplace.git':467 'github/gitlab/npm':40 'gitlab':495 'gitlab.com':500 'gitlab.com/user/repo.git':499 'global':885 'handler':818 'head':699 'helicon':964 'homepag':701,703 'hook':252,254,397,426,815,1029,1092,1141,1152,1251,1254,1259 'hooks.json':816 'import':923 'in-process':1060 'includ':235,241,247,253,259,264,942 'info':640 'init':455,890 'initi':319,461 'input':938 'insid':396,1104,1182 'instal':149,152,177,355,616,842,902,973,1073,1150 'instruct':1229,1248,1299 'intercept/block':994 'invok':1235,1306 'json':181,441,662,691,956,1253,1270,1310 'keep':1088 'key':760 'keyword':892,1328 'licens':432,755,848 'lifecycl':1004 'like':1051 'limit':1171 'link':685 'list':85,176,180 'local':875 'lsp':834 'lsp.json':833 'm':460,481 'main':353,474 'manag':3,47,48 'manifest':774 'markdown':1221,1239,1282 'marketplac':35,76,113,127,135,308,311,316,325,359,362,403,440,453,492,497,504,548,551,557,560,579,918,1045,1159,1307 'marketplace-nam':547,559 'marketplace.json':585 'match':376,1163 'matcher':1256 'mcp':258,260,399,428,831,1034,1267 'mcp.json':830 'mcp/lsp/monitor':1143 'mcpserver':1271 'md':288,297,791,793,797 'messag':1017 'method':489 'minim':919 'modul':863 'monitor':809,811,1093 'monitors.json':814 'must':98,372,720,734,1162 'my-marketplac':314,323,451 'my-org':966 'my-plugin':201,212,221,329,766,1312 'my-skil':1284 'name':268,271,374,381,417,531,546,549,561,708,710,907,1161,1168,1228,1246,1274,1283,1311,1323,1325 'need':299,1186 'never':108,1103 'new':24,192,945,1199 'node':1276 'non':1119 'non-standard':1118 'npm':63,83,887,889,903,915,954,1048 'offici':60,591 'omit':1189 'open':669,677 'open-form':676 'opencod':15,77,855,857,894,899,928,963,970,1054,1080 'opencode-ai':898,927 'opencode-helicone-sess':962 'opencode-plugin':893 'opencode.ai':959 'opencode.ai/config.json':958 'opencode.json':87,909,1042 'opencode/plugins':81,881 'opencode/plugins/env-protection.ts':922 'oper':96 'option':773 'org':968 'origin':352,466,473,486 'output':667,799,801,939,1096 'output-styl':798,1095 'output.args.filepath':941 'outsid':1177 'packag':84,906 'package.json':839 'pars':698 'parti':1070 'pass':623 'path':204,215,317,384,391,823,1113,1121,1129,1145,1147,1169 'pattern':1217 'per':1131 'perform':90 'permiss':1039 'permission.asked':1008 'persist':1137 'plugin':2,9,25,34,38,43,46,49,70,73,79,110,123,131,137,150,154,158,162,173,179,184,186,193,196,203,206,214,223,278,281,320,328,331,338,342,344,368,370,378,394,404,408,437,446,511,530,545,575,581,609,687,700,707,711,733,763,768,771,856,860,869,876,888,895,904,910,920,925,952,955,961,980,1058,1081,1101,1107,1126,1135,1160,1165,1173,1184,1210,1264,1314 'plugin-dir':161 'plugin-nam':529,544 'plugin.json':380,414,702,709,713,772,1115,1167 'plugins-manag':1 'posttoolus':1255 'prefer':783 'prepar':139,624 'prerequisit':607 'presenc':433 'present':757 'primari':723 'process':1062 'product':1327 'project':882 'prompt':1020 'proper':27 'provid':721,1015 'publish':5,37,55,444,913 'purpos':1244 'push':175,347,351,471,485,610,736 'python':124,128,132,141,199,210,219,312,321,410,634,641,654,664,673 'quick':118,870 'read':947 'readme.md':302,430,753,845 'refer':119,363,765,851,871,1082,1175 'referenc':401 'references/opencode-plugins.md':1075,1076 'references/plugin-guide.md':853,854 'regist':953,1009 'relat':383,1146 'releas':170,462,476,1207,1214 'reload':165 'remot':464 'remov':95,112,550,558,573 'repo':629,689,705 'requir':364,415,599,638,732 'restart':911 'rev':697 'rev-pars':696 'root':395,1102,1127,1265 'rule':1084 'run':971,1059 'satisfi':951 'save':660 'schema':957 'script':595,1153,1158 'scripts/init_marketplace.py':129,313,322 'scripts/init_plugin.py':125,200,211,220 'scripts/prepare_submission.py':142,635,642,655,665,674 'scripts/validate_plugin.py':133,411 'sdk':1065 'secrets/api':759 'see':852,1074 'semant':421 'server':261,832,835,1268,1273 'server-nam':1272 'session':965 'session.idle':1006 'set':269,1201 'settings.json':825 'sha':632,651,659,694,1194 'short':1318 'silent':1086 'sinc':837 'skill':229,246,248,780,782,788,1089,1279,1286,1290,1297,1304 'skill-plugins-management' 'slash':1011 'sourc':386,564,684,1315 'source-codealive-ai' 'specialti':1242 'specif':217 'specifi':1117 'stabl':1206 'standard':1111,1120 'start':1122 'startup':975 'strict':1331 'structur':28,764 'style':800,802,1097 'subag':796 'subagentstatuslin':828 'submiss':140,594,625,731 'submission.json':668 'submit':8,58,587 'subscrib':1001 'support':64 'sure':524 'symlink':1181 'system':1019 'tag':171,174,475,478,1211,1215 'tag1':1329 'tag2':1330 'task':120,872 'test':157 'theme':805,807,1094 'third':1069 'third-parti':1068 'throw':944,998 'titl':1298 'tool':102,934,985,995,1035 'tool.execute':1028 'tool.execute.before':997 'topic-agent-safety' 'topic-agent-skills' 'topic-ai-coding' 'topic-ai-driven-development' 'topic-ai-safety' 'topic-antigravity' 'topic-bash' 'topic-claude-code' 'topic-codex-cli' 'topic-cursor' 'topic-developer-tools' 'topic-gemini-cli' 'transform':1016 'travers':1170 'true':1332 'ts':878 'type':924,1260 'typescript':921 'typescript/javascript':78,862 'u':472 'uncommit':745 'undon':536 'uninstal':93,156,528,538,543 'updat':183,187,301,584,1139 'url':147,502,630,648,692,706,728,730 'use':16,99,382,392,518,602,1037,1124,1180,1192,1208,1295 'user':18,107,116,354,515,554,569 'user/repo':494 'username/my-marketplace':361 'v':45 'v1.0.0':480,487 'v1.14.x':859,1027 'v2.0.74':838 'v2.1.105':813 'valid':54,130,134,138,406,413,438,442,621,992 'version':419,422,482,1132,1187,1190,1200,1202,1320 'via':75,570,1047 'view':690 'want':19,526 'with-ag':224,238 'with-command':231 'with-hook':250 'with-mcp':256 'with-plugin':326 'with-skil':227,244 'without':114 'word':717,752 'work':739 'workflow':188 'write':1257 'x':144,1157 'y':148 'yaml':290 'your@email.com':645 'yourcompany.com':649 'zod':991 'zod-valid':990","prices":[{"id":"b3a23fdc-9f08-448a-b586-495a167b2185","listingId":"8a3bb2e6-c026-41dc-8da9-e1cb89f6d930","amountUsd":"0","unit":"free","nativeCurrency":null,"nativeAmount":null,"chain":null,"payTo":null,"paymentMethod":"skill-free","isPrimary":true,"details":{"org":"CodeAlive-AI","category":"ai-driven-development","install_from":"skills.sh"},"createdAt":"2026-05-04T06:56:23.517Z"}],"sources":[{"listingId":"8a3bb2e6-c026-41dc-8da9-e1cb89f6d930","source":"github","sourceId":"CodeAlive-AI/ai-driven-development/plugins-management","sourceUrl":"https://github.com/CodeAlive-AI/ai-driven-development/tree/main/skills/plugins-management","isPrimary":false,"firstSeenAt":"2026-05-04T06:56:23.517Z","lastSeenAt":"2026-05-18T18:57:07.157Z"}],"details":{"listingId":"8a3bb2e6-c026-41dc-8da9-e1cb89f6d930","quickStartSnippet":null,"exampleRequest":null,"exampleResponse":null,"schema":null,"openapiUrl":null,"agentsTxtUrl":null,"citations":[],"useCases":[],"bestFor":[],"notFor":[],"kindDetails":{"org":"CodeAlive-AI","slug":"plugins-management","github":{"repo":"CodeAlive-AI/ai-driven-development","stars":67,"topics":["agent-safety","agent-skills","ai-coding","ai-driven-development","ai-safety","antigravity","bash","claude-code","codex-cli","cursor","developer-tools","gemini-cli","hooks","mcp","multi-agent","opencode","plugins","prompt-engineering","skills","subagents"],"license":"mit","html_url":"https://github.com/CodeAlive-AI/ai-driven-development","pushed_at":"2026-05-12T20:04:46Z","description":"Practices, protocols, and skills for AI-driven software development. 18 skills + 1 Bash safety hook for Claude Code, Codex CLI, OpenCode, Cursor, Gemini CLI, Antigravity, and any agent supporting the Agent Skills standard.","skill_md_sha":"259ad26f0754c556d031e29d518416864ef38683","skill_md_path":"skills/plugins-management/SKILL.md","default_branch":"main","skill_tree_url":"https://github.com/CodeAlive-AI/ai-driven-development/tree/main/skills/plugins-management"},"layout":"multi","source":"github","category":"ai-driven-development","frontmatter":{"name":"plugins-management","description":"Create, publish, delete, and submit plugins for coding agents (Claude Code, OpenCode). Use when user wants to (1) create a new plugin with proper structure, (2) create or configure a plugin marketplace, (3) publish plugins to GitHub/GitLab/npm, (4) delete/uninstall plugins, (5) validate plugin structure, or (6) prepare and submit plugins to the official Anthropic directory or the OpenCode ecosystem."},"skills_sh_url":"https://skills.sh/CodeAlive-AI/ai-driven-development/plugins-management"},"updatedAt":"2026-05-18T18:57:07.157Z"}}