Notice. Prove. Ask why. Build. Measure.
Every problem I've solved followed the same five moves, whether it was a router fault, a spreadsheet, or a database policy. The agents I work with follow them too.
- Notice: Something is slow, manual, or repeated.
- Prove: Measure what it costs: time, complaints, money.
- Ask why: Usually a constraint nobody re-examined.
- Build: The smallest reliable thing that closes the gap.
- Architecture and spec: Requirements, interfaces, decomposition.
- Implement: Claude Code or Codex types from the spec.
- Review and verify: Read every diff, re-run the proof.
- Ship: Then write it down for the next person.
- Measure again: Before and after, in the numbers ops already track.
I use agentic coding for speed, and I treat it like directing a team. I own requirements, architecture, decomposition and review; the agent owns typing.
- Spec first: objective, files, interfaces, constraints, and the command that proves it works.
- Review everything. A report without command output is not done. An empty diff with a clean exit is a refusal.
- Every mistake becomes a rule. When an agent gets something wrong I ask how to prevent it, and the answer lands in one of three places: a CI test, a skill, or a constitution file the agent reads every session.
- The harness decides, not the agent.
From manual labour to end-to-end automation
An hourly operations report was being built by hand, every hour of every shift: someone opened several exports, copied the numbers into a sheet, checked them by eye, sent it out, and started again an hour later. It ate a slice of every shift, it depended on whoever was on duty, and a bad paste could sit unnoticed until the next run. I automated it end to end. A scheduled Power Automate flow pulls the exports, an Office Script reshapes and validates them, anomalies are flagged inside the message, and it goes out on the hour with nobody touching it. That took a repetitive job off the team that never needed a person, and gave the hours back to actual operations work. The same approach then went into five more manual routines: two fully unattended, the rest cut down to one review and send.
- Measured the damage: Timed the hourly run, counted the sends and the slips.
- Looked at what we already had: Existing tools, enterprise licences, what was allowed.
- Researched the options: Power Automate, Workflows, Office Scripts; what each could and could not touch.
- Planned the architecture: Scheduled trigger, script for the reshaping, checks before anything is sent.
- Built it: Flow plus script, small pieces, each one verifiable.
- Test loop: Ran it against real exports until every edge case passed; loud failures, never silent ones.
- Showed the impact: Before and after with data: hours back per shift, no manual sends, flags instead of a sheet.
Time
every hourly run, every shift, back to the team
Consistency
the same output whoever is on duty
Errors
bad inputs are flagged, not forwarded
Reach
five more routines automated the same way
Work numbers are my own account; the code stays with the employer.
- A claim needs a falsifier.
- A report without command output is not done.
- An empty diff with a clean exit is a refusal, not a success.
- The harness decides, not the agent.