Build Right Engineering Principles
Use this skill as a cross-cutting engineering standard for Build Right projects.
It is not a lifecycle phase. It is a review and design lens that other Build
Right skills may load when architecture, contracts, implementation boundaries,
or engineering-quality tradeoffs matter.
Required Reading
- Read
references/principles.md before making or reviewing changes that touch
technology or storage choices, architecture or service boundaries, public
interfaces, contracts, provider adapters, generated code, package ownership,
side effects, errors, observability, security, testing strategy,
over-engineering risk, or enforceable policy.
- Do not load the reference for routine product capture, backlog grooming, or
narrow content-only updates unless those topics raise engineering-risk
questions.
Operating Mode
- Identify the changed or proposed engineering surface:
requirement basis, architecture, module responsibility, dependency direction,
contract, adapter, state shape, side effect, failure path, test, evidence, or
policy.
- Apply the review checklist from
references/principles.md.
- Separate guidance from enforceable authority. Markdown principles are
guidance until backed by code, checks, tests, schemas, policy, or evidence.
- Prefer the smallest correction that preserves local patterns and reduces
real risk. Do not introduce abstraction only because a principle names one.
- When repeated findings expose a process gap, recommend an enforcement
surface instead of adding more prose.
- For a consequential public interface, run the
Design It Twice workflow in
the reference before implementation.
- Record significant architecture or public-contract choices in the target
repo's normal decision surface.
Closeout
End with the engineering result that matters:
Principles applied: <areas reviewed>
Required changes: <none | concise list>
Enforcement gap: <none | check/test/schema/policy/docs evidence needed>
Residual risk: <none | concise risk>
Automatic Action Boundary
Never automatically commit, push, merge, publish, deploy, or abort or resolve
an existing Git operation. Perform those actions only when the user explicitly
authorizes the exact action and target.
User-Visible Status Badge
End every final response with exactly one status badge block:
✅ [DONE] Status: DONE
Decision: <decision/result>
Next action: <next action or none>
Needs user input: <none | concise ask>
Blocked by: <none | blocker>
Use this status map:
✅ [DONE] Status: DONE when there are no required changes and
no enforcement gap.
🟢 [GREEN] Status: ALL GREEN when the reviewed direction is safe to
continue but implementation is not complete.
🟡 [YELLOW] Status: NEEDS INPUT when a user or owner architecture,
contract, security, or policy decision is needed.
🟠 [ORANGE] Status: NEEDS WORK when AI-owned corrections, tests,
docs, or enforcement work remain.
🔵 [BLUE] Status: WAITING EXTERNAL for external proof, credentials,
production access, publishing, indexing, or third-party state.
🔴 [RED] Status: BLOCKED for unresolved conflicts, failed
validation, source mismatch, invalid state, or enforcement blockers.
1---2name: build-right-engineering-principles3description: Apply Build Right engineering principles as a planning, implementation, and review standard. Use when Codex is choosing technologies, service boundaries, storage models, architecture boundaries, splitting modules or features, creating public contracts, changing provider adapters, reviewing implementation quality or over-engineering risk, planning tests, handling side effects, errors, observability, security, or deciding whether markdown guidance needs enforceable checks.4---56# Build Right Engineering Principles78Use this skill as a cross-cutting engineering standard for Build Right projects.9It is not a lifecycle phase. It is a review and design lens that other Build10Right skills may load when architecture, contracts, implementation boundaries,11or engineering-quality tradeoffs matter.1213## Required Reading1415- Read `references/principles.md` before making or reviewing changes that touch16 technology or storage choices, architecture or service boundaries, public17 interfaces, contracts, provider adapters, generated code, package ownership,18 side effects, errors, observability, security, testing strategy,19 over-engineering risk, or enforceable policy.20- Do not load the reference for routine product capture, backlog grooming, or21 narrow content-only updates unless those topics raise engineering-risk22 questions.2324## Operating Mode25261. Identify the changed or proposed engineering surface:27 requirement basis, architecture, module responsibility, dependency direction,28 contract, adapter, state shape, side effect, failure path, test, evidence, or29 policy.302. Apply the review checklist from `references/principles.md`.313. Separate guidance from enforceable authority. Markdown principles are32 guidance until backed by code, checks, tests, schemas, policy, or evidence.334. Prefer the smallest correction that preserves local patterns and reduces34 real risk. Do not introduce abstraction only because a principle names one.355. When repeated findings expose a process gap, recommend an enforcement36 surface instead of adding more prose.376. For a consequential public interface, run the `Design It Twice` workflow in38 the reference before implementation.397. Record significant architecture or public-contract choices in the target40 repo's normal decision surface.4142## Closeout4344End with the engineering result that matters:4546```text47Principles applied: <areas reviewed>48Required changes: <none | concise list>49Enforcement gap: <none | check/test/schema/policy/docs evidence needed>50Residual risk: <none | concise risk>51```5253## Automatic Action Boundary5455Never automatically commit, push, merge, publish, deploy, or abort or resolve56an existing Git operation. Perform those actions only when the user explicitly57authorizes the exact action and target.5859## User-Visible Status Badge6061End every final response with exactly one status badge block:6263```text64✅ [DONE] Status: DONE65Decision: <decision/result>66Next action: <next action or none>67Needs user input: <none | concise ask>68Blocked by: <none | blocker>69```7071Use this status map:7273- `✅ [DONE] Status: DONE` when there are no required changes and74 no enforcement gap.75- `🟢 [GREEN] Status: ALL GREEN` when the reviewed direction is safe to76 continue but implementation is not complete.77- `🟡 [YELLOW] Status: NEEDS INPUT` when a user or owner architecture,78 contract, security, or policy decision is needed.79- `🟠 [ORANGE] Status: NEEDS WORK` when AI-owned corrections, tests,80 docs, or enforcement work remain.81- `🔵 [BLUE] Status: WAITING EXTERNAL` for external proof, credentials,82 production access, publishing, indexing, or third-party state.83- `🔴 [RED] Status: BLOCKED` for unresolved conflicts, failed84 validation, source mismatch, invalid state, or enforcement blockers.