testing
Skill10 starsChanged 20 days agoMITView on GitHub
Test writing protocol with structured coverage analysis
We split this skill into the rules it gives an agent
11 rules. 0 are common, 11 are distinctive, and 0 are very specific to this project.
0
Common
Most of the 171 edited versions we read keep these.
11
Distinctive
This author's own choices. Worth a look.
0
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Distinctive: line 8
Write tests for the specified code following a structured protocol.
- Distinctive: line 20
Table-driven tests: When testing the same function with multiple inputs.
- Distinctive: line 24
Name tests descriptively: Test names should explain the scenario.
- Distinctive: line 30
Use temp directories for filesystem tests.
- Distinctive: line 31
Create minimal fixtures: only what the test needs.
- Distinctive: line 34
Write assertions: Verify behavior clearly.
- Distinctive: line 36
Check both positive cases (correct output) and negative cases (expected errors).
- Distinctive: line 37
Verify side effects (file created, state changed) when relevant.
- Distinctive: line 39
Mock boundaries, not internals: Keep tests focused.
- Distinctive: line 41
Do not mock internal functions or private methods.
- Distinctive: line 42
Use interfaces at boundaries to enable test substitution.
“Common” is measured: kept by at least 6 in 10 of the 171 edited versions of this file we could read. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.
Files
Testing Skill
Write tests for the specified code following a structured protocol. Produce thorough, maintainable tests that cover the important behavior.
Steps
- Identify what to test: Analyze the code to determine test targets.
- Public API functions and methods
- Edge cases: empty inputs, nil/null values, boundary conditions
- Error paths: invalid input, missing dependencies, timeout conditions
- State transitions: before/after side effects
- Choose test structure: Select the appropriate pattern.
- Table-driven tests: When testing the same function with multiple inputs.
- Arrange-Act-Assert (AAA): For single-scenario tests.
- Given-When-Then: For behavior-focused tests.
- Name tests descriptively: Test names should explain the scenario.
- Format:
TestFunctionName_Scenario_ExpectedResult - Example:
TestValidate_EmptyInput_ReturnsError - Failed test names should make the failure obvious without reading the test body.
- Format:
- Set up test fixtures: Prepare the test environment.
- Use temp directories for filesystem tests.
- Create minimal fixtures: only what the test needs.
- Clean up after tests (use deferred cleanup or framework helpers).
- Write assertions: Verify behavior clearly.
- Assert on specific values, not just "no error."
- Check both positive cases (correct output) and negative cases (expected errors).
- Verify side effects (file created, state changed) when relevant.
- Mock boundaries, not internals: Keep tests focused.
- Mock external dependencies: HTTP, databases, filesystems, clocks.
- Do not mock internal functions or private methods.
- Use interfaces at boundaries to enable test substitution.
- Check coverage gaps: Review what is not yet tested.
- Concurrent access (if applicable).
- Large inputs or performance-sensitive paths.
- Integration between components (consider integration tests).
Output Format
Produce test code that:
- Follows the project's existing test conventions.
- Includes a brief comment explaining each test's purpose.
- Groups related tests together.
- Is runnable without modification.
Other versions192 projects use a version of this.
Word for word · 0
None found.
Edited · 0
None found.
Wrote their own version · 192
- modelcontextprotocol/servers★ 92ksame name
- lobehub/lobe-chat★ 84ksame name
- lobehub/lobehub★ 84ksame name
- penpot/penpot★ 62ksame name
- meteor/meteor★ 45ksame name
- iOfficeAI/AionUi★ 34ksame name
- garrytan/gbrain★ 31ksame name
- OpenZeppelin/openzeppelin-contracts★ 27ksame name
- tursodatabase/turso★ 25ksame name
- redis/go-redis★ 22ksame name
182 more not listed
How matches are found. Word for word: the exact same text. Edited: shares passages with this file (“99% same” means 99% of its five-word phrases also appear here; 10% or more counts). Their own version: similar meaning, or, weakest, the same name. We can’t tell which project had it first. Projects are counted among the 200 most-starred candidates, and mentions are links to the repository we found, up to 50 per site, so both counts are a floor.
Used alongsideProjects with it also use bundle-dependency-prs, update-library-template and 8 more.
Other files people use alongside this one.
Files found in the same public projects as a version of this one, more often than they turn up anywhere else. Each project counts once, large collections count for less, and this file's own repository is left out.
MicrosoftSkillbundle-dependency-prs
Fix broken dependency update PRs and aggregate the ones that work into one PR.
Also in 6 projects that use this
MicrosoftSkillupdate-library-template
Merges the latest Library.Template into this repo (at position of HEAD) and resolves conflicts.
Also in 6 projects that use this
zetaloopSkillassign-copilot
Assigns a GitHub issue to the Copilot coding agent, optionally specifying a custom agent. Use this when asked to assign an issue to Copilot or delegate an issue to CCA.
Also in 3 projects that use this
timmo001Skillchangeset-scope
Keep all scoped code work contained to the user-defined changeset. Use for implementation, fixes, diagnosis, refactoring, cleanup, and review when explicit instructions, named files, diffs, branches, pull requests, or injected work scopes define the boundary.
Also in 3 projects that use this
JetBrainsSkillmodule-dependencies
Add or modify IntelliJ module dependencies in `.iml` files.
Also in 3 projects that use this
CES-LtdSkilloss-pr
Use when creating a pull request, after committing changes, or when user invokes /oss-pr. Covers branch management, quality checks, commit, push, and PR creation.
Also in 3 projects that use this
In this repository28 other files it gives its agents.
- AGENTS.mdAGENTS.md
- CLAUDE.mdCLAUDE.md
- .github/copilot-instructions.mdCopilot instructions
- code-reviewSkill
- context-disciplineSkill
- find-skillsSkill
- pr-descriptionSkill
- sdd-applySkill
- sdd-designSkill
- sdd-exploreSkill
- sdd-proposeSkill
- sdd-specSkill
- sdd-tasksSkill
- sdd-verifySkill
- squadai-init-playbookSkill
- code-reviewSkill
- context-disciplineSkill
- find-skillsSkill
- pr-descriptionSkill
- sdd-applySkill
- sdd-designSkill
- sdd-exploreSkill
- sdd-proposeSkill
- sdd-specSkill
- sdd-tasksSkill
- sdd-verifySkill
- squadai-init-playbookSkill
- testingSkill
Does it work?
Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.
No reviews yet
People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.
- It worked
- Partly
- It didn't
Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.
Your trail
Files you open will collect here, so you can find them again.
Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.
Now do this for your own.
Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.

