From claude-cowork-lint
Validate the current Claude skill/plugin/agent repo against the Claude Cowork runtime contract. Use when the user asks to "lint my skill", "check my plugin for Cowork issues", "why isn't my agent working in Cowork", or mentions tools being filtered/stripped. Triggers: cwlint, claude-cowork-lint, cowork contract, sub-agent tool filter, host-loop excluded builtins, plugin hooks not firing, disable-model-invocation. <!-- cwlint: ignore CW003 reason="trigger-phrase docstring, not a runtime reference" --> Also fires on the bare `$CLAUDE_PLUGIN_ROOT` form (CW003). Requires the `claude-cowork-lint` (or `cwlint`) binary on PATH — `npm i -g claude-cowork-lint`.
How this skill is triggered — by the user, by Claude, or both
Slash command
/claude-cowork-lint:claude-cowork-lintThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
Use this skill to drive the `claude-cowork-lint` CLI from inside Claude
Use this skill to drive the claude-cowork-lint CLI from inside Claude
Code/Cowork.
Ys_, LW8, MGn, or talks about
Cowork's tool filters.Confirm the binary is on PATH:
command -v claude-cowork-lint || command -v cwlint
If neither is found, suggest npm i -g claude-cowork-lint (Node 20+).
Run the checker on the current repo:
claude-cowork-lint check . --format json
Use --format json so you can parse findings programmatically; render
summary back to the user in plain prose.
For each finding, look up the rule in docs/RULES.md (in the project's
GitHub repo) and explain the fix.
Offer to suppress (with a reason) if the user has a legitimate reason to keep the offending pattern.
claude-cowork-lint CLI is read-only — never mutates the user's repo.Creates, edits, and optimizes skills for Claude Code, including drafting, evaluating with test prompts, iterating on performance, and improving skill descriptions for better triggering accuracy.
npx claudepluginhub yaniv-golan/claude-cowork-lint --plugin claude-cowork-lint