testing-strategy

A testing approach that uses unit tests for isolated code, integration tests for connections to real services, and end-to-end tests for complete API requests.

In plain words
What is it for?
Use it to write tests with Pytest or JUnit, configure fixtures and factories, measure coverage, review test quality, and add test checks to CI/CD pipelines.
Why use it?
It gives developers a way to find bugs at different levels and improve test coverage without relying only on slow, broad tests.

Skill for Claude CodeCodex

Install

Getting it into your agent

One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.

agentmods
npx agentmods add skills/bdiasti/maestro-bundle-cli/testing-strategy
Any agent
npx skills add bdiasti/maestro-bundle-cli --skill testing-strategy
Clone the repo
git clone --depth 1 https://github.com/bdiasti/maestro-bundle-cli

Made for: Claude Code, Codex.

Per session 38 Skills are progressive disclosure: only the name and description are preloaded; the body loads when the skill is used.
When invoked 1,612 The whole file, excluding the scripts and references it only reads on demand.
Security scan A 0 findings. Scan, not verified.
Origin original No closer match found in the catalogue.
Token cost

What it costs to keep this loaded

Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.

ModelPer sessionOnce invoked
Fable 5 $0.00038 $0.01612
Opus 5 $0.00019 $0.00806
Sonnet 5 $0.00008 $0.00322
Haiku 4.5 $0.00004 $0.00161

Measured 3d ago against content hash 2dfaafca05e6, method: parsed. Prices are Anthropic first-party input rates as of 2026-08-30, from the pricing page.

Security

Grade A, and why

testing-strategy scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 3d ago.

A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.

Nothing flagged

None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.

templates/bundle-ai-agents/skills/testing-strategy/SKILL.md · 205 lines

How it starts

The opening of the file, as written. The whole thing — 205 lines — stays where its author put it; the contents beside it link to each section on GitHub.

Testing Strategy

Implement the testing pyramid with domain unit tests, integration tests for repositories, and e2e tests for API endpoints, following consistent naming and fixture patterns.

When to Use

  • Writing tests for new features or bug fixes
  • Setting up test infrastructure for a new project
  • Improving test coverage on existing code
  • Reviewing test quality and naming conventions
  • Configuring CI/CD test pipelines

Available Operations

  1. Write unit tests for domain entities and value objects
  2. Write integration tests for repositories and external services
  3. Write e2e tests for API endpoints
  4. Configure test fixtures and factories
  5. Run tests and measure coverage
  6. Set up test pipelines in CI/CD

Multi-Step Workflow

Step 1: Understand the Testing Pyramid

        /  E2E  \          Few, slow, expensive
       / Integr. \         Moderate count
      / Unit Tests \       Many, fast, cheap
  • Unit tests: Test domain logic in isolation. No database, no HTTP, no external services.
  • Integration tests: Test adapters (repositories, clients) against real infrastructure.
  • E2E tests: Test full API request/response cycles.

Step 2: Write Unit Tests for Domain Entities

Test business rules without any infrastructure dependency.

# tests/domain/test_demand.py
import pytest

class TestDemand:
    def test_should_decompose_new_demand(self):
        demand = Demand(id=DemandId.generate(), description="Create CRUD")
        planner = FakePlanner(tasks=[Task(...), Task(...)])

        tasks = demand.decompose(planner)

        assert len(tasks) == 2
        assert demand.status == DemandStatus.PLANNED

    def test_should_reject_decompose_if_already_planned(self):
        demand = Demand(id=DemandId.generate(), description="Create CRUD")
        demand.decompose(FakePlanner(tasks=[Task(...)]))

        with pytest.raises(DemandAlreadyDecomposedException):
            demand.decompose(FakePlanner(tasks=[]))

    def test_should_not_allow_more_than_20_tasks(self):
        demand = Demand(id=DemandId.generate(), description="Mega project")
        for i in range(20):
            demand.add_task(Task(...))

        with pytest.raises(TooManyTasksException):
            demand.add_task(Task(...))

Read the full file on GitHub · 205 lines

Files

What ships with it

2 files beside SKILL.md in the same directory: the scripts, references and assets a skill reads on demand. Not counted in the per-session cost; read them before you install if any of them is executable.

Changes

What this file has done since we first saw it

Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.

  1. 3d ago First seen · 205 lines · 38 tokens per session scan A 2dfaafca05e6

Subscribe to this mod's changes

testing-strategy is a skill published in the GitHub repository bdiasti/maestro-bundle-cli (21 stars, last pushed 5mo ago), licensed MIT. It adds 38 tokens to every session and 1,612 once invoked, about $0.0002 per session on Opus 5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-30.