Purpose
This skill is the default operating procedure for implementing changes in this repository.
It turns a request into an implementable plan with verifiable outcomes:
requirements → design → test design → implementation → verification → final gate.
When to use
Use this skill for any task that changes code and/or tests. It is mandatory.
How to use
- •
Open
references/dev-workflow.mdand follow it step-by-step. - •
Write the Change Brief and the Requirements (EARS “shall” + acceptance criteria).
1.5) If runtime behavior changes, add an Observability Plan (logs/metrics/traces) and invoke $observability when unsure.
1.75) If the change is structural (new modules, boundary changes, refactors across layers), invoke $code-smells-and-antipatterns.
- •Create a Test List (3–10). Decide whether to proceed with TDD.
- •If doing TDD, explicitly invoke
$test-driven-development.
- •If doing TDD, explicitly invoke
2.5) Concurrency & Performance check (mandatory):
- •If concurrency/parallelism is introduced or changed: invoke
$concurrency-coreand$thread-safety-tooling. - •If ROS2 code is affected: also invoke
$concurrency-ros2. - •If Android code is affected: also invoke
$concurrency-android. - •If runtime behavior changes: invoke
$observability. - •If performance targets are part of the goal: invoke
$nfr-iso25010.
- •
Legacy check (mandatory): if tests are missing or behavior is nondeterministic, explicitly invoke
$working-with-legacy-codebefore refactoring. - •
C++ header gate (mandatory): if
.hpp/.his in scope, explicitly invoke$code-readabilityand apply the mandatory Doxygen rules. - •
Implementation:
- •For readability: invoke
$code-readabilitywhen you need concrete guidance. - •For modularity / coupling / boundaries: invoke
$modularity. - •For Clean Architecture boundaries: invoke
$architecture-boundaries. - •For error paths: invoke
$error-handling. - •For NFRs: invoke
$nfr-iso25010when relevant. - •If requirements docs must be updated: invoke
$requirements-documentation.
- •For readability: invoke
- •
Verification: run the repo’s canonical commands for build / format / static analysis / tests until green.
- •
Before submitting, explicitly invoke
$quality-gateand keep fixing until it reports 0 findings.
Output expectation
- •Your final output must follow AGENTS.md “Required final output”.
- •Any skipped checks must include a reason and a reproducible procedure.