MCPInstall

skillz

Add, improve, audit, wedge, or autoimprove a skill. Improve and audit also accept a sub-agent definition. The result runs predictably on Claude Code, Codex, OMP, and other Agent Skills hosts. Use for /skillz , "improve this skill", "autoimprove this skill", "optimize this skill", "tighten this skill", "audit this agent", "new skill for X", "skill not triggering", "fix trigger rate", "wedge this", "turn this repeated work into a CLI", or "what in this skill should be a CLI". Do NOT use for CLAUDE.md or system-prompt edits, or for code changes that a cheese pipeline skill owns.

Installs
96
Last 24h
—
Trending rank
—
Security
Not audited

Install

Works with every agent the skills CLI supports.

npx skills add https://github.com/paulnsorensen/skillz-that-grillz --skill skillz
  1. 01

    Install

    Run the command in your project. The CLI asks which agents to install for.

  2. 02

    Describe the task

    Ask your agent for something this skill covers. It loads skillz automatically when relevant.

  3. 03

    Review the result

    The agent follows the SKILL.md steps, scripts and references bundled with the skill.

SKILL.md

The instructions your agent reads when the skill is triggered.

skillz

Add, improve, audit, wedge, and autoimprove skills. Improve and audit also accept agent definitions. The product is a predictable definition: the same process on every run and on every harness. Every lens asks one question of each line: does this make the run more predictable, or is it sediment?

The mode is the first word after the skill name. The Aliases column lists the names that select the same mode. Require a target for each mode. Ask for the mode when it is missing. Ask for a target when the mode requires one.

Modes

ModeAliasesTargetAnalyticsWritesProduct
add <name>nonea new skill namenocreates skills/<name>/a registered skill that passes the rubric
improve <path>optimize, tightena SKILL.md or agent fileyes, unless it reuses a current auditthe analytics cache; the target after approvalapproved fixes + residual findings
audit <path>nonea SKILL.md or agent fileyesthe analytics cache only; never the targetcalibrated report
wedge <path>nonea SKILL.mdnothe target skill: each selected CLI, its delivery files, its call site, and any dependency writean offload brief, then one CLI per selected candidate, each in its own directory when wedged, or with a stated reason
autoimprove <path>experimenta skill directory; no contract or manifestcases that the user approves; agent-drafted session cases when analytics existsisolated run directorya holdout gate verdict and a private candidate patch

audit never modifies the target. The Usage ceremony of audit and improve runs scripts/agent-session-analytics.pyz ingest, which creates or refreshes the analytics cache. references/analytics-ceremony.md has the details. Skip Usage and the raw-log fallback write no cache.

For autoimprove, read references/experiments.md. Follow its workflow, not the shared audit protocol. Before you write or check evals/evals.json, evals/journeys.json, or evals/autoimprove.json, read references/eval-formats.md. The agent drafts the cases. The user needs no contract and no case manifest. Run scripts/skillz-experiment.pyz run, answer each coded stop, and then run export. Ask at most three questions: harness and model, case approval, and budget approval. Report the runner, export, and improvement claims, each with its status and evidence. Apply a winner only when claims.apply is true. When the user selects the claude adapter or a custom command check, also read references/experiment-harness.md. For Gemini CLI, Copilot CLI, Cursor CLI, OpenCode, or Pi, also read references/harness-recipes.md. Use the installed scripts/skillz-experiment.pyz. Do not require a source checkout.

Shared protocol

1. Read and classify

Read the target. Read a linked reference only when its stated trigger matches the run. A full-package audit may explicitly read every file in the target package. For a skill directory, run python3 <this-skill-directory>/scripts/skillz-experiment.pyz audit-facts <skill-directory> before applying the rubric. Also run python3 -I <this-skill-directory>/scripts/inspect-skill.pyz <target> for the prose facts. Use both JSON outputs as objective package facts, not a fitness score. An agent file has no package, so skip audit-facts. Read references/experiments.md § Audit facts contract for the check ids and statuses. Report a helper error without treating it as a successful audit. Classify it as agent (tools: / disallowedTools: or an agents/registry.yaml entry) or skill (name: + description:). For a skill, run git ls-files -z -co --exclude-standard <skill-dir> | LC_ALL=C sort -z | xargs -0 git hash-object | git hash-object --stdin. Its output is the content id. It covers every package file, so a sidecar or reference edit changes it. For an agent file, run git hash-object <target>. Its output is the content id. When a command fails, the content id is unavailable. Report the body size as ~N tok against the 5k budget. For a skill, copy it from the body.token-estimate check. For an agent file, count bytes/4 after the frontmatter block. List the deploy targets the definition reaches (references/harness-layout.md § Layout).

2. Rubric

Score each lens. Each row names the principle, the failure mode it catches, and a checkable test. Read references/anti-patterns.md when a finding needs the expanded form.

LensPrinciple → catchesCheck
PredictabilityFixed protocol with checkable completion → «premature completion»Every step ends on a done-condition an agent can verify.
Invocationdescription = trigger conditions, front-loaded, third person → «workflow summary», «summary description»Trigger phrases + "Do NOT use for"; no internal workflow; skills take length from description.length, agent files stay at ≤1024 chars by hand; first sentence carries the trigger. references/description-optimization.md.
PortabilitySpec-core frontmatter plus additive Claude fields; user-only policy on every host → «Claude-only assumption», «sidecar missing», «$ARGUMENTS dependence»Cite failed audit-facts checks for keys, sidecar pairing, and argument, skill-directory, or file-mention syntax. Judge by hand: args are parsed from the text after the skill name; skills are cross-referenced by /name; dispatch and GitHub ops name the contract before host syntax. Full matrix: references/harness-layout.md.
Information hierarchyDisclose only what some runs skip; body ≤5k tok; references one level deep, each with a read trigger → «sprawl», «untriggered split», «@file force-load»Cite failed audit-facts checks for the token budget, nested references, orphans, and missing read triggers. Judge by hand: relocation counts only when runs branch on the block and the ## References entry names the trigger. references/progressive-disclosure.md.
Prose (ASD-STE100)Active voice, present tense, one instruction per sentence, short sentences → «passive voice», «multi-instruction sentence», «long sentence»Cite inspect-skill.pyz long_sentences facts (sentences over 25 words). Cite advisory_sentences (21 to 25 words) only for procedural steps. Report passive voice and multi-instruction sentences as findings.
Leading wordsOne pretrained word beats a restated triad → «duplication», «no-op weak word»Collapse restatements; strengthen weak words (be thorough → relentless).
PruningSingle source of truth; delete no-ops → «sediment»No meaning in two places; no line the model obeys by default. Delete whole sentences.
Deterministic offloadFixed computation runs as a bundled command, not regenerated prose → «inline script»No step makes the model write or re-derive the same parse, count, filter, sort, or projection on every run; scripts.invocation-line covers the invocation line; wedge.own-targets and wedge.foreign-binary cover wedge state; judge whether each bundled script has an output contract. Fix with references/offload.md.
Tool scopingRead-only / write-scoped / focused; use host enforcement when available → «prose-only constraint»Claude skills use disallowed-tools to remove tools for the current turn. Their allowed-tools grants permission without prompts; it is not a deny list. Claude agents use disallowedTools. Report actual enforcement per mode and mark prose-only limits as degraded. Do not disable writes for improve.
Context & forkFork when output > ~500 lines or only a digest is needed → «monolithic output»Fork matches size; a wrap-up signal exists; the model-policy.* checks cover model: + effort:.
Prompt qualityPositive framing, why-over-what, one strong example, "What this never does" → «negation-heavy», «rules without reasons»Judgment tasks use a scaffold, not always/never. references/decision-frameworks.md.
CalibrationJudgment agents tag confidence × severity → «judgment without calibration»<certain> / <speculative> / <don't know>; don't-know never surfaces.
Output formatSummary first, tables for findings, clean-vs-issues signal → «no output format»Format defined; summary and detail split.
Usage (audit, improve)Declared matches actual → «declared-vs-actual», «decay»Declared tools are the used tools; error rate near baseline; usage not declining.

3. Calibrate

Tag each finding with severity × confidence. The kernel is references/calibration.md; the defaults:

  • Severity by lens — Predictability, Invocation, Portability, Tool scoping, Calibration → high; Information hierarchy, Context & fork, Pruning → high/medium; Leading words, Prose, Deterministic offload, Output format, Usage → medium.
  • Confidence — a cited line plus a concrete failure, a reference that does it right, or analytics data → <certain>; a checkable but unverified observation → <speculative>; a misread → <don't know>, dropped.
  • Re-derive — re-read the target and re-derive each <speculative> finding once without the first pass. Drop it when it does not reproduce.
  • Order by severity, then <certain> first.

Prose check

add step 6 and improve step 5 run this check.

  1. Run python3 -I <this-skill-directory>/scripts/inspect-skill.pyz <target file> on the SKILL.md or agent file.
  2. Rewrite every sentence in long_sentences (over 25 words). Rewrite each advisory_sentences entry (21 to 25 words) that is a procedural step.
  3. For a changed reference file, apply both limits by hand: 25 words, or 20 words for a procedural step.

The helper rejects a file that has no frontmatter, so it cannot check a reference file.

Mode: add

  1. Confirm the name: kebab-case, ≤64 chars, directory name equals name:, and no collision in skills/, ~/.claude/skills, ~/.agents/skills.
  2. Collect from the argument, or ask for: a one-sentence purpose, ≥5 trigger phrases, anti-triggers, invocation policy, and the harness set. The invocation policy is model-invoked or user-only.
  3. Write the skill from references/harness-layout.md § Template. Keep the body ≤2k tok at birth. Create a reference only for a block that some runs skip. Add agents/openai.yaml when the skill is user-only. Set model + effort only when the skill is model-invoked.
  4. Write evals/evals.json from references/harness-layout.md § Evals. Add one trigger case for each trigger phrase and one near-miss case for each anti-trigger. Draft at least three task cases from the purpose and the Flow. Give each task case assertions that a grader can check in the output.
  5. Register the skill in its repo's index (references/harness-layout.md § Registration). A repo-local skill stays out of every global list; place it per references/harness-layout.md § Repo-local skills.
  6. Run the prose check on SKILL.md and on each changed reference before you report the mode as done.
  7. Run improve on the new file once. Skip Usage, because a new skill has no sessions. Then run the repo's deploy step when one exists. Example deploy steps are a dotfiles sync, npx skills add, or a copy into the harness skills directory.

Done means: the file exists and the repo index names it, or every repo-local host path resolves. evals/evals.json holds a case for each trigger phrase and anti-trigger, plus at least three task cases. The deploy step exits 0 when one exists. The Invocation lens passes. The inspector reports an empty long_sentences list.

Mode: improve

  1. Get a current audit of the target. Reuse an audit report from this conversation when its target and content id match. Name the reused report. An unavailable content id never matches. Otherwise run audit steps 1-3. When Usage is absent, state why.
  2. Show the findings table before the first edit, with one recommendation per finding. Recommend apply for a <certain> finding of severity medium or higher that does not change protocol semantics. Recommend offload or decline for a Deterministic offload finding. An offload changes protocol semantics, so it needs explicit approval. Recommend apply or decline for every other finding. Give the reason.
  3. Ask the user one approval question that covers every surfaced finding. Apply the approved findings. Implement each approved offload with references/offload.md. Record the declined findings as residuals. A delegated run returns the findings to its parent, and the parent asks. A PR body or a report is not approval.
  4. Keep the target's voice and protocol semantics. Change them only for an approved item.
  5. Run the prose check on the target file and on each changed reference before you report the mode as done.
  6. Re-measure the body. Report before/after tokens and the residual findings.
  7. Run the repo's deploy step when the target lives under a skills/ or agents/ tree that a sync distributes. Confirm the deployed copy matches the source; a vendored skill with the same name overwrites a local one (harness-layout.md § Layout).

Done means: the report names the reused audit or states that the audit is fresh. The user sees every surfaced finding before the first edit. The user approves or declines each finding that the approval question covers. The run applies every approved finding. The body is ≤5k tok. The inspector reports an empty long_sentences list. The repo's quality gate exits 0.

Mode: audit

  1. Run shared protocol §1 Read and classify to resolve target_kind.
  2. Run references/analytics-ceremony.md with that kind. If DuckDB is absent, read references/raw-log-fallback.md and references/harness-coverage.md instead. Step 1 of the fallback asks one question: install DuckDB, approve a sampled scan, or skip Usage. Never run the scan without consent.
  3. Run shared protocol §2-3 with the Usage digests.
  4. Emit the report below. Do not modify the target. Write nothing else except the analytics cache.
  5. Close with Run /skillz improve <path> to apply. In this conversation, improve reuses this report while the content id matches.

Done means: the report lists every surfaced finding with a cited line, and the below-bar count is stated.

Mode: wedge

Find the fixed work in the target skill and move it into CLIs. Follow references/offload.md; its steps are Find, Contract, Implement, Deliver, and Wire.

  1. Read the target and its scripts/. Score the Deterministic offload lens only. For an agent file, report that wedge changes only skills, then stop.
  2. Run Find and Contract for each candidate. Cite each candidate's line. Rank candidates by how often a run repeats the work, then by target line, ascending. With zero candidates, report No offload candidates and stop.
  3. Emit the brief below. Ask the user which candidates to implement, with your recommendation. Ask in the same question whether the user declines fromargs or wedging. Name each dependency write in that question.
  4. Run Implement, Deliver, and Wire for each selected candidate. Read references/fromargs.md before Implement, unless the user declined fromargs. Read references/wedge-packaging.md before you wedge a CLI.
  5. Run the prose check on the target SKILL.md. Then run the repo's quality gate.
  6. Run the repo's deploy step when a sync distributes the target, as improve step 7 does. Confirm that the deployed copy matches the source.

Done means: every candidate cites a line and has all seven contract fields. Each selected CLI passes its contract tests through its invocation line. Each CLI that is not wedged states the reason.

## skillz wedge: <name>

| # | Step (line) | Transformation | Command | Delivery | Stays in prose |
|---|---|---|---|---|---|

### Candidate <n>: <command>
**Inputs** · **Output** · **Ordering** · **Empty** · **Errors** · **Side effects** · **Caller line**

Report

## skillz <mode>: <name>

- Type: agent | skill · Invocation: model | user-only · Tools: <N allowed, N disallowed> · Body: ~N tok (before → after for improve)
- Harnesses reached: <list> · Findings: N surfaced, N below the bar
- Target: <path> · Content id: <id | unavailable> · Usage: included | omitted (<reason>) · Audit: fresh | reused <content id> (improve only)

| # | Severity | Confidence | Lens | Issue (line) | Fix | Recommendation (apply / decline / `/skillz wedge`) | Decision (approved / declined / pending / residual; improve only) |
|---|---|---|---|---|---|---|---|

### Detail (per surfaced finding)
**What** · **Why** (the principle) · **How** (exact section) · **Reference** (a definition that does it right)

### Recommended hooks
Only for a rule that must hold every time; pick from `references/hooks-catalog.md`. Omit when none.

### Below the bar
N findings were `<don't know>` or trivial (not shown).

What this skill never does

  • audit never modifies the target and writes only the analytics cache.
  • wedge writes only the candidates the user selects.
  • improve never edits before the user answers its approval question, and it never changes protocol semantics without approval.
  • add never registers a skill whose description fails the Invocation lens.
  • It never surfaces <don't know>.
  • It never exempts itself; a finding against skillz is filed like any other.

Gotchas

  • Generic findings on simple skills: every finding cites a line or a named pattern.
  • Over-indexing on missing disallowedTools when the host default already constrains the tool list.
  • The <speculative> re-derivation is the first step skipped under time pressure and the one that catches the most false positives.
  • disable-model-invocation alone leaves Codex free to auto-invoke; the sidecar is the fix, not more prose.
  • A hook is for a rule that must hold every time, not for every finding.

References

Read on demand:

  • references/harness-layout.md — Portability lens fires or add (global or repo-local); the frontmatter matrix, rules, template, evals, sidecar, and sources.
  • references/analytics-ceremony.md — audit, or improve without a reusable audit; use scripts/agent-session-analytics.pyz for best-effort per-pack analytics.
  • references/raw-log-fallback.md — DuckDB is absent; the user installs it, opts into a sampled, read-only Usage scan, or skips.
  • references/anti-patterns.md — a finding needs the expanded failure mode.
  • references/offload.md — when wedge runs, or when improve implements an approved offload; the shared procedure.
  • references/fromargs.md — when an offload writes a fromargs CLI.
  • references/wedge-packaging.md — before an offload wedges a CLI; the builder is scripts/wedge.pyz.
  • assets/records.py, assets/wedge.toml — the CLI and manifest templates that an offload copies.
  • evals/evals.json — pressure scenarios; use them when you change the offload procedure.
  • references/progressive-disclosure.md — Information hierarchy fires.
  • references/description-optimization.md — Invocation fires.
  • references/decision-frameworks.md — Prompt quality flags rigid rules on a judgment task.
  • references/hooks-catalog.md — a finding needs 100%-of-the-time enforcement, or Invocation recommends a forced-evaluation hook (§1).
  • references/skill-usage.md, references/agent-orchestration.md, references/drift-regression.md — the analytics packs. For the analytics ceremony, pass each pack path and the target kind to its pack context. Read a pack only when the host has no sub-agents.
  • scripts/agent-session-analytics.pyz — the analytics CLI: ingest, db-path, sql, and schema.
  • references/canonical-schema.md — the pack input schema; read it when you write or check pack SQL.
  • references/query-conventions.md — the pack input conventions; read it when you write a pack or run its queries.
  • references/harness-coverage.md — the pack input coverage; read it before cross-harness comparisons and in the raw-log fallback.
  • In the analytics ceremony, pass these three paths to each pack context as schema, conventions, and coverage.
  • references/calibration.md — when you tag a finding's severity and confidence; the confidence × severity kernel.
  • references/experiments.md — autoimprove, or an audit that needs a check id; the run flow, case draft, gate verdict, export, optional contract, graders, isolation, and the helper contracts.
  • references/eval-formats.md — the eval files that an author writes: fields, schemas, $schema, the minimums, and validate.
  • references/experiment-harness.md — the user selects the claude adapter, or checks a custom command or role files.
  • references/harness-recipes.md — the user wants to run experiments through Gemini CLI, Copilot CLI, Cursor CLI, OpenCode, or Pi.

FAQ

What does the skillz skill do?

Add, improve, audit, wedge, or autoimprove a skill. Improve and audit also accept a sub-agent definition. The result runs predictably on Claude Code, Codex, OMP, and other Agent Skills hosts. Use for /skillz , "improve this skill", "autoimprove this skill", "optimize this skill", "tighten this skill", "audit this agent", "new skill for X", "skill not triggering", "fix trigger rate", "wedge this", "turn this repeated work into a CLI", or "what in this skill should be a CLI". Do NOT use for CLAUDE.md or system-prompt edits, or for code changes that a cheese pipeline skill owns.

How do I install skillz?

Run npx skills add https://github.com/paulnsorensen/skillz-that-grillz --skill skillz in your project. The skills CLI detects the agents you use and copies the skill into the right folder. For Claude Code you can also place the skill folder at ~/.claude/skills/skillz/ (personal) or .claude/skills/skillz/ (project).

Which AI agents can use skillz?

Any agent that supports the open Agent Skills format (a folder with a SKILL.md file), including Claude Code, Codex, Cursor, GitHub Copilot, Gemini CLI, Windsurf, Cline, OpenCode and more.

Is skillz safe to install?

No partner security audit is available yet. Skills can run commands and scripts, so read the SKILL.md and any bundled files before installing.

Who maintains skillz?

It is published by paulnsorensen in paulnsorensen/skillz-that-grillz. It has 96 recorded installs.

More from paulnsorensen/skillz-that-grillz

View all →

release

paulnsorensen/skillz-that-grillz

Open the skill to read its SKILL.md instructions.

59 installs

gh

paulnsorensen/skillz-that-grillz

Open the skill to read its SKILL.md instructions.

59 installs

prek

paulnsorensen/skillz-that-grillz

Onboard prek (Rust-powered pre-commit) into any project and suggest hooks tailored to the language/framework. Use when the user says "add prek", "set up pre-commit hooks", "configure prek", "what hooks should I use", or when you notice a project without a prek.toml that would benefit from pre-commit checks. Also trigger when the user wants to add new hooks to an existing prek.toml, audit their hook config, or migrate from pre-commit to prek. Covers Rust, Python, TypeScript/JavaScript, Go, Ruby, and Shell projects. Do NOT use for husky, lint-staged, or CI pipeline hook configuration — this skill is specifically for prek.

chezmoi

paulnsorensen/skillz-that-grillz

Open the skill to read its SKILL.md instructions.

58 installs

github-copilot-personal-instructions

paulnsorensen/skillz-that-grillz

Open the skill to read its SKILL.md instructions.

57 installs

serena-config

paulnsorensen/skillz-that-grillz

Open the skill to read its SKILL.md instructions.

57 installs

Popular security skills

View category →

azure-compliance

microsoft/azure-skills

Run Azure compliance and security audits with azqr plus Key Vault expiration checks. Covers best-practice assessment, resource review, policy/compliance validation, and security posture checks. WHEN: compliance scan, security audit, BEFORE running azqr (compliance cli tool), Azure best practices, Key Vault expiration check, expired certificates, expiring secrets, orphaned resources, compliance assessment.

OfficialSecurity567K installs

minimal-run-and-audit

lllllllama/rigorpilot-skills

Rigor Run skill for README-first deep learning repo reproduction. Use when the task is specifically to capture or normalize evidence from the selected smoke test or documented inference or evaluation command and write standardized reprooutputs/ files, including patch notes when repository files changed. Do not use for training execution, initial repo intake, generic environment setup, paper lookup, target selection, hidden scientific-meaning changes, or end-to-end orchestration by itself.

Security477.4K installs

seo-audit

coreyhaines31/marketingskills

When the user wants to audit, review, or diagnose SEO issues on their site. Also use when the user mentions "SEO audit," "technical SEO," "why am I not ranking," "SEO issues," "on-page SEO," "meta tags review," "SEO health check," "my traffic dropped," "lost rankings," "not showing up in Google," "site isn't ranking," "Google update hit me," "page speed," "core web vitals," "crawl errors," "indexing issues," "stuck on page 2," "striking distance keywords," "title tag rewrite," "low CTR," "local SEO," "Google Business Profile," or "map pack." Use this even if the user just says something vague like "my SEO is bad" or "help with SEO" — start with an audit. For building pages at scale to target keywords, see programmatic-seo. For adding structured data, see schema. For AI search optimization, see ai-seo.

Security238.7K installs

firebase-security-rules-auditor

firebase/agent-skills

Audits Firebase (Firestore, Cloud Storage) security rules for vulnerabilities, privilege escalation, role bypasses, create vs update inconsistencies, resource exhaustion, type safety, size limits, and hasOnly ownership checks. Use when auditing/reviewing rules, running red-team rule assessments, or scoring against auditor checklists. Don't use for Firebase CLI (login, deploy), Auth, Crashlytics, Remote Config, or database queries.

OfficialSecurity139.1K installs

audit

pbakaus/impeccable

Run technical quality checks across accessibility, performance, theming, responsive design, and anti-patterns. Generates a scored report with P0-P3 severity ratings and actionable plan. Use when the user wants an accessibility check, performance audit, or technical quality review.

Security81.9K installs

competitors

coreyhaines31/marketingskills

When the user wants to create competitor comparison or alternative pages for SEO and buyer-facing use. Also use when the user mentions 'alternative page,' 'vs page,' 'competitor comparison,' 'comparison page,' '[Product] vs [Product],' '[Product] alternative,' 'competitive landing pages,' 'how do we compare to X,' 'competitor teardown,' 'audit our competitor pages,' 'are our comparison pages out of date,' or 'competitive asset audit.' Use this for any content that positions your product against competitors. Covers four formats: singular alternative, plural alternatives, you vs competitor, and competitor vs competitor. For auditing existing claims (not researching competitors from scratch, which is competitor-profiling; not technical SEO on these pages, which is seo-audit), use the asset audit here. For internal battle cards and sales-specific competitor docs, see sales-enablement.

Security79.3K installs