agentleFS
jovd83jovd83/junit5-skill/extensions/SKILL.md

junit5-extensions

Skill0 starsChanged 35 days agoMITView on GitHub

Use when the agent needs to create, review, or debug JUnit 5 extensions, custom annotations, lifecycle callbacks, parameter resolvers, or reusable execution hooks.

We split this skill into the rules it gives an agent

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

  • ≈0

    Common · estimate

    Many files like this have a rule of this kind.

  • ≈12

    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 helpers, builders, or local fixtures first.

    line 21
  2. Distinctive:

    Create an extension only when the behavior is cross-cutting and repeated.

    line 22
  3. Distinctive:

    Read references/extension-patterns.md before adding a new extension.

    line 23
  4. Distinctive:

    Read references/lifecycle-and-state.md before storing state or coordinating multiple callbacks.

    line 24
  5. Distinctive:

    Keep state explicit and scoped safely.

    line 29
  6. Distinctive:

    Keep extension behavior testable and unsurprising.

    line 30
  7. Distinctive:

    Prefer explicit registration when discoverability matters.

    line 31
  8. Distinctive:

    Keep meta-annotations small and intention-revealing.

    line 32
  9. Distinctive:

    Add focused tests for the extension itself.

    line 36
  10. Distinctive:

    Verify lifecycle ordering and failure behavior.

    line 37
  11. Distinctive:

    Avoid hidden global behavior that changes unrelated tests.

    line 38
  12. Distinctive:

    Read references/extension-testing.md when the extension has multiple callbacks or parameter rules.

    line 39

≈ “Common” is an estimate: at least 1 in 5 of the 308,232 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

JUnit 5 Extensions

1. Confirm That an Extension Is Warranted

  1. Use helpers, builders, or local fixtures first.
  2. Create an extension only when the behavior is cross-cutting and repeated.
  3. Read references/extension-patterns.md before adding a new extension.
  4. Read references/lifecycle-and-state.md before storing state or coordinating multiple callbacks.

2. Implement Deliberately

  1. Choose the smallest relevant callback or resolver interface.
  2. Keep state explicit and scoped safely.
  3. Keep extension behavior testable and unsurprising.
  4. Prefer explicit registration when discoverability matters.
  5. Keep meta-annotations small and intention-revealing.

3. Validate

  1. Add focused tests for the extension itself.
  2. Verify lifecycle ordering and failure behavior.
  3. Avoid hidden global behavior that changes unrelated tests.
  4. Read references/extension-testing.md when the extension has multiple callbacks or parameter rules.

4. Troubleshooting

  1. Problem: The extension hides too much setup. Fix: Move local test setup back into the test class and keep only the true cross-cutting concern in the extension.
  2. Problem: Parameter resolution is ambiguous. Fix: Narrow the supported parameter types or add clearer registration boundaries.
  3. Problem: The extension works only when tests run in a certain order. Fix: Remove hidden shared state and verify callback scope explicitly.

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.

Reviews can't be read right now.

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.