CtrlK
BlogDocsLog inGet started
Tessl Logo

wagneripjr/learning-capture

Capture errors, corrections, missing capabilities and better approaches as structured .learnings/ entries under a pinned entry-format contract, with a nudge when a shell command fails

90

1.64x
Quality

93%

Does it follow best practices?

Impact

82%

1.64x

Average score across 3 eval scenarios

SecuritybySnyk

Passed

No findings from the security scan

Overview
Quality
Evals
Security
Files

Quality

Content

82%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 strong, highly actionable skill body: exact commands, complete templates, and script-enforced safety rules with enumerated exit codes, plus verified one-level-deep references. Its weaknesses are density — repeated never-recreate statements and inlined spec detail that belongs in references/entry-format.md — and the absence of one assembled end-to-end capture sequence.

Suggestions

Replace the two inlined entry templates (Error and Feature Request, which differ from the Learning template only in section names and a couple of bullets) with one full Learning template plus a compact table of per-type deltas, moving the full per-type grammar into references/entry-format.md.

Consolidate the never-recreate rule to a single statement in the Initialization section; the closing rhetorical line ('A missing file is easy to add later...') and the Gitignore Options restatement restate it twice.

Add a short numbered 'Capture a learning' sequence (bootstrap → next-id → append below final --- → link/prioritize → consider promotion) at the top so the multi-section detail hangs off one explicit workflow.

DimensionReasoningScore

Conciseness

The body is dense and operational — full field-line templates, exact command invocations, no explanation of concepts Claude already knows — but it carries minor trimmable material: the never-recreate rule is stated three times (frontmatter, Initialization, and the closing line 'A missing file is easy to add later; a corpus recreated in a repository that deleted it undoes a decision nobody asked you to revisit'), and a few rhetorical flourishes could compress. Not 5: those repetitions and flourishes mean not every token earns its place; not 3: there is no padded or unnecessary explanatory section.

4 / 5

Actionability

Everything is executable: copy-paste commands ('node "<skill-dir>/scripts/bootstrap.mjs" [repo-root]', 'node "<skill-dir>/scripts/entries.mjs" next-id LRN .learnings', the three grep one-liners), complete markdown templates with exact field spellings, enumerated exit codes (0 and 3), and a Quick Reference table mapping situations to concrete actions. Not 4: the common cases are covered with specific, ready-to-run guidance and exact enumerated values ('snake_case, because readers filter on them').

5 / 5

Workflow Clarity

Multi-step flows are clearly sequenced with most checkpoints present: bootstrap enumerates its three decisions with exit codes and the never-overwrite rule, ID generation delegates collision-avoidance to a script ('Get the next free id... rather than by eye'), promotion has a decision tree and a four-step How to Promote with a back-reference step, and Periodic Review/Prune & Decay close the loop. Not 5: the primary capture flow (bootstrap → next-id → append → link/prioritize) is never assembled into one explicit ordered sequence — it is spread across sections and left to the reader to compose — which is a minor sequencing gap relative to the explicit-checkpoints anchor.

4 / 5

Progressive Disclosure

Structure is good: three one-level-deep references (entry-format.md, examples.md, host-runtime.md) are signaled up front with descriptive lead-ins ('The entry grammar is a contract other tools read'), all referenced paths and scripts exist in the bundle, and fixtures/tests are kept out of the body. Not 5: the body runs ~220 lines with substantial spec detail inlined (three full entry templates, the full status-lifecycle table, evidence-field semantics) that partially duplicates references/entry-format.md, so the overview is heavier than the 'concise getting-started content' anchor.

4 / 5

Total

17

/

20

Passed

Description

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

The description is exemplary: concrete multi-action capability statement, an explicit 'Use whenever' clause with quoted user phrases, and explicit boundary disambiguation against error-handling skills. Its only weakness is density — at roughly 150 words it is long, though every clause is functional rather than padded, so no dimension is penalized under the rubric.

Suggestions

Trim the trigger enumeration to the five or six most common situations and drop sub-clauses like 'to review past learnings' parentheticals; the body's Quick Reference table already carries the full mapping, so the description could lose ~30% of its length without losing trigger coverage.

DimensionReasoningScore

Specificity

The description lists multiple concrete actions — 'Captures learnings, errors and feature requests as structured entries in a project's .learnings/ directory', 'Categorizes entries by type, priority and area', 'attributes a finding to the skill whose text should have prevented it', 'tracks recurring patterns with cross-references', and 'promotes proven insights to CLAUDE.md or auto memory' — matching the comprehensive-coverage anchor. Not 4: the action list spans capture, categorization, attribution, recurrence tracking, and promotion with no meaningful coverage gap.

5 / 5

Completeness

It explicitly answers what ('Captures learnings, errors and feature requests as structured entries...') and when via a literal 'Use whenever:' clause enumerating concrete triggers, plus boundary statements ('Never recreates a .learnings/ corpus a repository removed by decision', 'Not an error-handling skill'). This matches the anchor-5 example structure exactly. Not 4: the 'when' is not merely present but enumerated with specific trigger conditions.

5 / 5

Trigger Term Quality

It includes literal user phrases ('that's wrong', 'actually...') plus a comprehensive sweep of natural trigger situations — command failure, user correction, missing-capability requests, external API failure, outdated knowledge, better approach found, review finding applied, and pre-task review — and names the target artifact (.learnings/). Not 4: synonyms and quoted phrasing are covered comprehensively rather than 'a few natural terms missing'.

5 / 5

Distinctiveness Conflict Risk

A clear niche (.learnings/ entry capture) with distinct situational triggers, plus explicit disambiguation ('Not an error-handling skill: it records what was learned, it does not fix the failure') that separates it from adjacent error-handling and memory skills. Not 4: it actively de-conflicts rather than leaving minor overlap risk.

5 / 5

Total

20

/

20

Passed

Validation

100%

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

Validation — 16 / 16 Passed

Validation for skill structure

No warnings or errors.

Reviewed

Table of Contents