CtrlK
BlogDocsLog inGet started
Tessl Logo

github-project-triage

GitHub issue/PR triage: queues, CI, blockers, risk, proof, next actions.

61

Quality

71%

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

Fix and improve this skill with Tessl

tessl review fix ./skills/github-project-triage/SKILL.md
SKILL.md
Quality
Evals
Security

Quality

Content

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

This is a strong operational skill: fully executable commands with exact flags and JSON field sets, explicitly sequenced workflows with genuine validation gates (repo gate, CI-green-before-land, clean-worktree-before-next-item, blocked-state reporting), and a correctly referenced one-level-deep bundle script. Its main weakness is conciseness — the scope rule, owner defaults, and URL-first rules are each stated multiple times across the ~310 lines.

DimensionReasoningScore

Conciseness

The body is dense and operational — almost no space is spent explaining concepts Claude already knows, and commands are given as runnable blocks rather than prose. However, at ~310 lines it repeats itself: the scope rule appears in '## Scope Rule' and again at the end of '## Autonomous Work Mode' ('Autonomous work is still bounded by scope...'), URL-first output rules and owner defaults ('steipete, openclaw', broad/all/everything triggers) each appear twice, and environment-specific fallback paths pad several sections. Not 4 because the repetition is more than 'minor instances'; not 2 because nothing here is filler or tutorial-style padding — nearly every line is instruction.

3 / 5

Actionability

Guidance is copy-paste ready throughout: a working `repobar_cmd` shim with binary/SwiftPM fallbacks, exact `gh issue/pr list/view` invocations with the precise `--json` field sets, `gh pr diff --patch`, ready-to-use `repobar_cmd repos` invocations with flags, a jq summary pipeline, a concrete trust-output template, and two literal output-shape templates. Concrete examples cover the common cases (current-project triage, broad scan, autonomous work). Not 4 because there are no real gaps — even edge handling (missing repo remote fallback via `git remote get-url origin` sed parsing) is fully specified.

5 / 5

Workflow Clarity

Multi-step processes are explicitly sequenced with real validation checkpoints and feedback loops: the '## Local Repo Gate' (branch must be main, pull --ff-only succeeds, worktree clean, else stop and ask), the 7-step autonomous loop with 'Verify locally and live end-to-end', 'Ensure CI is green... verify a clean worktree before selecting the next autonomous item', the numbered decide-if-autonomous go/ask-first rules, and blocked-state reporting with exact contents. Destructive/batch operations (comment, close, merge, rerun, patch) are guarded by 'Only comment, close, merge, rerun, or patch with strong evidence' and proof-before-done rules. Not 4 because checkpoints are explicit and comprehensive, not merely 'most present'.

5 / 5

Progressive Disclosure

Structure is good: clear `##` sections in logical order (Setup, Local Repo Gate, Scope Rule, Triage Output, Autonomous Work Mode, Trust Signals, Item Evaluation, Fast Queue Map, Detail Pass, Triage Heuristics, Output Shape), and the one bundle file — `scripts/github-activity.sh` — exists on disk and is correctly referenced one level deep with its exact invocation ('skills/github-project-triage/scripts/github-activity.sh --repo <owner/repo> --global <login>') plus a fallback path. Not 5 because a ~310-line SKILL.md keeps several sizable, separable sub-workflows inline (the full broad-scan RepoBar command catalog in 'Fast Queue Map', the trust-signal tooling, the item-evaluation rubric) that would fit naturally in reference files; not 3 because what is inline is cohesive, well-signaled, and the existing reference is clean.

4 / 5

Total

17

/

20

Passed

Description

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

The description is compact and names a clear, distinct domain with several concrete triage facets, but it reads as a topic list rather than an action list and — critically — contains no 'Use when...' trigger guidance, capping completeness at 3. Adding an explicit trigger clause (e.g., 'Use when the user says triage or asks about open issues/PRs, CI state, or what to merge/close next') would lift the two weakest dimensions at once.

Suggestions

Add an explicit trigger clause, e.g., 'Use when the user says triage, or asks about open issues/PRs, CI failures, merge/close decisions, or repo backlogs' — this addresses completeness (score 3) and improves trigger-term coverage at the same time.

Reframe the facet list toward concrete actions a maintainer would recognize, e.g., 'Scans open issues/PRs, checks CI and trust signals, classifies risk and blockers, and proposes next actions (merge, patch, close, defer)'.

Include natural synonyms users might say — 'pull requests', 'backlog', 'maintainer review' — to strengthen trigger term quality from good to comprehensive.

DimensionReasoningScore

Specificity

The description names the domain clearly ("GitHub issue/PR triage") and lists concrete facets — "queues, CI, blockers, risk, proof, next actions" — but these are deliverable nouns rather than actions, and coverage of what the skill actually does (inspect, classify, comment, merge, close, autonomous work) is incomplete. Not 4 because it does not list several specific actions like 'Extracts text, fills forms, converts pages'; not 2 because it goes well beyond a bare domain label with six concrete triage facets.

3 / 5

Completeness

The 'what' is clear — GitHub issue/PR triage covering queues, CI, blockers, risk, proof, next actions — but there is no 'when' clause at all; the description never says when to use the skill. Per the judging guidelines, a missing 'Use when...' clause or equivalent explicit trigger guidance caps completeness at 3. Not 4 because 'when' is not weakly implied, it is entirely absent.

3 / 5

Trigger Term Quality

Natural trigger terms are present: "GitHub", "issue/PR", "triage", "queues", "CI", "blockers" — words a maintainer would plausibly say ("triage my PRs", "CI blockers"). Not 5 because common synonyms and variations are missing (no spelled-out "pull request", "backlog", "maintainer", or trigger phrasing for the autonomous-work mode); not 3 because keyword coverage here is genuinely good, not partial.

4 / 5

Distinctiveness Conflict Risk

"GitHub issue/PR triage" carves out a fairly distinct maintainer-triage niche and is unlikely to fire for unrelated skills. Not 5 because 'GitHub' + 'CI' are broad terms shared with generic GitHub/CI skills, and the single-word trigger 'triage' is the only strong discriminator; not 3 because the combination is considerably more specific than 'Works with document files'.

4 / 5

Total

14

/

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
steipete/agent-scripts
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.