CtrlK
BlogDocsLog inGet started
Tessl Logo
SkillPublic

self-improvement

Keeps the team's memory: where what you learned goes (your memory, shared with the team when it is about the project, a lesson in .opencastle/lessons/, or a team skill for a procedure), and how lessons are cited, re-verified and graduated. Use when you confirm something true for anyone working in the repository (a fix after a failure, a convention, a decision, a quirk, a correction about the code), when you work out a procedure no skill covers, when you touch a lesson copied from memory, when doctor reports a lesson's cited code changed, or when the lessons index grows long.

Quality

89%

Does it follow best practices?

Run evals on this skill

Adds up to 20 points to the overall score

View guide
SecuritybySnyk

Passed

No findings from the security scan

SKILL.md
Quality
Evals
Security

Quality

Content

96%Weight 40%Scale 1-5

Reviews the quality of instructions and guidance provided to agents. Good implementation is clear, handles edge cases, and produces reliable results.

An exemplary skill body: dense, fully executable commands, explicit decision tables, and validation/feedback loops at every risky step. The only weakness is that its single external reference, LESSON-CATEGORIES.md, is missing from the bundle.

Suggestions

Ship LESSON-CATEGORIES.md alongside SKILL.md (e.g. in references/) so the "The categories, and when each applies" link resolves within the skill bundle.

DimensionReasoningScore

Conciseness

The body is lean throughout: "Lessons are the team's memory. A lesson is a file in .opencastle/lessons/, committed with the change you made" and "Nobody sorts memories afterwards" convey only project-specific facts Claude could not know. Tables carry dense decision information ("Still true? | Run"), and no section explains concepts Claude already knows. Anti-drift check: no "minor instances of over-explanation" that would justify a 4.

5 / 5

Actionability

Every workflow ships a copy-paste-ready command: the full "npx opencastle lesson --title ... --problem ... --why ... --cite src/lib/payments.ts:42" example, "rg -i \"CRON_SECRET\" .opencastle/lessons/ || true", "npx opencastle lesson verify <id> --cite <new/path.ts>", "npx opencastle lesson archive <id> --into <file>", and "npx opencastle sync". The main record-lesson case is a complete filled example; templates use appropriate placeholders. Matches the fully-executable top anchor.

5 / 5

Workflow Clarity

Sequences are explicit with validation and feedback loops: the CLI "prints the new id, and refuses a lesson holding a credential or citing a file that does not exist" (error recovery on record); the "When cited code has changed" section is a doctor-triggered verify/move/archive feedback loop; "Resolve two lessons that contradict each other before you merge either" is a checkpoint before merging; and "doctor warns when the index passes about 2,000 tokens" gates graduation. No destructive or batch operation lacks validation, so no cap applies.

5 / 5

Progressive Disclosure

Structure is good: well-headed sections with the bulk of detail appropriately in the body, and exactly one clearly signaled one-level reference ("The categories, and when each applies: [LESSON-CATEGORIES.md](LESSON-CATEGORIES.md)"). Not a 5 because the referenced LESSON-CATEGORIES.md is not present in the skill's bundle (no references/ directory exists), so the link cannot be verified as a real navigation target — a minor organization gap per the 4 anchor.

4 / 5

Total

19

/

20

Passed

Description

78%Weight 40%Scale 1-5

Based on the skill's description, can an agent find and select it at the right time? Clear, specific descriptions lead to better discovery.

A strong, information-dense description with explicit what/when coverage and concrete situational triggers. Its main flaws are the pervasive second-person voice (a rubric penalty) and trigger vocabulary that omits a few natural synonyms.

Suggestions

Rewrite in third person to avoid the specificity penalty: e.g. "Keeps the team's memory: records where learnings go (Claude's memory, a lesson in .opencastle/lessons/, or a team skill for a procedure), and how lessons are cited, re-verified and graduated."

Replace second-person triggers with impersonal ones: "Use when confirming something true for anyone working in the repository..." instead of "Use when you confirm...".

Add a few natural synonyms to broaden triggering, e.g. "lesson learned", "remember this", or "takeaway".

DimensionReasoningScore

Specificity

The description lists several concrete actions — "a lesson in .opencastle/lessons/", "how lessons are cited, re-verified and graduated" — which would merit a 4, but it is written with repeated second-person voice ("your memory", "what you learned", "Use when you confirm", "when you touch"), and the rubric's guideline mandates reducing specificity by 1 for second-person voice. Not a 2 because the domain and actions are named concretely, not generically.

3 / 5

Completeness

It explicitly answers what ("Keeps the team's memory: where what you learned goes ... and how lessons are cited, re-verified and graduated") and when, with a long "Use when ..." clause enumerating concrete trigger situations. Both halves are explicit and concrete, matching the top anchor.

5 / 5

Trigger Term Quality

Natural trigger phrases are present: "a fix after a failure", "a convention", "a decision", "a quirk", "a correction about the code", "when doctor reports a lesson's cited code changed", "when the lessons index grows long". Not a 5 because common synonyms such as "lesson learned", "remember this", or "postmortem" are missing; better than a 3 since the trigger vocabulary goes well beyond generic keywords.

4 / 5

Distinctiveness Conflict Risk

The niche is clear — the .opencastle lessons system with distinct triggers like "doctor reports a lesson's cited code changed" and "the lessons index grows long". Minor overlap remains: "when you work out a procedure no skill covers" could also fire a general skill-authoring skill, so it is not the minimal-conflict top anchor.

4 / 5

Total

16

/

20

Passed

Validation

93%

Checks the skill against the spec for correct structure and formatting. All validation checks must pass before discovery and implementation can be scored.

Validation — 15 / 16 Passed

Validation for skill structure

CriteriaDescriptionResult

relative_links

Relative link issues: 1 missing

Warning

Total

15

/

16

Passed

Repository

monkilabs/opencastle

Path

src/orchestrator/skills/self-improvement/SKILL.md

Reviewed

Table of Contents

Is this your skill?

If you maintain this skill, you can claim it as your own. Once claimed, you can manage eval scenarios, bundle related skills, attach documentation or rules, and ensure cross-agent compatibility.