com um clique
new-module
Scaffold a new hardware-isolated module with tests and wiring
Instalar com Codex ou Claude Copie este prompt, cole no Codex, Claude ou outro assistente e deixe que ele revise a página da skill e instale para você.
Menu
Scaffold a new hardware-isolated module with tests and wiring
Instalar com Codex ou Claude Copie este prompt, cole no Codex, Claude ou outro assistente e deixe que ele revise a página da skill e instale para você.
Baseado na classificação ocupacional SOC
Reference for deploying to the Raspberry Pi
Review code changes against the HelmLog-specific data licensing policy (docs/data-licensing.md) — embargoes, protest firewall, biometrics consent, gambling exclusion, fleet-benchmark thresholds, coach access expiry. The model recovers general PII / cross-tenant / audit-logging concerns by default; this skill encodes only the HelmLog-specific items that are not recoverable from general engineering judgment. TRIGGER when modifying code that handles user data, PII, co-op/federation data sharing, export endpoints, deletion/anonymization, or audit logging. Key files — storage.py, export.py, peer_api.py, peer_client.py, federation.py, transcribe.py, audio.py, web.py (data endpoints). DO NOT trigger for UI-only changes, instrument decoding, polar analysis, config, docs, or CSS/JS/templates.
Run pre-PR verification checks before creating a pull request. TRIGGER when implementation is complete and the user is ready to create or push a PR — e.g., "create a PR", "ready for review", "push this up", or running /pr-checklist. DO NOT trigger mid-implementation, during TDD cycles, when exploring code, or when the user is still writing features.
HelmLog-specific test patterns and the pre-existing-error allowlist for ruff/mypy. The Red-Green-Refactor cycle and lint commands are already mandated in CLAUDE.md — this skill encodes only the patterns and known-pre-existing-errors list that aren't recoverable from existing tests at a glance. TRIGGER when writing or modifying Python source code in src/helmlog/. DO NOT trigger for documentation, config, templates, CSS/JS, skill definitions, or changes that don't affect runtime behavior.
Run a focused per-race debrief and attach the summary as a moment on the session. TRIGGER when the user says "debrief race N", "debrief that race", "/debrief", "post-race analysis", or asks for analysis of a single specific race. DO NOT trigger for season-wide reviews (that's a manual run of scripts/analysis/full_analysis.py), broad questions about boat performance, or non-race sessions.
Detect OCS (over-the-line at gun, returned to clear) races against the live DB and apply the 'ocs' tag to any newly identified ones. TRIGGER when the user asks "check for OCS", "did we OCS", "tag OCS races", "/ocs-check", or after a race day to find any starts that should be marked OCS. Auto-trigger when running /debrief on a race that hasn't been OCS-checked yet.
| name | new-module |
| description | Scaffold a new hardware-isolated module with tests and wiring |
| disable-model-invocation | true |
$ARGUMENTSFollow this checklist to create a new hardware-isolated module. Use TDD (/tdd)
for each step that involves code.
Before any file edits, make sure the session is in a git worktree. Check
git worktree list — reuse an existing one via EnterWorktree(path=...) if
it matches this task, otherwise create a new one via EnterWorktree(name=...).
Scaffolding touches tests/, src/logger/, main.py, and often web.py and
storage.py — exactly the kind of multi-file change that collides with other
agents sharing the repo. See CLAUDE.md for the full rule.
Create tests/test_$ARGUMENTS.py with tests for the module's public API.
Use the storage fixture from conftest.py and mock any external I/O.
Create src/logger/$ARGUMENTS.py:
loguru for logging (never print())If the module needs database tables:
_CURRENT_VERSION in storage.py_MIGRATIONS dictstorage fixtureIf the module needs API endpoints or admin UI:
web.py following existing patternsrequire_auth("admin")_nav_html()test_web.pymain.py (hardware isolation principle)_web_loop() / create_app() if neededIf the module requires new packages:
uv add <package> (never edit pyproject.toml manually for deps)uv sync and verify the import worksuv pip install — it bypasses the lockfile and won't persist.env.example with commentsCLAUDE.md project structure tree/pr-checklist