Agent skill

Testing

by boadij in boadij/pi-herdsman

Write and review tests that protect meaningful Herdsman behavior without creating redundant, brittle, or low-value coverage.

Apache-2.0Auto-check passedAgent Workflows

Install Testing

skills CLI
$ npx skills add boadij/pi-herdsman --skill testing -a claude-code

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

GitHub CLI
$ gh skill install boadij/pi-herdsman 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/boadij/pi-herdsman.git skills-src && mkdir -p .claude/skills && cp -r skills-src/.agents/skills/testing .claude/skills/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
testing
GitHub stars
131
Token cost
~863 tokens
SKILL.md length
454 words
Files
1
Skills in repo
4
Repo updated
First seen
Licence
Apache-2.0

At a glance

Write and review tests that protect meaningful Herdsman behavior without creating redundant, brittle, or low-value coverage.

  • Tasks that involve Subagents
  • SKILL.md covers Before adding a test, Choose the smallest honest layer, Make every test discriminate and Failure and lifecycle behavior, plus 1 more section
  • Instructions only: no scripts, shell commands, URLs or credentials in SKILL.md

What it does

Testing is an agent skill from boadij/pi-herdsman. Write and review tests that protect meaningful Herdsman behavior without creating redundant, brittle, or low-value coverage. Use whenever adding, changing, reviewing, or removing tests.

Its SKILL.md is about 860 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 Agent Workflows, covering Subagents. The repository describes itself as: Asynchronous Pi subagents and agent fleet orchestration for parallel coding agents with nested delegation, background work, and supervision in herdr. The licence is Apache-2.0.

When your agent uses it

  • Tasks that involve Subagents

Example prompts

  • “/testing”

Requirements

  • Node.js

What it can do on your machine

Read from SKILL.md and the folder at commit 3603d9f. 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

Testing loads about 863 tokens when it runs. Until then it costs about 48 tokens; SKILL.md has 454 words of instructions outside code blocks.

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

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 boadij/pi-herdsman at commit 3603d9f, republished under its Apache-2.0 licence (© boadij). 454 words, ~863 tokens.

Download SKILL.mdSave it as .claude/skills/testing/SKILL.md (or your agent's skills folder).
name
testing
description
Write and review tests that protect meaningful Herdsman behavior without creating redundant, brittle, or low-value coverage. Use whenever adding, changing, reviewing, or removing tests.

Testing

Tests exist to catch plausible defects, not to increase test count or coverage.

Before adding a test

Read the changed behavior and nearby tests first.

Add a test only when it protects at least one of:

  • observable behavior or an authoritative internal invariant;
  • a regression that could plausibly recur;
  • a meaningful boundary or state transition;
  • a realistic failure, recovery, concurrency, or cleanup path;
  • wiring across layers that cannot be established at a lower layer.

If an existing test already proves the behavior, do not add another one.

Do not test:

  • trivial getters, assignments, forwarding, or wiring with no independent behavior;
  • Node.js, TypeScript, Pi, Herdr, or another dependency's own behavior;
  • implementation details when the same contract can be tested directly;
  • states already made impossible structurally unless testing the enforcing boundary;
  • the same invariant again at every layer;
  • mocks rather than the behavior they stand in for.

Choose the smallest honest layer

Test behavior at its lowest authoritative layer.

Integration tests prove wiring and layer crossings. They do not repeat complete lower-layer behavior matrices.

Use live smoke only when behavior crosses the real Pi/Herdr runtime boundary.

Prefer real local objects, temporary directories, files, and processes. Mock only the boundary that must be controlled to reach otherwise inaccessible behavior or failure.

Use the repository's existing Node test stack. Add no testing dependency unless the existing platform cannot economically establish the required property.

Make every test discriminate

For a bug fix, the regression test must fail for the defective behavior and pass for the correction.

For new behavior, ask what plausible wrong implementation the test would reject.

If no plausible defect makes the test fail, delete the test.

Expected values must be independent of the production calculation being tested.

Prefer exact behavioral assertions over existence, truthiness, call counts, or snapshots unless those are themselves the contract.

Table-drive variants of one invariant instead of copying tests.

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

Failure and lifecycle behavior

Invalid input is not sufficient failure coverage when the meaningful risk is a dependency or lifecycle failure.

When relevant, exercise the actual failure boundary: I/O failure, stale state, interrupted process, failed persistence, timeout, cleanup, recovery, ownership, or state transition.

Test only behavior the contract actually promises. Do not invent retries, fallbacks, errors, or recovery semantics merely to test them.

Avoid sleeps as synchronization. Wait on observable conditions or use deterministic native test facilities where practical.

Keep the suite smaller

A new test should increase confidence more than maintenance cost.

Delete tests made redundant by stronger tests or structural enforcement.

Do not introduce factories, builders, custom matchers, fixtures, helpers, property testing, fuzzing, mutation tooling, or another framework until repeated concrete need makes the simpler alternative worse.

Follow the repository's existing focused-test and validation contract instead of duplicating it here.

© boadij, 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/testing of boadij/pi-herdsman.

Open the folder on GitHubat commit 3603d9f

Compare with similar skills

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.

Testing compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Testing this skillboadij/pi-herdsman131—~863Automated safety check: PassApache-2.0
Claude Code Agent Developmentanthropics/claude-plugins-official38k8 repos~2.8kAutomated safety check: PassApache-2.0
Subagent Driven DevelopmentAsvarox/allkaraoke26138 repos~1.2kAutomated safety check: PassNone
Dispatching Parallel Agentsultralisp/ultralisp25841 repos~1.5kAutomated safety check: PassNone
Paseo Advisor Second Opiniongetpaseo/paseo20k1 repos~756Automated safety check: PassCustom licence
Task Observerrebelytics/one-skill-to-rule-them-all3.2k1 repos~12kAutomated safety check: PassCC-BY-4.0

Similar skills

  • Claude Code Agent Development

    anthropics/claude-plugins-official

    Official

    Explains how to write agents for Claude Code plugins: the markdown file with YAML frontmatter, trigger descriptions, model and color settings, and system prompt design.

    38k GitHub starsUsed in 8 repos~2.8k tokens
    Agent WorkflowsAuto-check passed
  • Subagent Driven Development

    Asvarox/allkaraoke

    A skill your agent uses when executing implementation plans with independent tasks in the current session

    261 GitHub starsUsed in 38 repos~1.2k tokens
    Agent WorkflowsAuto-check passed
  • Dispatching Parallel Agents

    ultralisp/ultralisp

    A skill your agent uses when facing 2+ independent tasks that can be worked on without shared state or sequential dependencies

    258 GitHub starsUsed in 41 repos~1.5k tokens
    Agent WorkflowsAuto-check passed
  • Launches one separate agent through Paseo to give a second opinion on the current task, with a self-contained briefing and no permission to edit files.

    20k GitHub starsUsed in 1 repo~756 tokens
    Agent WorkflowsAuto-check passed
  • Task Observer

    rebelytics/one-skill-to-rule-them-all

    Monitors task execution for skill improvement opportunities.

    3.2k GitHub starsUsed in 1 repo~12k tokens
    Agent WorkflowsAuto-check passed
  • O2 Review Loop

    openobserve/openobserve

    Splits a change into planner, coder and independent reviewer roles: you confirm a spec, a subagent implements it, and a separate reviewer checks each round's local WIP commit.

    22k GitHub stars~3.7k tokensUpdated today
    Agent WorkflowsAuto-check passed

More from boadij/pi-herdsman

  • Agentic System Audit

    boadij/pi-herdsman

    Audit an agentic software system end to end for contradictions, gaps, inconsistent contracts, capability mismatches, instruction conflicts, ambiguous results, stale documentation, unsafe lifecycle…

    131 GitHub stars~5.8k tokensUpdated today
    Auto-check passed
  • Agent Definitions

    boadij/pi-herdsman

    Manage Pi Herdsman Agent definitions and managed Lead configuration.

    131 GitHub stars~800 tokensUpdated today
    Auto-check passed
  • Agents

    boadij/pi-herdsman

    Optional reinforcement and strategy for orchestrating managed agents.

    131 GitHub stars~6.9k tokensUpdated today
    Auto-check passed

Categories

Questions about Testing

What does Testing do?

Write and review tests that protect meaningful Herdsman behavior without creating redundant, brittle, or low-value coverage. Testing is an agent skill from boadij/pi-herdsman. Write and review tests that protect meaningful Herdsman behavior without creating redundant, brittle, or low-value coverage.

When should I use Testing?

Testing fits situations like: tasks that involve Subagents.

How do I install Testing in Claude Code?

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

How do I install Testing in Codex?

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

Can I use 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 boadij/pi-herdsman --skill 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/testing, .gemini/skills/testing, .github/skills/testing and .opencode/skills/testing in your project.

What does Testing need to run?

SKILL.md names no scripts, command-line tools or credentials: Testing is instructions for the agent only. Our summary lists: Node.js.

Does 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 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 Testing use?

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 Testing use?

About 863 tokens (SKILL.md is roughly 3.5k 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 Testing?

Skills that share tags, products or a category with Testing: Claude Code Agent Development (anthropics/claude-plugins-official, 38k stars), Subagent Driven Development (Asvarox/allkaraoke, 261 stars), Dispatching Parallel Agents (ultralisp/ultralisp, 258 stars) and Paseo Advisor Second Opinion (getpaseo/paseo, 20k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Testing?

boadij (a GitHub user) maintains it in boadij/pi-herdsman, which has 131 GitHub stars. The repository holds 4 skills in this directory. The repository was last updated on October 7, 2026.

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