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 ragnar-pwninskjold/tech-snacks --skill react-refactor-tournamentgit clone --depth 1 https://github.com/ragnar-pwninskjold/tech-snacksWrote 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/ragnar-pwninskjold/tech-snacks/react-refactor-tournament)<a href="https://agentmods.dev/skills/ragnar-pwninskjold/tech-snacks/react-refactor-tournament"><img src="https://agentmods.dev/badge/skills/ragnar-pwninskjold/tech-snacks/react-refactor-tournament/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/ragnar-pwninskjold/tech-snacks/react-refactor-tournament"><img src="https://agentmods.dev/badge/skills/ragnar-pwninskjold/tech-snacks/react-refactor-tournament.svg" alt="Reviewed on agentmods" width="80" height="20"></a>- NVIDIA SkillSpector pass
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.00115 | $0.01253 |
| Opus 5 | $0.00057 | $0.00626 |
| Sonnet 5 | $0.00023 | $0.00251 |
| Haiku 4.5 | $0.00012 | $0.00125 |
Grade A, and why
react-refactor-tournament 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 9d 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.
react-refactor-tournament
Harvest React/Next.js performance refactor candidates straight from the
vercel-react-best-practices skill, persist them as a tracked backlog keyed to the skill's real
rule ids and impact tiers, rank the most contested tiers, then auto-fix the worst N (each in an
isolated git worktree, with tests, committed but not pushed). This runs a bundled dynamic
workflow that fans out skill-backed reviewers in parallel, then ranks and fixes under a hard
500k-output-token cap.
It only proposes and fixes on isolated worktree branches — it never pushes or merges, and it
refuses to run at all if the vercel-react-best-practices skill isn't installed (no hand-written
stand-in).
Requirements (check first)
This skill drives Claude Code's dynamic workflows feature. Before running, confirm:
- Claude Code v2.1.154+ and a paid plan (Pro/Max/Team/Enterprise) or API access.
- Workflows are enabled (
/config→ Dynamic workflows, ordisableWorkflowsnot set, andCLAUDE_CODE_DISABLE_WORKFLOWSunset). - The
vercel-react-best-practicesskill is installed (project or user scope,.claude/skillsor.agents/skills). The workflow's first phase hard-checks this and aborts with an actionable message if it's missing — do not try to work around it.
If workflows are disabled, the Workflow tool call below will fail. If it does, tell the user to
enable Dynamic workflows in /config and re-run — do not fall back to doing the review inline
(the whole point is the parallel skill-backed harness + token cap).
Resolve the bundled workflow path
The orchestration script ships inside this plugin. Resolve its absolute path now — this works whether the plugin is installed at the personal, project, or plugin level, and regardless of the current working directory:
echo "${CLAUDE_SKILL_DIR}/../../workflows/react-refactor-tournament.workflow.js"
Use the path printed above as the scriptPath argument. Do not retype or guess it.
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.
- 9d ago First seen · 92 lines · 115 tokens per session scan A 817a79e515a9
react-refactor-tournament is a skill published in the GitHub repository ragnar-pwninskjold/tech-snacks (131 stars, last pushed 22d ago), licensed MIT. It adds 115 tokens to every session and 1,253 once invoked, about $0.0006 per session on Opus 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
copilotkit-debug
Use when diagnosing CopilotKit issues -- runtime connectivity failures, agent not responding, streaming errors, tool execution problems, transcription failures, version mismatches, and AG-UI event tracing.
copilotkit-agui
Use when building custom agent backends, implementing the AG-UI protocol, debugging streaming issues, or understanding how agents communicate with frontends. Covers event types, SSE transport, AbstractAgent/HttpAgent patterns, state synchronization, tool calls, and human-in-the-loop flows.
material-ui-nextjs
Integrates Material UI with Next.js App and Pages routers using @mui/material-nextjs, Emotion cache providers, next/font, CSS layers with Tailwind/CSS Modules, Link component prop patterns, CSS theme variables SSR notes, and App Router useSearchParams + Suspense. Use when setting up or debugging MUI in a Next.js app.
migrate-oxlint
Guide for migrating a project from ESLint to Oxlint. Use when asked to migrate, convert, or switch a JavaScript/TypeScript project's linter from ESLint to Oxlint.
inspector-workbench
Runs Inspector UI work on the standalone Threads state lab so the agent can see the overlay. Use when a CopilotKit employee asks an agent to fix, polish, add, or debug Inspector UI, chrome, panes, overlay actions, launcher, Home, Threads, Playground, Memory, or any visual behavior in @copilotkit/web-inspector. Don't…
react-doctor
Use when finishing a feature, fixing a bug, before committing React code, or when the user types /doctor, asks to scan, triage, or clean up React diagnostics. Covers lint, accessibility, bundle size, architecture. Includes a regression check and a full local-triage workflow that fetches the canonical playbook.