CtrlK
BlogDocsLog inGet started
Tessl Logo

learn

Update the project's long-term memory after a merge to main. Reads the merged diff and the current memory, then writes Expert shards, discovered invariants, candidate lints, and AGENTS.md pointers — all on a reviewable learn/<sha> PR. Use post-merge (the harness invokes it automatically) or with --rebuild to regenerate memory from scratch. Triggers - learn, expert-update, update memory, update expert, post-merge memory, self-improve (project)

69

Quality

87%

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

73%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.

A well-architected skill body: the flow is unambiguous with strong validation loops, and reference delegation is clean with all cited files present. The main costs are redundancy — core rules like P7 and 'never auto-merge' are restated three to five times — and a few steps that name an operation without showing one concrete instance of it.

Suggestions

State each hard rule once and cross-reference by number: P7 is repeated in the intro, Step 1, Step 2, and Hard nevers; the intro's STUCK paragraph and the P7 bullet say the same thing. Cutting to 'P7 (see Hard nevers)' would save ~15 lines without losing information.

Add one concrete mini-example for the thinnest steps — a sample changelog.md entry and a two-line snippet of local-checks.sh lint wiring — so 'wire it into scripts/local-checks.sh' and 'Append a changelog.md entry' are copy-paste executable rather than directional.

Collapse the duplicated invocation narrative: the second intro paragraph ('You run headless…') and the 'Invocation & output contract' section both describe the memory loop, worktree, and watermark; merge them into the contract section and keep a one-line pointer in the intro.

DimensionReasoningScore

Conciseness

The body is dense with project-specific, non-obvious design decisions, but key rules are restated repeatedly: P7 (human-authored memory edits are ground truth) appears in the intro, P7 itself, Step 1, Step 2, and Hard nevers; 'never an auto-merge' appears three times; 'a lint is a rule the agent cannot ship past' twice; and the worktree/loop invocation setup is described in both the intro and the Invocation contract. Not 4: the repetition goes beyond minor trimming — each point could be stated once and cross-referenced by its P-number; not 2: nothing explains concepts Claude already knows, and every repetition is at least project-specific substance.

3 / 5

Actionability

Concrete commands and paths throughout: 'claude -p "/learn --since <sha> --sha <sha>"', 'git ls-remote origin learn/<sha>', 'scripts/check-agents-md.sh', '.claude/skills/expert/references/*.md', 'scripts/lints/' plus concrete parameters (2–3 reviewers, 2/3 threshold, five-predicate bar). Not 5: some steps stop at direction — 'wire it into scripts/local-checks.sh' and the changelog entry lack a concrete example, and execution mechanics are deferred to the references without an inline sample of a shard diff or changelog entry.

4 / 5

Workflow Clarity

Steps 0–6 are clearly sequenced with explicit validation checkpoints and feedback loops: the drafted lint 'MUST pass against the just-merged code before you include it — run it; if it fails on current main it's wrong', Step 5 re-runs check-agents-md.sh and the lint, Step 0 has an idempotency pre-check, and 'Hard nevers' acts as a checklist. Not 4: validation is explicit at every risky point (idempotency, consensus gate, lint verification, post-write check), not mostly present.

5 / 5

Progressive Disclosure

The five references (routing-rules, expert-shards, agents-md-guidance, invariant-discovery, consensus) all exist in the bundle, are one level deep, and each is signaled with a one-line purpose statement; the body is an overview that delegates detail appropriately. Not 5: the ~160-line body inlines substantial philosophy (P1–P8 plus a standalone 'Ground truth' section) that a leaner overview would partially delegate, and 'scripts/learn-tick.sh' is named as the loop driver but is absent from the bundle, leaving a dangling pointer. Not 3: the split between body and references is genuinely good and easy to navigate.

4 / 5

Total

16

/

20

Passed

Description

96%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 near-exemplary description: it names the trigger context, inputs, all four output surfaces, the delivery artifact, and an alternate invocation mode, then closes with an explicit trigger list. The only weakness is that 'learn' as a bare trigger term is generic enough to invite occasional mis-triggering.

DimensionReasoningScore

Specificity

The description lists multiple concrete actions with comprehensive coverage: 'Reads the merged diff and the current memory, then writes Expert shards, discovered invariants, candidate lints, and AGENTS.md pointers — all on a reviewable learn/<sha> PR' plus '--rebuild to regenerate memory from scratch'. Not 4: no meaningful coverage gap — inputs, outputs, delivery artifact, and the alternate mode are all named.

5 / 5

Completeness

It explicitly answers both questions: what ('Update the project's long-term memory after a merge to main. Reads the merged diff and the current memory, then writes…') and when ('Use post-merge (the harness invokes it automatically) or with --rebuild'), with concrete trigger phrases appended — matching the anchor-5 pattern. Not 4: the 'when' is fully explicit, not merely present.

5 / 5

Trigger Term Quality

The trigger list 'learn, expert-update, update memory, update expert, post-merge memory, self-improve' plus 'merge to main' and 'post-merge' comprehensively covers the natural phrasings and synonyms a user would say for this skill's niche. Not 4: no commonly used natural variant of the concept space is missing.

5 / 5

Distinctiveness Conflict Risk

The niche (post-merge memory reconciliation on a learn/<sha> PR) is mostly distinct, but the standalone trigger 'learn' and 'update memory' could overlap with a generic codebase-learning or memory-editing skill in the same project. Not 5: minimal conflict would require every trigger to be as distinctive as 'post-merge memory'; not 3: the surrounding vocabulary is project-specific enough that routine overlap is unlikely.

4 / 5

Total

19

/

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

referenced_paths_exist

Referenced path issues: 5 missing

Warning

Total

15

/

16

Passed

Repository
tdg-ninja/context-specs-factory-ai
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.