Senior QA
nicepkg/auto-company
Comprehensive QA and testing skill for quality assurance, test automation, and testing strategies for ReactJS, NextJS, NodeJS applications.
A skill your agent uses to size an Android test suite using Google's small / medium / big scope vocabulary and the qualitative pyramid.
$ npx skills add skydoves/android-testing-skills --skill understanding-the-testing-pyramid -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install skydoves/android-testing-skills understanding-the-testing-pyramid --agent claude-codeProject scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).
$ git clone --depth 1 https://github.com/skydoves/android-testing-skills.git skills-src && mkdir -p .claude/skills && cp -r skills-src/fundamentals/concepts/understanding-the-testing-pyramid .claude/skills/understanding-the-testing-pyramid && rm -rf skills-srcUse ~/.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/
Install the "understanding-the-testing-pyramid" agent skill from https://github.com/skydoves/android-testing-skills/tree/main/fundamentals/concepts/understanding-the-testing-pyramid into .claude/skills/understanding-the-testing-pyramid/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "understanding-the-testing-pyramid", then confirm the skill loads.Claude Code copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$skill-installer install https://github.com/skydoves/android-testing-skills/tree/main/fundamentals/concepts/understanding-the-testing-pyramidType this inside Codex. $skill-installer <name> installs a curated skill from openai/skills. The installer writes to $CODEX_HOME/skills (default ~/.codex/skills). Restart Codex if the skill does not show up.
$ npx skills add skydoves/android-testing-skills --skill understanding-the-testing-pyramid -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install skydoves/android-testing-skills understanding-the-testing-pyramid --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/skydoves/android-testing-skills.git skills-src && mkdir -p .agents/skills && cp -r skills-src/fundamentals/concepts/understanding-the-testing-pyramid .agents/skills/understanding-the-testing-pyramid && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "understanding-the-testing-pyramid" agent skill from https://github.com/skydoves/android-testing-skills/tree/main/fundamentals/concepts/understanding-the-testing-pyramid into .agents/skills/understanding-the-testing-pyramid/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "understanding-the-testing-pyramid", then confirm the skill loads.Codex copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add skydoves/android-testing-skills --skill understanding-the-testing-pyramid -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install skydoves/android-testing-skills understanding-the-testing-pyramid --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/skydoves/android-testing-skills.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/fundamentals/concepts/understanding-the-testing-pyramid .cursor/skills/understanding-the-testing-pyramid && rm -rf skills-srcUse ~/.cursor/skills/ instead of .cursor/skills for a personal install.
Cursor skills documentation · loads skills from .cursor/skills/, .agents/skills/, .claude/skills/, .codex/skills/
Install the "understanding-the-testing-pyramid" agent skill from https://github.com/skydoves/android-testing-skills/tree/main/fundamentals/concepts/understanding-the-testing-pyramid into .cursor/skills/understanding-the-testing-pyramid/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "understanding-the-testing-pyramid", then confirm the skill loads.Cursor copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gemini skills install https://github.com/skydoves/android-testing-skills.git --path fundamentals/concepts/understanding-the-testing-pyramid--scope user (default) or --scope workspace; --path is the subfolder of the repo that holds the skill; --consent skips the security confirmation prompt.
$ npx skills add skydoves/android-testing-skills --skill understanding-the-testing-pyramid -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install skydoves/android-testing-skills understanding-the-testing-pyramid --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/skydoves/android-testing-skills.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/fundamentals/concepts/understanding-the-testing-pyramid .gemini/skills/understanding-the-testing-pyramid && rm -rf skills-srcUse ~/.gemini/skills/ instead of .gemini/skills for a personal install, then run /skills reload.
Gemini CLI skills documentation · loads skills from .gemini/skills/, .agents/skills/
Install the "understanding-the-testing-pyramid" agent skill from https://github.com/skydoves/android-testing-skills/tree/main/fundamentals/concepts/understanding-the-testing-pyramid into .gemini/skills/understanding-the-testing-pyramid/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "understanding-the-testing-pyramid", then confirm the skill loads.Gemini CLI copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gh skill install skydoves/android-testing-skills understanding-the-testing-pyramidInstalls for Copilot at project scope by default; add --scope user for a personal install. Preview a skill first with gh skill preview. Needs GitHub CLI 2.90.0 or later (public preview).
$ npx skills add skydoves/android-testing-skills --skill understanding-the-testing-pyramid -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/skydoves/android-testing-skills.git skills-src && mkdir -p .github/skills && cp -r skills-src/fundamentals/concepts/understanding-the-testing-pyramid .github/skills/understanding-the-testing-pyramid && rm -rf skills-srcUse ~/.copilot/skills/ instead of .github/skills for a personal install. Commit .github/skills so cloud agent and code review can use it.
GitHub Copilot skills documentation · loads skills from .github/skills/, .claude/skills/, .agents/skills/
Install the "understanding-the-testing-pyramid" agent skill from https://github.com/skydoves/android-testing-skills/tree/main/fundamentals/concepts/understanding-the-testing-pyramid into .github/skills/understanding-the-testing-pyramid/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "understanding-the-testing-pyramid", then confirm the skill loads.GitHub Copilot copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add skydoves/android-testing-skills --skill understanding-the-testing-pyramid -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install skydoves/android-testing-skills understanding-the-testing-pyramid --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/skydoves/android-testing-skills.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/fundamentals/concepts/understanding-the-testing-pyramid .opencode/skills/understanding-the-testing-pyramid && rm -rf skills-srcUse ~/.config/opencode/skills/ instead of .opencode/skills for a personal install.
OpenCode skills documentation · loads skills from .opencode/skills/, .claude/skills/, .agents/skills/
Install the "understanding-the-testing-pyramid" agent skill from https://github.com/skydoves/android-testing-skills/tree/main/fundamentals/concepts/understanding-the-testing-pyramid into .opencode/skills/understanding-the-testing-pyramid/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "understanding-the-testing-pyramid", then confirm the skill loads.OpenCode copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
understanding-the-testing-pyramidA skill your agent uses to size an Android test suite using Google's small / medium / big scope vocabulary and the qualitative pyramid.
Understanding The Testing Pyramid is an agent skill from skydoves/android-testing-skills. Use this skill to size an Android test suite using Google's small / medium / big scope vocabulary and the qualitative pyramid. Explains why most apps should hold "many small tests and relatively few big tests", how scope (small/medium/big) is orthogonal to execution location (local vs instrumented), and where the older 70/20/10 numeric ratio actually comes from. Use when the user asks "how many unit vs UI tests should I write", "what's the testing pyramid", "all my tests are instrumented and CI is slow", "test…
Its SKILL.md is about 4.4k 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 Test generation and Test strategy. It works with Android. The repository describes itself as: ⚡️ A set of skills for Android testing: Compose UI, AndroidX Test, JVM unit tests, and ADB. The licence is Apache-2.0.
4 steps, taken from the first numbered list in SKILL.md.
Read from SKILL.md and the folder at commit 8665ed5. It shows what the files ask for, not the result of running them.
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.
No scripts in the folder and no shell commands in SKILL.md (its code samples are markdown).
From the folder's file list and the shell code blocks in SKILL.md.
Hosts in commands or code, which the agent is likely to contact:
abseil.ioFrom URLs in SKILL.md, links to its own repository left out.
Names no API keys, tokens, secrets or passwords.
From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.
Understanding The Testing Pyramid loads about 4.4k tokens when it runs. Until then it costs about 187 tokens; SKILL.md has 1,736 words of instructions outside code blocks.
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.
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.
The full file from skydoves/android-testing-skills at commit 8665ed5, republished under its Apache-2.0 licence (© skydoves). 1,736 words, ~4,368 tokens.
.claude/skills/understanding-the-testing-pyramid/SKILL.md (or your agent's skills folder).Android test suites slow CI and rot when teams ship one big instrumented test per behavior and skip unit coverage of the underlying logic. Google's /training/testing/fundamentals page frames test sizing with three scopes — small, medium, big — and the /strategies page sketches a qualitative pyramid on top of that. This skill encodes the 3-layer framing, names the alternative 5-layer framing so authors do not blend them, and is honest about where the famous numeric ratios come from. Subsequent skills (../choosing-what-to-test/SKILL.md, ../../strategies/applying-testing-strategies/SKILL.md) assume this vocabulary.
/strategies).../choosing-what-to-test/SKILL.md.testImplementation vs androidTestImplementation Gradle configurations — use ../../strategies/organizing-test-source-sets/SKILL.md.Fake / Mock / Stub / Spy — use ../../doubles/picking-test-doubles/SKILL.md.../../../compose/synchronization/synchronizing-with-idle/SKILL.md or ../../../jvm-tests/coroutines/testing-coroutines-with-runtest/SKILL.md.src/test/ (local, JVM) and src/androidTest/ (instrumented) split. If unfamiliar, read ../../strategies/organizing-test-source-sets/SKILL.md first.Google publishes two framings on adjacent pages. They are not contradictory; they are different views.
From /training/testing/fundamentals ("Types of tests in Android" → "By Scope"):
"Tests are also classified by their scope, or how much of the code they cover. There are three categories of test scope:
- Unit tests or small tests only verify a very small portion of the app, such as a method or class.
- End-to-end tests or big tests verify larger parts of the app at the same time, such as a whole screen or user flow.
- Medium tests are in between and check the integration between two or more units." —
developer.android.com/training/testing/fundamentals
| Scope | What it covers | Typical runner | Typical execution |
|---|---|---|---|
| Small | One method or class | JUnit4 + Mockito/MockK + fakes | src/test/ (JVM) |
| Medium | 2+ classes integrating, possibly Android framework via Robolectric | JUnit4 + Robolectric or in-process Android | src/test/ (host) OR src/androidTest/ (instrumented) |
| Big | A whole screen, user flow, or release-build smoke | AndroidJUnitRunner + Espresso/Compose-test/UiAutomator | src/androidTest/ |
From /training/testing/fundamentals/strategies (the "scalable strategy" table):
| Level | Scope | Network |
|---|---|---|
| Unit | Single method or class with minimal dependencies | None |
| Component | Module or component | None |
| Feature | Multiple components / modules | "supports mocked network access" |
| Application | Whole app, debuggable binary | n/a |
| Release Candidate | Whole release build, minified | n/a |
Most teams stay with the 3-layer Framing A because it is the simpler, more cited shape. Reach for Framing B only when designing a multi-team CI strategy where the extra granularity earns its keep. MUST NOT blend the two in a single doc — pick one and stick with it.
The single most important quote on the page, and the one the agent should cite when a developer says "all my tests are instrumented":
"Not all unit tests are local, and not all end-to-end tests run on a device. For example:
- Big local test: You can use an Android simulator that runs locally, such as Robolectric.
- Small instrumented test: You can verify that your code works well with a framework feature, such as a SQLite database." —
developer.android.com/training/testing/fundamentals
Two axes:
LOCAL (JVM) INSTRUMENTED (device)
SMALL pure JUnit + fakes unit test of SQLite via real DB
MEDIUM Robolectric component component test on real Android
BIG Robolectric flow Espresso / Compose UI flowRobolectric is a local Android simulator. It is not "an instrumented test" — it runs on the JVM under src/test/. See ../../strategies/organizing-test-source-sets/SKILL.md and the cross-category skill ../../../jvm-tests/robolectric/using-robolectric-correctly/SKILL.md.
The /strategies page only commits to a qualitative shape:
"Most apps should have many small tests and relatively few big tests, forming a pyramid shape." —
developer.android.com/training/testing/fundamentals/strategies
"Key Point: In general, you should try to add tests as soon as possible in the development cycle. That typically means starting with small tests." —
developer.android.com/training/testing/fundamentals/strategies
That is the entirety of Google's current quantitative claim: "many small, few big". No ratio.
The "70 percent unit, 20 percent integration, 10 percent end-to-end" rule is widely cited but is NOT present on the current /training/testing/fundamentals or /training/testing/fundamentals/strategies pages (as of 2026-05-06; verified in tasks/research/R8-android-fundamentals.md). The number is from Google's own engineering literature — Software Engineering at Google, chapter 11 — not the Android training pages.
MUST NOT attribute "70/20/10" to developer.android.com. The numeric ratio is a community heuristic popularised in Software Engineering at Google (https://abseil.io/resources/swe-book, ch. 11) — paraphrase carefully, do NOT present any specific sentence as a verbatim quote unless you confirm it line-by-line in the book. The book frames the split as a heuristic, not a law: different domains warrant different ratios; see "When to break the pyramid" below.
The reason the pyramid bottom is wide:
| Layer | Wall-clock per test | Failure signal | Maintenance cost |
|---|---|---|---|
| Small | 1-50 ms | Pinpoints a class/method | Low |
| Medium (Robolectric) | 50-500 ms | Pinpoints a component | Medium |
| Big (instrumented) | 5-30 s | Says "the screen is broken" | High (flake, emulator state, animation) |
A flat or inverted pyramid (lots of big tests, few small) produces:
/strategies notes "no network access" for unit and component layers)./training/testing/instrumented-tests makes the price explicit:
"We recommend using instrumented tests only in cases where you must test against the behavior of a real device." —
developer.android.com/training/testing/instrumented-tests
That is Google's "use big tests as a last resort" stance, in their own words.
The pyramid is a default, not a law. Break it when:
ViewModel and stock Material widgets has very little to unit-test. Big tests catch wiring; small tests would just be testing runBlocking { dataStore.data.first() }.../../../compose/audit/auditing-compose-test-suite/SKILL.md.What does NOT justify breaking the pyramid:
developer.android.com/training/testing/fundamentals ("With a testable app architecture …").../../doubles/picking-test-doubles/SKILL.md.../../../adb/observability/extracting-logs-with-logcat/SKILL.md.<!-- WRONG -->
> Per Google's developer documentation, the testing pyramid recommends
> a 70/20/10 split between unit, integration, and end-to-end tests.
> Source: developer.android.com/training/testing/fundamentals/strategiesWRONG because: that ratio is not on the strategies page as of 2026-05-06. The page only says "many small, few big" qualitatively. Citing developer.android.com here is fabrication.
<!-- RIGHT -->
> Google's Android docs commit to a qualitative pyramid only:
> "Most apps should have many small tests and relatively few big tests"
> (developer.android.com/training/testing/fundamentals/strategies).
> The familiar 70/20/10 split comes from Software Engineering at Google,
> ch. 11 (https://abseil.io/resources/swe-book), not the Android docs.<!-- WRONG -->
> Robolectric tests are instrumented tests because they exercise the
> Android framework. Put them in src/androidTest/.WRONG because: Robolectric runs on the JVM with no Android device or emulator. Per /training/testing/fundamentals ("Big local test: You can use an Android simulator that runs locally, such as Robolectric"), Robolectric is a local test, in src/test/, regardless of scope.
<!-- RIGHT -->
> Robolectric is a local (JVM) Android simulator. By scope it can be small,
> medium, or big depending on what the test exercises. Place it in src/test/.
> Use src/androidTest/ only for tests that require a real device.<!-- WRONG -->
> Our suite has 200 small tests, 40 medium tests, 8 feature tests, and
> 3 release-candidate tests, which is a healthy pyramid.WRONG because: this blends Framing A ("small/medium") with Framing B ("feature/release candidate"). The reader cannot tell whether "small" means Framing A's small or Framing B's unit.
<!-- RIGHT — pick Framing A and stick with it -->
> Our suite has 200 small tests, 40 medium (Robolectric component) tests,
> and 11 big (instrumented Compose-test + Espresso) tests. Per Google's
> small/medium/big framing on /training/testing/fundamentals, the ratio
> is roughly 80/16/4, in line with the pyramid recommendation.Question → Scope
----------------------------------------------------------
"Does it depend on the Android framework?"
No → Small (src/test/)
Yes, simulated via Robolectric → Medium (src/test/)
Yes, must be a real device → Big (src/androidTest/)
"Does it exercise more than one class?"
No → Small
Yes, but no I/O / no UI → Medium
Yes, with UI rendering or system services → Big
"Does it cross a network or process boundary?"
No → Small or Medium
Yes (mocked) → Medium (Feature in Framing B)
Yes (real) → Big (Application/RC in Framing B)/strategies page.developer.android.com. Cite Software Engineering at Google (https://abseil.io/resources/swe-book).@SmallTest, @MediumTest, @LargeTest from androidx.test.filters) so CI can shard accordingly.@SmallTest, @MediumTest, @LargeTest (or by source-set placement).src/androidTest/ could equivalently run as a Robolectric host test in src/test/ without losing fidelity. (If yes, move it.)developer.android.com.developer.android.com/training/testing/fundamentals — small/medium/big scope, "Not all unit tests are local" quote, testable architecture rationale.developer.android.com/training/testing/fundamentals/strategies — qualitative pyramid ("many small, few big"), 5-level Unit/Component/Feature/Application/Release Candidate table, "starting with small tests" guidance.developer.android.com/training/testing/instrumented-tests — "instrumented tests only in cases where you must test against the behavior of a real device".tasks/research/R8-android-fundamentals.md — verbatim quotes, version-sensitive notes, the "70/20/10 not on the page" finding.androidx.test.filters — @SmallTest / @MediumTest / @LargeTest annotations for runtime sharding.../choosing-what-to-test/SKILL.md, ../../doubles/picking-test-doubles/SKILL.md, ../../strategies/applying-testing-strategies/SKILL.md, ../../strategies/organizing-test-source-sets/SKILL.md.../../../jvm-tests/robolectric/using-robolectric-correctly/SKILL.md, ../../../jvm-tests/runner/configuring-junit4-on-android/SKILL.md, ../../../instrumentation/runner/running-instrumented-tests-with-androidjunit4/SKILL.md, ../../../compose/audit/auditing-compose-test-suite/SKILL.md.© skydoves, 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
Just SKILL.md in fundamentals/concepts/understanding-the-testing-pyramid of skydoves/android-testing-skills.
Open the folder on GitHubat commit 8665ed5
Understanding The Testing Pyramid 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.
| Skill | Stars | Used in | Tokens | Auto-check | Licence | Repo updated |
|---|---|---|---|---|---|---|
| Understanding The Testing Pyramid this skillskydoves/android-testing-skills | 333 | — | ~4.4k | Automated safety check: Pass | Apache-2.0 | |
| Senior QAnicepkg/auto-company | 194 | 3 repos | ~1.1k | Automated safety check: Notes | None | |
| Kane CLI Browser TestingLambdaTest/kane-cli | 248 | — | ~8.4k | Automated safety check: Pass | Apache-2.0 | |
| QA Manual Istqbfugazi/test-automation-skills-agents | 247 | — | ~3.6k | Automated safety check: Pass | MIT | |
| QAdutradotdev/quokka | 108 | — | ~1k | Automated safety check: Pass | MIT | |
| Test RoadmapOvid/paad | 131 | — | ~2.3k | Automated safety check: Pass | MIT |
nicepkg/auto-company
Comprehensive QA and testing skill for quality assurance, test automation, and testing strategies for ReactJS, NextJS, NodeJS applications.
LambdaTest/kane-cli
Drives a real browser through the kane-cli tool and designs requirement-linked test suites from a PRD or a plain description, with mobile and cloud-grid runs.
fugazi/test-automation-skills-agents
Create QA artifacts from requirements: test plans, test conditions/cases, bug reports, regression suites, traceability, and exploratory charters.
dutradotdev/quokka
Run quokka's real-device E2E layer (QA strategy layer 5): drive the real qk binary against connected iPhone/Android devices through tmux, apply deterministic verifiers, and write a report.
Ovid/paad
EXPERIMENTAL. An agent skill from Ovid/paad.
CloudAI-X/opencode-workflow
Guides test strategy, TDD/BDD approaches, test coverage planning, and testing best practices.
skydoves/android-testing-skills
A skill your agent uses to verify Compose layout measurements from a UI test using assertWidthIsEqualTo, assertHeightIsEqualTo, assertWidthIsAtLeast, assertHeightIsAtLeast…
skydoves/android-testing-skills
A skill your agent uses to verify a Compose semantics node's properties from a UI test using assertExists, assertDoesNotExist, assertIsDisplayed, assertIsNotDisplayed, assertIsDeactivated…
skydoves/android-testing-skills
A skill your agent uses to render every Jetpack Compose @Preview as a screenshot on a real Android device or emulator and publish a browsable HTML catalog from CI.
skydoves/android-testing-skills
A skill your agent uses to capture visual artefacts from a device for test failures, golden image generation, QA repro, and demo videos.
skydoves/android-testing-skills
A skill your agent uses to pick the correct Compose UI test entry point.
skydoves/android-testing-skills
A skill your agent uses to pick which behaviors to cover in an Android test suite using Google's five-category state vocabulary plus the explicit "what NOT to test" list from…
Works with
Categories
A skill your agent uses to size an Android test suite using Google's small / medium / big scope vocabulary and the qualitative pyramid. Understanding The Testing Pyramid is an agent skill from skydoves/android-testing-skills. Use this skill to size an Android test suite using Google's small / medium / big scope vocabulary and the qualitative pyramid.
Understanding The Testing Pyramid fits situations like: size an Android test suite using Googles small / medium / big scope vocabulary and the qualitative pyramid; the user asks how many unit vs UI tests should I write; whats the testing pyramid; all my tests are instrumented and CI is slow.
Run `npx skills add skydoves/android-testing-skills --skill understanding-the-testing-pyramid -a claude-code`. Or copy the skill folder (fundamentals/concepts/understanding-the-testing-pyramid in skydoves/android-testing-skills) into .claude/skills/understanding-the-testing-pyramid in your project. Claude Code loads it when a task matches its description.
Run `npx skills add skydoves/android-testing-skills --skill understanding-the-testing-pyramid -a codex`. Or copy the skill folder (fundamentals/concepts/understanding-the-testing-pyramid in skydoves/android-testing-skills) into .agents/skills/understanding-the-testing-pyramid in your project. Codex loads it when a task matches its description.
Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add skydoves/android-testing-skills --skill understanding-the-testing-pyramid -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/understanding-the-testing-pyramid, .gemini/skills/understanding-the-testing-pyramid, .github/skills/understanding-the-testing-pyramid and .opencode/skills/understanding-the-testing-pyramid in your project.
SKILL.md names no scripts, command-line tools or credentials: Understanding The Testing Pyramid is instructions for the agent only.
SKILL.md names 1 domain. In commands or code: abseil.io; the agent is likely to contact it when it follows the instructions. This is read from the text; nothing was executed.
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.
Understanding The Testing Pyramid is published under the Apache-2.0 licence (declared in SKILL.md). It allows redistribution, so the full SKILL.md is shown on this page.
About 4.4k tokens (SKILL.md is roughly 17k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.
Skills that share tags, products or a category with Understanding The Testing Pyramid: Senior QA (nicepkg/auto-company, 194 stars), Kane CLI Browser Testing (LambdaTest/kane-cli, 248 stars), QA Manual Istqb (fugazi/test-automation-skills-agents, 247 stars) and QA (dutradotdev/quokka, 108 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
skydoves (a GitHub user) maintains it in skydoves/android-testing-skills, which has 333 GitHub stars. The repository holds 50 skills in this directory. The repository was last updated on May 25, 2026.
Source: skydoves/android-testing-skills on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.