code-agent-patterns · git:20260821.05c0d52 · 2026-08-21 · sha256 6e4e0db9b744a84c
code-agent-patterns git:20260821.05c0d52A
Immutable. This exact content is served forever at /api/v1/blob/6e4e0db9b744a84c.
--- name: "code-agent-patterns" description: >- Use when building autonomous code editing, bug fixing, or software engineering agents. Keywords: SWE-agent, code agent, bug localization, patch generation, AST, diff, TDD loop, repository indexing. --- # Autonomous Code Agent Patterns ## Overview The `code-agent-patterns` skill provides a standardized architectural framework for building, maintaining, and scaling autonomous Software Engineering (SWE) agents. It focuses on reliability, precision, and contextual awareness, drawing heavily from industry benchmarks like SWE-Bench and modern LLM-driven development tools. ## When To Use - Implementing autonomous code editing agents. - Designing specialized agents for bug localization or patch generation. - Orchestrating multi-agent systems for code review or testing. - Building tools that need to interface with existing large codebases. ## Core Patterns ### 1. Minimal Context Assembly Avoid dumping the entire repository into the LLM context. Instead: - Use dependency graph analysis to identify "impact zones." - Implement "Breadth-First Context Discovery" (start with high-level symbols, drill down only when necessary). - Support dynamic file inclusion based on the specific task (e.g., test files, related interfaces). ### 2. Symbol-Level Repository Indexing Build a robust index that enables the agent to navigate the codebase as a human developer would: - **Symbol Maps**: Index classes, functions, and interfaces along with their file locations. - **Call Graphs**: Track function calls and dependencies to understand side effects. - **AST Analysis**: Utilize Abstract Syntax Tree (AST) parsing to ensure structural awareness during code modifications. ### 3. Unified Diff & Search-Replace Patching To minimize hallucination and merge conflicts: - Prefer "Search-Replace" blocks over entire file rewrites. - Validate that the "Search" block matches exact file content before applying the "Replace" content. - Use unified diffs as a secondary representation for human review. ## TDD Fix Loop Workflow Agents must follow a strict "Red-Green-Refactor" loop for any bug fix: 1. **Reproduce**: Write a test case that captures the reported bug (assert failure). 2. **Localize**: Identify the source using logs, stack traces, or symbol-level search. 3. **Patch**: Apply minimal code changes to satisfy the failing test. 4. **Verify**: Run the test suite. 5. **Rollback**: If tests fail after patching, discard changes and restart the process. ## Multi-Agent Coding Triad To ensure high-quality output, structure teams as: - **Coder**: Responsible for reading the codebase and proposing patches. - **Code Reviewer**: Audits patches for logic errors, style violations, and architecture alignment. - **Test Engineer**: Manages test execution and ensures sufficient coverage for the change. ## Patch Validation Pipeline Every proposed change must survive an automated gauntlet: 1. **Syntax Check**: Ensure the code is parsable. 2. **Type Check**: Validate against TypeScript/Python type definitions. 3. **Unit Tests**: Pass local unit tests. 4. **Lint**: Adhere to project linting standards. 5. **Security Scan**: Check against common patterns like OWASP Top 10. ## SWE-Bench Lessons - **Mitigation Strategy**: The most common failure mode is "blind editing" without understanding global constraints. Ensure agents have access to `ADR` (Architecture Decision Records). - **Hard Fixes**: Avoid over-complex regex. Use AST-based transformations whenever possible. - **Context Drift**: Periodically refresh context maps when making many changes in a single session. ## References - [SWE-Bench](https://www.swebench.com/) - [KILO-KIT Documentation](https://github.com/vodailoc/KILO-KIT) - [Aider: AI Pair Programming](https://aider.chat/)