3.4 KiB
Copilot SDK Verification Implementation Plan
For Claude: REQUIRED SUB-SKILL: Use superpowers:executing-plans to implement this plan task-by-task.
Goal: Verify and enforce the use of the official @github/copilot-sdk across the codebase.
Architecture: Scan the repository for Copilot integration points, audit dependencies, identify non-SDK usage, and implement an automated enforcement mechanism (lint or codemod). Validate via tests and CI, and update docs as needed.
Tech Stack: Node.js, TypeScript, ESLint/codemod, ripgrep, git, CI.
Task 1: Audit Copilot usage
Files:
- Create: (none)
- Modify: (none)
- Test: (none)
Step 1: Scan repository for Copilot references and SDK usage.
rg -n "@github/copilot-sdk|@github/copilot" -S
Expected: list of files where Copilot is imported or configured. If none found, note absence and plan to add coverage.
Step 2: Record findings.
Document all occurrences in a summary file under docs/validation/copilot-usage.md including file paths and how Copilot is integrated.
Task 2: Decide enforcement strategy
Files:
- Create:
tools/copilot-enforcement/README.md - Modify:
package.json(optional) to add a lint script if desired - Test:
tests/copilot-usage.test.tsor equivalent
Option A (Recommended): ESLint rule to require @github/copilot-sdk Step 1: Implement a custom ESLint rule that flags any import or require of Copilot outside the official SDK path, and auto-fix where possible. Step 2: Wire rule into ESLint config and run tests. Step 3: Add a test file asserting the rule flags non-SDK usage and allows SDK usage.
Option B: Codemod using jscodeshift to rewrite non-SDK usage to a safe pattern or emit a warning.
Task 3: Add tests and run verification
Files:
- Test:
tests/copilot-usage.test.ts(for ESLint rule) ortests/codemod/copilot-usage.js(for codemod)
Step 1: Create test cases that cover:
- Correct usage with @github/copilot-sdk
- Incorrect usage with other Copilot integration patterns
Step 2: Run tests and ensure they pass/fail as expected.
Step 3: Integrate with CI so guards run on PRs.
Task 4: Documentation and guidance
Files:
- Update:
docs/developer-guide.mdwith Copilot SDK usage best practices - Create:
docs/validation/copilot-usage.mdwith rules and examples
Task 5: Execute, verify, and commit
Step 1: Run full test suite locally. Step 2: If all tests pass, commit changes with a concise message. Step 3: Push and open a PR.
Execution Handoff
After saving the plan, offer execution choice:
"Plan complete and saved to docs/plans/<filename>.md. Two execution options:
1. Subagent-Driven (this session) - I dispatch fresh subagent per task, review between tasks, fast iteration
2. Parallel Session (separate) - Open new session with executing-plans, batch execution with checkpoints
Which approach?
If Subagent-Driven chosen:
- REQUIRED SUB-SKILL: Use superpowers:subagent-driven-development
- Stay in this session
- Fresh subagent per task + code review
If Parallel Session chosen:
- Guide them to open new session in worktree
- REQUIRED SUB-SKILL: superpowers:executing-plans
- Your operational mode has changed from plan to build.
- You are no longer in read-only mode. You are permitted to make file changes, run shell commands, and utilize your arsenal of tools as needed.