CtrlK
BlogDocsLog inGet started
Tessl Logo

acme-workspace/bigger-skill-reviewer

Anthropic skill best-practice reviewer for orgs that prefer large, consolidated single-file skills. Forks the default rubric: progressive disclosure rewards a well-organised single file rather than penalising it, and conciseness no longer docks legitimate length.

70

Quality

88%

Does it follow best practices?

Impact

No eval scenarios have been run

SecuritybySnyk

Risky

Do not use without reviewing

Overview
Quality
Evals
Security
Files

rubric.schema.jsonskills/skill-reviewer/references/schemas/

{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "rubric.schema.json",
  "title": "SkillReviewRubric",
  "description": "JSON Schema for skill review rubric files (rubrics/description.json and rubrics/content.json).",
  "type": "object",
  "required": ["evaluation_target", "scale", "reference_examples", "dimensions"],
  "additionalProperties": false,
  "properties": {
    "evaluation_target": {
      "type": "string",
      "description": "Which part of the skill (or artifact) this rubric evaluates. Built-in values are 'description' and 'content'; custom rubrics may use any string."
    },
    "scope": {
      "type": "string",
      "description": "Human-readable description of what is being evaluated (content rubric only)."
    },
    "scale": {
      "type": "object",
      "required": ["min", "max"],
      "additionalProperties": false,
      "properties": {
        "min": {
          "type": "number",
          "description": "Minimum valid score (inclusive)."
        },
        "max": {
          "type": "number",
          "description": "Maximum valid score (inclusive)."
        }
      }
    },
    "reference_examples": {
      "type": "object",
      "required": ["judging_guidelines", "good_overall_examples", "bad_overall_examples"],
      "additionalProperties": false,
      "properties": {
        "judging_guidelines": {
          "type": "array",
          "items": { "type": "string" },
          "minItems": 1,
          "description": "Ordered list of guidelines for the judge to follow."
        },
        "good_overall_examples": {
          "type": "array",
          "items": { "type": "string" },
          "minItems": 1,
          "description": "Examples of high-quality skills for this evaluation target."
        },
        "bad_overall_examples": {
          "type": "array",
          "items": { "type": "string" },
          "minItems": 1,
          "description": "Examples of low-quality skills for this evaluation target."
        }
      }
    },
    "dimensions": {
      "type": "array",
      "minItems": 1,
      "description": "Ordered list of evaluation dimensions. Weights must sum to 1.0.",
      "items": {
        "type": "object",
        "required": ["id", "name", "weight", "question", "scores"],
        "additionalProperties": false,
        "properties": {
          "id": {
            "type": "string",
            "pattern": "^[a-z][a-z0-9_]*$",
            "description": "Unique snake_case identifier for this dimension. Used as key in judge output scores."
          },
          "name": {
            "type": "string",
            "description": "Human-readable name for this dimension."
          },
          "weight": {
            "type": "number",
            "exclusiveMinimum": 0,
            "maximum": 1,
            "description": "Fractional weight of this dimension in the overall score. All weights must sum to 1.0."
          },
          "question": {
            "type": "string",
            "description": "The core question the judge should answer for this dimension."
          },
          "rationale": {
            "type": "string",
            "description": "Why this dimension matters (optional, content rubric dimensions)."
          },
          "scores": {
            "type": "array",
            "minItems": 2,
            "description": "Anchor definitions for each score level.",
            "items": {
              "type": "object",
              "required": ["score", "anchor", "example"],
              "additionalProperties": false,
              "properties": {
                "score": {
                  "type": "number",
                  "description": "The numeric score value."
                },
                "anchor": {
                  "type": "string",
                  "description": "Brief description of what earns this score."
                },
                "example": {
                  "type": "string",
                  "description": "Concrete example of content at this score level."
                }
              }
            }
          }
        }
      }
    },
    "scoring_notes": {
      "type": "object",
      "required": ["simple_skills", "code_vs_instruction_skills", "feedback_loops"],
      "additionalProperties": false,
      "description": "Additional scoring guidance (content rubric only).",
      "properties": {
        "simple_skills": {
          "type": "string"
        },
        "code_vs_instruction_skills": {
          "type": "string"
        },
        "feedback_loops": {
          "type": "string"
        }
      }
    }
  },
  "if": {
    "properties": { "evaluation_target": { "const": "content" } }
  },
  "then": {
    "required": ["scope", "scoring_notes"]
  }
}

tile.json