new-agent
You MUST use the new-agent skill when asked to add a implement a agent in lanes.
Install with Codex or Claude Copy this prompt, paste it into Codex, Claude, or another assistant, and let it review the skill page and install it for you.
Menu
You MUST use the new-agent skill when asked to add a implement a agent in lanes.
Install with Codex or Claude Copy this prompt, paste it into Codex, Claude, or another assistant, and let it review the skill page and install it for you.
Based on SOC occupation classification
| name | new-agent |
| description | You MUST use the new-agent skill when asked to add a implement a agent in lanes. |
You are implementing a new code agent backend for the Lanes VS Code extension.
When implementing new agents DO NOT add agent specific logic to any files outside of the src/codeAgents/<ClassName>.ts files.
Ask the user for:
aiderAideraider.aiderAlso determine these behavioral traits:
captureSessionId() — use CodexAgent.ts as reference.cli 'prompt') or stdin?-c overrides?--yes, --yolo, --bypass)--resume? What format?Read these files to understand the current abstract contract:
src/codeAgents/CodeAgent.ts — the abstract base class defines all required and optional methods, interfaces, and types. This is the source of truth for what must be implemented.ClaudeCodeAgent.tsCodexAgent.tsGeminiAgent.tsCortexCodeAgent.tsCreate src/codeAgents/<ClassName>.ts using the reference agent from Step 1 as a template. Implement every abstract method from CodeAgent.ts and override optional base class methods as needed based on the agent's capabilities.
src/codeAgents/factory.ts): add import and entry to agentConstructors mapsrc/codeAgents/index.ts): add export for the new classpackage.json): add to lanes.defaultAgent enum and enumDescriptionsNo UI changes are needed — the dropdown derives from getAvailableAgents() + getAgent() automatically.
Create src/test/codeAgents/<name>-agent.test.ts following the pattern in an existing test file (e.g. gemini-agent.test.ts). Cover: config values, command building, session/status parsing, permission modes, terminal config, hooks, and MCP.
sessionFileExtension MUST be .claude-session and statusFileExtension MUST be .claude-status — all agents share these filenames and existing sessions depend on them.npm run compile — no TypeScript errorsnpm run lint — no lint errorsnpm test — all tests pass