<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/"><channel><title>AI Developer Workflow on RockB</title><link>https://baeseokjae.github.io/tags/ai-developer-workflow/</link><description>Recent content in AI Developer Workflow on RockB</description><image><title>RockB</title><url>https://baeseokjae.github.io/images/og-default.png</url><link>https://baeseokjae.github.io/images/og-default.png</link></image><generator>Hugo</generator><language>en-us</language><lastBuildDate>Sun, 13 Sep 2026 16:01:28 +0000</lastBuildDate><atom:link href="https://baeseokjae.github.io/tags/ai-developer-workflow/index.xml" rel="self" type="application/rss+xml"/><item><title>Super Simple Software Factory: How to Build Repeatable Agent Workflows as a Skill</title><link>https://baeseokjae.github.io/posts/super-simple-software-factory/</link><pubDate>Sun, 13 Sep 2026 16:01:28 +0000</pubDate><guid>https://baeseokjae.github.io/posts/super-simple-software-factory/</guid><description>Turn one-off AI coding runs into repeatable results by packaging a deterministic Python control plane and bounded agents into a single repo-stamped skill.</description><content:encoded><![CDATA[<p>Every team can get an AI coding agent to write code once; almost nobody gets the same result twice. A software factory agent skill fixes exactly that: it packages a repeatable agents-plus-code workflow into one Claude skill you stamp into any repository, with the control plane living in deterministic Python rather than in a prompt. By the end of this guide you will know how to build your own repeatable workflow, where the human still makes decisions, and the real statistics behind the skills movement.</p>
<h2 id="what-is-a-software-factory-and-why-generative-agents-changed-it">What Is a Software Factory (and Why Generative Agents Changed It)</h2>
<p>&ldquo;Software factory&rdquo; is not a new idea. Ben Bemer proposed a software &ldquo;factory&rdquo; concept as far back as 1968, the Software Design Corporation described one in 1975, and Microsoft published its influential &ldquo;Software Factories&rdquo; book in 2004. The recurring idea is simple: take the messy, heroic, one-off act of building software and turn it into a structured, repeatable pipeline that converts raw inputs — requirements, code, tests — into quality output using shared tooling, standards, and patterns.</p>
<p>What changed in 2026 is that the pipeline itself has become agent-native. Autonomous AI systems now carry out planning, implementation, testing, and review steps that a factory once delegated to humans or rigid tooling. As TrueFoundry explains in its enterprise guide, this agent-native reinterpretation is broader than a coding assistant (which only writes code) and broader than CI/CD (which only validates it): it spans the full production system, with agents doing more of the planning and review work under human governance.</p>
<p>The practical consequences are staggering in scale. A 2026 JetBrains State of Developer Ecosystem survey found that 90% of professional developers used AI coding agents at work at least weekly by mid-2026, up sharply from early in the year. Uber now attributes more than 70% of its pull requests to agents and has shipped 3,600+ employee-built agent skills across the software development lifecycle. Gartner reports that 93% of IT leaders plan to deploy autonomous agents within two years, and forecasts that a third of enterprise software will carry built-in agentic capabilities by 2028.</p>
<table>
  <thead>
      <tr>
          <th>Era</th>
          <th>Control mechanism</th>
          <th>Who plans?</th>
          <th>Reusability</th>
      </tr>
  </thead>
  <tbody>
      <tr>
          <td>Pre-AI factory (1968–2004)</td>
          <td>Manual standards, toolchains</td>
          <td>Humans</td>
          <td>Low, documented as best practice</td>
      </tr>
      <tr>
          <td>CI/CD pipelines</td>
          <td>Declarative config, tests</td>
          <td>Humans</td>
          <td>Medium, code-based</td>
      </tr>
      <tr>
          <td>Free-form agent use (2024–2025)</td>
          <td>Prompting, context windows</td>
          <td>Agent, inconsistently</td>
          <td>Low, non-deterministic</td>
      </tr>
      <tr>
          <td>Agent-native factory (2026)</td>
          <td>Deterministic code owns the graph</td>
          <td>Human intent + bounded agent</td>
          <td>High, packaged as skills</td>
      </tr>
  </tbody>
</table>
<h2 id="the-repeatability-problem-why-one-off-agent-runs-dont-scale">The Repeatability Problem: Why One-Off Agent Runs Don&rsquo;t Scale</h2>
<p>The reason most teams stall at the &ldquo;write code once&rdquo; stage is a simple gap between aspiration and reality. Stack Overflow&rsquo;s 2025 Developer Survey found that while 84% of developers use or plan to use AI tools (up from 76% in 2024), only 29% trust AI outputs to be accurate — a drop from 40%. Fully 46% of developers actively distrust AI accuracy, and 66% list &ldquo;almost right but not quite&rdquo; as their top frustration.</p>
<p>That trust collapse is the real driver behind the shift to deterministic workflows. When you hand an agent a prompt and it produces a slightly different plan, different file layout, and different quality bar every time, you cannot build on top of it. Every run is a gamble. The moat in this space is not which foundation model you call — it is determinism: the ability to run the same workflow on the same input and get the same shape of result, with failure and acceptance rules that hold.</p>
<h2 id="the-core-model-deterministic-code-owns-the-graph-agents-are-bounded-nodes">The Core Model: Deterministic Code Owns the Graph, Agents Are Bounded Nodes</h2>
<p>The design pattern at the heart of a super simple software factory is best captured in one motto drawn from the reference open-source project: &ldquo;Agent proposes, code disposes.&rdquo; The control plane lives in code, not in the prompt. This is the single most important architectural choice you can make.</p>
<p>Concretely, a deterministic Python module — in the ADW (AI Developer Workflow) pattern — owns sequencing, retries, and acceptance criteria. Agents are not free-wheeling thinkers; they are bounded nodes inside that Python graph. The Python decides what step runs next, whether a step passed its acceptance check, and how many retries a failing step gets before the graph marks it failed. The agent contributes content within a defined corridor; code decides whether that content is good enough to proceed.</p>
<p>This inversion matters because prompts and context windows are the least reliable, least versionable part of an AI system. Deterministic Python is tested, version-controlled, and deterministic by construction. By moving orchestration out of the prompt, you make the workflow behave predictably even as the underlying model changes.</p>
<h2 id="anatomy-of-a-repeatable-workflow-stamped-into-any-repo">Anatomy of a Repeatable Workflow Stamped Into Any Repo</h2>
<p>When you stamp a super simple software factory into a repository, you introduce a small, predictable layout. A typical stamped repo might contain an <code>adws/</code> directory with focused workflow modules such as:</p>
<ul>
<li><code>adw_plan.py</code> — turns requirements into a structured plan</li>
<li><code>adw_build.py</code> — implements the plan with bounded agents</li>
<li><code>adw_test.py</code> — runs acceptance checks and retries</li>
<li><code>adw_document.py</code> — produces documentation from evidence</li>
<li><code>adw_simple_sdlc.py</code> — orchestrates the full lifecycle graph</li>
<li><code>adw_modules/</code> — shared building blocks across workflows</li>
</ul>
<p>Alongside those modules you keep tracked prompts under <code>adw_data/prompt_engineering/</code> and a <code>sssf.config.yaml</code> that acts as the agent roster. A key design detail from the reference implementation: a single Cursor query serves as both the live view and the full history transport. There is no separate ingest endpoint to maintain — the state you need is already in the query response. That keeps the factory simple enough to understand, debug, and move between repos.</p>
<p>Two properties make this layout portable rather than repo-specific. First, it is self-contained: everything the workflow needs lives inside the repo, so stamping it into a new project requires no external infrastructure. Second, prompts are treated as versioned data, not as ephemeral instructions — which means changes to prompting are reviewable, revertible, and shareable across teams.</p>
<h2 id="packaging-the-workflow-as-a-reusable-skill">Packaging the Workflow as a Reusable Skill</h2>
<p>Skills have become the unit of reuse in this world. The most visible expression is Anthropic&rsquo;s Claude skills pattern, which exploded in popularity: a single CLAUDE.md-driven skills approach reached roughly 176,000 GitHub stars by mid-2026. Atlassian, building its &ldquo;AI work factory,&rdquo; describes a skills layer of AI playbooks that sit on top of a data layer (live sources like Jira or Confluence) and an orchestration layer. Uber&rsquo;s engineers have authored more than 3,600 employee-built agent skills and run 30+ production workflow skills across the SDLC.</p>
<p>Atlassian highlights a clean portability pattern worth copying: keep a <strong>thin SKILL.md in a standard location</strong> that points to the full skill detail stored inside the factory. The thin pointer makes the skill discoverable and importable; the full detail lives where it can be versioned and governed. This mirrors the Gang of Four design-patterns insight — a shared vocabulary capturing proven expertise. A skill, like a design pattern, is a named, reusable answer to a recurring problem, and giving that answer a canonical name lets people talk about it and share it.</p>
<p>So packaging your software factory as a skill means: (1) write a thin, discoverable SKILL.md; (2) keep the deterministic Python, prompts, and config in your factory repo; (3) stamp the whole thing into any target repo when you need that workflow. One command moves the capability from &ldquo;we know how to do this&rdquo; to &ldquo;any team with this repo can do this.&rdquo;</p>
<h2 id="real-world-numbers-uber-atlassian-and-the-skills-explosion">Real-World Numbers: Uber, Atlassian, and the Skills Explosion</h2>
<p>The numbers are not hypothetical. Uber&rsquo;s engineering blog reports that local and cloud agents drive more than 70% of pull requests, backed by 3,600+ employee-built agent skills. Uber is honest about the caveat: those PRs are &ldquo;attributed to&rdquo; agents, with human review and escalation in the loop — agents drive the work rather than shipping 70% of PRs unreviewed. That honesty is exactly the division of labour the factory model demands.</p>
<p>Atlassian&rsquo;s &ldquo;AI work factory&rdquo; reframes the whole company around the three-layer model of data, orchestration, and skills. Anthropic&rsquo;s skills pattern hit roughly 176K GitHub stars by mid-2026, and Gartner&rsquo;s projection that 33% of enterprise software will include built-in agentic capabilities by 2028 gives you a timeline for when this stops being a novelty and becomes default infrastructure.</p>
<p>The skills explosion is not about novelty chasing. It is the market converging on a small set of portable ways to package deterministic agent workflows — the same standardization that happened to CI/CD, container images, and design patterns. When a workflow is a named, stamped artifact instead of tribal knowledge, it can be audited, improved, and reused at scale.</p>
<h2 id="the-cost-engineering-playbook-model-routing-caching-lean-schemas">The Cost-Engineering Playbook (Model Routing, Caching, Lean Schemas)</h2>
<p>A software factory only pays for itself if it is cheap enough to run per-iteration, and Uber&rsquo;s engineering team has published the playbook. Four levers dominate cost:</p>
<ul>
<li><strong>Benchmark-driven model routing.</strong> Expensive, capable frontier models are reserved for steps that need them; cheaper default models handle the long tail.</li>
<li><strong>Prompt caching tuned to idle gaps.</strong> Cache window that matches the way agents actually idle between calls, so you never pay to re-tokenize unchanged context.</li>
<li><strong>Lean tool schemas.</strong> Smaller, sharper tool definitions mean fewer tokens per call and simpler reasoning.</li>
<li><strong>Code-mode subprocess loops.</strong> Uber reports 50–71% token savings on trivial queries, roughly 100% on wide result sets, and 90%+ on bulk workloads by streaming results through subprocess-style loops instead of large context dumps.</li>
</ul>
<p>The lesson is that efficiency is an architecture decision, not a rounding detail. Routing and caching choices routinely produce savings well above an order of magnitude on the widest workloads, which is what makes it viable to run thousands of agent workflow invocations per day.</p>
<h2 id="human-versus-agent-who-owns-intent-acceptance-and-evidence">Human versus Agent: Who Owns Intent, Acceptance, and Evidence</h2>
<p>It is tempting to conclude that &ldquo;the factory is autonomous, so humans are out.&rdquo; The successful implementations say the opposite. Across the reference project, Atlassian, and TrueFoundry, the split is consistent: <strong>humans own intent, acceptance criteria, governance, and evidence review; agents own planning, retrieval, synthesis, formatting, and execution.</strong></p>
<p>Engineers define the problem, set the acceptance criteria, govern access and policy, and review the evidence an agent produces. Agents execute within those constraints. This is precisely why the trust numbers matter: because only 29% of developers trust AI accuracy, the factory must produce evidence — test results, diffs, acceptance checkpoints — that a human can verify. Code owning the graph makes that possible, because each step&rsquo;s acceptance is defined and checkable, not a judgment call buried in prose.</p>
<p>As TrueFoundry frames it, engineers define intent, acceptance criteria, govern access, and review evidence — while the agent-native system does more planning, implementation, testing, and review. The factory is not replacing judgment; it is industrializing the execution side of judgment.</p>
<h2 id="common-pitfalls-and-how-to-avoid-them">Common Pitfalls and How to Avoid Them</h2>
<ul>
<li><strong>Leaving control in the prompt.</strong> The most common failure is letting the agent decide sequencing and success. Fix: move the graph into deterministic Python and treat the agent as a bounded node.</li>
<li><strong>Untracked prompts.</strong> If prompting changes are not versioned, you cannot reproduce a result or review a regression. Fix: keep prompts in <code>adw_data/prompt_engineering/</code> as data.</li>
<li><strong>Over-engineering the factory.</strong> Adding an ingest endpoint or external orchestration dependencies breaks the &ldquo;stamp into any repo&rdquo; property. Fix: use the query-as-state design and stay self-contained.</li>
<li><strong>Claiming autonomy you do not have.</strong> Presenting &ldquo;attributed to agents&rdquo; as unreviewed automation undercuts the trust the whole model depends on. Fix: keep human acceptance in the loop and say so.</li>
<li><strong>Ignoring cost per iteration.</strong> A workflow that costs too much per run gets abandoned. Fix: apply model routing, caching, and lean schemas from day one.</li>
</ul>
<h2 id="getting-started-your-first-repeatable-software-factory-workflow">Getting Started: Your First Repeatable Software-Factory Workflow</h2>
<ol>
<li><strong>Pick one boring, repeated task.</strong> Choose a workflow your team runs constantly — plan a feature, scaffold a module, run a test suite, write docs — not the most ambitious thing you can think of.</li>
<li><strong>Write the Python control plane first.</strong> Define the steps, ordering, retries, and acceptance checks before you think about prompts.</li>
<li><strong>Bound the agent.</strong> Give the agent a narrow role within one step and make its output plug into a checkable acceptance gate.</li>
<li><strong>Stamp the layout.</strong> Create <code>adws/</code>, <code>adw_data/prompt_engineering/</code>, and <code>sssf.config.yaml</code> in the target repo.</li>
<li><strong>Package the thin skill.</strong> Write a discoverable SKILL.md that points to the full factory detail.</li>
<li><strong>Add cost controls.</strong> Route models per step, cache prompts, and keep tool schemas lean.</li>
<li><strong>Iterate on evidence.</strong> Run it, review the test results and diffs, tighten acceptance, and reversion the workflow.</li>
</ol>
<p>You do not need a platform or special infrastructure to start. The super simple software factory is deliberately a single skill you can stamp into any repository today, with deterministic code doing the deciding and agents doing the proposing.</p>
<h2 id="faq">FAQ</h2>
<p><strong>What is a software factory agent skill?</strong>
A software factory agent skill is a named, reusable package that combines deterministic Python orchestration, tracked prompts, and bounded AI agents into one repo-stamped capability. It turns a repeated software task into a workflow any team can run with predictable results.</p>
<p><strong>Why does deterministic code matter more than the AI model?</strong>
Because consistency, not peak cleverness, is what makes workflows scalable. If each agent run produces a different plan and quality bar, you cannot build on it. Moving the control plane into versioned, testable Python guarantees repeatable sequencing, retries, and acceptance — so results hold even when the model changes.</p>
<p><strong>How many real teams are actually running these factories?</strong>
The signals are strong: Uber attributes 70%+ of PRs to agents with 3,600+ built skills; Gartner says 93% of IT leaders plan autonomous agents within two years; and Anthropic&rsquo;s skills pattern reached roughly 176K GitHub stars by mid-2026.</p>
<p><strong>Do agents replace human engineers in a software factory?</strong>
No. Humans own intent, acceptance criteria, governance, and evidence review; agents own planning, synthesis, formatting, and execution. Because only 29% of developers trust AI accuracy, human review of evidence is the load-bearing part of the model.</p>
<p><strong>Can I start a software factory without buying infrastructure?</strong>
Yes. The super simple factory is a single skill stamped into any repository — deterministic Python modules, tracked prompts, and one config file. You need no separate orchestration platform or ingest endpoint to begin.</p>
]]></content:encoded></item></channel></rss>