yanagiorigami/slime-ttt/add-tests-and-ci

Trust tier 3
  • community
Source check pending

Checking that the SKILL.md file is still in the repository.

Guide for adding or updating slime tests and CI wiring. Use when tasks require new test cases, CI registration, test matrix updates, or workflow template changes.

Install

npx vskill@latest install yanagiorigami/slime-ttt/add-tests-and-ci

SKILL.md

Add Tests and CI

Add reliable tests and integrate them with slime CI flow.

When to Use

Use this skill when:

  • User asks to add tests for new behavior
  • User asks to fix or update existing tests in tests/
  • User asks to update CI workflow behavior
  • User asks how to run targeted checks before PR

Step-by-Step Guide

Step 1: Pick the Right Test Pattern
  • Follow existing naming: tests/test_<feature>.py
  • Start from nearest existing test file for your model/path
  • Keep test scope small and behavior-focused
Step 2: Keep CI Compatibility
  • CI executes registered test files with python tests/<file>.py, not only pytest discovery. New CPU pytest files should include:
python
import pytest
NUM_GPUS = 0
if __name__ == "__main__":
raise SystemExit(pytest.main([__file__]))
  • run-ci-changed extracts a top-level NUM_GPUS = <N> constant from added/modified tests/test_*.py and tests/plugin_contracts/test_*.py; if missing, it defaults to 8 GPUs. Set NUM_GPUS = 0 for CPU-only tests.
  • For GPU/e2e tests, follow the nearby file pattern (prepare(), execute(), NUM_GPUS, and any model/dataset constants).
Step 3: Register Tests in GitHub CI

Whenever adding, moving, or renaming a test file, update the GitHub workflow template before finishing:

  1. Add the test to the appropriate matrix in .github/workflows/pr-test.yml.j2.
  • CPU-only pytest/unit tests usually belong in cpu-unittest with num_gpus: 0.
  • GPU/e2e tests should be placed beside the nearest similar model/path test with the matching num_gpus and environment fields.
  1. Regenerate workflows:
bash
python .github/workflows/generate_github_workflows.py
  1. Include both .github/workflows/pr-test.yml.j2 and the generated .github/workflows/pr-test.yml in the change set.

Only skip fixed matrix registration when the test is intentionally helper-only or manually invoked; state that reason in the final response.

Step 4: Run Local Validation
  • Run the exact existing test files you changed, if any.
  • For new registered tests, run the same shape CI will use, for example python tests/test_new_file.py.
  • Run repository-wide checks only when they are already part of the task or workflow.
  • Avoid documenting placeholder test commands that may not exist in the current tree.
Step 5: Keep Workflow Template as Source of Truth

For CI workflow changes unrelated to a new, moved, or renamed test:

  1. Edit .github/workflows/pr-test.yml.j2
  2. Regenerate workflows:
bash
python .github/workflows/generate_github_workflows.py
  1. Include both the template and generated workflow file in the change set (.j2 and .yml). If the user asked for a commit, commit both.
Step 6: Provide Verifiable PR Notes

Include:

  • Which tests were added/changed
  • Where each new/renamed test was registered in .github/workflows/pr-test.yml.j2
  • Exact commands executed
  • GPU assumptions for each test path
  • Why this coverage protects against regression

Common Mistakes

  • Editing generated workflow file only
  • Relying on run-ci-changed discovery for a new test that should run in the regular PR matrix
  • Forgetting NUM_GPUS = 0 on a CPU-only changed test, causing run-ci-changed to default to 8 GPUs
  • Adding a CPU pytest file that passes under pytest tests/foo.py but fails under CI's python tests/foo.py
  • Adding tests without following existing constants/conventions
  • Making tests too large or non-deterministic
  • Skipping local validation and relying only on remote CI

Reference Locations

  • Pytest config: pyproject.toml
  • Tests: tests/
  • CI template: .github/workflows/pr-test.yml.j2
  • CI guide: docs/en/developer_guide/ci.md

Security

  • Security scanPassed, 90 of 100Pattern checks on the skill's files.
  • Model reviewPassed

Quality evaluation

  • Task evaluationNot runNo evaluation yet. Run one in Skill Studio.

Source

Popularity

7-day trend score
0

Not refreshed yet.

Works with

Any agent vskill installs to: 56 targets in all. These 39 have a page on this site.

  • Claude Code
  • Cursor
  • GitHub Copilot
  • Windsurf
  • Codex
  • Gemini CLI
  • Cline
  • Amp
  • Roo Code
  • Goose
  • Continue
  • Kilo Code
  • Junie
  • Trae
  • OpenHands
  • Qwen Code
  • AI Agent
  • Tabnine Chat
  • Sourcegraph Cody
  • Amazon Q
  • Firebase Genkit
  • Sweep
  • Devin
  • Phind
  • Mentat
  • Claude Desktop
  • Aider
  • GPT Pilot
  • Plandex
  • bolt.new
  • v0
  • Replit Agent
  • Anse
  • TypingMind
  • BetterChatGPT
  • LibreChat
  • Warp AI
  • Pieces
  • Fig AI
Embed badge
vskill VERIFIED badge
[![vskill VERIFIED](https://verified-skill.com/api/v1/skills/yanagiorigami/slime-ttt/add-tests-and-ci/badge)](https://verified-skill.com/skills/yanagiorigami/slime-ttt/add-tests-and-ci)

Something wrong with this skill or its page? Tell us.