CtrlK
BlogDocsLog inGet started
Tessl Logo

brain-pdf

Generate a publication-quality PDF from any brain page via the gstack make-pdf binary. Strips YAML frontmatter, sanitizes emoji, applies running headers and page numbers. Brain page is always the source of truth; PDF is a rendering.

56

Quality

65%

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 ./skills/brain-pdf/SKILL.md
SKILL.md
Quality
Evals
Security

Quality

Content

67%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 actionable, well-structured operational guide with executable bash for every workflow step and useful opinionated defaults (no cover/TOC, CONTAINER=1, delivery channel caveats). Its main weaknesses are redundancy — the core rule and the cover/TOC rationale are each repeated two to three times — plus placeholder conformance sections, an unverified `--raw` flag, and a mandated emoji-sanitization step that is never implemented.

Suggestions

State the "brain page is the source of truth" rule once and consolidate the three separate cover/TOC explanations (Invocation comment, Common patterns, Defaults section) into a single Defaults section to cut roughly a fifth of the body.

Resolve the `gbrain get "$SLUG" --raw` uncertainty — verify the actual flag and bake it into the snippet — and add the missing emoji-sanitization command, since both the description and the Anti-Patterns section require it.

Add a post-render checkpoint (e.g. `[ -f "$OUT" ] || { echo "Render failed" >&2; exit 1; }`) before delivery, and either link the conventions files (brain-first.md, _brain-filing-rules.md) from the sections that use them or drop them from the Contract section.

DimensionReasoningScore

Conciseness

The body is mostly efficient, code-heavy, and free of textbook explanation, but it carries real padding: the "brain page is the source of truth" rule is stated twice (opening blockquote and "The rule"), the no-cover/no-TOC rationale appears three times (Invocation comments, Common patterns, and the dedicated "Defaults" section), and the "Contract"/"Output Format" sections are explicitly conformance-test placeholders. Version-sensitive details ("a future v0.26+", "for v0.25.1 gstack is a soft prereq") also sit inline rather than in a deprecated/old-patterns section. This is tighter than score 2's noticeably padded profile but not the lean score-4 body, since roughly a fifth of the file is duplicate or filler content.

3 / 5

Actionability

The guidance is largely copy-paste executable: the binary existence check (`[ -x "$P" ] || ... exit 1`), the page existence check (`gbrain get "$SLUG" || ... exit 1`), the fallback between repo file and API fetch, the sed frontmatter strip, and the render invocation with `CONTAINER=1`, plus channel-specific delivery instructions. Two gaps keep it from score 5: `gbrain get "$SLUG" --raw # whatever flag exposes raw body` is an admitted guess rather than a verified command, and emoji sanitization is mandated (workflow step 2 rationale, description, anti-patterns) yet no command implements it.

4 / 5

Workflow Clarity

The RESOLVE → STRIP → RENDER → DELIVER workflow is explicit and carries real precondition checkpoints (verify make-pdf is executable; confirm the brain page exists before doing anything). It is not score 5 because there is no post-render checkpoint — nothing verifies "$OUT" was created or reports render failure before delivery — and no feedback loop for error recovery; it stays above score 3 because the risky preconditions are validated rather than merely listed.

4 / 5

Progressive Disclosure

The single-file body is well organized into scannable sections (Workflow, Invocation, Common patterns, Defaults, Fonts, Delivery, Anti-Patterns) with no wall of text, and the conventions reference is one level deep and clearly signaled. It falls short of score 5 because several referenced paths — `../conventions/quality.md`, `skills/book-mirror/SKILL.md`, `test/skills-conformance.test.ts` — point outside the skill and cannot be resolved from the bundle, and the Contract section lists conventions (`brain-first.md`, `_brain-filing-rules.md`) that are never linked from the guidance itself.

4 / 5

Total

15

/

20

Passed

Description

63%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 dense and specific, naming the tool and four concrete pipeline actions with a clear niche, but it entirely lacks a "Use when..." trigger clause and misses common natural synonyms like "export" and "convert". It describes what the skill does well while leaving when to invoke it implicit.

Suggestions

Add an explicit trigger clause, e.g. "Use when the user asks to make, export, or convert a brain page into a PDF, share one via email/Telegram, or produce a print-ready rendering of brain content."

Include natural synonyms users would actually say ("export as PDF", "convert to PDF", ".pdf", "print-ready") alongside the existing "PDF" and "brain page" keywords.

Qualify the lead action with the brain source (e.g. "Generate a publication-quality PDF from an existing brain page") to reduce overlap with generic PDF-creation requests.

DimensionReasoningScore

Specificity

"Generate a publication-quality PDF from any brain page via the gstack make-pdf binary. Strips YAML frontmatter, sanitizes emoji, applies running headers and page numbers" names the domain, the tool, and four concrete actions covering the full render pipeline. It matches the score-5 anchor (multiple specific concrete actions, comprehensive coverage) rather than score 4, whose coverage has minor gaps — the described actions span input handling through output chrome with nothing essential missing.

5 / 5

Completeness

The "what" is clear and concrete (generate PDF via gstack make-pdf, strip frontmatter, sanitize emoji, apply headers/page numbers) but there is no "Use when..." clause or equivalent explicit trigger guidance in the description. Per the judging guidelines, a missing 'Use when' clause caps completeness at 3 — clear "what", "when" absent rather than merely weakly implied.

3 / 5

Trigger Term Quality

Relevant keywords are present ("PDF", "brain page", "make-pdf", "publication-quality") but common natural variations users would say are missing: "export", "convert", "share", "print", and the ".pdf" extension. This matches the score-3 anchor ("some relevant keywords but missing common variations or synonyms"), not score 4, which requires good coverage with only a few natural terms missing.

3 / 5

Distinctiveness Conflict Risk

The niche is sharply defined by "any brain page" and the gstack make-pdf binary, making it mostly distinct from generic document skills. However, the lead phrase "Generate a publication-quality PDF" could still attract requests to make a PDF of any non-brain content, so there is minor overlap risk with a general PDF-creation skill — matching score 4 ("mostly distinct; minor overlap risk") rather than score 5's clear-niche-without-conflict.

4 / 5

Total

15

/

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: 1 suspicious

Warning

Total

14

/

16

Passed

Repository
garrytan/gbrain
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.