agentleFS
tuana-vntuana-vn/system-reverse-engineer/.github/skills/regression-test-design/SKILL.md

regression-test-design

Skill0 starsChanged 2 months agoMITView on GitHub

Generate a focused evidence-based regression test matrix from verified requirements, runtime behavior, patches, impact reviews, or proposed designs. Isolate requirement scope, derive provenance-aware test oracles, and avoid combinatorial explosion.

1 other project uses a version of this.

Adopted by

Most recently taken up by

The file

We split this skill into the rules it gives an agent

8 rules. About 0 are common, 8 are distinctive, and 0 are very specific to this project.

  • ≈0

    Common · estimate

    Many files like this have a rule of this kind.

  • ≈8

    Distinctive · estimate

    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
  1. Distinctive:

    Use the strongest available evidence:

    line 10
  2. Distinctive:

    Do not invent expected behavior.

    line 20
  3. Distinctive:

    When a requirement exists, create:

    line 24
  4. Distinctive:

    do not transfer conditions between endpoints/surfaces

    line 32
  5. Distinctive:

    Do not demand an explicit output-layer condition when upstream flow already guarantees the result.

    line 73
  6. Distinctive:

    If the oracle cannot be proven, use:

    line 75
  7. Distinctive:

    Avoid blindly multiplying every dimension.

    line 93
  8. Distinctive:

    Use equivalence classes, boundaries, decision tables, and pairwise/risk-based combinations.

    line 95

≈ “Common” is an estimate: at least 1 in 5 of the 350,495 skill files we read have a rule of the same kind, not the same words. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.

Keep what fits and drop the rest. Your version, ready for your agents.
Files
SKILL.md

Regression Test Design — 4.0

Evidence Order

Use the strongest available evidence:

  1. explicit requirement/specification
  2. current source
  3. promoted verified baseline
  4. verified patch-impact/compliance report
  5. proposed design
  6. patch/diff as candidate behavior
  7. existing tests as evidence, not unquestioned truth

Do not invent expected behavior.

1. Canonical Scope

When a requirement exists, create:

RuleSurface / OperationApplies?ConditionExpected Observable Behavior

Rules:

  • evaluate each row independently
  • do not transfer conditions between endpoints/surfaces
  • preserve exclusions/non-applicable operations
  • unresolved scope remains SCOPE_UNRESOLVED

2. Derive Tests From

  • business rules
  • branch conditions
  • routing decisions
  • target/model/mode combinations
  • integrations
  • success/failure
  • timeout/retry/fallback
  • compatibility paths
  • input/parameter semantics
  • field/data provenance
  • audit/observability where behaviorally relevant

For input-driven behavior, distinguish:

  • valid supported input
  • unsupported input name
  • wrong-case input name
  • invalid supported value
  • invalid supported-input combination
  • omitted/null/empty/default

3. Provenance-Aware Test Oracle

For tests involving changed output/data/state, prove:

requirement / verified rule
→ trigger/input condition
→ expected downstream/source data availability
→ expected transform/mapping/state
→ expected serialization/output
→ observable result

Conditional output may be achieved indirectly by conditional retrieval. Do not demand an explicit output-layer condition when upstream flow already guarantees the result.

If the oracle cannot be proven, use:

EXPECTED_BEHAVIOR_UNRESOLVED

and identify the missing evidence.

4. Prioritize

Prefer:

  1. changed externally observable rules
  2. changed branches
  3. high-risk shared paths
  4. boundary conditions
  5. failure translation
  6. preserved behavior outside change scope
  7. performance-sensitive unchanged paths when the patch changes retrieval/call cost

Avoid blindly multiplying every dimension.

Use equivalence classes, boundaries, decision tables, and pairwise/risk-based combinations.

5. Test Matrix

Test IDLevelRule / Flow / RiskSurface / OperationPreconditionsInputExpected Route / Downstream InteractionExpected Data Provenance / StateExpected Observable ResultRegression PurposeEvidencePriority

Levels:

  • UNIT
  • COMPONENT
  • API_CONTRACT
  • INTEGRATION
  • END_TO_END
  • REGRESSION

An externally visible change must not be covered only by unit tests.

Group scenarios as applicable:

  • Positive
  • Negative
  • Compatibility
  • Integration
  • Data/State
  • Regression
  • Concurrency only if the changed path involves it

6. Coverage Gate

Before completion:

[ ] requirement/scope isolation completed when applicable
[ ] expected results have evidence-backed oracles
[ ] changed output/data has provenance-aware expectations
[ ] unchanged behavior outside change scope has regression coverage
[ ] unsupported/wrong-case/invalid-value/invalid-combination inputs are not conflated
[ ] externally visible rules have contract/integration-level coverage where feasible
[ ] high-risk changed branches map to concrete tests
[ ] unresolved oracles are explicitly marked, not guessed

Output

docs/reverse-engineering/tests/<scope>-test-matrix.md

Download now (ZIP)

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
What did you use it for? e.g. Reviewing pull requests in a Rails app

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.