CtrlK
BlogDocsLog inGet started
Tessl Logo

creating-skills

Guide for creating effective skills. This skill should be used when users want to create a new skill (or update an existing skill) that extends Letta Code's capabilities with specialized knowledge, workflows, or tool integrations.

64

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 ./src/skills/builtin/creating-skills/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 well-structured instructional skill with an excellent clearly-sequenced workflow featuring validation and error-recovery loops, and well-signaled one-level-deep references to real bundle files. It loses points on token efficiency from repeated progressive-disclosure messaging and on actionability/organization for leaving the bundled validate-skill.ts script undocumented in SKILL.md.

Suggestions

Reference scripts/validate-skill.ts directly in the body (e.g., as a standalone validation step before packaging) so the bundled script is discoverable and actionable from SKILL.md.

Consolidate the repeated progressive-disclosure guidance — the Core Principles section, the 'Avoid duplication' bullet, and the 'Key principle' note all restate the same split-into-references advice; state it once and trim the rest.

Tighten padded sentences like the init-script description ('The script conveniently generates... making the skill creation process much more efficient and reliable') to plain statements of what the command does.

DimensionReasoningScore

Conciseness

The body is dense with real guidance but includes sections that could be tightened: the progressive-disclosure principle is restated at least four times (Core Principles, the Progressive Disclosure section, the 'Avoid duplication' bullet, and the 'Key principle' note), and filler like 'The script conveniently generates a new template skill directory that automatically includes everything a skill requires, making the skill creation process much more efficient and reliable' pads the init step. This matches anchor 3 ('mostly efficient but includes some unnecessary explanation or could be tightened') — not anchor 4, where only minor trimming would be needed.

3 / 5

Actionability

The body provides copy-paste-ready commands ('npx tsx <SKILL_DIR>/scripts/init-skill.ts <skill-name> --path <output-directory>', the package-skill.ts invocations), a concrete YAML frontmatter example, and worked analyses (editing-pdfs, building-frontend-apps, querying-bigquery). It falls short of anchor 5 because a bundled script, scripts/validate-skill.ts, is never referenced from the body, so a user cannot act on it from SKILL.md alone, and a few steps ('Implement changes and test again') remain high-level.

4 / 5

Workflow Clarity

The six-step creation process is explicitly numbered and ordered, with per-step skip conditions ('Skip this step only when...'), an explicit validation checkpoint in packaging ('The packaging process automatically validates the skill first'), and a feedback loop for error recovery ('If validation fails... Fix any validation errors and run the packaging command again'), plus a numbered iteration workflow. This matches anchor 5 (clear sequence with explicit validation steps and feedback loops) rather than anchor 4, which allows minor validation gaps.

5 / 5

Progressive Disclosure

Both real reference files (references/workflows.md, references/output-patterns.md) are one level deep and clearly signaled with when-to-read descriptions ('Multi-step processes: See references/workflows.md...'), and the body stays under its own 500-line guidance. It is anchor 4 rather than 5 because scripts/validate-skill.ts exists in the bundle but is never mentioned or navigated to from SKILL.md — a minor but real organization/discoverability gap when scored against the actual bundle structure.

4 / 5

Total

16

/

20

Passed

Description

82%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 that explicitly states both what the skill does and when to use it, with natural trigger phrases and low conflict risk. Its main weakness is specificity: it never enumerates the concrete activities the skill guides (planning resources, writing frontmatter, packaging, iterating), so it reads slightly generic despite the clear trigger conditions.

DimensionReasoningScore

Specificity

The description names the domain ('creating effective skills') and 1-2 concrete actions ('create a new skill (or update an existing skill)'), which matches anchor 3. It is not anchor 4 because it never lists several specific capabilities (e.g., designing frontmatter, structuring references, packaging .skill files), and not anchor 2 because 'create' and 'update' are genuine concrete actions beyond a bare domain label like 'Processes PDF files'.

3 / 5

Completeness

It explicitly answers both questions: what ('Guide for creating effective skills') and when ('This skill should be used when users want to create a new skill (or update an existing skill)...') with concrete trigger phrases. It clearly fits anchor 5 rather than anchor 4, since the 'when' clause is explicit and specific, not merely present-with-room-for-improvement.

5 / 5

Trigger Term Quality

Natural trigger phrases users would say are present — 'create a new skill', 'update an existing skill' — plus the target capability terms 'specialized knowledge, workflows, or tool integrations'. It falls short of anchor 5's comprehensive synonym coverage: no mention of 'SKILL.md', 'authoring', 'building', or '.skill' files, which a user could naturally say when they need this skill.

4 / 5

Distinctiveness Conflict Risk

Skill creation is a clear, distinct meta-task niche, and the triggers ('create a new skill', 'update an existing skill') are unlikely to fire for unrelated skills. Minor overlap potential with plugin/extension authoring keeps it from being a weaker score, not from anchor 5, which it matches well.

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

relative_links

Relative link issues: 6 missing

Warning

referenced_paths_exist

Referenced path issues: 12 missing

Warning

Total

14

/

16

Passed

Repository
letta-ai/letta-code
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.