agentleFS
neoforge-devneoforge-dev/forge/.claude/skills/auto-test-runner/SKILL.md

auto-test-runner

Skill0 starsChanged 7 months agoMITView on GitHub

Automatically run relevant tests after code changes (model-invoked)

The file

We split this skill into the rules it gives an agent

5 rules. About 0 are common, 3 are distinctive, and 2 are very specific to this project.

  • ≈0

    Common · estimate

    Many files like this have a rule of this kind.

  • ≈3

    Distinctive · estimate

    This author's own choices. Worth a look.

  • 2

    Very specific

    Tied to their project's names, files or tools. Probably skip.

  • Common
  • Distinctive
  • Very specific
  1. Very specific:

    After editing Python source files in app/ or src/

    line 16
  2. Very specific:

    After editing test files in tests/

    line 17
  3. Distinctive:

    After modifying configuration that affects tests

    line 18
  4. Distinctive:

    Don't run tests for:

    line 87
  5. Distinctive:

    Test timeout: Default 5 minutes, configurable

    line 116

≈ “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

Auto Test Runner

Automatically detects and runs relevant tests after code changes. Helps ensure code quality without manual intervention.

When to Use

Automatic triggers (model-invoked):

  • After editing Python source files in app/ or src/
  • After editing test files in tests/
  • After modifying configuration that affects tests

Manual invocation:

  • /auto-test-runner - Run tests for current changes
  • /auto-test-runner --all - Run full test suite

Behavior

1. Detect Changed Files

# Get recently modified files
git diff --name-only HEAD~1
git status --porcelain

2. Map Files to Tests

Source PatternTest Pattern
app/api/routes/*.pytests/e2e/test_*.py
app/services/*.pytests/unit/test_*.py
app/models/*.pytests/integration/test_*.py
tests/*.pyRun the test file directly

3. Run Tests

Python (pytest):

cd backend && uv run pytest tests/path/to/test.py -v

TypeScript (vitest):

cd frontend && npm run test -- --filter=TestFile

4. Report Results

On Success:

✅ Tests passed: 5/5
   - test_session_creation.py: 4 passed
   - test_billing.py: 1 passed

On Failure:

❌ Tests failed: 2/5
   - test_share_links.py:45: AssertionError: Expected 200, got 403
   - test_billing.py:78: KeyError: 'user_id'

Suggested fixes:
1. Check authentication in share endpoint
2. Verify billing payload includes user_id

Configuration

Test Commands by Project

ProjectCommand
voice-coachcd app/backend && uv run pytest
interview-simulatorcd backend && uv run pytest
tech-debt-analyzercd backend && uv run pytest

Skip Patterns

Don't run tests for:

  • Documentation changes (*.md)
  • Config changes (*.json, *.yaml) unless test config
  • Static assets (*.css, *.png)

Example Output

🧪 Auto Test Runner

Changed files detected:
  - app/api/routes/billing.py (modified)
  - tests/e2e/test_billing_e2e.py (modified)

Running relevant tests...

$ uv run pytest tests/e2e/test_billing_e2e.py -v

======================== test session starts =========================
tests/e2e/test_billing_e2e.py::TestWebhookSecurity::test_webhook_requires_signature PASSED
tests/e2e/test_billing_e2e.py::TestWebhookSecurity::test_webhook_invalid_signature PASSED
tests/e2e/test_billing_e2e.py::TestWebhookSecurity::test_webhook_rate_limit PASSED
========================= 3 passed in 0.45s ==========================

✅ All tests passed!

Error Handling

  • Test timeout: Default 5 minutes, configurable
  • Missing dependencies: Suggest uv sync or npm install
  • Database not running: Suggest docker-compose up -d

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.