Codex

uninstall-plugin

Remove a previously installed Claude Code plugin and unregister it from the local plugin registry

104 stars

Best use case

uninstall-plugin is best used when you need a repeatable AI agent workflow instead of a one-off prompt.

It is a strong fit for teams already working in Codex.

Remove a previously installed Claude Code plugin and unregister it from the local plugin registry

Teams using uninstall-plugin should expect a more consistent output, faster repeated execution, less prompt rewriting.

When to use this skill

  • You want a reusable workflow that can be run more than once with consistent structure.

When not to use this skill

  • You only need a quick one-off answer and do not need a reusable workflow.
  • You cannot install or maintain the underlying files, dependencies, or repository context.

Installation

Claude Code / Cursor / Codex

$curl -o ~/.claude/skills/uninstall-plugin/SKILL.md --create-dirs "https://raw.githubusercontent.com/jmagly/aiwg/main/.agents/skills/uninstall-plugin/SKILL.md"

Manual Installation

  1. Download SKILL.md from GitHub
  2. Place it in .claude/skills/uninstall-plugin/SKILL.md inside your project
  3. Restart your AI agent — it will auto-discover the skill

How uninstall-plugin Compares

Feature / Agentuninstall-pluginStandard Approach
Platform SupportCodexLimited / Varies
Context Awareness High Baseline
Installation ComplexityUnknownN/A

Frequently Asked Questions

What does this skill do?

Remove a previously installed Claude Code plugin and unregister it from the local plugin registry

Which AI agents support this skill?

This skill is designed for Codex.

Where can I find the source code?

You can find the source code on GitHub using the link provided at the top of the page.

Related Guides

SKILL.md Source

# Uninstall Plugin

You remove a previously installed Claude Code plugin. You remove deployed plugin files and unregister the plugin from the local plugin registry.

## Triggers

Alternate expressions and non-obvious activations (primary phrases are matched automatically from the skill description):

- "get rid of the voice plugin" → uninstall voice@aiwg
- "I don't need the marketing kit anymore" → uninstall marketing@aiwg
- "clean up the SDLC agents" → uninstall sdlc@aiwg
- "remove everything from that plugin" → uninstall with cleanup

## Trigger Patterns Reference

| Pattern | Example | Action |
|---------|---------|--------|
| Uninstall plugin | "uninstall plugin voice@aiwg" | Run `aiwg uninstall-plugin voice@aiwg` |
| Remove plugin | "remove plugin marketing@aiwg" | Run `aiwg uninstall-plugin marketing@aiwg` |
| Plugin uninstall | "plugin uninstall sdlc@aiwg" | Run `aiwg uninstall-plugin sdlc@aiwg` |
| Dry run | "what would removing the voice plugin delete?" | Run `aiwg uninstall-plugin voice@aiwg --dry-run` |
| Keep artifacts | "remove the plugin but keep my .aiwg/ files" | Run `aiwg uninstall-plugin sdlc@aiwg --keep-artifacts` |

## Behavior

When triggered:

1. **Extract intent**:
   - Which plugin is being removed?
   - Is this a dry run (preview) or should changes be applied?
   - Should project artifacts in `.aiwg/` be preserved? (default: yes, always preserve)

2. **Run the appropriate command**:

   ```bash
   # Uninstall a plugin
   aiwg uninstall-plugin sdlc@aiwg
   aiwg uninstall-plugin voice@aiwg
   aiwg uninstall-plugin marketing@aiwg

   # Preview what would be removed
   aiwg uninstall-plugin sdlc@aiwg --dry-run

   # Keep .aiwg/ project artifacts even if plugin-owned (default behavior)
   aiwg uninstall-plugin sdlc@aiwg --keep-artifacts
   ```

3. **Report the result** — list what was removed (agents, commands, skills, rules) and confirm the plugin is deregistered.

## What Gets Removed

| Removed | Description |
|---------|-------------|
| Agent files | Files in `.claude/agents/` that belong to the plugin |
| Command files | Files in `.claude/commands/` that belong to the plugin |
| Skill files | Files in `.claude/skills/` that belong to the plugin |
| Rule files | Files in `.claude/rules/` that belong to the plugin |
| Registry entry | Plugin entry removed from local plugin registry |

## What Is NOT Removed

| Preserved | Reason |
|-----------|--------|
| `.aiwg/` project artifacts | These are your project output, not plugin files |
| Shared skills used by other plugins | Removed only when last dependent plugin is removed |
| Custom modifications to plugin files | Files modified after install are flagged, not deleted |

## Examples

### Example 1: Remove the voice plugin

**User**: "Uninstall the voice plugin"

**Extraction**: Plugin name is `voice@aiwg`

**Action**:
```bash
aiwg uninstall-plugin voice@aiwg
```

**Response**: "Uninstalled voice@aiwg. Removed 6 voice profiles from .claude/skills/voices/, 4 soul system skills, 2 rules. Plugin deregistered."

### Example 2: Dry run before removing

**User**: "What would removing the SDLC plugin delete?"

**Extraction**: Dry-run for sdlc plugin

**Action**:
```bash
aiwg uninstall-plugin sdlc@aiwg --dry-run
```

**Response**: "Dry run — uninstalling sdlc@aiwg would remove: 58 agents from .claude/agents/, 42 commands from .claude/commands/, 12 skills, 33 rules. Your .aiwg/ project artifacts would NOT be affected. No changes made."

### Example 3: Plugin not found

**User**: "Remove the analytics plugin"

**Extraction**: Plugin name `analytics` — not in registry

**Action**:
```bash
aiwg uninstall-plugin analytics@aiwg
```

**Response**: "Plugin `analytics@aiwg` is not installed. Run `aiwg plugin-status` to see what is currently installed."

## Clarification Prompts

If the plugin name is ambiguous or not clearly installed:

- "Which plugin would you like to remove? Installed plugins: sdlc@aiwg, voice@aiwg. Run `aiwg plugin-status` to confirm."

## References

- @$AIWG_ROOT/src/cli/handlers/utilities.ts — Command handler
- @$AIWG_ROOT/docs/cli-reference.md — CLI reference

Related Skills

plugin-status

104
from jmagly/aiwg

List installed Claude Code plugins with version, install date, and enabled status

Codex

package-plugin

104
from jmagly/aiwg

Bundle a single plugin into a distributable marketplace archive, validating metadata and optionally publishing

Codex

package-all-plugins

104
from jmagly/aiwg

Batch package every plugin in the workspace in a single release-prep operation

Codex

install-plugin

104
from jmagly/aiwg

Install plugins into Claude Code from the AIWG marketplace with registry lookup, download, and local deployment

Codex

aiwg-orchestrate

104
from jmagly/aiwg

Route structured artifact work to AIWG workflows via MCP with zero parent context cost

venv-manager

104
from jmagly/aiwg

Create, manage, and validate Python virtual environments. Use for project isolation and dependency management.

pytest-runner

104
from jmagly/aiwg

Execute Python tests with pytest, supporting fixtures, markers, coverage, and parallel execution. Use for Python test automation.

vitest-runner

104
from jmagly/aiwg

Execute JavaScript/TypeScript tests with Vitest, supporting coverage, watch mode, and parallel execution. Use for JS/TS test automation.

eslint-checker

104
from jmagly/aiwg

Run ESLint for JavaScript/TypeScript code quality and style enforcement. Use for static analysis and auto-fixing.

repo-analyzer

104
from jmagly/aiwg

Analyze GitHub repositories for structure, documentation, dependencies, and contribution patterns. Use for codebase understanding and health assessment.

pr-reviewer

104
from jmagly/aiwg

Review GitHub pull requests for code quality, security, and best practices. Use for automated PR feedback and approval workflows.

YouTube Acquisition

104
from jmagly/aiwg

yt-dlp patterns for acquiring content from YouTube and video platforms