brainstorming
brainstorming
You MUST use this before any creative work - creating features, building components, adding functionality, modifying behavior, or planning anything new, in software or out of it (a talk, a business, a renovation).
development-and-testingGuides safe openpilot checkout setup, uv/SCons builds, native-extension prep, linting, tests, docs, and development validation.
Independent GitHub snapshot · Automated classification · Original documentation governs
Use this sub-skill for openpilot setup, dependency sync, submodules, SCons/native build products, targeted tests, linting, docs builds, and CI-style validation. Use it before running broad test suites or when imports fail because the checkout is not fully prepared.
tools/test_runner.py, lint choices, docs builds, and native test selection.| User asks | Do |
|---|---|
| "Set up openpilot" or "imports fail after install" | Inspect Python version, submodules, uv sync state, and SCons outputs with the checker, then follow setup/build guidance. |
| "Run tests for a change" | Choose focused targets from testing-reference.md; avoid hardware/network/GUI tests unless prerequisites are available. |
| "Run lint/CI locally" | Use the lint and test runner sections; explain --fast, target narrowing, and tool dependency failures. |
| "Build docs" | Use docs build notes in setup-build-test; do not start a long-running docs server unless requested. |
| "Switch branch/update/start device" | Treat as state-mutating; require explicit user intent and read troubleshooting warnings first. |
python skills/disco/openpilot/sub-skills/development-and-testing/scripts/openpilot_dev_check.py --repo-root /path/to/openpilot
msgq.ipc_pyx or libparams_c.so imports fail, build only the needed SCons targets before launching broad tests.LogReader, route IDs, qlogs/rlogs, or cache errors, switch to route-log-analysis.