CtrlK
BlogDocsLog inGet started
Tessl Logo
SkillPublic

shepherd

Get a pull request that Tessl opened for a Linear or GitHub issue ready for its owner: answer review feedback, fix failing checks and conflicts on the existing branch, and tell the owner when it is ready. Opens no new pull request.

Quality

88%

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

The canonical home for this skill is tessl-labs/factory

SKILL.md
Quality
Evals
Security

Quality

Content

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

An exceptionally disciplined operational skill: every instruction is an executable command or a precise rule, with re-read-before-write validation, an ordered situation dispatcher, and explicit escalation loops. The only structural nit is that a small amount of inline query detail could be moved to a reference file.

DimensionReasoningScore

Conciseness

Every line is operational: exact gh commands with field lists ("gh pr view <n> --json number,state,headRefName..."), exit-code semantics ("exits with 1 when a check failed and 8 when checks are pending; those are results, not failed reads"), and terse rules with no concept explanations or padding. It fully assumes Claude's competence, matching the lean every-token-earns-its-place anchor.

5 / 5

Actionability

Guidance is copy-paste ready: concrete gh CLI commands, a literal GraphQL query for review threads with paging, exact reply mutations ("addPullRequestReviewThreadReply(input: {pullRequestReviewThreadId, body})"), log-fetch endpoints, and concrete decision rules for each failure mode. Nothing is pseudocode or abstract, matching the fully-executable anchor.

5 / 5

Workflow Clarity

The "Situations" section gives an ordered dispatch list ("Take the first that applies"), with explicit validation checkpoints ("Read both again before every write", "confirm HEAD is the head you read", "reproduce it before you dispose of it") and error-recovery loops (non-convergence escalation, rerun-once with a posted run id). The numbered invariants act as a checklist for a risky batch operation (pushes and comments), matching the clear-sequence-with-explicit-validation anchor.

5 / 5

Progressive Disclosure

Sections are clear and well-ordered (inputs, reading, done, situations, invariants, doing the work, judgment) and the whole skill is appropriately self-contained with no buried references. It falls short of the 5 anchor because there is no reference structure at all — the multi-line inline GraphQL query and review-thread paging detail would sit equally well in a one-level-deep reference file, a minor organization gap.

4 / 5

Total

19

/

20

Passed

Description

75%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 tight, third-person description with strong specificity and a clearly distinct niche. Its only material weakness is the absent 'Use when' trigger clause, which caps completeness and leaves the invocation conditions implicit.

Suggestions

Add an explicit trigger clause, e.g. "Use when a Tessl PR for a Linear or GitHub issue receives review feedback, has failing checks, or a merge conflict."

Include common synonyms such as "PR" and "CI" alongside "pull request" and "failing checks" so natural phrasings match.

State the invocation condition in the same terms a user would say it (e.g. "getting a Tessl PR ready for review") to strengthen the implied 'when'.

DimensionReasoningScore

Specificity

The description lists multiple concrete, comprehensive actions: "answer review feedback, fix failing checks and conflicts on the existing branch, and tell the owner when it is ready", plus the boundary "Opens no new pull request". It covers the full shepherding loop (respond, fix, notify) with no vague filler, matching the comprehensive-coverage anchor rather than the several-actions-with-gaps anchor below it.

5 / 5

Completeness

The "what" is clear and concrete, but there is no "Use when..." clause or equivalent explicit trigger guidance — when to invoke the skill is only weakly implied by "that Tessl opened". Per the rubric guideline, a missing explicit 'when' caps completeness at 3; it is not a 4 because the when cannot be called explicit at all.

3 / 5

Trigger Term Quality

Natural keywords are present: "pull request", "review feedback", "failing checks", "conflicts", "Linear or GitHub issue" — phrases a user would plausibly say. It stops short of the 5 anchor because common synonyms and variations are missing ("PR", "CI", "merge conflicts" spelled out).

4 / 5

Distinctiveness Conflict Risk

The niche is unmistakable: PRs opened by "Tessl" for a "Linear or GitHub issue", with an explicit scope boundary ("Opens no new pull request"). These triggers are unique to this skill and would not fire for generic PR-review or issue-management skills, matching the clear-niche anchor.

5 / 5

Total

17

/

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

fkukuck/fabro

Path

.tessl/plugins/tessl-labs/factory/skills/shepherd/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.