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 task is expected to need repeated autonomous iterations or has an
explicit retry, time, token, or cost limit, also use
references/loop-policy.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.
- Pause before expanding into an unplanned subsystem, public contract,
migration, or external system. Record why the original scope is
insufficient and obtain any authority the expansion requires.
- 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.
- Review the complete diff first for task-contract compliance, then for code
quality, regressions, security, and maintainability.
- 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 recursive discovery when each new finding redefines the same task
boundary. Freeze the discovered scope or return for a scope decision instead
of repeatedly recataloging the repository.
- Stop and report a blocker when progress requires missing authority, secrets,
unavailable infrastructure, destructive action, or a product decision.
- When an explicit loop budget is exhausted, stop with the latest judge
evidence instead of silently expanding the budget.
- 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;
- task-contract and code-quality findings fixed or explicitly unresolved;
- unrun checks, residual risks, and blockers.
1---2name: engineering-loop3description: 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.4---56# Engineering Loop78Own the change from a verified starting point to a reviewed result. Use one9agent and this skill alone unless a specialist changes a material decision.1011## Establish the baseline12131. Read applicable `AGENTS.md` files and repository documentation.142. Record the requested behavior, constraints, and observable done conditions.153. Inspect the branch and working tree; preserve unrelated user-owned changes.164. Identify repository-native validation and run the smallest safe baseline17 that separates pre-existing failures from task regressions.1819For a long, cross-stack, or high-risk change, use the templates and failure20rules in [references/loop-contract.md](references/loop-contract.md).21When a task is expected to need repeated autonomous iterations or has an22explicit retry, time, token, or cost limit, also use23[references/loop-policy.md](references/loop-policy.md).24When a defect is intermittent, performance-related, difficult to reproduce, or25resists the first evidence-driven pass, use26[references/hard-debugging.md](references/hard-debugging.md).2728## Run the loop29301. Reproduce the defect, or capture the current behavior for a feature.312. Choose the smallest coherent change and the evidence that will prove it.323. Add a failing regression test first when practical.334. Implement one bounded change and run the narrowest relevant check.345. Pause before expanding into an unplanned subsystem, public contract,35 migration, or external system. Record why the original scope is36 insufficient and obtain any authority the expansion requires.376. Classify failures as product, test, environment, or assumption failures;38 fix the cause and rerun the affected check.397. Run repository-required broader checks after focused checks pass.408. Review the complete diff first for task-contract compliance, then for code41 quality, regressions, security, and maintainability.429. Fix consequential findings and rerun checks affected by those fixes.4344Keep a compact ledger of confirmed facts, changed files, commands, outcomes,45and the next decision. Return concise diagnostics instead of full logs.4647## Stop conditions4849- If the same command fails twice for the same reason, stop retrying and50 re-check the environment, target, permissions, and underlying assumption.51- Stop recursive discovery when each new finding redefines the same task52 boundary. Freeze the discovered scope or return for a scope decision instead53 of repeatedly recataloging the repository.54- Stop and report a blocker when progress requires missing authority, secrets,55 unavailable infrastructure, destructive action, or a product decision.56- When an explicit loop budget is exhausted, stop with the latest judge57 evidence instead of silently expanding the budget.58- Never make a failing check pass by weakening assertions, deleting coverage,59 hiding errors, or silently changing acceptance criteria.60- Do not query production, deploy, migrate, merge, or publish unless the user61 explicitly authorizes that action.6263## Finish with evidence6465Report:66671. behavior implemented or defect fixed;682. changed files and important design decisions;693. regression proof or acceptance evidence;704. focused and broader commands with outcomes;715. task-contract and code-quality findings fixed or explicitly unresolved;726. unrun checks, residual risks, and blockers.