CtrlK
BlogDocsLog inGet started
Tessl Logo

adding-tests-and-ci

Where a new test belongs and how to scope CI jobs, steps, and workflow triggers so they run only when a change can affect them. Use when adding or moving a test, adding or changing a CI job, step, or workflow, or when a job is slow or runs on unrelated changes.

70

Quality

88%

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

SKILL.md
Quality
Evals
Security

Quality

Content

88%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.

Excellent instructional content: concrete, executable, and grounded in this repo's measured history, with a genuine validation workflow for proving CI changes. The one liability is embedded time-sensitive facts (dates, plan quotas, timings) that will rot and are not isolated into a maintenance section, plus a rules table dense enough that a reference split could help.

DimensionReasoningScore

Conciseness

The body is dense and repo-specific with no padding and no explanation of concepts Claude already knows — every line is a decision input (scripts, functions, YAML patterns, measured timings). It misses the top anchor because time-sensitive specifics ('on 2026-09-29 the Fast tests gate waited a median 445 s', 'moved to Enterprise Cloud in October 2026... 500 jobs') are woven into normative sections rather than isolated in an old-patterns/deprecated section, and these could be trimmed or consolidated.

4 / 5

Actionability

Fully executable guidance throughout: exact commands ('node --experimental-strip-types --test scripts/ci-change-scope.test.ts scripts/ci-build-workspaces.test.ts scripts/ci-test-lanes.test.ts', 'actionlint', 'oxlint --quiet'), copy-paste YAML ('group: <name>-${{ github.event.pull_request.number || github.ref }}' with 'cancel-in-progress: true'), and named implementation hooks ('requiresFullCoreFastTests' in scripts/ci-test-lanes.ts, 'splitLargePackages', 'resolveMaxWorkers', 'CHECK_NAMES'). Specific examples cover the common cases, including running each snippet 'against a matching input and an empty one'.

5 / 5

Workflow Clarity

'Proving a CI change' is an explicit validation checklist (classifier test cases for on/off/full-run states, real-history runs with GITHUB_OUTPUT, actionlint on the workflow) that even addresses the self-test gap ('a PR that edits ci.yml runs full CI itself, so its own checks cannot show the saving'). Failure-safety rules are explicit: 'When scope cannot be computed, run everything or fail. Never skip.' — clear sequence with checkpoints and error-handling policy.

5 / 5

Progressive Disclosure

A single-file skill (no references/, scripts/, or assets/ bundle dirs) with clear section headers and a well-organized rules table; nothing is buried and there are no nested references. It misses 5 because at 127 lines the 10-row CI-job rules table carries long narrative 'why' columns that could plausibly live in a reference file, and the skill is well past the under-50-line simple-skill case.

4 / 5

Total

18

/

20

Passed

Description

87%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 states concrete capabilities in third person, pairs them with an explicit 'Use when...' clause of natural trigger phrases, and occupies a distinct niche. The only room for improvement is broader synonym coverage (e.g., 'GitHub Actions', 'flaky tests').

DimensionReasoningScore

Specificity

Concrete capabilities are named and precisely scoped: 'Where a new test belongs and how to scope CI jobs, steps, and workflow triggers so they run only when a change can affect them.' More than 1-2 specific actions are covered (test placement, job/step/trigger scoping), matching the 'several specific actions; minor gaps' anchor; it falls short of 5 only because coverage is two capability areas rather than a comprehensive action list.

4 / 5

Completeness

Explicitly answers both what ('Where a new test belongs and how to scope CI jobs, steps, and workflow triggers...') and when ('Use when adding or moving a test, adding or changing a CI job, step, or workflow, or when a job is slow or runs on unrelated changes') with concrete trigger phrases — a direct match for the top anchor.

5 / 5

Trigger Term Quality

Natural phrases a user would say are present: 'adding or moving a test', 'adding or changing a CI job, step, or workflow', 'when a job is slow or runs on unrelated changes'. Good multi-variant coverage; a few natural terms are missing (e.g., 'GitHub Actions', 'CI config', 'flaky'), which keeps it below the comprehensive anchor.

4 / 5

Distinctiveness Conflict Risk

Clear niche at the intersection of test placement and CI run scoping, with distinct, specific triggers ('a job is slow or runs on unrelated changes') that are unlikely to fire for the wrong skill; minimal conflict risk.

5 / 5

Total

18

/

20

Passed

Validation

75%

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

Validation — 12 / 16 Passed

Validation for skill structure

CriteriaDescriptionResult

metadata_version

'metadata.version' is missing

Warning

metadata_field

'metadata' should map string keys to string values

Warning

frontmatter_unknown_keys

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

Warning

referenced_paths_exist

Referenced path issues: 10 missing

Warning

Total

12

/

16

Passed

Repository
BuilderIO/agent-native
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.