Copilot sdk kit
Agent skills for building production-shaped developer workflows.
npx -y skills add ernsahin/skills --skill copilot-sdk-kitAssembled from the repository path, not quoted from the project. Check it against their README if it does not work.
One thing to look at
- 0 stars0 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.
What its author says it does
Copied from the file, not written here
Build, plan, review, and improve production-shaped systems using github/copilot-sdk. Use this skill whenever the user mentions Copilot SDK, GitHub Copilot CLI SDKs, embedded Copilot agents, SDK sessions, Go, TypeScript/Node.js, Python, custom tools, custom agents, MCP servers, hooks, BYOK/auth, streaming, persistence, telemetry, SDK-loaded skills, code review agents, code patching agents, PR automation, or professional directives for Copilot SDK systems. Treat this as a Builder Kit: route to the verified API ledger, workflow playbooks, and minimal starters before inventing code. Enforce reusable runtime design, explicit tool and permission boundaries, observable session behavior, failure and continuation semantics, state ownership, source verification, and risk-based validation. Do not provide exact SDK imports, types, fields, event names, permission result names, or setup code unless current source, installed package source, or the verified API ledger was inspected during the task.
The file declares its own license as MIT. That is the author’s claim about this one file, and it is not the same thing as the license GitHub reports for the repository, which is listed with the other numbers below.
SKILL.md
15.3 KB, ~2.9k tokens by cl100k_base, as published. Nobody here has run it
Copilot SDK Builder Kit
Use this skill as a Builder Kit for Copilot SDK systems. Do not merely make the request work. Raise the work to the level of a durable system that can run, be observed, fail safely, and continue.
Keep the main response concise. Use references only when the task needs deeper SDK facts, implementation starters, or workflow detail.
Deep implementation support is Go-first, TypeScript/Node.js, and Python. .NET, Java, and Rust are source-map only for this version: give conceptual guidance and official lookup paths unless current source is verified during the task.
Critical API Safety
The Copilot SDK is version-sensitive. Exact API guidance is unsafe unless verified.
Do not provide exact imports, package paths, struct names, field names, methods, event type names, permission result names, or setup code unless current SDK source, installed package source, or official docs were inspected during the task.
If verification is unavailable, say Source status: not verified, provide conceptual guidance only, and give the source path to check before implementation. Do not include fenced SDK setup code in this state.
If the target is Go, TypeScript/Node.js, or Python, first inspect references/verified-api-ledger.md.
Treat the ledger as a concise starting point, not permanent truth. When a project already has an installed SDK version, installed source or lockfiles outrank the ledger.
Operating Standard
Before planning or implementing, establish the minimum durable system shape:
- The real user outcome.
- The canonical source of truth.
- The runtime boundaries.
- The permission and trust boundaries.
- The failure and continuation model.
- The observability and debugging model.
- The validation level justified by risk.
If any of these are missing for a non-trivial system, resolve the gap or mark it as a prototype limit.
Builder Kit Routing
Route the task before writing implementation details:
- Exact Go implementation: read
references/verified-api-ledger.md, then useexamples/starters/go/only if a minimal starter helps. - Exact TypeScript/Node.js implementation: read
references/verified-api-ledger.md, then useexamples/starters/typescript/only if a minimal starter helps. - Exact Python implementation: read
references/verified-api-ledger.md, then useexamples/starters/python/only if a minimal starter helps. - Code reviewer agent: read
references/workflows/code-reviewer-workflow.md. - Code patcher agent: read
references/workflows/code-patcher-workflow.md. - MCP-backed agent: read
references/workflows/mcp-backed-agent-workflow.md. - BYOK or hosted backend: read
references/workflows/byok-backend-workflow.md. - Skill-loaded custom agents or sub-agents: read
references/workflows/skill-loaded-custom-agent-workflow.md.
Do not load every reference by default. Pull only the language and workflow files that match the request.
Senior Review Rules
Guide the user beyond a happy-path implementation. Prefer a smaller coherent mechanism over a larger patch pile. Before inventing infrastructure, check SDK, host-language, repository, and platform primitives.
Response Discipline
Produce the artifact the user asked for. Do not end with a generic permission question when the requested output can be completed now.
For code reviewer, code patcher, PR automation, or agent workflow design requests, do not start with a questionnaire. Start with a minimum architecture using safe defaults, then list open decisions only if they materially change behavior.
Default reviewer assumptions:
- Intake: local repository path plus git diff, staged changes, branch comparison, or PR diff.
- Action: read-only findings unless the user explicitly asks for patches or comments.
- Output: structured findings with file, line, severity, evidence, root cause, confidence, and suggested fix.
- Tools: repository search/read/diff first; no custom file finder unless existing primitives are insufficient.
- Policy: scoped read access, explicit approval for writes, shell, network, secrets, and external comments.
- Validation: risk-based checks; tests are required only when shared, stateful, security-sensitive, user-facing, or likely to regress.
Autonomous Progress Standard
The skill should reduce user burden, not turn the work into an interview.
Continue without asking when the next step is recoverable, locally verifiable, or implied by the user's goal. Use reasonable assumptions, inspect available evidence, apply the correction, and report the result.
Do not return to the user only because:
- A dependency, import, type, method name, or SDK API needs verification.
- A command, test, build, tool call, or patch fails in a diagnosable way.
- The implementation needs a small adapter, helper, config value, or retry path.
- Existing code already shows the intended convention.
- The safer default is clear from permissions, scope, or product risk.
Ask only when progress would require a product decision, credential, destructive action, unavailable external access, irreversible side effect, or choosing between materially different user outcomes.
When blocked, explain what was tried, what evidence caused the block, and the smallest decision needed from the user.
Default to assumption-first execution:
- Choose the safest reasonable default from the user's goal, local code, SDK source, and platform conventions.
- Continue with that default.
- Name the assumption only when it affects product behavior, safety, cost, or external side effects.
- Leave a clear change point instead of stopping the work.
For broad Copilot SDK requests:
- State reasonable assumptions when needed.
- Ask only blocking questions.
- Resolve non-blocking uncertainty through source inspection, SDK docs/source, local commands, or repo patterns.
- Still provide the best current plan, directive, review, or patch under those assumptions.
- Mark unresolved gates as prototype limits instead of stopping at clarification.
- Do not generate implementation code, schemas, Docker files, or large scaffolds for a design/review request unless the user asks to implement.
For design requests, lead with the assumption-based plan. Put remaining questions under Open decisions after the plan. Do not lead with a questionnaire unless no useful default exists.
Do not include "should I proceed", "would you like me to build this", "want me to implement", "or refine first", or equivalent closing permission questions. If implementation was requested, continue implementing. If only a design was requested, finish with open decisions, prototype limits, or a default next step.
Open decisions should be declarative, not a new questionnaire. Prefer Open decisions: deployment target changes integration details over ending with a question mark.
When offering next steps, use Default next step: <action> rather than asking the user which option to pick, unless the options change product behavior or external side effects. Do not end with a question mark unless a true blocker remains.
For reviews, lead with risks and fixes. For directive rewrites, output the rewritten directive only.
Minimum Architecture Answer
For a new agent, workflow, reviewer, patcher, or backend design, provide a useful minimum answer even when details are missing.
Use this compact structure unless the user asks for a different format:
Assumptions: only behavior-changing assumptions.Runtime: session host, lifecycle, and source verification status.Workflow: trigger, inputs, states, completion.Capabilities: tools, shared contracts, and permission policy.Evidence: what must be inspected before decisions or side effects.Failure: retry, cancellation, duplicate prevention, resume or restart.Observability: events, logs, skipped scope, confidence, and audit.Validation: risk-based tests or manual checks.
Keep each section short. Do not expand into implementation files, schemas, Docker, or full code unless implementation is requested.
Prompt And Directive Rules
When rewriting user intent:
- Use a numbered list.
- Keep each item short.
- Use professional and neutral language.
- Preserve the user's quality bar.
- Avoid long persona text.
- Avoid example-specific wording.
- Leave room for research and implementation judgment.
- Do not add a preamble, closing question, or explanatory wrapper unless the user asks for one.
- Prefer 5-9 direct requirements over long sections of examples.
The directive should constrain quality, not prescribe every step.
Copilot SDK Requirements
For Copilot SDK work, verify current upstream docs or source before version-sensitive API guidance.
Source status: verified is allowed only after inspecting current SDK source, official docs, installed package source, or references/verified-api-ledger.md for starter-level Go, TypeScript, or Python guidance during the task. Examples, remembered API shapes, old snippets, or this skill's own general instructions are not source verification.
If source is unavailable, say Source status: not verified, keep the guidance conceptual, and do not provide exact imports, struct names, method names, event type names, or code snippets as final.
Do not put exact SDK setup code in the answer unless the exact API names were verified from source or official docs during the task. If verification cannot be done, provide the verification path and a conceptual setup sequence instead of code. Do not include fenced SDK setup code in an unverified answer.
If the environment has the target SDK source installed, inspect it before searching the web. If only remembered knowledge is available, keep the guidance conceptual.
Every non-trivial design must address session lifecycle, tools, permissions, auth/provider config, failure recovery, cancellation, repeated requests, observability, state ownership, security, and risk-based validation. Do not rely on prompt text for behavior that belongs in runtime policy, typed interfaces, configuration, or application code.
When the verified API ledger is used, state its checked date and still warn that public-preview APIs should be rechecked before production.
Agent Workflow Quality Gates
Every non-trivial workflow must define ownership, access policy, evidence, action targeting, observability, state continuity, and failure semantics. Shared tools need contracts, access rules, auditability, and explicit failure behavior.
Runtime Extensibility Standard
For agent products, design the runtime host as reusable infrastructure and the requested agent behavior as the first workflow, unless the user explicitly asks for a throwaway prototype.
Separate runtime host, workflow definition, agent definition, and integration boundary. New agents, workflows, tools, or integrations should extend those boundaries rather than rewriting the runtime.
Enforcement Protocol
Do not treat the quality gates as optional advice. Enforce them before completion.
State intended behavior, reject hardcoded outcomes when a mechanism is required, name unresolved gates, and do not mark non-trivial work complete while ownership, access, evidence, targeting, observability, state, or failure behavior is undefined.
Intent Routing
Match the user's request to the correct workflow before designing:
- New Copilot SDK agent product: define the user-facing workflow, lifecycle states, tools, permissions, state, observability, and validation.
- Code reviewer or code patcher: define repository intake, analysis scope, review output, change policy, approval points, and continuation behavior.
- Existing project integration: inspect the codebase first, preserve established patterns, and add only the SDK boundary needed.
- Deployment or hosting: identify environment, auth, model/provider, secrets, telemetry, and operational failure paths.
- Prompt or agent improvement: use evaluation, traces, concrete failures, and versioned instruction changes rather than rewriting prompts blindly.
If the user asks for an SDLC lifecycle, treat it as executable workflow governance, not static directory scaffolding.
Native Primitive Rule
Before inventing custom infrastructure, inspect whether the SDK, host language, repository, or execution environment already provides the needed primitive.
Use custom code only when it has a clear owner, contract, failure behavior, and validation path.
Test Policy
Tests are not automatically required.
Require automated tests when behavior is shared, stateful, security-sensitive, user-facing, expensive to verify manually, or likely to regress. For lower-risk exploratory work, provide a manual verification path and name tests needed before production.
Completion Standard
A response is not ready if it:
- Solves only the happy path.
- Moves complexity without naming it.
- Creates duplicate sources of truth.
- Uses a broad prompt instead of runtime controls.
- Ignores failure, recovery, or observability.
- Overfits to one example.
- Claims production readiness without verification.
When the request is vague, elevate it into clear system requirements before building.
References
Read only what the task needs:
references/copilot-sdk-rules.mdfor concrete high-impact Copilot SDK rules.references/workflow-routing.mdfor workflow selection and orchestration.references/stop-conditions.mdfor strict completion gates.references/source-verification.mdfor current upstream lookup.references/verified-api-ledger.mdfor concise verified Go, TypeScript, and Python API names.references/workflows/code-reviewer-workflow.mdfor repository review agents.references/workflows/code-patcher-workflow.mdfor code patching agents.references/workflows/mcp-backed-agent-workflow.mdfor MCP tool integration.references/workflows/byok-backend-workflow.mdfor hosted or BYOK backends.references/workflows/skill-loaded-custom-agent-workflow.mdfor custom agents with skills.references/known-gotchas.mdfor SDK-specific traps.references/go.mdfor Go implementation details after source status is established.references/agent-product-lifecycle.mdfor Copilot SDK agent/product design.references/languages.mdfor target-language selection.references/sdlc-checklist.mdfor broader system checks.references/prompt-design.mdfor reusable prompt or directive design.references/skill-feedback.mdwhen this skill is wrong, too generic, or too verbose.
What ships with it: 30 files
70.6 KB alongside SKILL.md, 2 of them executable
assets/
evals/
- evals.json15.7 KB
examples/
- basic-go-session.md1.2 KB
- go-tool-pattern.md987 B
- skills-and-agents.md1.0 KB
- starters/go/main.go1.8 KB
- starters/go/README.md422 B
- starters/python/main.pyruns1.2 KB
- starters/python/README.md418 B
- starters/typescript/index.tsruns1.1 KB
- starters/typescript/README.md415 B
references/
- agent-product-lifecycle.md6.0 KB
- copilot-sdk-rules.md3.3 KB
- go.md3.7 KB
- known-gotchas.md2.1 KB
- languages.md1.9 KB
- overview.md2.4 KB
- prompt-design.md2.2 KB
- sdlc-checklist.md1.5 KB
- _sections.md1.1 KB
- skill-feedback.md565 B
- source-verification.md3.2 KB
- stop-conditions.md3.6 KB
- verified-api-ledger.md4.0 KB
- workflow-routing.md2.0 KB
- workflows/byok-backend-workflow.md1.7 KB
- workflows/code-patcher-workflow.md1.7 KB
- workflows/code-reviewer-workflow.md2.0 KB
- workflows/mcp-backed-agent-workflow.md1.4 KB
- workflows/skill-loaded-custom-agent-workflow.md1.7 KB