.claude/skills/tdd/SKILL.md
Test Driven Development discipline for this workspace. Use whenever writing new features, fixing bugs, or refactoring — the test must be written and confirmed failing before any implementation code is added.
npx skillsauth add cedricziel/assistant tddInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
Always start with a failing test. No implementation code may be written until a test that exercises the desired behaviour exists and is confirmed to fail for the right reason.
Repeat the cycle for each new behaviour.
make test (or the narrower cargo test -p <crate> <test_name>) and verify the new test fails before writing implementation.#[cfg(test)] mod tests { ... } at the bottom of the file under test.#[tokio::test] for async tests.StorageLayer::new_in_memory() for test databases — no disk I/O, fully migrated.wiremock for HTTP mocking (provider API responses).crates/integration-tests/ and require a running environment;
run with make test-integration.ToolHandler::run().When picking up a task:
#[cfg(test)] mod tests block.cargo test -p <crate> <test_name> -- --nocapture and confirm it is red.make test to ensure no regressions.tools
Enforces OpenAPI spec discipline when working on REST API endpoints in this project. Triggers whenever adding, modifying, or removing HTTP routes, request/response types, or API handlers in the Rust web-ui crate (`crates/web-ui`). Reminds the agent to (1) update the committed `openapi.json` spec, (2) run `make dump-openapi` to re-export the spec from the running server, and (3) run `make generate-flutter-client` to regenerate the Dart/dio client in `app/packages/assistant_api/`. Also applies when changing route parameters, status codes, or authentication on existing endpoints.
tools
Browser automation via @playwright/mcp (Microsoft). Use this when the user wants to navigate websites, fill forms, take screenshots, scrape web content, test web apps, or run any multi-step browser workflow. Requires no display (headless mode supported).
testing
A minimal example WASM skill that returns a greeting. Use to verify that the WASM execution tier is working correctly.
development
Run coding agents (Claude Code, Codex, OpenCode, or others) as background processes for programmatic control. Use when you need non-blocking execution, parallel agents, PR reviews, or long-running coding tasks. Prefer this over direct bash for any task that takes more than ~20 seconds.