Audit, score, or improve existing skills using repository checks, Tessl plugin lint, optional credit-aware Tessl review, metadata checks, repo conventions, and skill-authoring best practices. Prefer free lint over cloud review except for publish-ready 100-point scores. Use when creating or revising a skill, asking why a skill did not activate, checking skill quality, comparing a skill against `AGENTS.md`, `CLAUDE.md`, or repo rules, or preparing a skill for publish. Do not use to verify general application code or to rewrite unrelated docs.
—
—
Does it follow best practices?
Run evals on this skill
Adds up to 20 points to the overall score
View guide
Passed
No findings from the security scan
Audit a skill before calling it ready. Favor the strongest available mechanical checks, repo conventions, and the skill's actual file shape over taste.
tessl plugin lint over credit-burning tessl review run; escalate
to review only for publish readiness, explicit scores, or substantive
discovery/workflow edits that must reach 100name and description before polishing the bodySKILL.md lean; move depth into references/ or scripts only when they earn their keepname / description / workflow rewrites that must hit 100AGENTS.md, CLAUDE.md, or repo rules, when presentSKILL.md first, then nearby references/, scripts/, and agents/openai.yaml only as neededFor Tessl credit tiers, lint-vs-review selection, formal audit commands, manual fallback, batch behavior, and the explicitly requested optimizer path, follow references/tessl.md. Never let a fallback silently resolve the latest Tessl CLI.
Start every audit with a mechanical baseline and free plugin lint:
skill_dir="skills/<name>"
test -f "$skill_dir/SKILL.md"
rg -n '^(name|description):' "$skill_dir/SKILL.md"
pnpm exec tessl plugin lint "$skill_dir"For a routine audit, stop there plus the scorecard. Do not burn review credits.
For a formal audit, when the repo owns a locked Tessl dependency and credits are available, run one narrow cloud review and capture score, summary, and suggestions before proposing edits:
pnpm exec tessl review run --workspace uinaf --threshold 0 --json "$skill_dir"Publish readiness still means score 100 for the reviewed package. Prefer changed-skill review over portfolio review; see references/tessl.md.
If Tessl review is missing, unconfigured, unauthenticated, offline, out of credits, or otherwise unusable:
A manual fallback completes the audit. It does not satisfy a repository's mandatory Tessl publish gate; report that gate as unverified or blocked separately.
For experiential feedback:
name or descriptionUse references/scorecard.md to check:
name is specific and memorabledescription states what the skill does, when to use it, and its main boundaryClassify invalid metadata, broken paths or commands, missing workflow completion, repo conflicts, and sibling-package dependencies as blockers. Classify vague discovery, bloated bodies, missing boundaries, and prose replacing deterministic scripts as major findings. Grade discovery, workflow, progressive disclosure, repo fit, verification, and boundaries as strong, mixed, or weak; the full rubric stays in the scorecard.
Quick example:
helper — "Helps with skills"skill-audit — "Audits existing skills with Tessl scoring, metadata checks, and repo conventions"Check that the skill tells the agent how to start, what evidence to gather, what not to change, and what "done" looks like.
Use the scorecard's major findings as the detailed rubric. Treat unrunnable commands or paths, missing output gates, and vague or fragile workflows as blockers.
Check whether detail belongs in SKILL.md, references/, or executable scripts:
SKILL.mdreferences/Use references/best-practices.md when the skill feels bloated, under-specified, or hard to trigger.
Check for repo-relative links, stale paths, duplicated guidance, and conflicts with the source repo's conventions.
Treat agents/openai.yaml as picker-facing metadata: keep
interface.default_prompt compact and scope-aligned. Do not invent
undocumented Codex limits; use the real loader or a shared versioned linter
when deterministic enforcement is necessary.
Require package independence across frontmatter, picker metadata, bodies, references, scripts, and evals. A skill may state prerequisites and boundaries, but it must explain them locally instead of naming or requiring sibling skills.
Separate blockers from polish. If edits are requested, fix the highest-leverage issues first, rerun the same available validation surfaces, and report what improved.
After an audit, report a compact audit footer:
noneKeep details compact: