ramirocerda

How I work with AI agents

Card Loop Pipeline

This is how I iterate with AI agents: each card moves through seven connected stages. The loop alternates between autonomous phases and human decision points.

  1. 01. Triage — Pick up + classify

    A card is picked up from the backlog in To Do. The loop triggers automatically when a card with the agent:loop label enters the right state. Classifies task type and assigns priority.

  2. 02. card-start — Worktree + branch

    Creates an isolated worktree with its own branch from the Jira card. Resolves the repo and base branch from the card's labels. Ready to work without touching the main checkout.

  3. 03. SDD auto — Explore → Spec → Design → Tasks

    Full 5-phase pipeline: Explore (context), Propose (intent), Spec (requirements + scenarios), Design (technical architecture), Tasks (breakdown). All generated by agents before touching code.

    Human-in-the-loop
  4. 04. card-review — Pre-PR 4R review

    Pre-PR review using the four 4R lenses (Requirements, Reliability, Readability, Risk). Report-only: catches issues before opening the PR. Optionally simplifies code if requested.

  5. 05. card-pr — Open PR

    Pushes the branch and opens the GitHub PR. Does not merge — leaves the diff ready for the adversarial review in the next step.

  6. 06. Judgment Day — Dual blind review

    Blind adversarial review: two agents review the diff independently, compare findings, and deliver a verdict. If issues are found, it loops back to SDD for fixes + re-judgment (max 2 rounds).

    Human-in-the-loop
  7. 07. Partners / Slack — Code Review + notify

    The card moves to Partners/Code Review in Jira and a single Slack notice goes to the backend or frontend channel. Merge is human — the loop never auto-merges.

Legend

Autonomous (forward)
Fix / iteration (return)
Human-in-the-loop

The pipeline ends when card-pr publishes the PR, Judgment Day returns a clean verdict, and the Partners channel receives the notification. No auto-merge: the final decision is always human.

Want to see it in action on a real project?

Browse projects