Agentic Golden Paths: From Paved Roads to AI Agents That Walk Them With You
Table of Contents
- 1. The Classic Golden Path, in One Minute
- 2. Why the Classic Path Is Not Enough Anymore
- 3. The Big Picture
- 4. The Supply: A Knowledge Base
- 5. The Agents and Their Roles
- 6. How the Agents Work Together
- 7. The Spec-Driven Flow: From Day One to the Customer
- 8. Onboarding: The Biggest Quick Win
- 9. Keeping the Classic Principles
- 10. Measuring the Agentic Path
- 11. How to Start
- 12. Risks to Watch
- 13. Takeaways
- 14. Read More
A golden path used to be a template, a pipeline and a good README. In an AI-native team, the path can also have guides: agents that know the rules, do the boring steps, and hand the work to the next agent. This post explains how.
1. The Classic Golden Path, in One Minute
A golden path is the recommended, ready-made way to do a common engineering task, such as creating a service, setting up CI/CD or deploying. It bundles tested templates, tools, config and good practice into one flow.
- Optional, not forced. It wins because it is the easiest road.
- Why teams use it: faster onboarding, less to remember, the same standards everywhere, fewer repeat questions, security built in.
- Four principles: optional, transparent, extensible, customizable within limits.
- How to measure it: adoption, developer satisfaction, and efficiency (time to first deploy, cycle time, support load).
Sources
- Spotify Engineering, "How We Use Golden Paths to Solve Fragmentation in Our Software Ecosystem" (2020), where the term comes from.
- Netflix, the "paved road" idea for internal tooling.
- Jellyfish, "How to Build Golden Paths Your Developers Will Actually Use"
- platformengineering.org, community articles on golden paths and internal developer platforms.
2. Why the Classic Path Is Not Enough Anymore
The classic path is static. Someone writes the template and the docs, and then they slowly go stale. Developers still have to read, search and ask. AI-native teams work differently:
| Classic golden path | Agentic golden path | |
|---|---|---|
| Form | Templates, scripts, docs | Templates + agents that use them |
| Who walks the path | The developer, alone | The developer with role-based agents |
| Knowledge | Spread across READMEs and wikis | One structured knowledge base |
| Starting point | A template | A spec |
| Onboarding | Read docs, ask people | Talk to an onboarding agent |
| Keeping it fresh | Platform team updates docs | Agents report gaps, the knowledge base gets updated |
| Feedback | Surveys, tickets | Agent logs, metrics, and surveys |
| End point | Deployed to production | Delivered to the customer and observed |
The principles stay the same. The path is still optional, transparent, extensible and customizable. What changes is that the path now talks back.
3. The Big Picture
There are three layers:
- Supply: a knowledge base that feeds every agent.
- Agents: role-based agents that each own one part of the path.
- Flow: a spec-driven process that moves work from idea to customer.
flowchart LR
DEV([Developer]) --> AG
KB[(Knowledge Base)] --> AG
subgraph AG[Role-based Agents]
direction LR
ON[Onboarding] ~~~ SP[Spec] ~~~ BU[Builder] ~~~ RV[Reviewer]
QA[QA] ~~~ RT[Release Test] ~~~ DE[Deployer] ~~~ OB[Observability]
end
AG --> CUS([Customer])
AG -. lessons .-> KB
4. The Supply: A Knowledge Base
Every agent is only as good as what it knows. The knowledge base is the single source of truth that all agents read from.
Out of scope: how to build the knowledge base (storage, indexing, retrieval, access control) is not covered in this post. We assume it exists and is well structured.
What it should hold:
| Section | Examples | Main readers |
|---|---|---|
| Engineering standards | Coding rules, naming, review rules | Builder, Reviewer |
| Architecture | Service map, trunk vs. leaf code, APIs | Spec, Builder, Reviewer |
| Specs | Product specs, ADRs, acceptance criteria | Spec, QA, Release Test |
| Templates | Service skeletons, pipelines, IaC modules | Builder, Deployer |
| Runbooks | Deploy steps, rollback steps, on-call guides | Deployer, Observability |
| Environments | Dev, staging, prod config and access rules | Onboarding, Deployer |
| Quality bars | Test coverage rules, performance budgets, SLOs | QA, Release Test, Observability |
| History | Past incidents, postmortems, known issues | Observability, Reviewer |
| People and ownership | Teams, CODEOWNERS, who to ask | Onboarding, Reviewer |
Rule of thumb: if an agent had to guess, the knowledge base has a gap. Agents should report those gaps.
5. The Agents and Their Roles
Each agent has one job, a clear input and a clear output. Small, focused agents are easier to trust, test and replace.
| Agent | Job | Input | Output |
|---|---|---|---|
| Onboarding | Get a new engineer productive on day one | New hire profile, team, repo access | Local setup done, access requested, first task picked, learning plan |
| Spec | Turn an idea into a clear spec | Ticket, product notes, architecture | Spec with goals, acceptance criteria, risk level, rollout plan |
| Builder | Write the code from the spec | Approved spec, templates, standards | Small PRs with tests, behind a feature flag |
| Reviewer | Review with fresh eyes | PR, spec, standards | Review comments, spec-match check, risk notes |
| QA | Prove the change works | Spec, PR, test data | Test results, edge cases, missing-test report |
| Release Test | Check the release as a whole | Release candidate, staging env | Smoke tests, regression results, go/no-go report |
| Deployer | Ship safely | Approved release, runbooks | Canary rollout, flag changes, rollback if needed |
| Observability | Watch production and explain what happens | Logs, traces, metrics, SLOs | Health report, alerts, incident summary, lessons for the knowledge base |
The Observability Agent and Its Sub-Agents
Production is noisy, so the Observability Agent splits the work:
flowchart LR
P[Production signals] --> SUB
subgraph SUB[Observability Agent]
direction TB
L[Logs] ~~~ T[Trace] ~~~ M[Metrics]
S[SLO] ~~~ C[Cost] ~~~ U[User Impact]
end
SUB --> R[Health report + rollback advice]
| Sub-agent | Watches | Raises a flag when |
|---|---|---|
| Logs | Error logs, new log patterns | A new error type appears after a release |
| Trace | Distributed traces | A request path gets slower or starts failing |
| Metrics | Latency, throughput, error rate | A metric crosses its threshold |
| SLO | Error budget | The budget burns faster than planned |
| Cost | Cloud spend | A release makes a service much more expensive |
| User Impact | Tickets, feedback, product analytics | Users report the same problem, or key metrics drop |
The coordinator combines their signals into one answer: is this release healthy, and should we roll back?
Other Agents You Can Add
- Security Agent: checks dependencies, secrets and risky changes in trunk code.
- Docs Agent: updates docs and changelogs from merged specs.
- Incident Agent: opens the incident, gathers context, drafts the postmortem.
- Platform Health Agent: reports when teams leave the path often. That usually means the path needs to change.
6. How the Agents Work Together
You have two main options.
Option A: Composable Agents in One Framework
All roles live in one system and share skills and workflows. Mitra is an example: a set of agent personas (Analyst, Architect, Engineer, Designer and more), each with its own skills and review workflows, running inside Claude Code and similar tools.
- Good for: small and medium teams that want one place to manage all agents.
- Pros: shared context, one setup, easy to add new roles.
- Cons: one framework to maintain, and a larger blast radius if it breaks.
Option B: Standalone Agents That Talk to Each Other
Each role is its own agent, for example a separate Claude Code session per role. Agents pass work along through a messaging layer, such as Claude Code channels or a team chat. An orchestrator, either a dedicated Claude agent or another model like Grok, controls the order and the handoffs.
- Good for: larger teams, or when different teams own different agents.
- Pros: agents can be updated, scaled and replaced one by one.
- Cons: you need clear message formats, retries and good logs.
flowchart LR
subgraph A[Option A: Composable]
direction TB
F[Framework e.g. Mitra] --> AP
subgraph AP[Personas]
A1[Spec] ~~~ A2[Builder] ~~~ A3[Reviewer]
end
end
subgraph B[Option B: Standalone + orchestrator]
direction TB
O[Orchestrator: Claude or Grok] <--> CH{{Message channel}} <--> BP
subgraph BP[Agents]
B1[Spec] ~~~ B2[Builder] ~~~ B3[Reviewer]
end
end
| Composable (Mitra-style) | Standalone + orchestrator | |
|---|---|---|
| Setup | One framework | Many agents + a channel |
| Shared context | Built in | Passed in messages |
| Scaling | Grow the framework | Add or scale one agent |
| Ownership | One team | Each team owns its agent |
| Failure | Can affect all roles | Stays inside one agent |
| Best for | Getting started | Large, multi-team setups |
Tip: start with Option A. Move a role out as a standalone agent once it is stable and needs to scale on its own.
Handoff Rules (for Both Options)
Every handoff should carry the same basic package:
| Field | Example |
|---|---|
| Spec link | specs/checkout-retry.md |
| What was done | "Added retry with backoff to payment client" |
| Proof | Tests, logs, screenshots |
| Risk level | Trunk / leaf |
| Open questions | "Unsure about timeout value for EU region" |
| Next agent | QA Agent |
Agents should never pass "trust me". They pass proof.
7. The Spec-Driven Flow: From Day One to the Customer
The spec is the spine of the agentic path. Every agent reads it, checks against it, and updates it if reality changes. For more on this, see Spec Driven Development Part 1 and Part 2.
flowchart LR
A[Onboard] --> B[Spec] --> G1{{Human ✅}} --> C[Build + Review] --> G2{{Human ✅}} --> D[QA + Release Test] --> G3{{Human ✅}} --> E[Deploy] --> F[Observe] --> CUS([Customer])
F -. lessons .-> B
Step by Step
| Stage | Agent | Human role | Gate to pass |
|---|---|---|---|
| 1. Onboard | Onboarding | Mentor checks in | Dev can run, test and deploy a sample service |
| 2. Specify | Spec | Approves the spec | Clear goals, acceptance criteria, risk level |
| 3. Build | Builder | Answers questions | Small PRs, tests, behind a flag |
| 4. Review | Reviewer | Approves the merge | Code matches the spec, proof attached |
| 5. Verify | QA | Checks edge cases | Tests fail if the feature breaks |
| 6. Release check | Release Test | Reads the report | Smoke and regression tests green |
| 7. Ship | Deployer | Approves the release | Canary healthy, rollback ready |
| 8. Observe | Observability + sub-agents | On-call reviews alerts | SLOs held, no new errors |
| 9. Learn | Observability → KB | Owns the postmortem | Lessons saved to the knowledge base |
Humans Stay in Charge
Agents do the work. Humans own the decisions. Three gates always need a person:
- Spec approval: are we building the right thing?
- Merge approval: is this the right code, and can someone explain it?
- Release approval: is it safe to ship now?
For trunk code, the risky shared parts, add stricter human review. For leaf code, agents can carry more of the load. See How to Review Code When AI Writes Most of It.
8. Onboarding: The Biggest Quick Win
Onboarding is where the agentic path pays off first.
| When | Classic path | Agentic path |
|---|---|---|
| Day 1 | Read the wiki, ask for access | Onboarding Agent sets up the machine, requests access, explains the service map |
| Day 2–3 | Clone repos, fight local setup | Agent runs a guided "hello world" deploy on the golden path |
| Week 1 | Find a starter ticket | Spec Agent picks a small leaf-code ticket and drafts the spec with the new hire |
| Week 2 | First PR, many review rounds | First change in production, behind a flag, with proof from QA and Release Test |
The new hire learns the path by walking it, with an agent explaining each step, not by reading about it.
9. Keeping the Classic Principles
The four classic principles still apply. Here is how they look with agents:
| Principle | Classic meaning | Agentic meaning |
|---|---|---|
| Optional | Teams can leave the path | Teams can skip or swap any agent |
| Transparent | You can see what the pipeline does | Every agent logs what it did and why |
| Extensible | Add steps to the pipeline | Add new agents or sub-agents |
| Customizable | Change settings without forking | Change agent rules through the knowledge base, not by forking agents |
10. Measuring the Agentic Path
Keep the classic metrics and add a few agent-specific ones.
| Area | Metric | Warning sign |
|---|---|---|
| Adoption | % of services and changes that use the agents | Teams turn agents off |
| Onboarding | Time to first production change | Not faster than before |
| Delivery | Cycle time, deployment frequency | Flat or getting worse |
| Quality | Change failure rate, rollbacks, escaped bugs | Rising after adding agents |
| Agent trust | % of agent output accepted without big rework | Humans redo most of the work |
| Knowledge base health | Gaps reported by agents, time to fix them | Same gaps reported again and again |
| Cost | Agent cost per shipped change | Rising faster than value |
| Satisfaction | Developer surveys and interviews | "The agents slow me down" |
Dashboards show what happened. Talking to developers shows why.
11. How to Start
Do not build eight agents at once.
- Pick one painful path. "New service to first deploy" is a good first choice.
- Write the knowledge base pages for it: standards, template, runbook, environments.
- Add two agents: Onboarding and Deployer.
- Add the Spec Agent and make specs the starting point.
- Add Reviewer and QA once the specs are stable.
- Add Observability with one or two sub-agents (Logs and Metrics first).
- Measure, listen, and grow one agent at a time.
flowchart LR
V1[v1: KB + Onboarding + Deployer] --> V2[v2: + Spec] --> V3[v3: + Reviewer + QA] --> V4[v4: + Release Test + Observability] --> V5[v5: + Security, Docs, Incident]
12. Risks to Watch
| Risk | What it looks like | How to reduce it |
|---|---|---|
| Stale knowledge | Agents follow old rules | Agents report gaps, owners review the KB regularly |
| Over-trust | People merge agent work without reading it | Human gates, proof in every handoff |
| Black-box agents | Nobody knows why an agent did something | Agent logs, decisions linked to spec and KB pages |
| Too much access | Deployer can do anything in prod | Least privilege, approvals for risky actions |
| Agent sprawl | Many agents with overlapping jobs | One job per agent, one owner per agent |
| Cost creep | Agent runs cost more than they save | Track cost per change, cap long runs |
| Skill loss | Engineers cannot work without agents | Authors must explain every change in their own words |
Many of these risks are about the system around the model, not the model itself. Harness Engineering covers that side in more depth.
13. Takeaways
- The classic golden path is still the base: optional, transparent, extensible, customizable.
- The knowledge base is the supply. Without it, agents guess.
- Role-based agents walk the path with the developer, from day one to the customer.
- Specs connect every step and every agent.
- Start composable (for example, with Mitra). Split agents out when they need to scale.
- Humans approve the spec, the merge and the release.
- Measure adoption, speed, quality, trust and cost, and keep improving.