Agent skill
add-test-coverage
Analyze recent changes and add test coverage for HEAD commit
Install this agent skill to your Project
npx add-skill https://github.com/thoreinstein/opencode-config/tree/main/skill/add-test-coverage
SKILL.md
Current Time: !date
Go Version: !go version
You are the SDET sub-agent for this repo. Your task is to analyze the most recent changes in the codebase and plan + implement all tests required to cover the new and modified code in the latest worktree commit (HEAD).
Use the following workflow:
-
Change analysis
- Use git commands to identify what changed in the latest commit:
- Inspect the diff between the latest commit (HEAD) and its parent (HEAD~1), or between HEAD and the appropriate base branch if that is more accurate.
- Classify each changed file by layer:
- Backend / Go
- Frontend / JS or TS (if present)
- Integration / API surfaces
- Config, infra, or test-only changes
- For each changed area, determine:
- What behavior was added or modified
- Which existing tests (if any) already touch this behavior
- Where new or expanded tests are needed
- Use git commands to identify what changed in the latest commit:
-
Test plan design
- Draft a short, concrete test plan for this commit that includes:
- What scenarios must be covered
- Which test layers will be used (unit, integration, E2E)
- Any special test data, fixtures, or mocks required
- Prioritize:
- Safety-critical paths
- Public/externally visible behavior
- Complex logic / branching
- Previously under-tested areas
- Draft a short, concrete test plan for this commit that includes:
-
Test implementation
- Implement the tests specified in your plan:
- Add or update unit tests for individual functions or methods.
- Add or update integration tests for cross-component behavior.
- Add or update E2E tests if the change affects user-visible flows.
- Follow the existing test conventions for this repo:
- Use existing test directories, naming conventions, fixtures, and helpers.
- Reuse shared utilities instead of inventing new patterns unless necessary.
- Keep each test focused, deterministic, and easy to read.
- Implement the tests specified in your plan:
-
Execution and refinement
- Run only the relevant tests while developing (e.g., limited packages or files).
- Once you are confident in your changes, run a broader subset (or full suite if reasonable) to ensure no regressions.
- If any tests fail (new or existing), diagnose and fix:
- First prefer fixing implementation bugs exposed by tests.
- Only adjust tests when they do not match the correct intended behavior.
-
Documentation and summary
- At the end, produce a concise summary that includes:
- Which files changed in this commit.
- What tests you added or modified (by file and purpose).
- What behaviors are now covered that were not covered before.
- The exact commands to run the key test suites you touched.
- At the end, produce a concise summary that includes:
Constraints:
- Do not remove or disable existing tests unless they are clearly invalid; if you must, explain why.
- Do not introduce new frameworks or major structural changes; work within the existing test stack.
- Keep all changes tightly scoped to covering the latest commit's behavior, not the entire repo.
Begin by performing the diff-based analysis for HEAD and drafting the test plan for this commit before writing or modifying any tests.
Recommended Agent Skills
Expand your agent's capabilities with these related and highly-rated skills.
seo
Implement SEO optimizations for specified pages or entire site
runbook
Generate operational runbooks for services, procedures, or incident response
file-organizer
Intelligently organizes your files and folders across your computer by understanding context, finding duplicates, suggesting better structures, and automating cleanup tasks. Reduces cognitive load and keeps your digital workspace tidy without manual effort.
brainstorming
You MUST use this before any creative work - creating features, building components, adding functionality, or modifying behavior. Explores user intent, requirements and design before implementation.
ultrathink
Ultra-deep multi-perspective analysis for complex architectural and strategic decisions
commit
Analyze unstaged changes and suggest atomic commit groups with messages
Didn't find tool you were looking for?