CtrlK
BlogDocsLog inGet started
Tessl Logo

joelclaw-web

Update and maintain joelclaw.com — the Next.js web app at apps/web/. Use when writing blog posts, editing pages, updating the network page, changing layout/header/footer, adding components, or fixing anything on the site. Hard content triggers: 'write article about X' (draft in Convex), 'publish article <slug>' (set draft=false + revalidate tags/paths). Also triggers on: 'update the site', 'write a post', 'fix the blog', 'joelclaw.com', 'update network page', 'add a page', 'change the header', or any task involving the public-facing web app.

72

Quality

91%

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

SKILL.md
Quality
Evals
Security

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 tightly written, highly actionable project-ops skill: it leads with concrete values, exact commands, and verification steps rather than concept explanation. The main gaps are missing error-recovery loops on the publish workflow and reference material that could be split out to ease navigation.

Suggestions

Add an explicit error-recovery step to the publish and new-post workflows (e.g. 'If `/feed.xml` does not include the post, re-run the revalidate POST and re-check') to turn verification into a real feedback loop.

Consider moving the Key Files and Design System tables into a separate reference file (e.g. REFERENCES.md) linked from the body, keeping SKILL.md as a leaner overview.

Trim soft-prose lines like 'Dark theme, minimal, system-y aesthetic' and the Writing Voice trait list, or compress them into the concrete Design System bullets.

DimensionReasoningScore

Conciseness

The body is dense with project-specific values (exact color codes, file paths, env vars) and assumes Claude knows Next.js/React/Tailwind rather than explaining them, but a few prose spots — e.g. the Writing Voice trait list and the 'Dark theme, minimal, system-y aesthetic' line — could be trimmed; not quite the every-token-earns-its-place lean of the 5 anchor.

4 / 5

Actionability

Copy-paste-ready specifics throughout — the ADR H1 regex `content.replace(/^#\s+(?:ADR-\d+:\s*)?.*$/m, "").trim()`, exact revalidate tag/path lists, env var names, commands (`kubectl get pods`, `tailscale status`), and a complete YAML frontmatter block — cover the common cases with executable guidance.

5 / 5

Workflow Clarity

The publish and new-post workflows are clearly sequenced with explicit verification checkpoints ('Verify `/`, `/<slug>`, `/<slug>.md`, and `/feed.xml` include the published post'), but neither specifies an error-recovery loop if verification fails, so the 5 anchor's feedback-loop requirement is not met.

4 / 5

Progressive Disclosure

Well-organized into clearly headed sections with one signaled external reference (the `joel-writing-style` skill) and no nested references; however the large Key Files and Design System reference tables are inlined in a 163-line file rather than split into reference files, so it stops short of the appropriately-split 5 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.

An exemplary description: it states a concrete purpose, enumerates specific actions, supplies both soft 'Use when' triggers and exact hard-trigger phrases, and is anchored to a distinct brand so conflict risk is low. Verbosity is well-controlled for the amount of information conveyed.

DimensionReasoningScore

Specificity

Lists multiple concrete actions — 'writing blog posts, editing pages, updating the network page, changing layout/header/footer, adding components' — plus hard-trigger actions ('draft in Convex', 'set draft=false + revalidate tags/paths'), giving comprehensive coverage of the site's surface; the trailing 'fixing anything on the site' catch-all is the only soft spot and does not pull it below the 5 anchor.

5 / 5

Completeness

Explicitly answers both 'what' ('Update and maintain joelclaw.com — the Next.js web app at apps/web/') and 'when' ('Use when writing blog posts... Also triggers on...') with concrete trigger phrases, matching the anchor that requires both.

5 / 5

Trigger Term Quality

Covers natural user phrases comprehensively — 'update the site', 'write a post', 'fix the blog', 'update network page', 'add a page', 'change the header' — alongside exact hard triggers ('write article about X', 'publish article <slug>') and the brand term 'joelclaw.com', matching the comprehensive-synonyms anchor.

5 / 5

Distinctiveness Conflict Risk

The brand anchor 'joelclaw.com' and Convex-specific hard triggers carve a clear niche that would not fire for unrelated skills; conflict risk is minimal despite a few generic phrases like 'fix the blog'.

5 / 5

Total

20

/

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.

Validation14 / 16 Passed

Validation for skill structure

CriteriaDescriptionResult

frontmatter_unknown_keys

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

Warning

referenced_paths_exist

Referenced path issues: 3 missing

Warning

Total

14

/

16

Passed

Repository
joelhooks/joelclaw
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.