[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M6CB269N01XJSGTH245C03A7":3,"skill-same:01M6CB269N01XJSGTH245C03A7":71},{"skillNo":4,"name":5,"nameZh":6,"description":7,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":16,"categories":17,"keywords":28,"publishedAt":39,"linkOnly":40,"markdownContent":41,"markdownBody":42,"frontMatter":43,"refName":47,"commitSha":48,"skillDirectory":49,"forksCount":50,"repositoryHtmlUrl":51,"repositoryHomepageUrl":52,"ownerHtmlUrl":53,"ownerBlogUrl":54,"ownerDescription":55,"updatedAt":56,"install":57,"resources":70},"01M6CB269N01XJSGTH245C03A7","uninstall-plugin",null,"Remove a previously installed Claude Code marketplace plugin and unregister it from the local plugin registry","jmagly\u002Faiwg","jmagly","https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F1159087?v=4","01M6C10AK8N2WCSQN11FYGTJWN","Joseph Magly","01M6C10AQ8A2RMED1Y1BSVY7NF",229,"MIT","https:\u002F\u002Fgithub.com\u002Fjmagly\u002Faiwg\u002Fblob\u002Fmain\u002Fagentic\u002Fcode\u002Fplugins\u002Futils\u002Fskills\u002Funinstall-plugin\u002FSKILL.md",[18,23],{"categoryNo":19,"categoryName":20,"taxonomyType":21,"taxonomyTypeDesc":22},"01JBSEEDCAT000000000000023","Skill与智能体开发","SCENARIO","使用场景",{"categoryNo":24,"categoryName":25,"taxonomyType":26,"taxonomyTypeDesc":27},"01JBSEEDCAT000000000000030","开发工程师","PROFESSION","适用职业",[29,30,31,32,33,34,35,36,37,38],"uninstall","plugin","uninstall plugin","code","registry","marketplace","remove","plugin registry","local","it","2026-11-10 10:12:30",false,"---\nnamespace: aiwg\nname: uninstall-plugin\nplatforms: [all]\ndescription: Remove a previously installed Claude Code marketplace plugin and unregister it from the local plugin registry\n---\n\n# Uninstall Plugin\n\nYou remove a previously installed Claude Code marketplace plugin. In AIWG vocabulary, the plugin is the delivery wrapper; the deployed files are its extension, addon, or framework payload. You remove deployed files and unregister the wrapper from the local plugin registry.\n\n## Triggers\n\nAlternate expressions and non-obvious activations (primary phrases are matched automatically from the skill description):\n\n- \"get rid of the voice plugin\" → uninstall voice@aiwg\n- \"I don't need the marketing kit anymore\" → uninstall marketing@aiwg\n- \"clean up the SDLC agents\" → uninstall sdlc@aiwg\n- \"remove everything from that plugin\" → uninstall with cleanup\n\n## Trigger Patterns Reference\n\n| Pattern | Example | Action |\n|---------|---------|--------|\n| Uninstall plugin | \"uninstall plugin voice@aiwg\" | Run `aiwg uninstall-plugin voice@aiwg` |\n| Remove plugin | \"remove plugin marketing@aiwg\" | Run `aiwg uninstall-plugin marketing@aiwg` |\n| Plugin uninstall | \"plugin uninstall sdlc@aiwg\" | Run `aiwg uninstall-plugin sdlc@aiwg` |\n| Dry run | \"what would removing the voice plugin delete?\" | Run `aiwg uninstall-plugin voice@aiwg --dry-run` |\n| Keep artifacts | \"remove the plugin but keep my .aiwg\u002F files\" | Run `aiwg uninstall-plugin sdlc@aiwg --keep-artifacts` |\n\n## Behavior\n\nWhen triggered:\n\n1. **Extract intent**:\n   - Which plugin is being removed?\n   - Is this a dry run (preview) or should changes be applied?\n   - Should project artifacts in `.aiwg\u002F` be preserved? (default: yes, always preserve)\n\n2. **Run the appropriate command**:\n\n   ```bash\n   # Uninstall a plugin\n   aiwg uninstall-plugin sdlc@aiwg\n   aiwg uninstall-plugin voice@aiwg\n   aiwg uninstall-plugin marketing@aiwg\n\n   # Preview what would be removed\n   aiwg uninstall-plugin sdlc@aiwg --dry-run\n\n   # Keep .aiwg\u002F project artifacts even if plugin-owned (default behavior)\n   aiwg uninstall-plugin sdlc@aiwg --keep-artifacts\n   ```\n\n3. **Report the result** — list what was removed (agents, commands, skills, rules) and confirm the marketplace wrapper is deregistered.\n\n## What Gets Removed\n\n| Removed | Description |\n|---------|-------------|\n| Agent files | Files in `.claude\u002Fagents\u002F` that belong to the plugin |\n| Command files | Files in `.claude\u002Fcommands\u002F` that belong to the plugin |\n| Skill files | Files in `.claude\u002Fskills\u002F` that belong to the plugin |\n| Rule files | Files in `.claude\u002Frules\u002F` that belong to the plugin |\n| Registry entry | Delivery-wrapper entry removed from local plugin registry |\n\n## What Is NOT Removed\n\n| Preserved | Reason |\n|-----------|--------|\n| `.aiwg\u002F` project artifacts | These are your project output, not marketplace package files |\n| Shared skills used by other packages | Removed only when the last dependent package is removed |\n| Custom modifications to deployed package files | Files modified after install are flagged, not deleted |\n\n## Examples\n\n### Example 1: Remove the voice plugin\n\n**User**: \"Uninstall the voice plugin\"\n\n**Extraction**: Plugin name is `voice@aiwg`\n\n**Action**:\n```bash\naiwg uninstall-plugin voice@aiwg\n```\n\n**Response**: \"Uninstalled voice@aiwg. Removed 6 voice profiles from .claude\u002Fskills\u002Fvoices\u002F, 4 soul system skills, 2 rules. Plugin deregistered.\"\n\n### Example 2: Dry run before removing\n\n**User**: \"What would removing the SDLC plugin delete?\"\n\n**Extraction**: Dry-run for sdlc plugin\n\n**Action**:\n```bash\naiwg uninstall-plugin sdlc@aiwg --dry-run\n```\n\n**Response**: \"Dry run — uninstalling sdlc@aiwg would remove: 58 agents from .claude\u002Fagents\u002F, 42 commands from .claude\u002Fcommands\u002F, 12 skills, 33 rules. Your .aiwg\u002F project artifacts would NOT be affected. No changes made.\"\n\n### Example 3: Plugin not found\n\n**User**: \"Remove the analytics plugin\"\n\n**Extraction**: Plugin name `analytics` — not in registry\n\n**Action**:\n```bash\naiwg uninstall-plugin analytics@aiwg\n```\n\n**Response**: \"Plugin `analytics@aiwg` is not installed. Run `aiwg plugin-status` to see what is currently installed.\"\n\n## Clarification Prompts\n\nIf the plugin name is ambiguous or not clearly installed:\n\n- \"Which plugin would you like to remove? Installed plugins: sdlc@aiwg, voice@aiwg. Run `aiwg plugin-status` to confirm.\"\n\n## References\n\n- @$AIWG_ROOT\u002Fsrc\u002Fcli\u002Fhandlers\u002Futilities.ts — Command handler\n- @$AIWG_ROOT\u002Fdocs\u002Fcli-reference.md — CLI reference\n","# Uninstall Plugin\n\nYou remove a previously installed Claude Code marketplace plugin. In AIWG vocabulary, the plugin is the delivery wrapper; the deployed files are its extension, addon, or framework payload. You remove deployed files and unregister the wrapper from the local plugin registry.\n\n## Triggers\n\nAlternate expressions and non-obvious activations (primary phrases are matched automatically from the skill description):\n\n- \"get rid of the voice plugin\" → uninstall voice@aiwg\n- \"I don't need the marketing kit anymore\" → uninstall marketing@aiwg\n- \"clean up the SDLC agents\" → uninstall sdlc@aiwg\n- \"remove everything from that plugin\" → uninstall with cleanup\n\n## Trigger Patterns Reference\n\n| Pattern | Example | Action |\n|---------|---------|--------|\n| Uninstall plugin | \"uninstall plugin voice@aiwg\" | Run `aiwg uninstall-plugin voice@aiwg` |\n| Remove plugin | \"remove plugin marketing@aiwg\" | Run `aiwg uninstall-plugin marketing@aiwg` |\n| Plugin uninstall | \"plugin uninstall sdlc@aiwg\" | Run `aiwg uninstall-plugin sdlc@aiwg` |\n| Dry run | \"what would removing the voice plugin delete?\" | Run `aiwg uninstall-plugin voice@aiwg --dry-run` |\n| Keep artifacts | \"remove the plugin but keep my .aiwg\u002F files\" | Run `aiwg uninstall-plugin sdlc@aiwg --keep-artifacts` |\n\n## Behavior\n\nWhen triggered:\n\n1. **Extract intent**:\n   - Which plugin is being removed?\n   - Is this a dry run (preview) or should changes be applied?\n   - Should project artifacts in `.aiwg\u002F` be preserved? (default: yes, always preserve)\n\n2. **Run the appropriate command**:\n\n   ```bash\n   # Uninstall a plugin\n   aiwg uninstall-plugin sdlc@aiwg\n   aiwg uninstall-plugin voice@aiwg\n   aiwg uninstall-plugin marketing@aiwg\n\n   # Preview what would be removed\n   aiwg uninstall-plugin sdlc@aiwg --dry-run\n\n   # Keep .aiwg\u002F project artifacts even if plugin-owned (default behavior)\n   aiwg uninstall-plugin sdlc@aiwg --keep-artifacts\n   ```\n\n3. **Report the result** — list what was removed (agents, commands, skills, rules) and confirm the marketplace wrapper is deregistered.\n\n## What Gets Removed\n\n| Removed | Description |\n|---------|-------------|\n| Agent files | Files in `.claude\u002Fagents\u002F` that belong to the plugin |\n| Command files | Files in `.claude\u002Fcommands\u002F` that belong to the plugin |\n| Skill files | Files in `.claude\u002Fskills\u002F` that belong to the plugin |\n| Rule files | Files in `.claude\u002Frules\u002F` that belong to the plugin |\n| Registry entry | Delivery-wrapper entry removed from local plugin registry |\n\n## What Is NOT Removed\n\n| Preserved | Reason |\n|-----------|--------|\n| `.aiwg\u002F` project artifacts | These are your project output, not marketplace package files |\n| Shared skills used by other packages | Removed only when the last dependent package is removed |\n| Custom modifications to deployed package files | Files modified after install are flagged, not deleted |\n\n## Examples\n\n### Example 1: Remove the voice plugin\n\n**User**: \"Uninstall the voice plugin\"\n\n**Extraction**: Plugin name is `voice@aiwg`\n\n**Action**:\n```bash\naiwg uninstall-plugin voice@aiwg\n```\n\n**Response**: \"Uninstalled voice@aiwg. Removed 6 voice profiles from .claude\u002Fskills\u002Fvoices\u002F, 4 soul system skills, 2 rules. Plugin deregistered.\"\n\n### Example 2: Dry run before removing\n\n**User**: \"What would removing the SDLC plugin delete?\"\n\n**Extraction**: Dry-run for sdlc plugin\n\n**Action**:\n```bash\naiwg uninstall-plugin sdlc@aiwg --dry-run\n```\n\n**Response**: \"Dry run — uninstalling sdlc@aiwg would remove: 58 agents from .claude\u002Fagents\u002F, 42 commands from .claude\u002Fcommands\u002F, 12 skills, 33 rules. Your .aiwg\u002F project artifacts would NOT be affected. No changes made.\"\n\n### Example 3: Plugin not found\n\n**User**: \"Remove the analytics plugin\"\n\n**Extraction**: Plugin name `analytics` — not in registry\n\n**Action**:\n```bash\naiwg uninstall-plugin analytics@aiwg\n```\n\n**Response**: \"Plugin `analytics@aiwg` is not installed. Run `aiwg plugin-status` to see what is currently installed.\"\n\n## Clarification Prompts\n\nIf the plugin name is ambiguous or not clearly installed:\n\n- \"Which plugin would you like to remove? Installed plugins: sdlc@aiwg, voice@aiwg. Run `aiwg plugin-status` to confirm.\"\n\n## References\n\n- @$AIWG_ROOT\u002Fsrc\u002Fcli\u002Fhandlers\u002Futilities.ts — Command handler\n- @$AIWG_ROOT\u002Fdocs\u002Fcli-reference.md — CLI reference\n",{"name":5,"namespace":44,"platforms":45,"description":7},"aiwg",[46],"all","main","6754967c344ccb087a8de06972f55a41067b291b","agentic\u002Fcode\u002Fplugins\u002Futils\u002Fskills\u002Funinstall-plugin",36,"https:\u002F\u002Fgithub.com\u002Fjmagly\u002Faiwg","https:\u002F\u002Faiwg.io","https:\u002F\u002Fgithub.com\u002Fjmagly","https:\u002F\u002Fintegrolabs.io","ml\u002Fai, industrial automation, safety\u002Fsecurity, ssi\r\n\r\nmagly.net\r\nintegrolabs.io\r\naiwg.io\r\nfortemi.com\r\npagenary.com\r\nbytecask.com","2026-11-12 00:33:10",{"source":8,"skillName":5,"commands":58,"prompt":68,"zipAvailable":69},[59,62,65],{"tool":60,"command":61},"npx","npx skills add jmagly\u002Faiwg --skill uninstall-plugin",{"tool":63,"command":64},"bunx","bunx skills add jmagly\u002Faiwg --skill uninstall-plugin",{"tool":66,"command":67},"pnpm","pnpm dlx skills add jmagly\u002Faiwg --skill uninstall-plugin","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002Fjmagly\u002Faiwg\u002Fblob\u002Fmain\u002Fagentic\u002Fcode\u002Fplugins\u002Futils\u002Fskills\u002Funinstall-plugin\u002FSKILL.md",true,[],[72,100,123,129,136,150],{"skillNo":73,"name":74,"nameZh":6,"description":75,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":76,"categories":77,"keywords":79,"publishedAt":39},"01M70QA0BSYJ49EES9V4RE8QH1","host-hardening","Read-only system hardening baseline and plan-first host hardening recommendations for SSH, Docker bind addresses, firewall persistence, datastores, exporters and audit retention.","https:\u002F\u002Fgithub.com\u002Fjmagly\u002Faiwg\u002Fblob\u002Fmain\u002Fagentic\u002Fcode\u002Fplugins\u002Fsecurity-engineering\u002Fskills\u002Fhost-hardening\u002FSKILL.md",[78],{"categoryNo":19,"categoryName":20,"taxonomyType":21,"taxonomyTypeDesc":22},[80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99],"host","host hardening","hardening","read","re","recommendations","remediation","plan","port","verification","Bash","access","only","retention","audit","never","firewall","bind","secrets","request",{"skillNo":101,"name":102,"nameZh":6,"description":103,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":104,"categories":105,"keywords":110,"publishedAt":39},"01M70PNT2Z4HMZPRBTAF6073NN","exposure-analysis","Read-only firewall analysis and effective host exposure reconstruction for Docker published ports, UFW bypass, stale rules, CDN scope, IPv6 asymmetry and external probe allowlists.","https:\u002F\u002Fgithub.com\u002Fjmagly\u002Faiwg\u002Fblob\u002Fmain\u002Fagentic\u002Fcode\u002Fplugins\u002Fforensics\u002Fskills\u002Fexposure-analysis\u002FSKILL.md",[106,109],{"categoryNo":107,"categoryName":108,"taxonomyType":21,"taxonomyTypeDesc":22},"01JBSEEDCAT000000000000011","运维与部署",{"categoryNo":19,"categoryName":20,"taxonomyType":21,"taxonomyTypeDesc":22},[111,112,113,83,114,88,115,116,90,117,80,118,92,37,119,95,96,120,121,122],"exposure analysis","analysis","unknown","credentials","collection","ufw","ports","internet","scope","reconstruction","operator","write",{"skillNo":124,"name":74,"nameZh":6,"description":75,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":125,"categories":126,"keywords":128,"publishedAt":39},"01M70P8QATMPKA78E4FT5D2TNA","https:\u002F\u002Fgithub.com\u002Fjmagly\u002Faiwg\u002Fblob\u002Fmain\u002Fagentic\u002Fcode\u002Fframeworks\u002Fsecurity-engineering\u002Fskills\u002Fhost-hardening\u002FSKILL.md",[127],{"categoryNo":19,"categoryName":20,"taxonomyType":21,"taxonomyTypeDesc":22},[82,80,81,91,83,99,86,85,94,87,88,89,90,98,92,93,84,95,96,97],{"skillNo":130,"name":102,"nameZh":6,"description":103,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":131,"categories":132,"keywords":135,"publishedAt":39},"01M70NMPVJ5H0JH131P60FW4R8","https:\u002F\u002Fgithub.com\u002Fjmagly\u002Faiwg\u002Fblob\u002Fmain\u002Fagentic\u002Fcode\u002Fframeworks\u002Fforensics-complete\u002Fskills\u002Fexposure-analysis\u002FSKILL.md",[133,134],{"categoryNo":107,"categoryName":108,"taxonomyType":21,"taxonomyTypeDesc":22},{"categoryNo":19,"categoryName":20,"taxonomyType":21,"taxonomyTypeDesc":22},[112,111,95,114,88,115,90,113,80,118,92,37,119,83,96,117,116,120,121,122],{"skillNo":137,"name":138,"nameZh":6,"description":139,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":140,"categories":141,"keywords":143,"publishedAt":39},"01M6CB4DDR0B4NNCFK7ZK7449H","fixture-skill","Exercise rule delivery.","https:\u002F\u002Fgithub.com\u002Fjmagly\u002Faiwg\u002Fblob\u002Fmain\u002Ftest\u002Ffixtures\u002Frule-delivery\u002Fskills\u002Ffixture-skill\u002FSKILL.md",[142],{"categoryNo":19,"categoryName":20,"taxonomyType":21,"taxonomyTypeDesc":22},[144,145,146,147,148,149],"fixture skill","fixture","rule","delivery","true","exercise",{"skillNo":151,"name":152,"nameZh":6,"description":153,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":154,"categories":155,"keywords":157,"publishedAt":39},"01M6CB4AVK1W76MFMPP0JP32CJ","pi-local","Pi-local duplicate-precedence fixture.","https:\u002F\u002Fgithub.com\u002Fjmagly\u002Faiwg\u002Fblob\u002Fmain\u002Ftest\u002Ffixtures\u002Fproviders\u002Fpi\u002Fproject\u002F.pi\u002Fskills\u002Fpi-local\u002FSKILL.md",[156],{"categoryNo":19,"categoryName":20,"taxonomyType":21,"taxonomyTypeDesc":22},[158,159,37,160,145],"pi","pi local","duplicate"]