CtrlK
BlogDocsLog inGet started
Tessl Logo
SkillPublic

copilot-sdk

Build applications that programmatically interact with GitHub Copilot. The SDK wraps the Copilot CLI via JSON-RPC, providing session management, custom tools, hooks, MCP server integration, and streaming across Node.js, Python, Go, and .NET.

Quality

75%

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 ./skills/copilot-sdk/SKILL.md
SKILL.md
Quality
Evals
Security

Quality

Content

71%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 highly actionable, well-sectioned reference with excellent executable examples across all four supported languages, weakened by monolithic structure and some padding. Splitting per-language guides and API tables into reference files and cutting the duplicated intro and filler closing section would substantially improve token efficiency and navigation.

Suggestions

Move the Client Configuration, Session Configuration, and per-language code examples into separate reference files (e.g., references/api.md, references/languages.md) and keep SKILL.md as a concise overview with one canonical language example.

Delete the verbatim repetition of the frontmatter description at the top of the body and replace the vague 'When to Use' section with concrete trigger conditions or remove it.

Tighten the streaming and custom-tools sections by showing one primary language inline with pointers to language-specific variants, cutting roughly a third of the body length.

DimensionReasoningScore

Conciseness

The body is mostly lean tables and code with little explanation of concepts Claude already knows, but it opens by repeating the frontmatter description verbatim, ends with a filler 'When to Use' section ('This skill is applicable to execute the workflow or actions described in the overview'), and duplicates the same patterns across four languages where per-language detail could be split out. These are real instances of padding that could be tightened, matching anchor 3 rather than the minor-trimmable level of anchor 4.

3 / 5

Actionability

Fully executable guidance throughout: complete, copy-paste-ready examples in all four languages for the core pattern, streaming, and custom tools; install commands per language; concrete config option tables; and an error-to-fix debugging table ('CLI not found → Install CLI or set cliPath'). This matches the anchor-5 example of copy-paste-ready code covering common cases.

5 / 5

Workflow Clarity

The core workflow is explicitly sequenced ('All SDK usage follows this pattern: create a client, create a session, send messages') with prerequisites, per-language start/stop lifecycle shown, and a debugging section mapping common failures to fixes that serves as a feedback checkpoint. It is not 5 because validation is reactive (troubleshooting after failure) rather than explicit checkpoints in the workflow, but there are no destructive or batch operations that would cap it at 3.

4 / 5

Progressive Disclosure

Section headers are clear and consistent, but the entire skill is a ~500-line monolith: the Client Configuration and Session Configuration API reference tables and the four-language variant examples clearly belong in separate reference files, and there is no bundle structure (no references/, scripts/, or assets/ directories) to offload detail. This matches anchor 3 (some structure, content that should be separate is inline) better than anchor 4.

3 / 5

Total

15

/

20

Passed

Description

70%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 strong, specific description with clear capability enumeration and distinct triggers, undermined by the complete absence of a 'when to use' clause. Adding an explicit 'Use when...' sentence with concrete trigger phrases would raise both completeness and trigger-term quality.

Suggestions

Add a 'Use when...' clause, e.g., 'Use when building apps or scripts that drive GitHub Copilot programmatically, wrapping the Copilot CLI, or embedding Copilot agents in Node.js, Python, Go, or .NET services.'

Include natural user phrasings and synonyms such as 'Copilot SDK', 'Copilot API', 'embed Copilot', or 'Copilot CLI automation' to broaden trigger coverage.

Mention notable capabilities currently omitted (BYOK providers, session persistence/resume, custom agents) to move specificity toward comprehensive coverage.

DimensionReasoningScore

Specificity

The description names the domain ('programmatically interact with GitHub Copilot') and lists five concrete capability areas ('session management, custom tools, hooks, MCP server integration, and streaming'), but frames them as feature nouns rather than actions and omits capabilities the body documents (BYOK, custom agents, session persistence). This sits between anchor 4 (several specific actions, minor gaps) and anchor 5 (comprehensive), closer to 4 given the coverage gaps.

4 / 5

Completeness

The 'what' is clear and specific (wraps the Copilot CLI via JSON-RPC with enumerated capabilities), but there is no 'Use when...' clause or equivalent explicit trigger guidance anywhere in the description. Per the judging guideline, a missing 'Use when' clause caps completeness at 3; it is not 4 because the 'when' is entirely absent rather than merely imprecise.

3 / 5

Trigger Term Quality

Good natural keyword coverage: 'GitHub Copilot', 'SDK', 'Copilot CLI', 'hooks', 'MCP server', 'streaming', plus all four language names users would mention. A few natural phrasings users might say are missing (e.g., 'Copilot API', 'embed Copilot', 'Copilot agent'), matching anchor 4 rather than the comprehensive synonym coverage of anchor 5.

4 / 5

Distinctiveness Conflict Risk

Clear niche: building applications that programmatically drive GitHub Copilot via its SDK. Triggers ('GitHub Copilot', 'Copilot CLI', 'Copilot SDK', 'JSON-RPC') are distinct and unlikely to fire for unrelated skills, matching the anchor-5 example of a distinct niche with minimal conflict risk.

5 / 5

Total

16

/

20

Passed

Validation

87%

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

Validation — 14 / 16 Passed

Validation for skill structure

CriteriaDescriptionResult

skill_md_line_count

SKILL.md is long (517 lines); consider splitting into references/ and linking

Warning

frontmatter_unknown_keys

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

Warning

Total

14

/

16

Passed

Repository

administrakt0r/AI-Agents-Safe-Coding-Skills

Path

skills/copilot-sdk/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.