CtrlK
BlogDocsLog inGet started
Tessl Logo
SkillPublic

modernize

For getting old prs up to date. Use when asked to rebase a pr or "modernize".

Quality

73%

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 ./plugins/tstack/skills/modernize/SKILL.md
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.

The content is a tight, high-judgment process skill: it sequences the work clearly, builds in validation and error-recovery around a destructive operation, and adds opinions Claude would not generate on its own. Its only weaknesses are the absence of example commands for the PR-inspection phase and the lack of any referenced material, both minor. Strong overall — no suggestions needed.

DimensionReasoningScore

Conciseness

The body is lean and assumes Claude's competence — it never explains what a rebase is or how git works, and directives like "Do not describe a PR as current merely because Git reports no conflicts" and "Age alone is not evidence, and sunk effort is not a reason to keep a PR alive" each earn their tokens. Every section adds judgment guidance Claude would not reliably produce on its own, matching anchor 5 ("Lean and efficient; assumes Claude's competence; every token earns its place").

5 / 5

Actionability

The guidance is mostly executable for an instruction-only skill: concrete commands ("`--force-with-lease` against the head SHA observed before the rebase", "`git range-diff`"), a precise six-step rebase procedure, and three crisply defined dispositions (MODERNIZE/REWORK/CLOSE). It falls short of anchor 5 only because the PR-intake phase gives no example commands for fetching or inspecting the PR (e.g., gh pr view or fetching the PR head ref), leaving minor gaps.

4 / 5

Workflow Clarity

The process is explicitly sequenced — establish intent, check what changed around it, choose a disposition, then a numbered rebase workflow — with validation checkpoints (range-diff comparison, focused checks, distinguishing real from pre-existing failures) and error-recovery loops ("If the lease fails, fetch and reassess rather than overwriting new work"; a conflict revealing an architecture disagreement means "stop and reconsider the disposition"). The destructive force-push operation is fully guarded, matching anchor 5.

5 / 5

Progressive Disclosure

The single ~95-line file is well-organized into scannable sections (Guardrails, Establish intent, Check what changed, Disposition, Rebase, Report) with nothing inlined that clearly belongs in a separate file, and the cross-reference to the `leaving-pr-comments` skill is clearly signaled. It scores 4 rather than 5 because there are no bundle files or referenced deep-dive material at all, and the body exceeds the under-50-line simple-skill case the rubric exempts for a top score.

4 / 5

Total

18

/

20

Passed

Description

45%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 has a clear, explicit trigger clause but a vague capability statement: it never says what the skill concretely does beyond "getting old prs up to date". The bare "modernize" trigger also risks firing for code or dependency modernization requests. Overall it functions as a trigger but undersells and slightly mis-scopes the skill.

Suggestions

Replace "For getting old prs up to date" with concrete capabilities, e.g. "Rebases stale PRs onto their current base branch, resolves conflicts, re-evaluates whether the PR still belongs in the product, and updates the branch with a leased force push."

Broaden trigger coverage with natural variations users would say, such as "update an old PR", "stale PR", "outdated branch", or "catch a PR up with main".

Disambiguate the "modernize" trigger from non-PR modernization, e.g. "Use when asked to modernize or update an old pull request — not for modernizing code, dependencies, or infrastructure."

DimensionReasoningScore

Specificity

"For getting old prs up to date" names the domain (old pull requests) but the stated action is generic — no concrete capabilities such as rebasing, resolving conflicts, validating continued relevance, or force-pushing are listed. This matches anchor 2 ("Names the domain but actions are minimal or generic") and falls short of anchor 3, whose example names 1-2 concrete actions; "rebase" appears only in the when-clause, not as a described capability.

2 / 5

Completeness

The when is explicit ("Use when asked to rebase a pr or 'modernize'"), but the what — "For getting old prs up to date" — is vague and states no concrete capability. It sits between anchor 3 (clear what, missing when) and anchor 4 (both present, one less explicit); because the what is too thin to convey what the skill actually does, it lands at 3 rather than 4, and it is clearly above anchor 2 since an explicit 'Use when' trigger clause is present.

3 / 5

Trigger Term Quality

"Use when asked to rebase a pr or 'modernize'" supplies two natural phrases users would actually say, but coverage stops there — common variations like "update an old PR", "stale PR", "outdated branch", or "catch up with main" are absent. This fits anchor 3 ("Some relevant keywords but missing common variations or synonyms") better than anchor 4, which expects broader keyword coverage.

3 / 5

Distinctiveness Conflict Risk

"old prs" and "rebase a pr" carve out a fairly specific niche, but the bare quoted trigger "modernize" is ambiguous — users asking to modernize a codebase, dependencies, or infrastructure would also match it, creating real overlap risk with unrelated skills. This matches anchor 3 ("Somewhat specific but could still overlap with similar skills"); it does not reach anchor 4 because that ambiguity is not minor.

3 / 5

Total

11

/

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

adamsardo/tstack-marketplace

Path

plugins/tstack/skills/modernize/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.