| name | feat-add |
| description | Use when exactly one dataq Rust CLI feature—such as a subcommand, option/output contract, or validation/normalization/diff behavior—must be implemented with tests and docs in an isolated branch and worktree. Do not use for multiple features, review-only work, or tiny typo/docs-only edits. |
Feature Addition (Rust CLI)
Deliver exactly one dataq feature from an agreed behavior delta through implementation, tests, documentation, review, and merge readiness. Run this skill explicitly as a sub-agent workflow; one feature owns one branch, one worktree, and one PR.
Do Not Use For
- Multiple independent features or a plan whose items can ship separately. Create one
$feat-add lane per feature instead.
- Review-only work after implementation. Use
$rev-pass in a read-only review sub-agent.
- Tiny typo or docs-only corrections that do not change a command contract or executable behavior. Edit those normally.
- Repository initialization, release preparation, or unrelated refactors.
An intended prompt is: Use $feat-add as a sub-agent to add --strict mode to assert and update tests and docs. A neighboring prompt that must not select this skill is: Use $rev-pass to review the current branch without changing it.
Preconditions
The parent agent must satisfy and record all of these before implementation:
- Write one short feature spec covering input, output, exit-code behavior, determinism requirements, and any external-tool stages.
- Name the integration branch. Fetch its remote/tracking ref when one exists, resolve the integration HEAD at feature start, and record that exact commit as the base SHA.
- Create one feature branch at that exact base SHA, check it out in its own worktree, and reserve that worktree for one implementation worker.
- In the new worktree, verify the initial feature
HEAD equals the recorded base SHA exactly. Also confirm the feature branch is neither nor the integration branch and that its status is clean.