🤯
My AI Coding Workflow (Original) I spent the last week going deep with Gemini 3 and Claude Opus. The goal wasn’t to write code faster. It was to find a workflow that handles complex architecture without falling apart.
If you’ve been paying attention to AI coding assistants, you know things change every week. This workflow uses Gemini 3 and Claude Opus 4.5 inside Google Antigravity.
Why this stack? The Antigravity Pro plan has generous limits that are hard to beat. Getting comparable limits with Claude Opus directly would mean a $100/month Claude Code plan. But beyond the cost (though we all love saving money), it’s about using the right tool for the job.
Claude is better at reasoning and architecture. Gemini has a massive context window that’s great for execution. I built a workflow around both.
Orchestration
Most people just ask the AI to “write a snake game.” That works for demos. But for real production software, you need a pipeline.
My workflow looks like this:
graph TD
A[Start] --> B["Claude Opus 4.5: Research & Architecture"]
B --> C["Technical Document (~3800 lines)"]
C --> D[Split into Milestones]
D --> E["Claude Opus: Generate Prompts per Milestone"]
subgraph Execution Loop
E --> F["Gemini 3: First Pass (Code & Tests)"]
F --> G["Claude Opus: Review & Refine Code"]
G --> I["Claude Opus: Update Docs"]
I --> J["Gemini Flash: Commit Code"]
end
J --> K{"More Milestones?"}
K -- Yes --> L["Fresh Context Window"]
L --> E
K -- No --> M[Done]
Let me break it down.
1. Architecture (Claude Opus)
I start with Claude Opus 4.5 to build a technical architecture document. This isn’t a brief summary. In my recent project this markdown file grew to around 3800 lines.
Use “skills” for niche topics where general models might struggle or hallucinate.
For example, Swift concurrency is a fairly new topic and very few people (or models) really know how to get it right. Injecting specific domain knowledge via skills makes sure the foundation is solid before a single line of code is written.
2. Divide and conquer
You can’t just feed thousands of lines of specs into a coding task and expect perfection. I split the massive document into smaller milestone documents.
Each milestone doc contains all the necessary information for that step but zero noise related to future milestones. This keeps the model focused.
3. Prompt engineering
I don’t write the prompts for the coding agent myself. I ask Claude Opus to build the AI prompts for each milestone. I explicitly ask it to reference the correct milestone doc we just created.
I feed it the prompt and the milestone doc and let it code. I also instruct it to write a lot of tests. The large context window means it can keep the entire current state of the project in mind without getting confused.
5. Review and refine (Claude Opus)
This is the most important step. On task completion, I don’t ask Gemini to fix its own bugs. I bring Claude Opus back in.
I ask Opus to review the code against the milestone and prompt. It finds the subtle bugs and architectural drifts. I let Opus do the actual coding to fix these issues and finalize the implementation.
6. Documentation and commit
Once Claude finishes the coding, I have it update the documentation and any README files to reflect the changes. Then I let Gemini Flash handle the git operations to commit the code.
7. Clean slate
Then I start a fresh conversation window for the next milestone. I give Gemini 3 the new prompt and the next milestone doc. This prevents context pollution from previous milestones and keeps the model focused on the current task.
Why this works
It turns coding into a management role. You are orchestrating expert agents:
- The Architect (Opus) takes care of correctness and structure.
- The Engineer (Gemini) churns out code and tests with deep context.
- The Reviewer (Opus) catches the mistakes.
If you are using one model for everything, you are missing out on what happens when you combine their strengths. Give this workflow a shot on your next feature.
I spent the last week going deep with Gemini 3 and Claude Opus. The goal wasn’t to write code faster. It was to find a workflow that handles complex architecture without falling apart.
If you’ve been paying attention to AI coding assistants, you know things change every week. This workflow uses Gemini 3 and Claude Opus 4.5 inside Google Antigravity.
Why this stack? The Antigravity Pro plan has generous limits that are hard to beat. Getting comparable limits with Claude Opus directly would mean a $100/month Claude Code plan. But beyond the cost (though we all love saving money), it’s about using the right tool for the job.
Claude is better at reasoning and architecture. Gemini has a massive context window that’s great for execution. I built a workflow around both.
Orchestration
Most people just ask the AI to “write a snake game.” That works for demos. But for real production software, you need a pipeline.
My workflow looks like this:
graph TD
A[Start] --> B["Claude Opus 4.5: Research & Architecture"]
B --> C["Technical Document (~3800 lines)"]
C --> D[Split into Milestones]
D --> E["Claude Opus: Generate Prompts per Milestone"]
subgraph Execution Loop
E --> F["Gemini 3: First Pass (Code & Tests)"]
F --> G["Claude Opus: Review & Refine Code"]
G --> I["Claude Opus: Update Docs"]
I --> J["Gemini Flash: Commit Code"]
end
J --> K{"More Milestones?"}
K -- Yes --> L["Fresh Context Window"]
L --> E
K -- No --> M[Done]
Let me break it down.
1. Architecture (Claude Opus)
I start with Claude Opus 4.5 to build a technical architecture document. This isn’t a brief summary. In my recent project this markdown file grew to around 3800 lines.
Use “skills” for niche topics where general models might struggle or hallucinate.
For example, Swift concurrency is a fairly new topic and very few people (or models) really know how to get it right. Injecting specific domain knowledge via skills makes sure the foundation is solid before a single line of code is written.
2. Divide and conquer
You can’t just feed thousands of lines of specs into a coding task and expect perfection. I split the massive document into smaller milestone documents.
Each milestone doc contains all the necessary information for that step but zero noise related to future milestones. This keeps the model focused.
3. Prompt engineering
I don’t write the prompts for the coding agent myself. I ask Claude Opus to build the AI prompts for each milestone. I explicitly ask it to reference the correct milestone doc we just created.
I feed it the prompt and the milestone doc and let it code. I also instruct it to write a lot of tests. The large context window means it can keep the entire current state of the project in mind without getting confused.
5. Review and refine (Claude Opus)
This is the most important step. On task completion, I don’t ask Gemini to fix its own bugs. I bring Claude Opus back in.
I ask Opus to review the code against the milestone and prompt. It finds the subtle bugs and architectural drifts. I let Opus do the actual coding to fix these issues and finalize the implementation.
6. Documentation and commit
Once Claude finishes the coding, I have it update the documentation and any README files to reflect the changes. Then I let Gemini Flash handle the git operations to commit the code.
7. Clean slate
Then I start a fresh conversation window for the next milestone. I give Gemini 3 the new prompt and the next milestone doc. This prevents context pollution from previous milestones and keeps the model focused on the current task.
Why this works
It turns coding into a management role. You are orchestrating expert agents:
- The Architect (Opus) takes care of correctness and structure.
- The Engineer (Gemini) churns out code and tests with deep context.
- The Reviewer (Opus) catches the mistakes.
If you are using one model for everything, you are missing out on what happens when you combine their strengths. Give this workflow a shot on your next feature.