← all posts

Claude Code As An Engineering Workflow

April 9, 2026
Claude Code As An Engineering Workflow

Most teams fail with coding agents for a boring reason: they treat them like smart autocomplete with shell access instead of like unreliable teammates with high throughput.

That framing changes everything.

If you treat the agent like autocomplete, you chase prompt cleverness.

If you treat it like a teammate, you care about onboarding, task boundaries, review, verification, and handoff quality. That is the right operating model.

Project Context

A project instruction file is not a nice-to-have. It is the minimum onboarding packet.

It should answer the questions a new engineer would ask in the first ten minutes:

  1. How do I run the project?
  2. How do I test it?
  3. What conventions matter here?
  4. What files are dangerous?
  5. What is considered done?

If the context file reads like a philosophy statement, it is probably wasting tokens. The agent does not need culture. It needs operational truth.

I also like separating shared and personal context deliberately:

  1. Repo-level instructions for the whole team.
  2. Personal local instructions that should not be committed.
  3. Optional global defaults across projects.

That split keeps the shared contract stable without blocking individual workflow tuning.

Slash Commands And Skills

Reusable commands are useful because they turn a fuzzy prompt habit into a repeatable workflow:

  1. Capture a note.
  2. Run a code review.
  3. Generate a release summary.
  4. Prepare a migration plan.
  5. Triage an incident.

The real benefit is not speed. It is consistency.

If code review always means "read diff, find risk, cite files, ignore style nits unless they matter," then the command should encode that standard. Otherwise every run starts from a different unstated expectation.

That is why I like storing them as repo artifacts rather than as personal prompt folklore.

Hooks

Hooks are useful when they improve evidence flow.

A good pre-hook adds context the agent would have fetched anyway. A good post-hook persists something humans would want afterward.

Hooks should be boring. The moment a hook silently edits files, triggers deployments, or mutates state without making that obvious, trust collapses.

The best hooks are usually things like "attach git diff before review" or "persist a changelog note afterward," not hidden automation with side effects.

Multi-Agent Worktrees

Parallel coding only works when ownership is crisp.

Separate worktrees help, but they are not the point. The point is avoiding ambiguous ownership of shared files.

Good split:

  1. Agent A owns backend API changes.
  2. Agent B owns frontend components.
  3. Agent C owns tests and docs.

Bad split:

  1. Everyone edits the same shared utility.
  2. Everyone changes the same config file.
  3. No one owns integration.

The anti-pattern is two agents both "helping with backend," both touching the same core module, and neither owning integration. That looks parallel but produces merge debt.

Worktrees are just the cleanest mechanical way to enforce ownership when you want several agents in flight at once.

Verification Is The Contract

The most important behavior to force into a coding-agent workflow is proof reporting.

The agent should not just narrate what it changed. It should say what demonstrates the change works: test command, build result, lint result, screenshot, or manual repro note.

For coding agents, the final answer should be less like a diary and more like a handoff note.

The Operating Model

Treat the agent like a fast junior teammate with no shame about sounding confident when wrong.

That means:

  1. Give it narrow ownership.
  2. Force it to cite evidence.
  3. Keep state in the repo, not only in chat.
  4. Review outputs, especially where side effects matter.

That is how the tool becomes part of engineering workflow rather than a novelty that writes diffs.

;