| name | source-command-implement |
| description | Implement a requested change using the repository's modern C++ agent loop. |
source-command-implement
Use this skill when the user asks to run the migrated source command implement.
Command Template
Implement
Use this command when implementing a feature, bug fix, or refactor.
Required Process
- Read
AGENTS.md.
- When this request creates a new product or project, apply
INI-001 through
INI-004 and read docs/agent/START_PROJECT.md. If the project name is
missing, ask for it and stop before writing code or choosing identifiers.
- Classify the product surface. For an unspecified user-facing interactive
application, apply
GUI-015, read the Qt Quick guides, and use Qt Quick as
the primary interface rather than silently selecting CLI-only.
- Use the task-routing table and read every selected guide completely.
Generated Qt Quick/C++ projects must read and start from
docs/agent/PROJECT_CMAKE_BASELINE.md.
- Understand the smallest subsystem that owns the requested behavior.
- Inspect existing module boundaries, tests, working tree, and current diff.
- Make the smallest correct change.
- Preserve
.cppm declaration and .cpp implementation separation.
- Preserve project modules. Put required standard headers in each module
unit's global module fragment. Do not add experimental standard-library
module setup.
- Use C++20+ features appropriately, choose return syntax for readability,
and prefer
std::print or std::println for ordinary formatted output.
- Keep CMake on the deterministic standard-header path: register
.cppm
files with FILE_SET CXX_MODULES and enable target module scanning.
- In a clean final-verification tree, enable every requested default product
surface and build the full default target. A core-only target cannot verify
an unbuilt GUI.
- Run all tests with zero discovered tests treated as an error, plus the
applicable product startup or interaction smoke checks.
- For Qt Quick work, use one explicit Controls style across application and
tests, run strict QML lint with zero project warnings, and make runtime QML
warnings fail the interaction smoke. Exercise primary-path lazy controls;
a fixed-delay launch is insufficient.
For generated projects, verify deterministic QML resource aliases and
distinct QML/runtime output roots; preserve identical approved target and
URI names and record the final linked target plus
qmldir/.qmltypes paths.
- Fix failures and repeat the complete verification loop.
- Inspect the final diff and run
git diff --check.
- Report a target-by-target verification matrix. Do not label an archive
final while a requested primary surface is
NOT VERIFIED.
Rules
Do not create .h files.
Do not use classic header/source architecture for new code.
Do not claim success without running build and tests.
For policy or documentation changes, the knowledge_contract test is required.