CtrlK
BlogDocsLog inGet started
Tessl Logo

github-copilot-upgrader

Use this to update the Github Copilot CLI/SDK

52

Quality

57%

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

Fix and improve this skill with Tessl

tessl review fix ./extensions/copilot/.agents/skills/github-copilot-upgrader/SKILL.md
SKILL.md
Quality
Evals
Security

Quality

Content

61%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 body delivers concrete, executable commands for a well-sequenced upgrade workflow with compile/test feedback loops, and it appropriately avoids padding. It is let down by a direct contradiction on integration tests, a corrupted URL embedded in step 1, several typos ('MSUT', 'Repease', 'Repeate', 'behavour', 'differenes', 'in in'), and inconsistent heading/numbering structure.

Suggestions

Resolve the integration-test contradiction: the TODO requires 'Run integration tests' (items 8-9) while the Note says 'Do not run any integration test' — pick one and remove the other, since an executing agent cannot satisfy both.

Fix the corrupted step 1 sentence ('after the upghttps://github.com/microsoft/vscode/issues/291457rade') and correct the typos (MSUT, Repease, Repeate, behavour, differenes, 'in in .build') so every instruction parses cleanly.

Clean up the structure: renumber the TODO list continuously (it skips 10), promote 'Summarize the changes' to a top-level '### 5' section instead of nesting it under section 4, and consolidate the four repeated TODO-mechanism instructions into one statement.

DimensionReasoningScore

Conciseness

The body mostly assumes Claude's competence (no explanations of npm, TypeScript, or testing concepts) but includes tightening candidates: the TODO-mechanism instructions are stated four times ('You must create a TODO list', 'You MUST create a TODO markdown file', 'The TODO is your primary tracking mechanism', 'Before each step you MUST read the TODO'), and TODO items 4-9 duplicate the compile/fix/test loop already defined in section 4. This matches 'Mostly efficient but includes some unnecessary explanation or could be tightened' (3) — below anchor 4 due to this redundancy, well above anchor 2 since there is no concept padding.

3 / 5

Actionability

Concrete, executable commands are given for the core steps ('npm install @github/copilot@latest', 'npm run postinstall', 'npm run compile', 'npx tsc --noEmit --project tsconfig.json', 'npm run test:unit') with explicit output paths (.build/upgrade-notes.md). However, step 1 is garbled by a URL embedded mid-word ('after the upghttps://github.com/microsoft/vscode/issues/291457rade'), and no specific snapshot or diff command is provided. This matches 'Mostly executable guidance; concrete code or commands with minor gaps' (4) — below anchor 5 because of the corrupted step 1 and the missing snapshot/diff commands, above anchor 3 because the given commands are copy-paste ready.

4 / 5

Workflow Clarity

A clear sequence exists with repeat-until-passing feedback loops ('Repease steps Compile, fix and tests until all tests are passing', 'Ensure there are no compilation errors before proceeding'), but coherence breaks down on key points: the TODO mandates '8. Run integration tests' while the Note says 'Do not run any integration test' — a direct contradiction an agent cannot resolve; the TODO numbering skips 10; and '#### 5. Summarize the changes' is nested as a subsection of section 4. This matches 'Steps listed but validation gaps; sequence present but checkpoints missing or implicit' (3) — the explicit pass/fail checkpoints exist, so it is above anchor 2, but the contradiction and structural errors keep it below anchor 4.

3 / 5

Progressive Disclosure

This is a single-purpose skill with no bundle files (no references/, scripts/, or assets/ exist), and the body is organized into numbered sections with headings, so the structure is appropriate without external files. It sits at ~70 lines with minor organization gaps (inconsistent heading levels '### 4' vs '#### 5', a skipped TODO number), matching 'Good structure; most content is appropriately placed; minor organization gaps' (4) — below anchor 5 only because of those structural inconsistencies, above anchor 3 since no content needs splitting out.

4 / 5

Total

14

/

20

Passed

Description

53%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 short and names a specific target, but it merges the 'what' and 'when' into a single generic 'Use this to update...' clause and omits both the scope of the upgrade work and the richer trigger vocabulary users would actually employ. It is serviceable but under-specified relative to the good examples.

Suggestions

State what the skill actually does in third person, e.g. 'Upgrades the @github/copilot npm package in the vscode-copilot-chat project: snapshots type definitions, bumps the package, resolves compile errors, and runs unit tests.'

Add an explicit trigger clause with natural synonyms, e.g. 'Use when the user asks to update, upgrade, or bump @github/copilot or the Copilot CLI/SDK in vscode-copilot-chat.'

Keep the two clauses separate (what first, 'Use when...' second) so both are independently explicit rather than merged into one sentence.

DimensionReasoningScore

Specificity

The description names a specific domain ("the Github Copilot CLI/SDK") and one concrete action ("update"), but does not state what the update process involves (package bump, type-diff comparison, compile/test loops, upgrade notes). This matches the anchor 'Names domain and 1-2 concrete actions, but not comprehensive' (3) — above anchor 2 because 'update the Github Copilot CLI/SDK' is a concrete action on a specific target, below anchor 4 because no additional actions are listed.

3 / 5

Completeness

The single clause 'Use this to update the Github Copilot CLI/SDK' serves as both a weak 'what' (update a specific package) and an implicit 'when' (when an update is needed); there is no distinct, explicit 'when' statement of the trigger situations. This sits between anchor 2 ('only when is present without what' — here what and when are merged, so the what is weakly present) and anchor 4 (both present and separable), landing on 3: a clear-enough what with the when only implied by the same phrase.

3 / 5

Trigger Term Quality

It contains relevant keywords a user might say ("update", "Github Copilot", "CLI", "SDK") and an explicit 'Use this to...' trigger clause, but misses common variations such as 'upgrade', 'bump', '@github/copilot', or 'vscode-copilot-chat'. This matches 'Some relevant keywords but missing common variations or synonyms' (3) — better than anchor 2's purely generic terms, but short of anchor 4's good coverage.

3 / 5

Distinctiveness Conflict Risk

"Github Copilot CLI/SDK" carves out a fairly distinct niche that few skills would target, though 'update' could overlap with generic dependency-upgrade skills. This matches 'Mostly distinct; minor overlap risk with closely related skills' (4) — above anchor 3 because the named target is quite specific, below anchor 5 because no distinct trigger phrases reinforce separation.

4 / 5

Total

13

/

20

Passed

Validation

93%

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

Validation — 15 / 16 Passed

Validation for skill structure

CriteriaDescriptionResult

frontmatter_unknown_keys

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

Warning

Total

15

/

16

Passed

Repository
posit-dev/positron
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.