CtrlK
BlogDocsLog inGet started
Tessl Logo
SkillPublic

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".

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

Quality

Content

57%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 thorough, well-sequenced procedural guide with genuinely concrete detection rules and target mappings, but it is hampered by heavy repetition of JVM rules, a missing templates directory that the core generation flow depends on, inconsistent reference paths, and no functional validation or safety step before overwriting an existing build file in place. These keep an otherwise strong skill from scoring higher on conciseness, workflow clarity, and progressive disclosure.

Suggestions

State each JVM rule once: consolidate the build_entrypoint predicate, the Quarkus → Micronaut → Vert.x → Spring Boot dev-task priority, and the fixed target catalog into a single section (or a dedicated JVM reference file) instead of restating them across §2.2, Step 5, and the Customization section — `build_entrypoint` alone appears 20 times.

Add a post-write validation step with a feedback loop: verify the generated/enhanced file actually works (e.g., `make -n help`, `task --list`, `just --list`, `mage -l`) and fix-and-retry on failure; for Mode A, keep a backup of the original file or confirm before the in-place overwrite rather than stating 'no need to ask about overwriting'.

Fix progressive disclosure: ship the templates/ directory that Step 4 requires (makefile-go.mk, taskfile-gradle.yml, etc.) and use one consistent reference path convention — Step 3's 'skills/aif-build-automation/references/BEST-PRACTICES.md' conflicts with Steps 6–7's 'references/...' style.

DimensionReasoningScore

Conciseness

Mostly efficient — detection tables and Docker/Catalog sections are dense procedural instruction, not concept explanation — but it could be tightened considerably: `build_entrypoint` appears 20 times, and the JVM entrypoint predicate, dev-task priority ("Quarkus → Micronaut → Vert.x → Spring Boot"), and target catalog are each restated 3–4 times across §2.2, Step 5, and the Customization section. It is not score 2 (verbosity is redundancy concentrated in JVM sections, not pervasive padding of concepts Claude already knows), but the repetition keeps it below score 4.

3 / 5

Actionability

Highly concrete and mostly executable: exact Glob/Grep patterns ("Glob: Makefile, makefile, GNUmakefile, Taskfile.yml..."), signal→conclusion tables, and exact Gradle/Maven task mappings ("`lint-spotbugs` | `lint:spotbugs` | `spotbugsMain` | `spotbugs:check`"). Not score 5: the core generation step depends on template files ("Read skills/aif-build-automation/templates/<selected-template>") that are not present in the bundle, and some examples contain placeholders ("[test command]", "Options (dynamic, based on what exists): 1. Makefile — ...").

4 / 5

Workflow Clarity

Steps 0–7 are clearly sequenced with explicit Mode A/B branching and a pre-write quality checklist, but validation is incomplete for a destructive operation: Mode A writes over the user's existing build file in place ("The file is updated in-place — no need to ask about overwriting") with no backup and no functional validation of the written output (e.g., `make -n help` / `task --list` / `just --list` dry-run) or fix-and-retry loop. Per the rubric's cap for file-modifying workflows missing verification checkpoints, this cannot exceed 3 even though the sequence itself is well-structured.

3 / 5

Progressive Disclosure

The three shipped references (BEST-PRACTICES.md, SUMMARY-FORMAT.md, DOC-INTEGRATION.md) are one level deep and clearly signaled with per-tool section routing, but there are real organization problems: Step 3 references "skills/aif-build-automation/references/BEST-PRACTICES.md" while Steps 6–7 use "references/SUMMARY-FORMAT.md" (inconsistent path convention), the entire Step 4 flow depends on a "templates/" directory that is absent from the bundle, and a large amount of JVM catalog detail (the fixed target catalog, framework dev-command tables) is inlined in SKILL.md rather than split out. These are more than the minor gaps of the score-4 anchor.

3 / 5

Total

13

/

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: it names concrete actions and all four supported artifacts, covers both generate and enhance modes, and includes an explicit 'Use when' clause with natural quoted trigger phrases. The only weakness is trigger coverage that omits common synonyms and variations users might say.

DimensionReasoningScore

Specificity

"Analyze project and generate or enhance build automation file (Makefile, Taskfile.yml, Justfile, Magefile.go)" plus "improves it by adding missing targets and best practices" lists multiple concrete actions (analyze, generate, enhance, add missing targets) covering all four named artifacts and both operating modes. This matches the comprehensive-coverage anchor; it does not fit the score-4 anchor since no meaningful capability of the skill is left unmentioned.

5 / 5

Completeness

Explicitly answers "what" ("Analyze project and generate or enhance build automation file... improves it by adding missing targets") and "when" with concrete quoted trigger phrases ("Use when user says 'generate makefile', 'create taskfile'..."). This directly matches the anchor-5 example pattern; score 4 would require the 'when' clause to be less explicit, which it is not.

5 / 5

Trigger Term Quality

Natural phrases like "generate makefile", "create taskfile", "add justfile", "setup mage", and "build automation" cover all four tools plus the category term — good keyword coverage matching the score-4 anchor. Not 5 because common variations are missing: no "magefile", "make targets", "improve my Makefile", "task runner", or bare tool names like "just"/"task".

4 / 5

Distinctiveness Conflict Risk

A clear niche — build automation files for four specifically named tools (Makefile, Taskfile.yml, Justfile, Magefile.go) — with distinct tool-name triggers, giving minimal conflict risk with other skills. It does not overlap broadly the way the score-3/4 anchors ("document files", "PDF and Word document files") describe.

5 / 5

Total

19

/

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 (633 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

Path

skills/aif-build-automation/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.