testing-strategy
Use when writing tests, deciding what to test, structuring test files, choosing mock strategies, setting coverage goals, or designing test infrastructure.
Skill by UgochukwuChidera
Chalk Labs
Need help deploying testing-strategy?
Chalk Labs sets up agents like this inside real teams: connected to your tools, tested on your data, with a human in the loop where it matters.
Install
Works with Claude Code, Claude apps, Codex, Cursor, Gemini CLI, GitHub Copilot, VS Code, OpenCode, Goose, Windsurf. Read the repository before you give any tool access to your data.
npx agentmarket install skill/ugochukwuchidera-testing-strategy
Asks which of your tools to add it to (Claude Code, Codex, Cursor, VS Code, Windsurf, Gemini CLI, Claude Desktop) and shows the change first. See https://agentmart.dev/cli.
Get the weekly diff
The weekly diff: one email a week with new agent tools, notable updates and grade changes, plus security alerts for tools you follow. Double opt-in, one-click unsubscribe.
About
Use cases: testing, devops, writing
Reviews
Write a reviewNo reviews yet. Installed it? Reviews come from verified installers only. How reviews work
Permissions
What this skill can do and what it asks for, from its SKILL.md. Checked Oct 25, 2026.
- Tools
- No tools found
- Secrets
- None asked for
- Install scripts
- None found
Network hosts it talks to 1
codeload.github.com· found in install command
Files it touches
~/.claude/skills/testing-strategy
What's inside
- Skill name
testing-strategy- Description
- Use when writing tests, deciding what to test, structuring test files, choosing mock strategies, setting coverage goals, or designing test infrastructure. Covers test pyramid, unit vs integration vs e2e, mocking rules, test naming, CI integration, flaky test detection, and property-based testing.
- License
- GPL-3.0
- Instructions
- 179 lines in SKILL.md · view on GitHub
Files (1)
- SKILL.md
SKILL.md (first lines)
## Git Delegation Rule
**HARD RULE**: NEVER run git commands. Delegate ALL git operations to `git-wrangler`.
# Testing Strategy
## The Test Pyramid (Practical)
```
╱╲
╱ E2E ╲ ← 5-10% — critical user journeys
╱────────╲
╱ Integration ╲ ← 20-30% — API/DB boundary tests
╱────────────────╲
╱ Unit Tests ╲ ← 60-75% — logic, edge cases, pure functions
╱──────────────────────╲
```
**Don't be dogmatic** — a CLI tool might have 90% integration tests and no e2e. A data pipeline library might be 100% unit. Adjust based on what breaks.
## What to Test (and What NOT To)
### Always Test
- **Core business logic** — pricing, validation, state transitions
- **Edge cases** — empty states, boundary values, null/undefined
- **Error paths** — what happens when a dependency fails
- **Public API surface** — exported functions, endpoints, component props
- **Regression scenarios** — bugs you've fixed before
### Never Test
- **Frameworks** — don't test that React renders or Express routes work
- **Trivial getters/setters** — unless they have logic
- **Configuration values** — test the *behavior* config enables, not the config itself
- **Third-party behavior** — mock the boundary, not the internals
- **UI pixel positions** — test behavior, not visual layout
## Test Structure Conventions
### File Placement
```
src/
utils/
format.ts
format.test.ts ← co-located with source
components/
Button.tsx
Button.test.tsx ← co-located with component
features/
auth/
login.test.ts ← feature-level integration test
```
### Naming
```
describe('formatCurrency', () => {
it('formats USD correctly', ...) // ✅
it('handles negative values', ...) // ✅
it('throws on invalid input', ...) // ✅
it('works', ...) // ❌
it('formatCurrency', ...) // ❌ redundant
})
```
### AAA Pattern (Arrange-Act-Assert)
```typescript
it('computes total with discount', () => {
// Arrange
const items = [/* ... */];
const discount = 0.1;
// Act
const total = calculateTotal(items, discount);
// Assert
expect(total).toBe(90);
});
```
## Mocking Rules
### What to Mock
- **Network calls** — `fetch`, `axios`, GraphQL clients
- **System time** — `Date.now()`, `setTimeout`
- **Randomness** — `Math.random()`, UUID generators
- **File system** — `fs.readFile` (unit tests only)
- **Environment** — `process.env`, config objects
### What NOT to Mock
- **String utilities, math, data structures** — use real implementations
- **Your own public API** — prefer real integration over mocked internals
- **Third-party SDKs** — mock at your boundary (wrap them first)
### Mock Names
```
// ❌ Ambiguous — what does "fake" mean?
const fakeDb = { find: () => ... }
// ✅ Clear intent
const inMemoryDb = new Map()
const mockPaymentGateway = { charge: vi.fn() }
const stubLogger = { info: vi.fn(), error: vi.fn() }
const fixtureUser = { id: 1, name: 'Alice' }
```
## Coverage Goals
```
Statements: ≥ 80%
Branches: ≥ 75%
Functions: ≥ 80%
Lines: ≥ 80%
```
Coverage is a **signal, not a target**. 100% coverage with worthless tests is worse than 70% with meaningful ones. If a branch is untestable by design (e.g., OS-level error that's near impossible to trigger), mark it `/* istanbul ignore next */` with a comment explaining why.
## Flaky Test Management
### Common CausesFrom UgochukwuChidera/Opencode-Agents, GPL-3.0.
More from UgochukwuChidera/Opencode-Agents
- 0.474score
tool-preference
UgochukwuChidera
Use when deciding whether to use a plugin tool or bash.
SkillCFreshness: CClaude Code +9 - 0.474score
grill-with-docs
UgochukwuChidera
Use when you need to conduct a structured design interview AND persist the results as documentation.
SkillCFreshness: CClaude Code +9 - 0.474score
api-design
UgochukwuChidera
Use when designing REST or GraphQL APIs, defining endpoints, request/response shapes, error responses, pagination, versioning, authentication, or OpenAPI specs.
SkillCFreshness: CClaude Code +9 - 0.474score
authentication-authorization
UgochukwuChidera
Use when implementing auth — login, registration, session management, JWT, OAuth, password hashing, RBAC, API keys, MFA, and security headers.
SkillCFreshness: CClaude Code +9 - 0.474score
database-data-layer
UgochukwuChidera
Use when designing or implementing database schemas, data models, migrations, seeding, and query layers.
SkillCFreshness: CClaude Code +9 - 0.474score
deployment-devops
UgochukwuChidera
Use when setting up deployment, Docker, CI/CD, environment configuration, hosting, and infrastructure.
SkillCFreshness: CClaude Code +9 - 0.474score
design-system-implementation
UgochukwuChidera
Use when implementing UI components from design token specifications.
SkillCFreshness: CClaude Code +9 - 0.474score
error-handling
UgochukwuChidera
Use when handling errors, building error boundaries, designing error responses, or adding logging/observability.
SkillCFreshness: CClaude Code +9 - 0.474score
meta-architect-patterns
UgochukwuChidera
Use when executing a Meta-Architect build plan from plan.json.
SkillCFreshness: CClaude Code +9 - 0.474score
grill-me
UgochukwuChidera
Use when conducting structured design interviews to discover shared language, uncover implicit assumptions, and refine project terminology before planning or…
SkillCFreshness: CClaude Code +9 - 0.474score
react-patterns
UgochukwuChidera
Use when discussing React component design, hooks, state management, or rendering patterns.
SkillCFreshness: CClaude Code +9 - 0.474score
security-review
UgochukwuChidera
Use when reviewing code for security vulnerabilities, auditing authentication/authorization, handling secrets, or assessing OWASP Top 10 risks.
SkillCFreshness: CClaude Code +9
Signals
- Stars
- 0
- Forks
- 0
- Open issues
- 0
- Last commit (this folder)
- Jul 6, 2026 (3 months ago)
From GitHub (fetched Oct 24, 2026).
Details
- License
- GPL-3.0
- First seen
- Oct 24, 2026
- Last checked
- Oct 24, 2026
- Source
- GitHubgithub-graphql
More from UgochukwuChidera
- 0.474score
grill-with-docs
UgochukwuChidera
Use when you need to conduct a structured design interview AND persist the results as documentation.
SkillCFreshness: CClaude Code +9 - 0.474score
api-design
UgochukwuChidera
Use when designing REST or GraphQL APIs, defining endpoints, request/response shapes, error responses, pagination, versioning, authentication, or OpenAPI specs.
SkillCFreshness: CClaude Code +9 - 0.474score
authentication-authorization
UgochukwuChidera
Use when implementing auth — login, registration, session management, JWT, OAuth, password hashing, RBAC, API keys, MFA, and security headers.
SkillCFreshness: CClaude Code +9 - 0.474score
database-data-layer
UgochukwuChidera
Use when designing or implementing database schemas, data models, migrations, seeding, and query layers.
SkillCFreshness: CClaude Code +9 - 0.474score
deployment-devops
UgochukwuChidera
Use when setting up deployment, Docker, CI/CD, environment configuration, hosting, and infrastructure.
SkillCFreshness: CClaude Code +9 - 0.474score
grill-me
UgochukwuChidera
Use when conducting structured design interviews to discover shared language, uncover implicit assumptions, and refine project terminology before planning or…
SkillCFreshness: CClaude Code +9
Done for you
Rather not set it up yourself?
Chalk Labs scopes, builds and runs agents for your team: the task audit, the eval harness, the integrations and the weekly ops report. Fixed scope, priced before we start.
See how we build AI agents →Read the case studies
Chalk Labs is a two-founder AI and growth studio. We build AI agents, CRMs and MVPs for Web3 and AI companies, and have shipped 50+ product and token launches.
- launches shipped
- 50+
- launches shipped
- media placements
- 500+
- media placements
- founders on every account
- 2
- founders on every account
Press we've placed: Forbes · CoinDesk · Decrypt · Cointelegraph · The Block
Rahil Jain, Co-founder, Chalk Labs. Ex-Goldman Sachs engineer. You talk to the person who builds it.
Get testing-strategy running in your business
Tell us what you want to automate. A founder replies within one working day with a plan, not a pitch deck.
Cite this page
testing-strategy skill. Agent Mart. https://agentmart.dev/skills/ugochukwuchidera-testing-strategy (last updated 2026-10-24)