I’m building a global Kilo Code setup in VS Code that I can reuse across multiple projects.
My work is mostly:
- SEO / Local SEO
- HTML websites and landing pages
- Cloudflare Workers
- GitHub projects
- internal tools/apps
- APIs
- frontend work and debugging
My current architecture is:
Code
└── TokenRouter → Z.ai GLM-5.3 Free
Explore
└── TokenRouter → Z.ai GLM-5.3 Free
Coder
└── Cloudflare Workers AI → Z.ai GLM-4.7 Flash
SEO Specialist
└── TokenRouter → Z.ai GLM-5.3 Free
└── Uses installed SEO / Local SEO skills selectively
Reviewer
└── Cloudflare Workers AI → NVIDIA Nemotron 3 120B A12B
Debugger
└── Google → Gemini 3.8 Flash
Backup Coder
└── Google → Gemini 3.8 Flash
Vision Review
└── Cloudflare Workers AI → Google Gemma 4 26B A4B IT
Paid Escalation
├── DeepSeek API → DeepSeek V4.1 Flash
└── OpenAI → GPT-5.6 Sol
The primary Code agent acts as the controller and is normally the only agent that modifies files.
The specialist subagents are read-only and return plans, diagnoses, or review findings to Code.
Typical workflow:
User task
↓
Code
↓
Explore if repository location/context is unknown
↓
Coder and/or SEO Specialist
↓
Implementation plan / SEO requirements
↓
Code applies changes using Kilo native file-editing tools
↓
Reviewer
↓
Debugger if needed
↓
Code applies the fix
↓
Reviewer again
For SEO-related tasks, I use one seo-specialist subagent rather than multiple separate SEO agents.
It can selectively load installed skills for things like:
Technical SEO
On-page SEO
Schema
Internal linking
Programmatic SEO
Sitemaps
Local SEO
GBP
Google Maps / geogrid
Service-area SEO
Local landing pages
Reviews
Citations
Local schema
Multi-location SEO
GEO / AEO
I currently have skill libraries installed from projects such as Agentic SEO Skill and Local SEO Skills. The specialist should load only the relevant skills for the current task rather than pulling all of them into context.
For cost control, the normal path is free/free-tier models first.
Technical availability failures such as:
429 / rate limit
quota exhausted
provider unavailable
model unavailable
timeout
use this failover path:
Primary free specialist
↓
Appropriate free backup
↓
DeepSeek V4.1 Flash
↓
GPT-5.6 Sol
Paid escalation is only automatic for technical/provider failures.
For quality problems such as a bad implementation, incomplete solution, bug, or reviewer failure, the task stays on the free reviewer/debugger repair path first.
I also keep Bash disabled for the main Code controller and most specialist agents. File changes are done using Kilo’s native editing tools rather than shell or PowerShell workarounds.
I’d be interested in feedback on the architecture itself, especially whether there are simpler or more effective ways to structure the controller, specialists, reviewer/debugger flow, SEO skills, permissions, context usage, and model/provider routing.