By nekocode
Self-evolving skills system — creates, discovers, iterates, and optimizes Claude Code skills.
Create a new Claude Code skill from a prompt describing the desired workflow. Skill name is auto-derived.
Iterate an existing skill from a prompt describing what to improve. Target skill is matched from registry.
Rename a skill — updates directory, all file references, workspace, and registry. Handles both project and user scope.
Scan the current project for reusable workflow patterns and propose skill opportunities. Accepts an optional free-form prompt as focus hint.
Executes bash commands
Hook triggers when Bash tool is used
Modifies files
Hook triggers on file write and edit operations
Own this plugin?
Verify ownership to unlock analytics, metadata editing, and a verified badge. GitHub access is read-only (username + org membership).
Sign in to claimOwn this plugin?
Verify ownership to unlock analytics, metadata editing, and a verified badge. GitHub access is read-only (username + org membership).
Sign in to claimBased on adoption, maintenance, documentation, and repository signals. Not a security audit or endorsement.
A Claude Code plugin that turns skill creation, discovery, iteration, and optimization into a skill itself — a meta-system for skills.
Claude Code skills solve "how to codify workflows into reusable slash commands." But three gaps remain:
| Gap | skill-forge's Answer |
|---|---|
| Don't know when to create a skill | Auto-detects complex tasks, proactively asks |
| Don't know if a skill is well-written | Built-in 4-dimension evaluator, won't save below threshold |
| Don't know if a skill will actually trigger | Dedicated description optimization phase, eval-driven |
Via CLI (recommended):
npm install -g @nekocode/skill-forge
skill-forge install
Or manually in Claude Code (installs to user-global scope):
/plugin marketplace add nekocode/skill-forge
/plugin install skill-forge
Run skill-forge doctor to verify your environment.
| Command | What it does |
|---|---|
/scan [prompt] | Scan project for skill opportunities. Optional prompt as focus hint |
/create <prompt> | Create a new skill from prompt. Name auto-derived |
/improve <prompt> | Iterate existing skill from prompt. Target matched from registry |
/rename <old> <new> | AI-driven skill rename — updates dir, SKILL.md body, workspace, registry |
Auto mode: After complex tasks (5+ tool calls), the Stop hook detects the pattern and offers to create a skill — no manual invocation needed.
External content (grep/glob/read output) goes to .skill-forge/insights.md (low trust, hooks don't read it). Only after validation does content get promoted to .skill-forge/draft.md (high trust, injected by hooks). This prevents prompt injection amplification. Workspace lives at project-local ./.skill-forge/ — outside .claude/ entirely, so write permissions don't need the trust-boundary exemption and Python/shell both resolve the same absolute path without any slug-translation step.
New skills are assembled in .skill-forge/staging/<name>/ (SKILL.md, scripts/, CHANGELOG, .opt/). finalize_skill.py then runs shutil.copytree in a subprocess to move the tree into .claude/skills/<name>/ — bypassing Claude's tool permission layer, which would otherwise prompt on any Write into a not-yet-real skill dir (empty dirs fail the trust-boundary exemption until a SKILL.md lands). Improve mode uses the same staging path: init_improve.py copies the live skill into staging, Claude edits there, and finalize --mode update rmtree's the target and copies staging back atomically.
Skill-scoped hooks (SKILL.md frontmatter) — only active when skill-forge is engaged. All four run via one Python entrypoint (hook_draft_inject.py / skill_check.py) for cross-platform consistency:
UserPromptSubmit — Inject draft header into attention windowPreToolUse — Small draft-head dump before Read/Glob/Grep/Bash (goal-drift guard)PostToolUse — Nudge draft update after Write/EditStop — Check for unprocessed skill opportunities (skipped when a draft is active, to prevent self-looping)Global hooks (hooks/hooks.json, auto-registered by plugin system):
SessionStart — Reset counters + inject skill inventoryPostToolUse — Tool counting + registry update on SKILL.md writesStop — Detect complex workflows, trigger auto modePreCompact — Mark compact state to prevent false positivesUserPromptSubmit — Keyword matching for skill creation promptsComplex task completed
-> Stop hook / manual invocation
-> scan -> create (draft -> research -> SKILL.md -> eval >= 6/8)
-> .claude/skills/<name>/SKILL.md
-> improve (diagnose -> content patch / trigger eval loop -> changelog + version bump)
-> repeat after real usage
On each new session, skill_catchup.py scans the previous session's JSONL for uncaptured complex tasks (5+ tool calls after last draft write). Solves "forgot to save as skill yesterday."
npx claudepluginhub nekocode/skill-forge --plugin skill-forgeMaintain FILETREE.md — one-line description per file with content hashes for staleness detection.
Multi-model consensus engine integrating OpenAI Codex CLI, Gemini CLI, and Claude CLI for collaborative code review and problem-solving.
Ultra-compressed communication mode. Cuts ~75% of tokens while keeping full technical accuracy by speaking like a caveman.
Comprehensive UI/UX design plugin for mobile (iOS, Android, React Native) and web applications with design systems, accessibility, and modern patterns
Curate auto-memory, promote learnings to CLAUDE.md and rules, extract proven patterns into reusable skills.
Memory compression system for Claude Code - persist context across sessions
Standalone image generation plugin using Nano Banana MCP server. Generates and edits images, icons, diagrams, patterns, and visual assets via Gemini image models. No Gemini CLI dependency required.