Atlas / Skills / dicklesworthstone / Plugin Creator

Plugin CreatorSAFE

skills/dicklesworthstone/plugin-creator

High-performance AI coding agent CLI written in Rust with zero unsafe code

Verdict
SAFE
Grade
B
Trust score
89 /100
Version
—
Hosts
1 documented
License
NOASSERTION
Stars
1,872
01

Overview

High-performance AI coding agent CLI written in Rust with zero unsafe code

Read from source at commit 46a2537504c9OBSERVED · 2026-10-10
02

Host compatibility

What the documentation claims. We have not run a compatibility test.

HostStatusNotes
claude-codementioned
03

What it tells the agent

The instruction file, verbatim from the audited commit — this is the text the model reads, and the surface the audit's instruction layer examines. Quoted here so you can judge it without cloning anything.

---
name: plugin-creator
description: >-
  Use this skill when asked to "create a plugin", "build a new plugin",
  "make a Claude Code plugin", "scaffold plugin", "plugin structure",
  "add commands/agents/skills/hooks to plugin", or when helping with plugin development.
---

# Plugin Creator Skill

This skill provides comprehensive guidance for creating Claude Code plugins with proper structure, following official patterns from the Anthropic claude-code repository.

## Plugin Directory Structure

A complete Claude Code plugin follows this structure:

```
plugin-name/
├── .claude-plugin/
│   └── plugin.json          # Required: Plugin metadata manifest
├── agents/                  # Optional: Agent definitions (.md files)
│   └── agent-name.md
├── skills/                  # Optional: Skill directories
│   └── skill-name/
│       └── SKILL.md
├── commands/                # Optional: Slash commands (.md files)
│   └── command-name.md
├── hooks/                   # Optional: Event handlers
│   └── hooks.json           # Hook configuration
└── README.md                # Plugin documentation
```

## Plugin Manifest (plugin.json)

Required fields:
- `name`: Plugin identifier (kebab-case, 3-50 chars)

Optional fields:
- `version`: Semantic version (X.Y.Z)
- `description`: Brief description
- `author`: Object with `name` and optional `email`
- `mcpServers`: MCP server configurations

Example:
```json
{
  "name": "my-plugin",
  "version": "1.0.0",
  "description": "What the plugin does",
  "author": {
    "name": "Your Name",
    "email": "[email protected]"
  }
}
```

## Creating Agents

Agent files go in `agents/` directory with `.md` extension.

Agent frontmatter fields:
- `name`: Agent identifier (required)
- `description`: Triggering conditions with `<example>` blocks
- `model`: `inherit` (default), `sonnet`, `opus`, or `haiku`
- `color`: `blue`, `cyan`, `green`, `yellow`, `magenta`, `red`
- `tools`: Array of allowed tools (optional, all tools if omitted)

Agent template:
```markdown
---
name: my-agent
description: >-
  Use this agent when the user asks to "do something", "perform action",
  or mentions specific keywords.

  <example>
  Context: User wants to perform specific task
  user: "Please do the thing"
  assistant: "I'll use the my-agent agent to help with this."
  <commentary>
  User explicitly requested the functionality this agent provides.
  </commentary>
  </example>
model: inherit
color: green
tools: ["Read", "Write", "Bash"]
---

You are an expert [role] specializing in [domain].

**Core Responsibilities:**
1. First responsibility
2. Second responsibility
3. Third responsibility

**Process:**
1. Analyze the request
2. Plan the approach
3. Execute the solution
4. Verify the results

**Quality Standards:**
- Standard one
- Standard two

**Output Format:**
Describe expected output format here.
```

## Creating Skills

Skills go in `skills/` directory, each in its own subdirectory with a `SKILL.md` file.

Skill frontmatter:
- `name`: Skill identifier (required)
- `description`: When to trigger (with strong trigger phrases)

Skill template:
```markdown
---
name: my-skill
description: >-
  Use this skill when asked to "specific action", "related task",
  "keyword phrase", or when dealing with [domain].
---

# Skill Name

Brief description of what this skill provides.

## When to Use

- Trigger condition 1
- Trigger condition 2
- Trigger condition 3

## Core Concepts

Explain the main concepts and techniques.

## Best Practices

1. Practice one
2. Practice two
3. Practice three

## Examples

### Example 1: Basic Usage
```code
example code here
```

### Example 2: Advanced Usage
```code
more complex example
```
```

## Creating Commands

Commands go in `commands/` directory with `.md` extension.

Command frontmatter:
- `description`: What the command does (shown in `/` menu)
- `argument-hint`: Placeholder text for arguments (optional)
- `allowed-tools`: Array of tools command can use (optional)

Command template:
```markdown
---
description: Brief description of what command does
argument-hint: <optional argument>
allowed-tools: ["Read", "Write", "Bash"]
---

Instructions for Claude when this command is invoked.

You should:
1. Step one
2. Step two
3. Step three
```

## Creating Hooks

Hooks go in `hooks/hooks.json` and execute on specific events.

Hook events:
- `PreToolUse`: Before tool execution (validate/block)
- `PostToolUse`: After tool execution (audit/react)
- `Stop`: When Claude stops (force continue)
- `SubagentStop`: When subagent stops
- `SessionStart`: When session begins (load context)
- `SessionEnd`: When session ends (cleanup)
- `UserPromptSubmit`: When user submits prompt
- `PreCompact`: Before context compaction
- `Notification`: On notifications

hooks.json template:
```json
{
  "description": "Plugin hooks description",
  "hooks": {
    "PreToolUse": [
      {
        "matcher": "Write|Edit",
        "hooks": [
          {
            "type": "command",
            "command": "${CLAUDE_PLUGIN_ROOT}/scripts/validate-write.sh",
            "timeout": 30
          }
        ]
      }
    ],
    "SessionStart": [
      {
        "matcher": "startup",
        "hooks": [
          {
            "type": "command",
            "command": "${CLAUDE_PLUGIN_ROOT}/scripts/load-context.sh"
          }
        ]
      }
    ]
  }
}
```

Hook types:
- `command`: Execute bash script
- `prompt`: LLM-based evaluation (for Stop, SubagentStop)

Important: Use `${CLAUDE_PLUGIN_ROOT}` for portable paths within plugin.

## Hook Scripts

Create executable scripts in `scripts/` directory:

```bash
#!/usr/bin/env bash
# scripts/validate-write.sh

# Read JSON input from stdin
INPUT=$(cat)

# Extract fields
TOOL_NAME=$(echo "$INPUT" | jq -r '.tool_name')
FILE_PATH=$(echo "$INPUT" | jq -r '.tool_input.file_path // empty')

# Validation logic
if [[ "$FILE_PATH" == *.env* ]]; then
  echo "Cannot write to .env files" >&2
  exit 2  # Exit 2 = block with message to Claude
fi

exit 0  # Exit 0 = all
04

Trust audit

SAFEgrade B · trust 89/100 Nothing in the source contradicts what it says it does. Grade A is reserved for packages that have also passed the behavioural sandbox.

LayerWhat it checksResult
L0Provenance & inventoryWARN
L1Static analysis of the codePASS
L2Instruction surface (what it tells the agent)PASS
L3Class-specific surfacePASS
L4Behavioural (sandbox)SKIPPED

What the source does

Filesystem
none-observed
Network
none-observed
Shell
none-observed
Dependencies
pinned
Secrets in source
none-found

Findings (1)

MEDIUMInventory / provenance · inv.symlink · CWE-1104
.beads/beads.jsonl
.beads/beads.jsonl
Why it matters. link not followed

Gates applied: no_behavioural_pass.

Audited 2026-10-10 · audit v0.4.1 · source sha 46a2537504c9full audit observations/trust-audit/skill/dicklesworthstone__plugin-creator.json · Report an issue / request a re-scan
05

Audit history

Every audit this skill has had.

DateSourceVerdictGradeScoreChange
2026-10-1046a2537504c9SAFEB89first audit
06

Questions

What does the Plugin Creator skill do?

High-performance AI coding agent CLI written in Rust with zero unsafe code

Is Plugin Creator safe to install?

The audit found nothing in the source that contradicts what it says it does, and graded it B (89/100). Grade A is held back for packages that have also passed a sandboxed behavioural run, which is why a clean skill reads B.

What can Plugin Creator access on my machine?

The audit observed no filesystem, network or shell use at all in its source.

Which assistants does Plugin Creator work with?

Its documentation mentions claude-code. That is what the text claims, not a compatibility test we ran.

How current is this page?

The grade is for one exact copy of the source (46a2537504c9), read on 2026-10-10. The repository is watched, and a new audit runs when it changes — this is the first audit.

Advertisement