CtrlK
BlogDocsLog inGet started
Tessl Logo

uinaf/skill-audit

Audit existing skills with Tessl scoring, metadata and trigger-coverage checks, repo conventions, and skill-authoring best practices. Use when creating or revising a skill, triaging weak self-activation, or comparing a skill against source-repo guidance such as `AGENTS.md`, `CLAUDE.md`, or repo rules, plus external skill guidance. Do not use to verify general application code or to rewrite unrelated docs.

97

1.05x
Quality

98%

Does it follow best practices?

Impact

97%

1.05x

Average score across 3 eval scenarios

SecuritybySnyk

Advisory

Suggest reviewing before use

Overview
Quality
Evals
Security
Files

criteria.jsonevals/scenario-3/

{
  "context": "Tests whether the agent runs Tessl before proposing any edits, uses the correct single-skill CLI invocation, produces a structured audit report matching the required output format, and separates blockers from polish when prioritizing findings.",
  "type": "weighted_checklist",
  "checklist": [
    {
      "name": "Tessl run first",
      "description": "The audit-log.sh shows a Tessl command executed before any edits or recommendations are written",
      "max_score": 10
    },
    {
      "name": "Correct single-skill command",
      "description": "audit-log.sh contains `npx tessl skill review` (or `tessl skill review`) with the `--json` flag and a path targeting the single skill folder",
      "max_score": 10
    },
    {
      "name": "Score reported",
      "description": "audit-report.md states the Tessl score (a numeric value or rating) from the run",
      "max_score": 8
    },
    {
      "name": "Tessl command reported",
      "description": "audit-report.md includes the exact Tessl command that was run",
      "max_score": 7
    },
    {
      "name": "Strongest parts identified",
      "description": "audit-report.md includes a section identifying the strongest parts of the skill worth keeping",
      "max_score": 7
    },
    {
      "name": "Findings with file references",
      "description": "Each finding in the prioritized list references a specific file (e.g. SKILL.md) and section or line",
      "max_score": 8
    },
    {
      "name": "Blockers separated from polish",
      "description": "audit-report.md distinguishes between blocking issues and lower-priority polish items (separate sections, labels, or severity markers)",
      "max_score": 9
    },
    {
      "name": "Smallest change set",
      "description": "audit-report.md recommends the smallest set of changes that address the highest-priority issues rather than a full rewrite",
      "max_score": 8
    },
    {
      "name": "Rerun status reported",
      "description": "audit-report.md states whether Tessl was rerun after any edits, and if so what the new score was",
      "max_score": 8
    },
    {
      "name": "Repo conventions loaded",
      "description": "audit-report.md or audit-log.sh shows that AGENTS.md was read before the audit findings were written",
      "max_score": 7
    },
    {
      "name": "Optimizer not invoked",
      "description": "audit-log.sh does NOT contain `--optimize` (optimizer not used since approval was not given)",
      "max_score": 9
    },
    {
      "name": "Adjacent issues flagged separately",
      "description": "Any issues found outside the skill surface (e.g. AGENTS.md problems) are noted as out-of-scope rather than acted on directly",
      "max_score": 9
    }
  ]
}

evals

SKILL.md

tile.json