From singularity-claude
Scores singularity-managed skill executions 0-100 using a 5-dimension rubric (correctness, completeness, edge cases, efficiency, reusability), tracks averages over runs, and suggests repairs below 50 or crystallization above 90.
How this skill is triggered — by the user, by Claude, or both
Slash command
/singularity-claude:scoringThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
Evaluate skill performance using a structured 5-dimension rubric. Scores drive the evolution loop: low scores trigger repair, high scores enable crystallization.
Evaluate skill performance using a structured 5-dimension rubric. Scores drive the evolution loop: low scores trigger repair, high scores enable crystallization.
Determine which singularity-managed skill was just executed. Check ~/.claude/singularity/registry.json to confirm it's tracked.
If the skill isn't registered, ask: "This skill isn't tracked by singularity. Want me to register it first?"
Dispatch the singularity-claude:skill-assessor agent (haiku model, fast and cheap) with:
references/scoring-rubric.mdThe assessor returns a structured JSON score.
"${CLAUDE_PLUGIN_ROOT}/scripts/score-manager.sh" add <skill-name> <total-score> \
--context "<what the skill was used for>" \
--strengths '["<strength1>", "<strength2>"]' \
--weaknesses '["<weakness1>"]' \
--edge-cases '["<edge-case-if-any>"]'
Read config from ~/.claude/singularity/config.json:
| Condition | Action |
|---|---|
Average < autoRepairThreshold (50) for 2+ runs | Suggest: "This skill is underperforming. Run /singularity-repair to fix it." |
Average >= crystallizationThreshold (90) with 5+ runs | Suggest: "This skill is ready for crystallization. Run /singularity-crystallize to lock it." |
Update ~/.claude/singularity/registry.json with:
lastExecuted: current timestampexecutionCount: incrementaverageScore: from score file"${CLAUDE_PLUGIN_ROOT}/scripts/telemetry-writer.sh" log <skill-name> \
--trigger "scoring" \
--score <total-score> \
--summary "<brief assessment>"
Show the user:
Score: <total>/100 (avg: <average>/100 over <count> runs)
Correctness: <n>/20
Completeness: <n>/20
Edge Cases: <n>/20
Efficiency: <n>/20
Reusability: <n>/20
Maturity: <level> → <new-level-if-changed>
From config.json:
"auto" — Dispatch assessor agent automatically (default)"manual" — Ask user for the 0-100 score directly"hybrid" — Auto-assess, show result, let user overridenpx claudepluginhub shmayro/singularity-claude --plugin singularity-claudeGenerates health reports for singularity-managed skills by analyzing score history, telemetry, maturity, trends, and recommending repair or crystallization.
Evaluates skill output quality via assertion-based grading, blind before/after comparison, and variance analysis across 3 runs per scenario. Use for benchmarking, comparing skill versions, or triggered by /skill-eval.
Evaluates a skill's effectiveness by running behavioral test cases and grading results against assertions. Use to validate improvements, benchmark against baselines, or create eval cases.