CtrlK
BlogDocsLog inGet started
Tessl Logo
SkillPublic

petrinaut-shipping

End-to-end procedure for shipping a change to the Petrinaut packages (libs/@hashintel/petrinaut, petrinaut-core, apps/petrinaut-website): the verification gates per package, the changeset step, docs sync, pre-PR hygiene checks, and CI expectations from draft to ready. Use when implementing any change in these packages, when creating a PR for Petrinaut work, when running tests or lints for them, or when checking CI on a Petrinaut PR.

Quality

97%

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

92%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 lean, high-signal procedural skill: nearly every line is an executable command or a repo-specific gotcha Claude could not infer, the workflow is ordered with real validation and failure-triage loops, and conventions are properly delegated to AGENTS.md. The only flaw is slight redundancy in the prose surrounding the CI polling script.

DimensionReasoningScore

Conciseness

The body is dense with commands and genuinely non-obvious repo gotchas (mise-pinned turbo, the `Bin` diff-stat line, oxfmt-vs-prettier) and assumes Claude's competence throughout, but the paragraph after the jq loop restates logic the script already encodes ("The wait ends once checks exist and none are pending… The loop is bounded…"), which is a minor instance of over-explanation that could be trimmed — anchor 4 rather than anchor 5's 'every token earns its place'.

4 / 5

Actionability

Fully executable throughout: the exact turbo gate command with package filters, the Python test/lint command, the mise invocation for the docs build, and a complete copy-paste-ready bounded `gh pr checks` polling loop with the `settled` jq expression covering the main cases.

5 / 5

Workflow Clarity

Sections are sequenced as the actual lifecycle (Gates → Changesets → Docs sync → Pre-PR hygiene → Draft, CI, ready) with explicit validation checkpoints (gates 'after every increment', watch checks until settled, flip to ready only when green) and an error-recovery loop for triaging CI failures against known-flaky checks.

5 / 5

Progressive Disclosure

No bundle files exist; standing conventions are delegated one level deep to a clearly signaled AGENTS.md ("This skill is the procedure that applies them") while the body keeps only the procedure itself — an appropriately split, well-organized overview with easy navigation.

5 / 5

Total

19

/

20

Passed

Description

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

An exemplary description: it states what the skill does in concrete procedural terms, scopes everything to specific named packages, and provides an explicit 'Use when' clause covering the natural ways a user would request this work. No fluff, no over-claims, and no voice violations.

DimensionReasoningScore

Specificity

The description names the exact target packages with paths and enumerates the full procedure: "the verification gates per package, the changeset step, docs sync, pre-PR hygiene checks, and CI expectations from draft to ready" — multiple specific concrete actions with comprehensive coverage of the shipping lifecycle, matching the anchor-5 example rather than the minor-gaps anchor 4.

5 / 5

Completeness

Both questions are answered explicitly: a clear 'what' (the enumerated end-to-end procedure stages) and a literal 'Use when…' clause with four concrete trigger conditions, mirroring the anchor-5 example structure; the missing-trigger cap does not apply.

5 / 5

Trigger Term Quality

It includes four natural trigger phrasings ("when creating a PR for Petrinaut work", "when running tests or lints for them", "when checking CI on a Petrinaut PR", "implementing any change in these packages") plus exact package identifiers that anchor triggering, giving comprehensive coverage of the natural vocabulary for this domain.

5 / 5

Distinctiveness Conflict Risk

Every capability and trigger is scoped to the named Petrinaut packages (libs/@hashintel/petrinaut, petrinaut-core, apps/petrinaut-website); even the broadest trigger ("running tests or lints") is bound to "these packages", leaving minimal overlap risk with generic test/CI skills.

5 / 5

Total

20

/

20

Passed

Validation

100%

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

Validation — 16 / 16 Passed

Validation for skill structure

No warnings or errors.

Repository

hashintel/hash

Path

.agents/skills/petrinaut-shipping/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.