| name | engineering-loop |
| description | Drive an authorized repository change through a verified local loop: baseline, reproduce, implement, test, review, and report evidence. Use for end-to-end features or fixes that should continue autonomously until observable acceptance criteria pass; do not use for explanation-only, review-only, or production operations. |
Engineering Loop
Own the change from a verified starting point to a reviewed result. Use one
agent and this skill alone unless a specialist changes a material decision.
Establish the baseline
- Read applicable
AGENTS.md files and repository documentation.
- Record the requested behavior, constraints, and observable done conditions.
- Inspect the branch and working tree; preserve unrelated user-owned changes.
- Identify repository-native validation and run the smallest safe baseline
that separates pre-existing failures from task regressions.
For a long, cross-stack, or high-risk change, use the templates and failure
rules in references/loop-contract.md.
When a defect is intermittent, performance-related, difficult to reproduce, or
resists the first evidence-driven pass, use
references/hard-debugging.md.
Run the loop
- Reproduce the defect, or capture the current behavior for a feature.
- Choose the smallest coherent change and the evidence that will prove it.
- Add a failing regression test first when practical.
- Implement one bounded change and run the narrowest relevant check.
- Classify failures as product, test, environment, or assumption failures;
fix the cause and rerun the affected check.
- Run repository-required broader checks after focused checks pass.
- Inspect the complete diff and perform a fresh findings-first review.
- Fix consequential findings and rerun checks affected by those fixes.
Keep a compact ledger of confirmed facts, changed files, commands, outcomes,
and the next decision. Return concise diagnostics instead of full logs.
Stop conditions
- If the same command fails twice for the same reason, stop retrying and
re-check the environment, target, permissions, and underlying assumption.
- Stop and report a blocker when progress requires missing authority, secrets,
unavailable infrastructure, destructive action, or a product decision.
- Never make a failing check pass by weakening assertions, deleting coverage,
hiding errors, or silently changing acceptance criteria.
- Do not query production, deploy, migrate, merge, or publish unless the user
explicitly authorizes that action.
Finish with evidence
Report:
- behavior implemented or defect fixed;
- changed files and important design decisions;
- regression proof or acceptance evidence;
- focused and broader commands with outcomes;
- review findings fixed or explicitly unresolved;
- unrun checks, residual risks, and blockers.