plugins/skill-optimizer/agent/skills/optimize-skill-performance-and-instructions/SKILL.md
Run the full optimization cycle for a plugin — review best practices, generate eval scenarios, run BOTH activation evals (does the skill self-activate?) and content evals (does the plugin help solve tasks?), diagnose gaps, fix, and re-run until scores improve. Use when someone says "optimize my skill", "improve my plugin", "run evals", "benchmark my plugin", or wants to measure and improve how well a plugin helps agents solve tasks.
npx skillsauth add pleaseai/claude-code-plugins plugins/skill-optimizer/agent/skills/optimize-skill-performance-and-instructionsInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
This skill orchestrates optimize-skill-instructions, setup-skill-performance, and optimize-skill-performance into a single end-to-end optimization cycle.
The full cycle takes 1–2 hours depending on how many scenarios and improvement iterations are needed. Set this expectation with the user upfront.
Review SKILL.md → Apply quick wins → Generate scenarios → Activation check → Content evals → Analyze → Fix → Re-run → Report
└── optimize-skill-instructions ──┘ └─────────── setup-skill-performance ───────────┘ └──────────── optimize-skill-performance ────────────┘
Two distinct eval types run in this cycle:
Both apply to every plugin (single-skill and multi-skill alike). The variable is ordering, not whether to run them.
Every tessl eval run invocation MUST include --label <run-label> so the run is identifiable in tessl eval list. The label is a short, human-readable description of what the run is about — not a structured ID.
Compose <run-label> from whatever helps you recognise the run later when scanning the list. Typical ingredients:
activation, baseline, initial evals, verificationdescription rewrite, plan-solution fixes, clean scenario(haiku-4-5), (sonnet-4-6)v0.5.0, v4Examples:
repro-clean-scenariotask-prep v0.3.0 baselinetask-prep v0.5.0 plan-solution fixesv4-final-verificationskill-insights activation (haiku-4-5)skill-insights initial evals (haiku-4-5)Keep it concise — what the run was about should be obvious without opening it.
tessl review run skills/<name> --label "<label>" # review a skill bundle (Step 1)
tessl scenario generate <plugin-path> --count=5 # generate scenarios (Step 2)
tessl eval run <plugin-path> --skip-forced-context-activation --skip-scoring --label <run-label> # test skill routing
tessl eval run <plugin-path> --agent=claude:claude-sonnet-4-6 --label <run-label> # scored eval
tessl eval view --last --json # check results
Invoke the optimize-skill-instructions skill. This runs tessl review run on the plugin's skill(s) — reviewing the whole bundle — surfaces scoring dimensions and quick wins, and applies approved changes. (For hands-off iteration, that skill can also use the automated tessl review fix loop.)
Entry criteria: The plugin has at least one SKILL.md.
Exit criteria: Review score is presented, approved quick wins are applied. Move to Step 2.
If the review score is already high (>= 85%) and the user is satisfied, skip to Step 2 without changes.
Invoke the setup-skill-performance skill with scope = "Full pipeline". Skip the scope question — go straight to Phase 1.
Before invoking, decide eval ordering by skill count:
ls skills/*/SKILL.md 2>/dev/null | wc -l
Work through all phases of setup-skill-performance (Find Plugin → Generate Scenarios → Download & QC → Activation Check → Content Evals → View Results → Next Steps). Key parameters:
--agent (e.g. claude:claude-sonnet-4-6); tessl eval run --list-agents lists the options and the current defaultDecision point after results: If the activation check has been run and reviewed AND the content eval average is ≥ 85% with no regressions, stop and report success. Otherwise, continue to Step 3.
Before invoking optimize-skill-performance, do a quick triage of the results:
Invoke the optimize-skill-performance skill starting from Phase 1 (it will detect the existing results).
Work through the improve cycle:
Iteration rule: Run up to 2 improve iterations. After the second, report results and stop — the user should review before investing more time.
Present a final summary. Activation and content results are reported separately because they measure different things — activation observes natural firing, content forces activation and scores task performance.
Optimization Complete
Plugin: <plugin-name>
Review score: XX% → YY%
Scenarios: N scenarios
Iterations: X (1 setup + Y improve rounds)
Activation Results (natural activation, no forcing)
Scenarios where a skill fired:
- Scenario A → fired: skills/<name>
- Scenario C → fired: skills/<name>
Scenarios where NO skill fired:
- Scenario B
- Scenario D
Task Eval Results (forced activation)
Scenario A: baseline XX% → with-context YY% (Δ +ZZ)
Scenario B: baseline XX% → with-context YY% (Δ +ZZ)
...
Average: XX% → YY%
Cross-reference (where the two eval types meet)
No-activation but high baseline (no skill needed — routing is fine):
- Scenario B (88% baseline) — agent already handles it
No-activation AND low baseline (real routing gap — skill helps but doesn't fire):
- Scenario D (25% baseline → 90% with-context) — suggested description edit: …
Criteria improved: [list]
Still failing: [list with brief reason]
Eval runs:
Activation: [URL]
Content: [URL]
If criteria remain stuck after 2 iterations, note whether the gap is addressable via documentation (suggest specific follow-up) or is inherently hard for the agent (suggest accepting or replacing the scenario).
Stop when:
Note: activation findings (zero-firing skills, scenarios with no activation) drive follow-up actions (description rewrites, scenario edits) but are not a numeric pass/fail gate. The gate is "ran and reviewed", not a coverage percentage — natural activation is scenario-driven, so "X of Y skills fired" is not a useful score.
tools
Creates durable, resumable workflows using Vercel's Workflow SDK. Use when building workflows that need to survive restarts, pause for external events, retry on failure, or coordinate multi-step operations over time. Triggers on mentions of "workflow", "durable functions", "resumable", "workflow sdk", "queue", "event", "push", "subscribe", or step-based orchestration.
tools
Install and configure Vercel Workflow SDK before it exists in node_modules. Use when the user asks to "install workflow", "set up workflow", "add durable workflows", "configure workflow sdk", or "init workflow" for Next.js, Express, Hono, Fastify, NestJS, Nitro, Nuxt, Astro, SvelteKit, or Vite.
tools
Migrates Temporal, Inngest, Trigger.dev, and AWS Step Functions workflows to the Workflow SDK. Use when porting Activities, Workers, Signals, step.run(), step.waitForEvent(), Trigger.dev tasks / wait.forToken / triggerAndWait, ASL JSON state machines, Task/Choice/Wait/Parallel states, task tokens, or child workflows.
tools
Use when building UIs leveraging the WordPress Design System (WPDS) and its components, tokens, patterns, etc.