From co-intelligence
Use when the user asks to create, modify, edit, update, refine, fix, improve, delete, or audit any Claude Code skill or SKILL.md file - including plugin skills. Also use when the user says "make a skill", "change this skill", "add a mode to skill X", "modify plugin-update to do Y", "edit the co-intelligence skill", or mentions skill quality. MUST be used for all skill modifications - never edit SKILL.md files directly without this skill. With no argument, refines local skills only (~/.claude/skills/). When a specific skill name is given, works for both local and plugin skills.
npx claudepluginhub 5tux/co-intelligence --plugin superpowersThis skill uses the workspace's default tool permissions.
Create, refine, and manage Claude Code skills.
Triggers research for existing libraries, tools, and patterns before coding new features. Searches npm, PyPI, MCP/skills, GitHub; evaluates matches and decides adopt/extend/build.
Audits cross-stack repos (C++/Android/iOS/Web), classifies files as project/third-party/artifacts, detects embedded libraries, assigns module verdicts, generates interactive HTML reports.
Reorganizes X and LinkedIn networks: review-first pruning of low-value follows, priority-based add/follow recommendations, and drafts warm outreach in user's voice.
Share bugs, ideas, or general feedback.
Create, refine, and manage Claude Code skills.
Accumulates knowledge over time in knowledge.md — gets better with each use.
/skillsmith → refine all skills, then tidy repo
/skillsmith <name> → refine one skill, then tidy repo
/skillsmith <name> <changes> → user-specified changes + auto-discovered refinements
/skillsmith new <name> → create a new skill
/skillsmith delete <name> → delete a skill (with dependency check)
/skillsmith tidy-only → only audit structure, update docs, commit
Parse $ARGUMENTS:
tidy-only → jump to §Tidy Modenew <name> → jump to §Create Modedelete <name> → jump to §Delete Mode~/.claude/skills/<target>/SKILL.md~/.claude/plugins/marketplaces/*/skills/<target>/SKILL.md — you are the plugin author. Edit here. Warn: "Editing marketplace source for . Run plugin-refresh-cache.sh <plugin> after to test locally."~/.claude/plugins/cache/*/*/*/skills/<target>/SKILL.md — no local marketplace. Warn: "No marketplace repo found. Editing cache copy - changes are local only."After parsing arguments, ALWAYS print a signature block before doing anything else. This makes the resolved mode and target visible to the user:
skillsmith — <mode>
Target: <name or "all">
Changes: "<user-provided changes or none>"
Modes: <name> [changes] | new <name> | delete <name> | tidy-only | (no args = all)
Example:
skillsmith — refine
Target: claude-setup
Changes: "add bashrc auto-resolve for CLAUDE_PLUGIN_ROOT"
Modes: <name> [changes] | new <name> | delete <name> | tidy-only | (no args = all)
This skill stores mutable state in the plugin data directory. At the start of every invocation:
CLAUDE_PLUGIN_DATA env var → $PLUGIN_DATA$PLUGIN_DATA/skillsmith/ if it doesn't exist$PLUGIN_DATA/skillsmith/knowledge.md doesn't exist, copy from templates/knowledge.md in this skill's directory$PLUGIN_DATA/skillsmith/history/ doesn't exist, create itAll references to knowledge.md and history/ below mean the copies in $PLUGIN_DATA/skillsmith/.
/skillsmith new <name>)Ask the user:
After gathering intent, detect the skill's purpose/domain and search for how people solve that specific problem in the real world:
gh search code or gh search repos)If useful references are found, include a ## References section in the generated SKILL.md. For repos, pin the exact commit SHA so future refinements can diff against it. Format:
## References
- <description>: <url> (commit: <sha>)
Create ~/.claude/skills/<name>/SKILL.md with:
name, description (start with "Use when...", trigger-focused, no workflow summary, under 500 chars, third person)argument-hint to the command file (commands/<name>.md), not SKILL.md — only command files control the UI hintInvoke superpowers:writing-skills for the TDD creation cycle — baseline testing, pressure scenarios, refinement. This handles the quality methodology; skillsmith handles the repo integration.
knowledge.md per-skill noteshistory/<name>.md with creation date/skillsmith delete <name>)Check ~/.claude/skills/<name>/SKILL.md exists. If not, list available skills and stop.
Scan ALL other skills for references to the target:
SKILL.md and reference files for <name> (skill name, command name, directory name)knowledge.md for per-skill notes referencing the targetconfig.local.yaml and architecture.md for referencesIf dependencies found, show them and ask: "These skills reference <name>. Proceed with deletion? The references will need manual cleanup."
Show the skill's SKILL.md summary and ask: "Delete <name>/ and all its files? This cannot be undone."
~/.claude/skills/<name>/ directoryknowledge.md per-skill noteshistory/<name>.md content to a "Deleted Skills" section in knowledge.md (preserve history)HARD GATE: Steps 1-2-2b must ALL complete before ANY edits. If you find yourself opening a file to edit without having web search results in this conversation, STOP. You are violating the workflow. Go back to Step 2. This applies even when the change seems obvious from session context.
$PLUGIN_DATA/skillsmith/knowledge.md (pitfalls, strategies, per-skill notes).history/<target>.md if it exists (previous refinements).SKILL.md entirely.skillsmith: also review knowledge.md for stale/redundant entries, and check if SKILL.md instructions match what actually happens during refinements.This step is NOT optional. Always run at least one web search before proposing changes. Without current context, you risk proposing outdated patterns or missing better approaches that already exist.
Search the web for current best practices related to what the skill does:
Run 1-2 searches. Summarize findings in 3-5 bullets before proceeding. Look for: What are experts doing today that this skill doesn't do yet?
After skill-design best practices, research the skill's specific domain/use case:
gh search repos, gh search code)Run 1-2 searches. Summarize findings in 3-5 bullets. Look for: What are the known challenges and best solutions in this domain?
If useful references are found, add or update a ## References section in the skill's SKILL.md. For repos, pin the exact commit SHA so future refinements can diff against it:
## References
- <description>: <url> (commit: <sha>)
Gate check: Before running the health check, verify that web search results from Step 2 are present in this conversation. If you cannot point to specific search findings from this session, STOP and run Step 2 now. Do not proceed past this point without completed research.
Read analysis.md for the rubric. Report a compact table of size, frontmatter validity, brackets, description quality, and any CRITICAL issues.
Scriptify check: Scan the skill for embedded bash/python snippets or instructions that tell the LLM to run 3+ independent deterministic checks. If found, flag as EFFICIENCY and propose creating a companion .sh script. Reference the scriptify principle in Rules.
Based on your understanding and research, ask targeted questions. Wait for answers before proceeding.
Combine insights from understanding, research, user feedback, and knowledge.md pitfalls.
If user provided desired changes, include those as [USER] changes (priority) alongside auto-discovered [REFINE] changes. Propose:
Ask: "Apply all, pick specific numbers, or skip?"
superpowers:writing-skills to run a pressure
scenario verifying the change works. Skip for STRUCTURAL/QUALITY/TOKEN-SAVE
changes (formatting, signatures, description rewrites).$PLUGIN_DATA/skillsmith/history/<target>.md./skillsmith tidy-only)Runs automatically after refinements. Also available standalone.
Operates on ~/.claude/skills/.
SKILL.md exists and has valid YAML frontmatter (name, description).SKILL.md, brackets []{} in YAML description, nested .git dirs, data separation violations, orphan directories, missing signature block.Compare ~/.claude/skills/README.md against actual contents. Apply updates if needed (create if missing).
Verify coverage: config.local.yaml, *.html, .env, credentials.*, *.key, __pycache__/, *.pyc, uv.lock.
Show files modified during this session. If ~/.claude/skills/ is a git repo,
use git diff --stat. Otherwise list recently modified files.
Scan for sensitive content and data separation violations before staging:
profile.yaml, offers.json, cv.md, per-user subdirectories).env, .key, credentials.* filesAPI_KEY=, password=, token=Show a summary of all changes made during this session. If ~/.claude/skills/
is a git repo, offer to stage and commit. Otherwise just list what changed.
When no argument is provided:
~/.claude/skills/ is a git repo, ask before committing. If not, skip git operations.~/.claude/skills/ (local skills). Plugin skills resolve marketplace-first (~/.claude/plugins/marketplaces/), cache as fallback. Marketplace edits are the source of truth for authors; cache edits are local-only.~/.claude/skills/ (path configured in config.local.yaml). Flag violations during health check and tidy.#!/usr/bin/env bash; (b) detect OS via uname -s and branch for Windows Git Bash, Linux, Mac; (c) use cygpath on Windows for path conversion; (d) detect python3 vs python; (e) output structured text the LLM can parse (markdown tables, KEY:VALUE lines); (f) prefer POSIX-compatible constructs where possible for portability. The LLM keeps only interactive decisions, ambiguous interpretation, and user-facing communication.This skill participates in the co-intelligence feedback loop. After completing
a task, if friction was observed (user corrections, workarounds, missing modes,
suboptimal output), suggest: "Want me to /skillsmith skillsmith to refine this?"
and log the observation to $PLUGIN_DATA/friction.md. See
references/self-refinement.md for the full protocol.