CtrlK
BlogDocsLog inGet started
Tessl Logo
SkillPublic

build

build

Quality

49%

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 ./plugins/AI-Agents-Safe-Coding-Skills-claude/skills/build/SKILL.md

The canonical home for this skill is build in administrakt0r/AI-Agents-Safe-Coding-Skills

SKILL.md
Quality
Evals
Security

Quality

Content

71%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 a well-structured, highly actionable command workflow with genuine state-machine logic (existence checks, confirm-on-existing-doc, status routing), but it is a 745-line monolith that inlines three full document templates and repeats boilerplate, with zero use of bundle files. The stray duplicate frontmatter block at the top of the body adds further noise.

Suggestions

Move the three document templates (RESEARCH.md, IMPLEMENTATION.md, PROGRESS.md) into a `references/templates.md` file and link to them, cutting ~150 lines from SKILL.md.

Delete the stray duplicate frontmatter block at the top of the body and state the feature-name prompting rule once in Argument Parsing instead of repeating it in five subcommands.

Trim the "Important Guidelines" section — "Use AskUserQuestion Liberally", "Progress Tracking", and "Always Works Philosophy" largely restate guidance already embedded in the subcommand steps.

DimensionReasoningScore

Conciseness

The bulk is tight, concrete instruction, but there is clear tightening room: ~150 lines of inline document templates, a trailing "Important Guidelines" section that re-explains basics Claude already knows ("Test changes as you make them", "Don't assume code works - verify it"), and the "Get Feature Name" prompting procedure repeated across five subcommands. It is not 2 because the padding is a minority of the file; it is not 4 because "Use AskUserQuestion Liberally" and "Always Works Philosophy" largely restate guidance already embedded in the subcommand steps.

3 / 5

Actionability

Every subcommand gives exact file paths (`docs/{name}/RESEARCH.md`), fully specified AskUserQuestion payloads (question, header, multiSelect, options), and copy-paste-ready markdown templates for all three documents. There are no gaps — even the dynamic phase-selection options state their generation rule ("dynamically generated from phases found in IMPLEMENTATION.md, marking completed ones"), so it is not 4.

5 / 5

Workflow Clarity

Each subcommand is a numbered sequence with explicit checkpoints: doc-existence verification ("Check if `docs/{name}/RESEARCH.md` already exists"), Overwrite/Append/Skip confirmation before destructive overwrites, and next-step chaining, with missing docs redirecting to the correct subcommand — plus the status subcommand handling every doc-combination state. It is not 5 because phase completion gates on generic "test as you go" advice rather than a defined, concrete verification checkpoint; it is not 3 because validation and redirect feedback loops are explicit throughout.

4 / 5

Progressive Disclosure

This is a 745-line monolith with no references/, scripts/, or assets/ bundle at all; the three full document templates (~150 lines) and per-subcommand detail clearly belong in separate referenced files. It is not 2 because internal structure is strong (clear `## Subcommand:` and `### Step:` headers, explicit argument-routing table); it is not 4 because nothing is split out or referenced — everything is inlined in one file.

3 / 5

Total

15

/

20

Passed

Description

7%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 skill ships a duplicate YAML frontmatter block: the machine-readable frontmatter (first `---` pair) yields `description: build` — a single word identical to the name — while the intended description "Feature development pipeline - research, plan, track, and implement major features." is stranded in a second, non-functional frontmatter block. Since standard frontmatter parsing stops at the first closing `---`, discovery sees only "build", which fails on specificity, completeness, and distinctiveness. Even the stranded fuller description lacks a "Use when..." trigger clause, so fixing the frontmatter alone would still cap completeness at 3.

Suggestions

Merge the two frontmatter blocks into a single `---` block so the effective description becomes "Feature development pipeline - research, plan, track, and implement major features." and delete the stray duplicate block.

Add an explicit trigger clause, e.g. "Use when starting a major feature from scratch or when the user asks to research, plan, or track progress on a feature."

Include natural trigger terms users would actually say: "build a feature", "feature development", "implementation plan", "research a feature", "progress tracking".

DimensionReasoningScore

Specificity

The effective frontmatter description is the single word "build" — no concrete actions and no named domain, making it vaguer than the anchor-1 example "Helps with documents". It is not 2 because even "Names the domain but actions are minimal" is not met; there is no domain or action at all.

1 / 5

Completeness

Neither "what" ("build" states no capability) nor "when" (no "Use when..." clause or equivalent) is present in the description field. The fuller sentence "Feature development pipeline - research, plan, track, and implement major features." exists only inside a malformed second frontmatter block, not in the field that frontmatter parsing actually reads.

1 / 5

Trigger Term Quality

"build" is one generic keyword with no natural trigger phrases, matching the anchor-2 example "Works with files". It is not 1 because "build" is at least a word a user might naturally say ("build a feature"); it is not 3+ because there are no relevant multi-word triggers, synonyms, or variations anywhere in the description field.

2 / 5

Distinctiveness Conflict Risk

"build" is entirely generic and would conflict with virtually any coding skill, exactly matching anchor 1 ("Helps with code and documents"). It is not 2 because anchor 2 still implies a broad-but-named scope ("document files"), whereas "build" names nothing.

1 / 5

Total

5

/

20

Passed

Validation

81%

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

Validation — 13 / 16 Passed

Validation for skill structure

CriteriaDescriptionResult

skill_md_line_count

SKILL.md is long (645 lines); consider splitting into references/ and linking

Warning

description_field

'description' is very short (5 chars), consider making it more detailed

Warning

frontmatter_unknown_keys

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

Warning

Total

13

/

16

Passed

Repository

administrakt0r/AI-Agents-Safe-Coding-Skills

Path

plugins/AI-Agents-Safe-Coding-Skills-claude/skills/build/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.