Agent skill

Integration Testing

by dzhalaevd in dzhalaevd/Donatello

Use as the lead skill when testing backend behavior across databases, repositories, transactions, migrations, API flows, or multiple application components

Apache-2.0Auto-check passedTesting & QA

Install Integration Testing

skills CLI
$ npx skills add dzhalaevd/Donatello --skill integration-testing -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install dzhalaevd/Donatello integration-testing --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/dzhalaevd/Donatello.git skills-src && mkdir -p .claude/skills && cp -r skills-src/.agents/skills/integration-testing .claude/skills/integration-testing && rm -rf skills-src

Use ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.

Claude Code skills documentation · loads skills from .claude/skills/

Facts

Skill name
integration-testing
GitHub stars
135
Token cost
~1.3k tokens
SKILL.md length
646 words
Files
1
Skills in repo
15
Repo updated
First seen
Licence
Apache-2.0

At a glance

Use as the lead skill when testing backend behavior across databases, repositories, transactions, migrations, API flows, or multiple application components

  • Works in 4 steps: Name the public behavior under test. → Identify real components and mocked… → Describe database isolation. → …
  • Tasks that involve Integration testing
  • SKILL.md covers Purpose, When to Choose Integration Tests, Sociable Over Over-Mocked and What to Keep Real, plus 7 more sections
  • Instructions only: no scripts, shell commands, URLs or credentials in SKILL.md

What it does

Integration Testing is an agent skill from dzhalaevd/Donatello. Use as the lead skill when testing backend behavior across databases, repositories, transactions, migrations, API flows, or multiple application components

Its SKILL.md is about 1.3k tokens, which your agent loads only when the skill is triggered. It is a single SKILL.md file with no bundled scripts.

It sits in Testing & QA, covering Integration testing. The repository describes itself as: Make Dating Great Again. An open source dating platform. The licence is Apache-2.0.

When your agent uses it

  • Tasks that involve Integration testing

Example prompts

  • “/integration-testing”

Workflow steps

4 steps, taken from the first numbered list in SKILL.md.

  1. Name the public behavior under test.
  2. Identify real components and mocked boundaries.
  3. Describe database isolation.
  4. Provide the minimal scenario list or test code.

What it can do on your machine

Read from SKILL.md and the folder at commit b57816e. It shows what the files ask for, not the result of running them.

  • Tool permissions

    Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.

    From allowed-tools in the SKILL.md frontmatter.

  • Runs code

    No scripts in the folder and no shell commands in SKILL.md.

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    No URLs in SKILL.md.

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names no API keys, tokens, secrets or passwords.

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

Integration Testing loads about 1.3k tokens when it runs. Until then it costs about 44 tokens; SKILL.md has 646 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~44
When it runs · the whole SKILL.md, loaded when a task matches
~1.3k

Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.

Safety

Auto-check passed

The automated check found no risky patterns in SKILL.md.

Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.

SKILL.md

The full file from dzhalaevd/Donatello at commit b57816e, republished under its Apache-2.0 licence (© dzhalaevd). 646 words, ~1,272 tokens.

Download SKILL.mdSave it as .claude/skills/integration-testing/SKILL.md (or your agent's skills folder).
name
integration-testing
description
Use as the lead skill when testing backend behavior across databases, repositories, transactions, migrations, API flows, or multiple application components

Backend Integration Testing

Purpose

Guide tests that verify multiple backend components together. Use this as the lead skill when a real repository, database, transaction boundary, migration, serializer, or API flow matters.

If the main risk is a race condition, lost update, worker interleaving, queue ordering, cancellation, or any other concurrency anomaly, use concurrency_fuzzing_testing as the lead skill and use this skill for the database/API setup details.

When to Choose Integration Tests

Choose integration tests when:

  • interactions between components need verification;
  • database state, repositories, transactions, migrations, or serialization are part of the behavior;
  • API behavior should be tested close to production;
  • unit tests are too isolated to give confidence.

Use an isolated test database. Never point tests at production data or production infrastructure.

Sociable Over Over-Mocked

For backend features, prefer sociable tests when they stay fast and understandable.

Sociable tests check several components together and mock only external boundaries. They are useful for:

  • service behavior;
  • API scenarios;
  • business flows;
  • real interaction between application components.

Use solitary tests for pure functions, complex algorithms, many edge cases, or code that is too expensive to run through API/DB paths.

What to Keep Real

Usually keep these real in integration tests:

  • application services;
  • repositories;
  • database session and transaction handling;
  • request/response serialization;
  • migrations when migration behavior is under test;
  • authorization and validation paths that affect the public outcome.

Do not directly test the database engine, SQL engine, framework internals, or third-party SDK internals.

What to Mock

Mock external uncontrolled boundaries:

  • outbound HTTP;
  • SMTP;
  • third-party APIs and SDKs;
  • external brokers and queues;
  • unstable filesystem access;
  • time, randomness, and environment when deterministic behavior matters.

Avoid mocking internal repositories or services when a real test database would verify the behavior with better confidence.

API and E2E Scope

Use API/E2E tests for key public scenarios:

  • critical user or API flow;
  • behavior that must work through the public interface;
  • business-critical path.

Keep full E2E tests few because they are slower, harder to maintain, and less precise at localizing failures.

For this product, prioritize flows that reduce dating-app burnout and improve meaningful offline outcomes, such as:

  • transparent match explanation;
  • respectful recommendation limits;
  • intentional conversation flows;
  • meeting-planning or safety-relevant flows.

Do not add E2E coverage for addictive engagement loops or artificial urgency mechanics.

Show full SKILL.md (276 more words)Show less

Database Isolation

Each integration test should:

  • create the data it needs;
  • not depend on execution order;
  • isolate data with transactions, truncation, per-test schemas, or disposable databases;
  • keep migrations and schema setup deterministic;
  • avoid hidden cross-test state.

Slow tests often come from heavy database setup. Prefer shared infrastructure with per-test isolation over rebuilding everything for every test, as long as isolation remains strong.

Assertions

Assert through public effects:

  • response body and status;
  • persisted database state;
  • emitted domain event;
  • scheduled external call;
  • externally visible error.

Avoid asserting internal method call counts, private helpers, or incidental SQL/query structure unless that structure is the explicit contract.

Handling Slow or Brittle Tests

If integration tests are slow:

  • move pure logic to unit tests;
  • reduce full E2E coverage;
  • inspect database fixture setup;
  • use transactions, rollback strategies, or disposable containers appropriately;
  • keep benchmarks out of normal CI.

If integration tests are brittle:

  • remove assertions on internal calls;
  • assert public behavior through API/DB effects;
  • reduce mocks on internal components;
  • replace overly broad E2E tests with targeted integration tests.

If tests do not catch real bugs:

  • add meaningful assertions;
  • include negative scenarios;
  • check business invariants;
  • avoid status-code-only tests.

Minimal Scenario Set

For a backend feature, start with:

  • one happy path through the public interface;
  • one important validation or permission failure;
  • one missing/duplicate/invalid state case;
  • one external dependency failure if the feature calls outside systems;
  • one persistence or transaction assertion when state matters.

Add more only when the behavior or risk justifies it.

Response Format

When proposing integration tests:

  1. Name the public behavior under test.
  2. Identify real components and mocked boundaries.
  3. Describe database isolation.
  4. Provide the minimal scenario list or test code.

© dzhalaevd, Apache-2.0. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

Just SKILL.md in .agents/skills/integration-testing of dzhalaevd/Donatello.

Open the folder on GitHubat commit b57816e

Compare with similar skills

Integration Testing next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.

Integration Testing compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Integration Testing this skilldzhalaevd/Donatello135—~1.3kAutomated safety check: PassApache-2.0
Plugin Testingpolyipseity/obsidian-terminal948—~828Automated safety check: PassAGPL-3.0
Create Modulecartography-cncf/cartography4.1k—~2.5kAutomated safety check: PassApache-2.0
Td Integration Testmarcus/td250—~1.2kAutomated safety check: PassMIT
Integration E2E Testingshinpr/claude-code-workflows690—~3.5kAutomated safety check: PassMIT
JS-in-HTML Testingliaohch3/claude-tap3.3k—~924Automated safety check: PassMIT

Similar skills

  • Plugin Testing

    polyipseity/obsidian-terminal

    Skill for testing Obsidian plugin features in this repository.

    948 GitHub stars~828 tokensUpdated 4 days ago
    Testing & QAAuto-check passed
  • Create Module

    cartography-cncf/cartography

    Author a new Cartography intel module end-to-end (entry point, sync GET/TRANSFORM/LOAD/CLEANUP, declarative data model, integration test, schema docs).

    4.1k GitHub stars~2.5k tokensUpdated today
    Testing & QAAuto-check passed
  • Write integration tests for the td-sync admin API using the TestHarness in internal/api/testharnesstest.go.

    250 GitHub stars~1.2k tokensUpdated 7 days ago
    Testing & QAAuto-check passed
  • Integration E2E Testing

    shinpr/claude-code-workflows

    Integration and E2E test design principles, ROI calculation, test skeleton specification, and review criteria.

    690 GitHub stars~3.5k tokensUpdated 6 days ago
    Testing & QAAuto-check passed
  • JS-in-HTML Testing

    liaohch3/claude-tap

    Tests JavaScript embedded in an HTML file in two layers: pytest checks of the logic ported to Python, and Playwright runs in a real browser for the DOM.

    3.3k GitHub stars~924 tokensUpdated 15 days ago
    Testing & QAAuto-check passed
  • Crosvm Testing

    google/crosvm

    Official

    Skill to assist with running tests and managing test VMs in the crosvm repository.

    1.3k GitHub stars~847 tokensUpdated today
    Testing & QAAuto-check passed

More from dzhalaevd/Donatello

All 15 skills in this repo
  • API And Interface Design

    dzhalaevd/Donatello

    Guides stable API and interface design. An agent skill from dzhalaevd/Donatello.

    135 GitHub starsUsed in 9 repos~2.6k tokens
    Auto-check passed
  • Documentation And Adrs

    dzhalaevd/Donatello

    Records decisions and documentation. An agent skill from dzhalaevd/Donatello.

    135 GitHub starsUsed in 8 repos~2.4k tokens
    Auto-check: notes
  • CI CD And Automation

    dzhalaevd/Donatello

    Automates CI/CD pipeline setup. An agent skill from dzhalaevd/Donatello.

    135 GitHub starsUsed in 7 repos~2.7k tokens
    Auto-check: notes
  • Deprecation And Migration

    dzhalaevd/Donatello

    Manages deprecation and migration. An agent skill from dzhalaevd/Donatello.

    135 GitHub starsUsed in 7 repos~3.1k tokens
    Auto-check passed
  • Instruments code so production behavior is visible and diagnosable.

    135 GitHub starsUsed in 5 repos~2.7k tokens
    Auto-check passed
  • Shipping And Launch

    dzhalaevd/Donatello

    Prepares production launches. An agent skill from dzhalaevd/Donatello.

    135 GitHub starsUsed in 5 repos~2.5k tokens
    Auto-check passed

Categories

Questions about Integration Testing

What does Integration Testing do?

Use as the lead skill when testing backend behavior across databases, repositories, transactions, migrations, API flows, or multiple application components. Integration Testing is an agent skill from dzhalaevd/Donatello.

When should I use Integration Testing?

Integration Testing fits situations like: tasks that involve Integration testing.

How do I install Integration Testing in Claude Code?

Run `npx skills add dzhalaevd/Donatello --skill integration-testing -a claude-code`. Or copy the skill folder (.agents/skills/integration-testing in dzhalaevd/Donatello) into .claude/skills/integration-testing in your project. Claude Code loads it when a task matches its description.

How do I install Integration Testing in Codex?

Run `npx skills add dzhalaevd/Donatello --skill integration-testing -a codex`. Or copy the skill folder (.agents/skills/integration-testing in dzhalaevd/Donatello) into .agents/skills/integration-testing in your project. Codex loads it when a task matches its description.

Can I use Integration Testing in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add dzhalaevd/Donatello --skill integration-testing -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/integration-testing, .gemini/skills/integration-testing, .github/skills/integration-testing and .opencode/skills/integration-testing in your project.

What does Integration Testing need to run?

SKILL.md names no scripts, command-line tools or credentials: Integration Testing is instructions for the agent only.

Does Integration Testing access the network?

SKILL.md contains no URLs. Any network use would come from the scripts or tools the agent runs. This is read from the text; nothing was executed.

Is Integration Testing safe to install?

Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.

What licence does Integration Testing use?

Integration Testing is published under the Apache-2.0 licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Integration Testing use?

About 1.3k tokens (SKILL.md is roughly 5.1k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.

What are the alternatives to Integration Testing?

Skills that share tags, products or a category with Integration Testing: Plugin Testing (polyipseity/obsidian-terminal, 948 stars), Create Module (cartography-cncf/cartography, 4.1k stars), Td Integration Test (marcus/td, 250 stars) and Integration E2E Testing (shinpr/claude-code-workflows, 690 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Integration Testing?

dzhalaevd (a GitHub user) maintains it in dzhalaevd/Donatello, which has 135 GitHub stars. The repository holds 15 skills in this directory. The repository was last updated on October 3, 2026.

Source: dzhalaevd/Donatello on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.