Pulser — SKILL.md Linter
A SKILL.md linter for Claude Code that auto-diagnoses, grades, and prescribes fixes against Anthropic's published skill best practices.
The skill primarily runs a local CLI to scan SKILL.md files, summarizes JSON conversationally; the fix flow requires showing diffs and per-item user confirmation via the Edit tool, the CLI offers backup and pulser undo rollback, and permissions are scoped (Bash(pulser *), npx, Read, Edit). Deductions: publisher unverified; postinstall script and npx pulser-cli execute external npm code with supply-chain transparency resting only on SECURITY.md declarations, no lockfile/audit evidence shown.
SKILL.md instructions are self-consistent with failure-path hints (suggest global install if missing; eval limited to text-output skills requiring claude -p). Deductions: static review cannot reproduce key paths; CI runs only lint+build with no committed test suite covering diagnostic/eval rules; no sample JSON schema and error-message quality on abnormal input is unproven.
Trigger conditions are fairly precise (check skills / audit skills / pulser, etc.) and eval boundaries (text-output skills only, Claude Code CLI required) are stated. Deductions: examples and triggers skew Korean, Chinese/English trigger coverage is partial; core distribution depends on the npm registry, whose reachability from mainland China is uncertain, with no mirror or offline option documented.
Documentation is well layered: concise SKILL.md, detailed README with rule table, install, exit codes, rollback; MIT license, version 0.4.0, SECURITY.md, repo/homepage/issue links. Deductions: no CHANGELOG or explicit maintenance commitment (only a security-report SLA); 'under review on Anthropic Plugin Directory' is an unverified claim.
The core task (8-rule diagnosis, classification, prescriptions, conversational fixes) has a complete path with sample output, clear efficiency gains over manual checks, and backup/rollback reducing cost. Deductions: static review cannot verify output correctness or direct usability; eval cost/stability via claude -p is unquantified; several showcase outputs are marketing-style content.
Auditable primary material exists: SKILL.md, README, package., SECURITY.md, and a CI workflow covering node 18/20/22 with frozen installs. Deductions: CI contains no test step; no committed tests or third-party reproduction for the diagnostic rules or eval assertions, so key claims (scores, prescription quality) rest on author self-reporting; static coverage is limited.
- The postinstall script and npx pulser-cli execute external npm code; review scripts/postinstall.cjs and dependencies before installing.
- Core distribution relies on the npm registry; mainland-China users may face slow or blocked access, and no mirror option is provided.
- This was a static review with nothing executed: the real quality of diagnostic scores and eval results is not independently reproduced.
- Fixes modify user skill files via the Edit tool; although confirmation and rollback exist, manually back up ~/.claude/skills/ first.
- The publisher is not verified by the FollowSkills registry; identity cannot be confirmed.
What does this skill do, and when should you use it?
Pulser is an open-source static analysis tool that diagnoses and tests Claude Code skills. It scans your skills directory, checks each SKILL.md against 8 rules (frontmatter, description, gotchas, allowed-tools, file size, structure, trigger conflicts, usage-hooks), auto-classifies each skill by type, and generates tailored prescriptions. As of v0.4.0 it also runs eval tests through claude -p for skills that ship an eval.yaml, tracking regressions. Installing the npm package registers it as a Claude Code skill, so you can trigger it conversationally with 'check my skills' or /pulser. It is MIT-licensed, ships an npm CLI and a GitHub Action, and is featured in the Awesome Claude Code Toolkit.
Scans SKILL.md files in ~/.claude/skills/ (or a given directory); diagnoses them against 8 rules derived from Anthropic's skill best practices; auto-classifies each skill as analysis, research, generation, execution, or reference with a confidence-scored health rating; reports a score, healthy/warning/error counts, and top issues; generates prescriptions with templates and applies safe structural fixes via --fix with full backup and pulser undo rollback. pulser eval reads eval.yaml next to a skill, runs test inputs through claude -p, validates assertions (contains, starts-with, min-length, matches, etc.), and tracks regressions with distinct exit codes. JSON and Markdown output formats support CI/automation.
- A developer maintaining many Claude Code skills wants a fast pre-publish audit with a prioritized fix list
- A team wants to gate skill quality in CI/CD using --format with --strict so warnings fail the pipeline
- An engineer iterating on SKILL.md prompts wants regression testing via eval.yaml so edits don't break previously passing cases
- An open-source skill author wants to offer a linter GitHub Action so users can lint their own repos
- A newcomer writing SKILL.md lacks Gotchas and allowed-tools sections and wants template-based fixes per Anthropic best practices
What are this skill's strengths and limitations?
- Rules are derived directly from Anthropic's published skill best practices, with template-backed prescriptions explaining why each fix matters
- Fixes are backed up and reversible via pulser undo; conversational fixing shows diffs and asks for confirmation per change
- Eval offers 7 assertion types and regression tracking with dedicated exit codes for CI integration
- MIT-licensed with an npm package and a GitHub Marketplace Action; featured in Awesome Claude Code Toolkit
- Eval only works for text-output skills (analysis, research, generation, reference); execution-type skills cannot be tested, and the claude CLI must be installed locally
- The skill's allowed-tools frontmatter uses Claude Code-only Bash(...) permission syntax, which requires rewriting on other platforms
- SKILL.md depends on Edit and Bash tool permissions, so it won't work in clients lacking those tools
- No test suite or quality evidence is shown in the README, and its Anthropic Plugin Directory listing is still marked under review
How do you install this skill?
Run npm install -g pulser-cli. On install, pulser registers itself as a Claude Code skill automatically. For CI, a Pulser Action is available on GitHub Marketplace (the workflow YAML is not documented in the source material).
How do you use this skill?
In Claude Code, say 'check my skills' or run /pulser to get a conversational diagnosis and confirm fixes one by one. In a terminal: pulser scans the default path; pulser ./my-skills/ scans a directory; pulser --skill reasoning-tracer checks one skill; pulser --fix applies fixes with backup and pulser undo rolls back; pulser --format or md emits reports; pulser eval runs eval.yaml tests. Skills follow the repository layout with SKILL.md at skill/SKILL.md.