new-agent
You MUST use the new-agent skill when asked to add a implement a agent in lanes.
Codex 또는 Claude로 설치 이 Prompt를 복사해 Codex, Claude 또는 다른 어시스턴트에 붙여 넣으면 Skill 페이지를 검토하고 설치를 진행할 수 있습니다.
메뉴
You MUST use the new-agent skill when asked to add a implement a agent in lanes.
Codex 또는 Claude로 설치 이 Prompt를 복사해 Codex, Claude 또는 다른 어시스턴트에 붙여 넣으면 Skill 페이지를 검토하고 설치를 진행할 수 있습니다.
SOC 직업 분류 기준
| 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