Getting it into your agent
One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.
npx skills add TheStack-ai/pulser --skill skillgit clone --depth 1 https://github.com/TheStack-ai/pulserWrote this? Show the measurements
A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.
[](https://agentmods.dev/skills/thestack-ai/pulser/skill)<a href="https://agentmods.dev/skills/thestack-ai/pulser/skill"><img src="https://agentmods.dev/badge/skills/thestack-ai/pulser/skill/github.svg" alt="Measured on agentmods" height="20"></a>Or the 80×15 button, for a site that already has a row of RSS and ATOM ones. Only the verdict fits; the numbers stay here.
<a href="https://agentmods.dev/skills/thestack-ai/pulser/skill"><img src="https://agentmods.dev/badge/skills/thestack-ai/pulser/skill.svg" alt="Reviewed on agentmods" width="80" height="20"></a>What it costs to keep this loaded
Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.
| Model | Per session | Once invoked |
|---|---|---|
| Fable 5.1 | $0.00126 | $0.00780 |
| Opus 5.5 | $0.00050 | $0.00312 |
| Sonnet 5.5 | $0.00025 | $0.00156 |
| Haiku 4.5 | $0.00013 | $0.00078 |
Grade A, and why
pulser scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 1mo ago.
A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.
Nothing flagged
None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.
How it starts
The opening of the file, as written. The whole thing — 92 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Pulser — Skill Diagnostics & Testing
Run pulser to diagnose and test Claude Code skills, then present results conversationally.
How to Run
pulser --format json ~/.claude/skills/
If pulser is not installed globally, use:
npx pulser-cli --format json ~/.claude/skills/
For a single skill:
pulser --format json --skill <name> ~/.claude/skills/
How to Present Results
- Run the command above and capture JSON output
- Parse the JSON result
- Present a conversational summary:
- Total skills, score, healthy/warning/error counts
- Top issues (max 5) with skill name + issue
- "Fix these issues?" prompt
- If user says yes, apply prescriptions one by one:
- Show the before/after diff
- Ask for confirmation
- Apply via Edit tool (NOT via --fix flag — you have more context than the CLI)
Summary Format
스킬 진단 완료:
📊 30개 스킬 스캔 | Score: 76/100
✓ 22 healthy ⚠ 6 warnings ✗ 2 errors
주요 이슈:
1. cardnews — Gotchas 없음, allowed-tools 미설정
2. geo-audit — 338줄 단일파일, Gotchas 없음
3. detailpage — Gotchas 없음, allowed-tools 미설정
고칠까요?
When Fixing
Use the prescription data from JSON. For each fix:
- Read the actual SKILL.md file
- Apply the suggested change using Edit tool
- Verify the change makes sense in context
- You can improve on the template prescriptions — you understand the skill's purpose
Eval — Skill Testing
Run pulser eval to test skills that have eval.yaml files:
pulser eval --format json
For a single skill:
pulser eval --format json --skill <name>
Present eval results conversationally:
- Total tests, passed, failed, regressions
- Failed test details with assertion info
- Regression warnings (previously passing tests that now fail)
Gotchas
- Do not dump raw JSON to the user — always summarize conversationally
- If pulser is not installed, suggest
npm install -g pulser-clifirst - For --fix operations, use Edit tool directly rather than CLI --fix (you have better context)
- Score below 50 is critical — highlight urgently
- Don't fix all skills at once — group by priority, confirm with user
- Eval only works for text-output skills (analysis, research, generation, reference) — execution-type skills cannot be tested this way
- Eval requires Claude Code CLI installed (
claude -pmust be available)
What this file has done since we first saw it
Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.
- 1mo ago First seen · 92 lines · 126 tokens per session scan A e7bc5be2d916
pulser is a skill published in the GitHub repository TheStack-ai/pulser (18 stars, last pushed 3mo ago), licensed MIT. It adds 126 tokens to every session and 780 once invoked, about $0.0005 per session on Opus 5.5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-30.
Other skills, from other repositories
maintain-verification-skill
Periodic pass that keeps a project's verification skill and feature map honest: parallel source readers per feature, one live session driving every feature, at most one PR of proven corrections. Use for /maintain-verification-skill or "audit the verify skill".
create-formal-verification-skill
Generate a project-local skill that formally verifies the code where a bug costs the most and tests reach the least, in any language, with whichever verification tool fits. Use for /create-formal-verification-skill, "model-check this race", "prove this invariant", or when concurrency, retries, state machines, parsers…
tdd
Use only when the user explicitly asks for TDD, a failing test, or a regression test, OR when the bug has an obvious cheap local test target. Skip when the test path is unclear, expensive, integration-heavy, or not requested.
principle-test-behavior-not-implementation
Apply when you write, change, or keep a test. Assert what the code's users can observe, so that the test fails when that behavior breaks and keeps passing when only the internals change.
principle-prove-it-works
Apply after completing a task, before declaring done. Verify against the real artifact (run the feature, read the actual value, inspect the diff), not a proxy, self-report, or 'it compiles.'.
correct
Find the mistakes agents keep repeating in this repo and make each one impossible. Try architecture first, then types, then a lint whose error names the fix, then a test, and write docs last. Prove each check fails on a real past mistake. Repeat this each time the operator corrects you. Use for /correct.