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-2/

{
  "context": "Tests whether the agent correctly identifies and fixes progressive disclosure violations — moving rubrics and examples from SKILL.md into references/, removing duplicate checklist content already in a script, and fixing invalid frontmatter fields — then reruns Tessl to confirm improvement.",
  "type": "weighted_checklist",
  "checklist": [
    {
      "name": "Rubric moved to references",
      "description": "The scoring rubric is removed from SKILL.md and placed in a file under skills/release-coordinator/references/",
      "max_score": 9
    },
    {
      "name": "Examples moved to references",
      "description": "The worked examples are removed from SKILL.md and placed in a file under skills/release-coordinator/references/",
      "max_score": 9
    },
    {
      "name": "Duplicate checklist removed",
      "description": "The inline Release Checklist in SKILL.md is removed (it duplicates do-release.sh); SKILL.md instead references the script",
      "max_score": 9
    },
    {
      "name": "Frontmatter cleaned",
      "description": "The updated SKILL.md frontmatter contains only `name` and `description` — extra fields (triggers, owner, last_updated) are removed",
      "max_score": 9
    },
    {
      "name": "References linked from SKILL.md",
      "description": "SKILL.md contains repo-relative links to the reference files that were moved out (not bare filenames or absolute paths)",
      "max_score": 8
    },
    {
      "name": "Tessl run before edits",
      "description": "audit-log.sh shows a Tessl invocation before any file edits are recorded",
      "max_score": 9
    },
    {
      "name": "Tessl rerun after edits",
      "description": "audit-log.sh shows a second Tessl invocation after edits, and audit-report.md states the post-edit score",
      "max_score": 9
    },
    {
      "name": "Before/after scores compared",
      "description": "audit-report.md explicitly compares the pre-edit and post-edit Tessl scores",
      "max_score": 8
    },
    {
      "name": "Change reasons documented",
      "description": "audit-report.md explains the reason for each structural change made (not just listing what changed)",
      "max_score": 8
    },
    {
      "name": "SKILL.md remains workflow-focused",
      "description": "The updated SKILL.md retains the Workflow section and handoff/boundary information without adding new non-workflow content",
      "max_score": 8
    },
    {
      "name": "Optimizer not used",
      "description": "audit-log.sh does NOT contain `--optimize`",
      "max_score": 7
    },
    {
      "name": "Scope respected",
      "description": "The agent does NOT rewrite do-release.sh or other files outside the skill package unless explicitly justified; out-of-scope issues are flagged rather than fixed",
      "max_score": 7
    }
  ]
}

evals

SKILL.md

tile.json