CtrlK
BlogDocsLog inGet started
Tessl Logo
SkillPublic

book-mirror

Take any book (EPUB/PDF), produce a personalized chapter-by-chapter analysis. Each chapter is preserved in detail (The Chapter) and mirrored back to the reader's actual life (The Mirror) using brain context. The mirror observes and resonates — a friend pointing out parallels, NOT a consultant rearranging the reader's life, NOT a therapist assigning homework. The reader decides what to do about it. Layout is a top-aligned HTML table or stacked sections, never a bare markdown pipe table (pipe tables center-misalign uneven columns). Output is a single brain page at media/books/<slug>-personalized.md plus an optional PDF via brain-pdf.

Quality

71%

Does it follow best practices?

Run evals on this skill

Adds up to 20 points to the overall score

View guide
SecuritybySnyk

Low

Low-risk findings worth noting

Fix and improve this skill with Tessl

tessl review fix ./plugin/skills/book-mirror/SKILL.md

The canonical home for this skill is book-mirror in garrytan/gbrain

SKILL.md
Quality
Evals
Security

Quality

Content

62%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 an unusually well-validated workflow — a clear pipeline with real error recovery, retry idempotency, and an eval gate — and its operational sections are genuinely executable. Its weaknesses are redundancy (core rules restated several times plus conformance-test stub sections) and a monolithic single-file structure with no reference bundle despite being ~600 lines long.

Suggestions

State each hard rule once and cross-reference it: the pipe-table rule, observe-never-prescribe, and chapter-richness rules each appear in the layout section, quality system, quality bar, anti-patterns, and checklist; consolidating them into the quality system and linking from elsewhere would cut significant tokens.

Remove or merge the 'Contract', 'Output Format', and duplicate trailing 'Anti-Patterns' stub sections — content that exists only to satisfy a conformance test adds pure token cost.

Move stable, load-on-demand material (children's-book variant, layout repair facts like GitHub's valign/style stripping, cross-modal eval dimensions) into reference files under references/ and keep SKILL.md as the overview plus pipeline, so the ~590-line monolith is split with clearly signaled one-level references.

DimensionReasoningScore

Conciseness

Noticeably verbose: the pipe-table rule, the observe-never-prescribe rule, and the chapter-richness rule are each restated three-plus times across the layout section, quality bar, editorial rule, and the ~13-bullet anti-patterns list, and three stub sections ('Contract', 'Output Format', trailing 'Anti-Patterns') exist explicitly 'for the conformance test'. Not a 1 because there is no explanation of concepts Claude already knows — the extraction, context-gathering, and CLI sections are tight and earned.

2 / 5

Actionability

Mostly executable guidance: working EPUB extraction (bash + embedded BeautifulSoup script), 'pdftotext -layout', 'gbrain query "…" --limit 3', the full 'gbrain book-mirror' invocation with flags, and the eval-gate command. Held below 5 because the context-pack assembly block is scaffold with '# …' placeholders and the PDF step says only 'See skills/brain-pdf/SKILL.md for the invocation' with no actual command.

4 / 5

Workflow Clarity

A numbered 6-phase pipeline matched by sections 1–6, with explicit validation and feedback loops throughout: word-count >1500 quality check, idempotent retry on 'chapters_failed > 0', exit-3 cost confirmation and no_pricing routing, post-write fact-check pass, an eval gate with a 'below 6 → rebuild with targeted fixes' loop, and a final output checklist — exactly the anchor-5 pattern for a batch/paid operation.

5 / 5

Progressive Disclosure

No bundle files exist (references/, scripts/, assets/ all absent), so everything — quality system, children's-variant spec, layout repair details — is inlined in a ~590-line single file that clearly could be split. Section headers give decent in-file navigation and external references are signaled at the top, matching anchor 3 rather than 2, but the referenced paths (../conventions/*, skills/brain-pdf/SKILL.md) are outside this bundle and unverifiable.

3 / 5

Total

14

/

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 distinctive, concrete capability with named input formats and a precise output location, but its trigger guidance is siloed in a separate when_to_use field and a fair amount of the field is spent on tone/layout philosophy instead of capabilities. Moving the 'Use when…' trigger phrases into the description itself and trimming the stance exposition would lift it to the top band.

Suggestions

Append the trigger phrases from when_to_use to the description (e.g., 'Use when the user asks to mirror this book, apply this book to my life, or make a personalized version of this book') so the field explicitly answers 'when' as well as 'what'.

Trim the stance/layout exposition ('NOT a consultant…', 'NOT a therapist…', pipe-table center-misalignment rationale) from the description; it duplicates body content and displaces capability and trigger wording.

Add one or two natural synonyms users would say ('book summary personalized to me', 'apply this book to my life') to broaden trigger-term coverage.

DimensionReasoningScore

Specificity

Lists several concrete actions — 'Take any book (EPUB/PDF), produce a personalized chapter-by-chapter analysis', chapter preservation plus a 'Mirror' mapped to the reader's life, and a concrete output at 'media/books/<slug>-personalized.md plus an optional PDF' — but a noticeable portion of the field is stance/layout philosophy ('NOT a consultant…', pipe-table rationale) rather than capability coverage, keeping it below the comprehensive anchor 5.

4 / 5

Completeness

The 'what' is clear and concrete, but the description field itself contains no 'Use when…' clause or equivalent trigger guidance — that lives in a separate when_to_use frontmatter field — so per the rubric guideline completeness is capped at 3.

3 / 5

Trigger Term Quality

Good natural keyword coverage ('book', 'EPUB', 'PDF', 'personalized chapter-by-chapter analysis', 'mirror'), better than anchor 3's bare domain mention, but common user phrasings like 'apply this book to my life' or 'book summary' appear only in the separate when_to_use field, not in the description itself.

4 / 5

Distinctiveness Conflict Risk

A clear niche (mirroring a book's chapters onto the reader's own brain context, 'a friend pointing out parallels') with distinctive trigger vocabulary like 'mirror this book'; minimal overlap risk with generic summarization skills.

5 / 5

Total

16

/

20

Passed

Validation

81%

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

Validation — 13 / 16 Passed

Validation for skill structure

CriteriaDescriptionResult

skill_md_line_count

SKILL.md is long (610 lines); consider splitting into references/ and linking

Warning

frontmatter_unknown_keys

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

Warning

relative_links

Relative link issues: 5 suspicious

Warning

Total

13

/

16

Passed

Repository

garrytan/gbrain

Path

plugin/skills/book-mirror/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.