CtrlK
BlogDocsLog inGet started
Tessl Logo

aif-build-automation

Analyze project and generate or enhance build automation file (Makefile, Taskfile.yml, Justfile, Magefile.go). If a build file already exists, improves it by adding missing targets and best practices. Use when user says "generate makefile", "create taskfile", "add justfile", "setup mage", or "build automation".

61

Quality

73%

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/aif-build-automation/SKILL.md
SKILL.md
Quality
Evals
Security

Quality

Content

63%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-sequenced skill body whose main weaknesses are redundancy and reference integrity. The JVM detection and catalog rules are duplicated across at least four sections, and the templates the workflow depends on are missing from the bundle with inconsistent reference paths. Consolidating the JVM rules and shipping/fixing the template references would raise both conciseness and progressive disclosure.

Suggestions

Consolidate the JVM rules (entrypoint predicate, dev-task priority, catalog table) into a single section and cross-reference it from §2.3, Step 5, and the Customization section instead of restating them — the current repetition is the main conciseness cost.

Fix progressive disclosure: ship the templates/ directory the workflow depends on (Step 4 and Step 5 call it the "source of truth"), and use one consistent relative path convention (references/BEST-PRACTICES.md, not skills/aif-build-automation/references/BEST-PRACTICES.md).

Add a post-generation validation checkpoint in Step 6 — e.g., run `make -n help` / `task --list` / `just --list` to verify the generated file parses — especially before Mode A's in-place overwrite of an existing build file.

DimensionReasoningScore

Conciseness

The detection tables and catalogs are genuinely non-obvious, but the JVM rules are restated across §2.2 (the "Single source of truth" paragraph re-explains the wrapper predicate three ways), §2.3, the Step 5 catalog, and the Customization section (framework dev commands like "quarkusDev / quarkus:dev" appear in both §2.2's table and Step 5), which is more than minor trimming. It is above anchor 2 because almost nothing explains concepts Claude already knows — the padding is duplication of project-specific rules, not generic filler.

3 / 5

Actionability

Exact Glob/Grep patterns, exact filenames, exact Gradle/Maven task-name tables, and concrete AskUserQuestion prompts make the guidance largely copy-paste ready. It falls short of anchor 5 because the Docker "Layer 1" table gives target names and purposes but no actual commands, and "docker compose exec app [test command]" is an unexecuted placeholder.

4 / 5

Workflow Clarity

Steps 0–7 are clearly sequenced with explicit mode determination, a pre-write Quality Checks checklist, and an enforcement loop ("verify it against all skill-context rules... fix the output before presenting it"). Not anchor 5: there is no post-generation verification (e.g., dry-running the generated file with `make -n`), and Mode A overwrites an existing user file in-place with no validation checkpoint before writing.

4 / 5

Progressive Disclosure

The three bundle references (BEST-PRACTICES.md, SUMMARY-FORMAT.md, DOC-INTEGRATION.md) exist and are one level deep, but Step 4 and Step 5 lean on "skills/aif-build-automation/templates/<selected-template>" and "templates/*gradle*" / "*maven*" as the source of truth for a templates/ directory that does not exist in the bundle, and the BEST-PRACTICES path uses a different (non-relative) convention than the other two references. This is an organization/reference-integrity gap beyond anchor 4's "minor organization gaps".

3 / 5

Total

14

/

20

Passed

Description

83%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 what the skill does and when to use it, with concrete trigger phrases for each supported tool. Minor improvements are possible: replace the vague "best practices" with a specific capability, and add trigger synonyms for the enhance mode (e.g., "improve makefile", "update taskfile").

DimensionReasoningScore

Specificity

Lists several concrete actions ("Analyze project and generate or enhance build automation file", "improves it by adding missing targets") and names all four supported file types; "best practices" is the one vague phrase keeping it below the comprehensive anchor 5.

4 / 5

Completeness

Explicitly answers both "what" (analyze project, generate or enhance build automation files, add missing targets) and "when" with concrete quoted trigger phrases in the "Use when user says..." clause, matching the anchor-5 example pattern exactly; anchor 4's weaker "when" does not apply.

5 / 5

Trigger Term Quality

Natural per-tool phrases ("generate makefile", "create taskfile", "add justfile", "setup mage") plus the generic "build automation" give good coverage, but common variations like "improve/update makefile" or "task runner" are missing, so it falls short of the comprehensive synonym coverage of anchor 5.

4 / 5

Distinctiveness Conflict Risk

The four named build-automation tools and tool-specific triggers create a mostly distinct niche, but the broad "analyze project" framing and generic "build automation" trigger leave minor overlap risk with general project-setup/scaffolding skills, fitting anchor 4 rather than anchor 5's minimal-conflict bar.

4 / 5

Total

17

/

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 (615 lines); consider splitting into references/ and linking

Warning

allowed_tools_field

'allowed-tools' contains unusual tool name(s)

Warning

frontmatter_unknown_keys

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

Warning

Total

13

/

16

Passed

Repository
lee-to/ai-factory
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.