Validate plugin SKILL.md frontmatter and audit hook scripts for silent failures. Run validation to check all plugins pass schema, source path, and frontmatter checks. Run hook audit to detect unhandled errors in shell and Python scripts.
Scanned 5/27/2026
Install via CLI
openskills install rube-de/cc-skills---
name: plugin-dev
description: "Validate plugin SKILL.md frontmatter and audit hook scripts for silent failures. Run validation to check all plugins pass schema, source path, and frontmatter checks. Run hook audit to detect unhandled errors in shell and Python scripts."
allowed-tools: [Read, Bash, Grep, Glob]
user-invocable: true
---
# Plugin Development Tools
On-demand validation and hook auditing for the cc-skills marketplace.
## Triggers
Use this skill when the user says: "validate plugins", "check plugin", "hook audit", "validate skills", "audit hooks", "check skill frontmatter", "plugin validation".
## Available Tools
### 1. Plugin Validation
Validates all registered plugins: JSON Schema, source paths, orphan detection, and SKILL.md frontmatter.
```bash
bun scripts/validate-plugins.mjs
```
**What it checks:**
- marketplace.json conforms to JSON Schema
- All plugin `source` paths exist on disk
- No orphaned plugin directories (dirs without marketplace entries)
- SKILL.md frontmatter has valid `name` (kebab-case) and non-empty `description`
- Every plugin has at least one component directory (skills/, hooks/, commands/, agents/)
### 2. Hook Audit
Scans hook and script files for silent failure patterns.
```bash
bash plugins/plugin-dev/scripts/audit-hooks.sh
```
**What it checks:**
- Shell scripts (`.sh`): `mkdir`/`cp`/`mv`/`rm` without error handling (unless `set -e` is active)
- Python scripts (`.py`): bare `except: pass` or `except Exception: pass`
- Optional: ShellCheck integration (skipped with message if not installed)
**Exit codes:** 0 = clean, 1 = findings
## Workflow
When the user asks to validate or audit:
1. Run `bun scripts/validate-plugins.mjs` for plugin validation
2. Run `bash plugins/plugin-dev/scripts/audit-hooks.sh` for hook auditing
3. Report results clearly — separate passing checks from failures
4. For failures, suggest specific fixes
## Scaffolding
To scaffold a new plugin interactively, use the command:
```
/plugin-dev:create [plugin-name]
```
This is a separate slash command — not part of this skill.
No comments yet. Be the first to comment!
Ultra-compressed commit message generator. Cuts noise from commit messages while preserving intent and reasoning. Conventional Commits format. Subject ≤50 chars, body only when "why" isn't obvious. Use when user says "write a commit", "commit message", "generate commit", "/commit", or invokes /caveman-commit. Auto-triggers when staging changes.
Ultra-compressed code review comments. Cuts noise from PR feedback while preserving the actionable signal. Each comment is one line: location, problem, fix. Use when user says "review this PR", "code review", "review the diff", "/review", or invokes /caveman-review. Auto-triggers when reviewing pull requests.
Remove unused code from this project with ultrawork mode, LSP-verified safety, atomic commits. Triggers: remove dead code, dead code, cleanup, remove unused.
Verification loop for Django projects: migrations, linting, tests with coverage, security scans, and deployment readiness checks before release or PR.
一个全面的 Claude Code 会话验证系统。