CtrlK
BlogDocsLog inGet started
Tessl Logo
SkillPublic

skillpack-harvest

Lift a proven skill from a host repo (e.g. your OpenClaw fork) back into gbrain's bundle so other clients can scaffold it. Editorial workflow: the CLI does the file copy + privacy lint; this skill drives the judgment-heavy genericization (scrub real names, generalize triggers, lift fork-specific conventions to references).

Quality

79%

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

Fix and improve this skill with Tessl

tessl review fix ./skills/skillpack-harvest/SKILL.md
SKILL.md
Quality
Evals
Security

Quality

Content

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

The body is a highly actionable, well-sequenced editorial workflow with executable commands, explicit validation checkpoints, and error-recovery loops. Its weaknesses are redundant restatements of the same points (copy-not-move stated three times, lint-vs-editorial-pass framing stated twice) and a monolithic ~250-line body whose only references point outside the skill directory.

Suggestions

State 'harvest is a copy, not a move' once (e.g., in 'What harvest does NOT do') and drop the restatements in Anti-Patterns and Phase 5.

Merge the 'editorial pass is the primary defense / linter is the safety net' framing from Anti-Patterns and the Bypass section into a single place.

Move the privacy-lint pattern details (built-in defaults, harvest-private-patterns.txt, harvest-lint.ts) into a reference file inside the skill bundle to slim the main body and make the skill's references internal.

DimensionReasoningScore

Conciseness

Mostly efficient domain-specific content (phases, commands, outcomes, checklists) that assumes Claude's competence on general concepts, but with repeated restatements: 'harvest is a copy, not a move' appears in Anti-Patterns ('Moving files instead of copying... Don't rm -rf the source'), Phase 5 ('harvest is a copy, not a move'), and 'What harvest does NOT do' ('It does NOT move files (it copies)'); the 'editorial pass is the primary defense / linter is the safety net' framing appears in both Anti-Patterns ('Trusting the linter alone... Phase 3 (the editorial pass) is the primary defense') and the Bypass section ('The privacy linter is the safety net. The editorial pass is the primary defense'). Not 4+: these duplications could be tightened into single statements. Not 2: there is no padded explanation of concepts Claude already knows.

3 / 5

Actionability

Fully executable, copy-paste-ready commands cover the common cases: 'gbrain skillpack harvest <slug> --from <host-repo-root> --dry-run', 'gbrain skillpack harvest <slug> --from <host-repo-root>', 'gbrain skillpack harvest <slug> --from <host-repo-root> --no-lint', 'bun test test/skills-conformance.test.ts', 'gbrain skillpack check --strict', 'gbrain skillpack list', 'cd <gbrainRoot> && git diff -- skills/<slug>/'. Concrete scrub examples ('alice-example', 'acme-example', 'fund-a', 'example@example.com', '#some-channel') and specific paths ('~/.gbrain/harvest-private-patterns.txt', 'src/core/skillpack/harvest-lint.ts') leave no key details missing.

5 / 5

Workflow Clarity

Six clearly sequenced phases (Plan → Dry-run → Genericization checklist → Real harvest → Verify → Announce) with explicit validation checkpoints (dry-run preview, privacy lint with rollback on match, conformance test, --strict drift check, user diff review and explicit commit approval in the Contract) and feedback loops for error recovery ('lint_failed — privacy linter caught something. Go back to Phase 3, scrub the host file, retry'). Outcomes and failure modes are enumerated (harvested, lint_failed, slug_collision, drift). This matches the anchor for clear sequence, explicit validation, and checklists.

5 / 5

Progressive Disclosure

A single-file body with well-organized sections and two clearly signaled references ([_brain-filing-rules.md](../_brain-filing-rules.md), [agent-operator-protocol.md](../conventions/agent-operator-protocol.md)). No bundle files exist (no references/, scripts/, or assets/ directories), and the two links point outside the skill directory ('../') to unverifiable paths; the ~250-line body also inlines material (the Phase 3 scrub checklist details, lint pattern internals) that could partly live in a reference file to slim the main skill. Good structure with minor organization gaps — anchor 4, not 5.

4 / 5

Total

17

/

20

Passed

Description

70%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 communicates a concrete, distinctive editorial workflow with strong action specificity, but it lacks any explicit 'Use when' trigger guidance, omits the skill's own natural term 'harvest' from the description text, and uses second-person phrasing ('your OpenClaw fork') that incurs the voice penalty.

Suggestions

Add an explicit trigger clause, e.g. 'Use when the user asks to harvest, publish, share, or lift a proven skill from their host fork into gbrain's bundle.'

Include the canonical natural phrases ('harvest', 'publish', 'share') in the description itself, not only in the frontmatter triggers array.

Rewrite in third person ('Lifts a proven skill from a host repo...') and replace 'your OpenClaw fork' with 'an OpenClaw fork' to avoid the second-person voice penalty.

DimensionReasoningScore

Specificity

Quotes: 'the CLI does the file copy + privacy lint', 'drives the judgment-heavy genericization (scrub real names, generalize triggers, lift fork-specific conventions to references)' — multiple concrete actions with comprehensive coverage, which alone anchors at 5. However, the second-person phrasing 'your OpenClaw fork' (plus the imperative 'Lift a proven skill...') incurs the rubric's 1-point voice penalty. Not 3: action coverage is comprehensive, not partial.

4 / 5

Completeness

The 'what' is clear ('Lift a proven skill from a host repo (e.g. your OpenClaw fork) back into gbrain's bundle so other clients can scaffold it... this skill drives the judgment-heavy genericization'), but there is no 'Use when...' clause or equivalent explicit trigger guidance — the 'when' is only weakly implied by the opening verb phrase, which the judging guidelines explicitly cap at 3. Not 4: without any trigger clause the 'when' cannot be considered present-but-could-be-more-specific.

3 / 5

Trigger Term Quality

Good natural keyword coverage: 'lift', 'host repo', "gbrain's bundle", 'scaffold', 'privacy lint', 'scrub real names'. But the skill's own canonical natural phrase 'harvest' — plus 'publish' and 'share' — is absent from the description text itself (they exist only in the frontmatter triggers array, which is not the evaluation target), so a few natural terms are missing (anchor 4), not comprehensively covered.

4 / 5

Distinctiveness Conflict Risk

Highly niche vocabulary — "gbrain's bundle", 'OpenClaw fork', 'scaffold', 'genericization', 'privacy lint', 'fork-specific conventions' — carves a clear upstream-skill-publishing niche with distinct triggers and minimal conflict risk with other skills.

5 / 5

Total

16

/

20

Passed

Validation

87%

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

Validation — 14 / 16 Passed

Validation for skill structure

CriteriaDescriptionResult

frontmatter_unknown_keys

Unknown frontmatter key(s) found; consider removing or moving to metadata

Warning

relative_links

Relative link issues: 2 suspicious

Warning

Total

14

/

16

Passed

Repository

garrytan/gbrain

Path

skills/skillpack-harvest/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.