CtrlK
BlogDocsLog inGet started
Tessl Logo
SkillPublic

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.

Quality

78%

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/brain-pdf/SKILL.md
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 highly actionable, well-guarded workflow whose script is copy-paste ready, with the main costs being redundant/boilerplate sections and a claimed-but-unimplemented emoji sanitization step. Trimming conformance-test scaffolding and closing the sanitization gap would move both conciseness and actionability up.

Suggestions

Add the emoji sanitization step (command or flag) to the invocation script, or remove the claim from the description and anti-patterns list, so behavior and instructions agree.

Delete or merge the "Contract" and "Output Format" conformance-test sections and fold "The rule" into the opening convention block to cut roughly 20 lines of duplicated content.

Move version-sensitive text ("A future v0.26+ may bundle a fallback...; for v0.25.1 gstack is a soft prereq") into a clearly labeled prerequisites note or drop it, per the time-sensitive-information guideline.

DimensionReasoningScore

Conciseness

The body avoids concept-tutoring but carries clear redundancy: "The rule" restates the opening blockquote, the "Defaults: NO cover, NO TOC" section repeats inline script comments, and the "Contract"/"Output Format" sections admit they exist only "for the conformance test". Time-sensitive version text ("for v0.25.1 gstack is a soft prereq") also pads without a deprecated-section frame. This matches anchor 3 — mostly efficient but includes unnecessary material that could be tightened — rather than 4, where only minor trimming would be needed.

3 / 5

Actionability

The invocation script is executable end-to-end (binary check, gbrain get, dual-source raw fetch, awk frontmatter strip, guarded render) and "Common patterns" gives concrete flag examples. Two gaps keep it from 5: emoji sanitization is claimed ("Skipping emoji sanitization... show up as boxes") but no command or step implements it, and the first common pattern `brain-pdf <slug>` is a pseudo-command with no defined entry point.

4 / 5

Workflow Clarity

The RESOLVE → STRIP → RENDER → DELIVER sequence is mirrored by a fully commented script with explicit validation guards (`[ -x "$P" ]`, `gbrain get` existence check, `[ -s "$CLEAN" ]` empty-output check), and "When it fails" provides error-specific recovery (resolve the real slug after a title search; install gstack rather than hand-rolling a PDF). This matches anchor 5's explicit validation plus feedback loops; the operation is non-destructive, so no batch cap applies.

5 / 5

Progressive Disclosure

A single well-sectioned file for a single-purpose skill, with external conventions (quality.md, agent-operator-protocol.md) and related skills linked one level deep and clearly signaled — no bundle files exist to split into. It falls short of anchor 5 because at ~180 lines the boilerplate "Contract" and "Output Format" sections and duplicated rule/defaults text are organization gaps; the under-50-line simple-skill exception does not apply.

4 / 5

Total

16

/

20

Passed

Description

75%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 specific, distinct description with concrete named actions, weakened by the absence of any explicit "when to use" guidance within the description text itself. Adding a use-when clause with natural trigger synonyms would raise completeness and trigger coverage.

Suggestions

Append an explicit use-when clause to the description, e.g. "Use when the user asks to make, export, convert, or publish a brain page as a PDF."

Include common natural phrasings and the .pdf extension in the description text (convert, export, save as PDF) so trigger matching does not depend solely on the separate triggers field.

Drop the trailing philosophy sentence ("Brain page is always the source of truth; PDF is a rendering.") in favor of when-to-use guidance, since the convention adds no routing signal.

DimensionReasoningScore

Specificity

The description lists four concrete actions — "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" — which comprehensively covers the skill's purpose with no gaps. It is not a 4 because there is no meaningful missing action within the skill's stated scope.

5 / 5

Completeness

The "what" is clear and multi-action, but the description contains no "Use when..." clause or equivalent explicit trigger guidance — usage is only weakly implied by "from any brain page". Per the judging guideline, a missing use-when clause caps completeness at 3; the description matches anchor 3 exactly.

3 / 5

Trigger Term Quality

Natural keywords "PDF" and "brain page" appear and users would plausibly say them, but common variations like "convert", "export", and the ".pdf" extension are absent from the description itself (they exist only in the separate triggers field, which this evaluation does not credit). It fits anchor 4 (good coverage, a few natural terms missing) rather than 5, which requires synonyms and file extensions in the evaluated text.

4 / 5

Distinctiveness Conflict Risk

"PDF from any brain page via the gstack make-pdf binary" carves a clear niche with distinct tooling (gstack, gbrain), so it is unlikely to trigger for the wrong skill. Adjacent skills (e.g., HTML publishing) target different output formats, keeping conflict risk minimal — matching anchor 5.

5 / 5

Total

17

/

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/brain-pdf/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.