Guided Engineering

The Guided Engineering Practice

Guided Engineering is a way of working with coding agents in which the human states what should be true, the agent does the work in small verified units, and every claim of "done" points at evidence. It has no runtime of its own: it uses the agent host you already have, portable Agent Skills, and one small contract.

The normative rules are in ops-contract.md. This document explains how they are used.

Who does what

ConceptResponsibility
HumanSets intent, constraints and material decisions; stays accountable.
AgentThe executor, or a named execution profile configured in a real agent host.
SkillA reusable capability packaged as SKILL.md. Extends an agent; is not one.
OPS promptThe task contract: intent, context, constraints, actions, expected outcomes.
PlanThe task-specific sequence of changes and checks derived from one prompt.
EvidenceFiles, diffs, command results and observations that support a completion claim.

Three distinctions keep the practice honest:

The journey

  1. Intent. A human describes a change in plain language.
  2. Contract. The request becomes an OPS prompt: objective, context, constraints, ordered steps, expected outputs, and the checks that decide completion. Ambiguity that matters is asked about, not guessed. The prompt is validated. The ops-author Skill does this step; a human can also write the YAML by hand from templates/template.prompt.yaml.
  3. Review. The human reads the prompt. It is short on purpose: this is the moment to correct scope, before any file changes.
  4. Plan or execute. The human asks the agent to interpret, plan, or execute the prompt. The agent does that one thing. The ops-execute Skill carries the procedure.
  5. Evidence. The run leaves a worklog entry: which steps are done, which checks ran after the last change, with what result.
  6. Decision. The human reviews the diff and the evidence and decides what happens next: merge, another unit, or a changed prompt.

The loop

Every unit of work follows the same bounded loop:

Inspect → validate intent and contract → plan → execute the authorized unit → verify → diagnose and repair if justified → reverify → record evidence → decide the next unit.

StageWhat it means
InspectRead the actual repository state: files, branch, instructions, existing checks. Do not assume.
Validate intent and contractValidate the prompt. Resolve the workspace, inputs, agent, outputs and checks. Surface contradictions and material ambiguity before changing anything.
PlanDerive a short plan in which every task has a check. Reuse the project's own commands.
Execute the authorized unitMake the smallest change the request authorizes, inside the workspace, leaving unrelated edits alone.
VerifyRun the checks against the result.
Diagnose and repairClassify a failure before touching it: defect in the change, defect in the check, environment, or requirement. Fix the cause. Never weaken a test or skip a check to get a pass. Stay within limits.repairAttempts.
ReverifyRun the relevant checks again after the last change. A pass from before an edit is not evidence for the final state.
Record evidenceWrite the worklog entry: commands, exit codes, files, what failed and why. Report a blocked run as blocked.
Decide the next unitStop, continue with the next step, or hand a decision back to the human.

Rules that do not bend

Conventions the contract leaves to you

The validator cannot check these. They are what keeps a prompt provable.

What lives where

RepositoryOwns
guided-engineering/OpenPrompt-SpecificationThe normative contract and this practice: schemas, validator, examples, conversion guide, study evidence, and the website.
guided-engineering/skillsThe reusable guidance that agents load: the ops-author and ops-execute Skills, installation, their tests, and host integration notes.

The Skills carry the validator, which contains the schemas, and a copy of the contract text, so they work in a project that has neither. That copy is synchronized mechanically from this repository and records the revision and hashes it came from; the Skills do not define the contract.

Adopting it in a project

  1. Install the Skills in your agent host (see the Skills repository).
  2. Ask for a change the way you normally would, and ask for it "as an OPS prompt". Review the YAML that lands in .guides/prompts/.
  3. Ask the agent to plan it, then to execute it.
  4. Read the worklog entry under .guides/operation/worklog/ together with the diff.

Nothing else is required. A project that wants more than the default agent adds .guides/agents/agents.yaml; a project that wants local schema hints adds the schema files under .guides/schemas/.

The .guides/ folder

PathPurpose
.guides/prompts/OPS prompts.
.guides/agents/The agent map, when the project needs one.
.guides/operation/worklog/One worklog entry per unit of work.
.guides/architecture/adr/Architecture Decision Records.
.guides/assessment/, .guides/testing/, .guides/traceability/Assessments, test and study evidence, requirement maps.
.guides/schemas/The JSON Schemas.

"User persona", as used in product research for a kind of user, keeps its ordinary meaning. Only the former operational persona, a role label that stood in for the executor of a prompt, is gone; an executor is an agent.