CtrlK
BlogDocsLog inGet started
Tessl Logo
SkillPublic

add-talk

Add new conference talks to the talks portfolio repository. Handles fetching metadata from sched.co URLs or manual input, generating talk directories with README.md files, fuzzy-matching slide PDFs from ~/Downloads/, and staging all changes. Use when user says "add talk", "new talk", "add these talks", provides sched.co URLs, or mentions adding a presentation or conference entry.

Quality

89%

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

SKILL.md
Quality
Evals
Security

Quality

Content

80%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 well-built instruction skill: lean, executable, and properly factored with a single well-signaled reference file. Its main weakness is the absence of validation feedback loops in a batch workflow — fetch, parse, and generation steps have no checkpoints before changes are staged.

Suggestions

Add a validation checkpoint after the sched.co fetch: verify curl succeeded and the ld+json block was found before parsing, and fall back to manual input (the existing no-URL path) if either fails.

Add a post-creation verification step before 'git add', e.g., confirm each README follows the template's required fields and that no directory slug collides with an existing YYYY/YYYY-MM-DD-event-slug/ directory.

Make Step 1 fully executable by including the extraction command for the ld+json block (e.g., a grep/sed or python one-liner) rather than describing the fields to extract abstractly.

DimensionReasoningScore

Conciseness

The body is lean and purely instructional — no concept explanations, just non-obvious operational knowledge (e.g., 'sched.com blocks default agents and WebFetch' with the exact UA header workaround), concrete commands, and terse format rules like 'Location format always includes a flag emoji'.

5 / 5

Actionability

Mostly executable guidance: exact curl/ls/cp/git commands and precise ld+json field mappings ('name → talk title', 'superEvent.name → event name'). It falls short of the top anchor because the ld+json extraction in Step 1 describes what to pull but provides no executable command for it, and the slide 'tokenize... and match' step is direction rather than a runnable recipe.

4 / 5

Workflow Clarity

The sequence (input routing → fetch → create → slides → stage) is clear and includes one checkpoint ('If no match is found, inform the user which talks are missing slides'), but this batch workflow ('Process all URLs in parallel') has no validate-fix-retry checkpoints: silent curl failures, misparsed metadata, or malformed READMEs proceed straight to staging, so it sits at the validation-gaps anchor per the batch-operation cap.

3 / 5

Progressive Disclosure

SKILL.md is a concise overview and the one piece of file-appropriate content (the README layout) is correctly split into a well-signaled, one-level-deep reference: '[readme-template.md](./references/readme-template.md)', which exists in the bundle with exactly the content the body defers to it.

5 / 5

Total

17

/

20

Passed

Description

92%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 strong description: concrete, comprehensive, third-person, with an explicit and natural 'Use when' trigger clause. The only gap is minor — a few additional natural synonyms in the trigger list.

DimensionReasoningScore

Specificity

The description lists multiple concrete actions covering the full workflow — 'fetching metadata from sched.co URLs or manual input, generating talk directories with README.md files, fuzzy-matching slide PDFs from ~/Downloads/, and staging all changes' — matching the comprehensive-coverage anchor; nothing is vague or padded.

5 / 5

Completeness

It explicitly answers both 'what' (the concrete action list) and 'when' ('Use when user says "add talk", "new talk"...') with concrete trigger phrases, exactly matching the top anchor.

5 / 5

Trigger Term Quality

The trigger clause covers natural phrases users would say ('add talk', 'new talk', 'add these talks', 'sched.co URLs', 'adding a presentation or conference entry'), but a few natural synonyms (e.g., 'slides', 'speaking at an event') are missing, so it falls just short of the comprehensive-synonyms anchor.

4 / 5

Distinctiveness Conflict Risk

The niche is clear and distinctive — a talks portfolio repository, sched.co URLs, ~/Downloads/ slide PDFs — with trigger phrases unlikely to fire for unrelated skills, matching the minimal-conflict-risk anchor.

5 / 5

Total

19

/

20

Passed

Validation

100%

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

Validation — 16 / 16 Passed

Validation for skill structure

No warnings or errors.

Repository

jpkrohling/talks

Path

.claude/skills/add-talk/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.