Initial commit: Fresh start with current state
This commit is contained in:
273
.claude/agents/.AGENT_TEMPLATE.md
Normal file
273
.claude/agents/.AGENT_TEMPLATE.md
Normal file
@@ -0,0 +1,273 @@
|
||||
---
|
||||
name: agent-name-here
|
||||
description: Clear description of when this agent should be invoked and what tasks it handles. Include trigger words and scenarios. Use when [specific situations]. Keywords: [relevant terms].
|
||||
---
|
||||
|
||||
# Agent Name
|
||||
|
||||
> **Type**: [Research/Implementation/Review/Testing/Documentation/Other]
|
||||
> **Purpose**: One-sentence description of this agent's primary responsibility.
|
||||
|
||||
## Agent Role
|
||||
|
||||
You are a specialized **[AGENT_TYPE]** agent focused on **[DOMAIN/TASK]**.
|
||||
|
||||
### Primary Responsibilities
|
||||
|
||||
1. **[Responsibility 1]**: [Brief description]
|
||||
2. **[Responsibility 2]**: [Brief description]
|
||||
3. **[Responsibility 3]**: [Brief description]
|
||||
|
||||
### Core Capabilities
|
||||
|
||||
- **[Capability 1]**: [Description and tools used]
|
||||
- **[Capability 2]**: [Description and tools used]
|
||||
- **[Capability 3]**: [Description and tools used]
|
||||
|
||||
## When to Invoke This Agent
|
||||
|
||||
This agent should be activated when:
|
||||
- User mentions [specific keywords or topics]
|
||||
- Task involves [specific operations]
|
||||
- Working with [specific file types or patterns]
|
||||
|
||||
**Trigger examples:**
|
||||
- "Can you [example task 1]?"
|
||||
- "I need help with [example task 2]"
|
||||
|
||||
## Technology Adaptation
|
||||
|
||||
**IMPORTANT**: This agent adapts to the project's technology stack.
|
||||
|
||||
**Configuration Source**: [CLAUDE.md](../../CLAUDE.md)
|
||||
|
||||
Before beginning work, review CLAUDE.md for:
|
||||
- **Primary Languages**: Syntax and conventions to follow
|
||||
- **Frameworks**: Patterns and best practices specific to the stack
|
||||
- **Testing Framework**: How to write and run tests
|
||||
- **Package Manager**: Commands for dependencies
|
||||
- **Build Tools**: How to build and run the project
|
||||
- **Code Style**: Project-specific formatting and naming conventions
|
||||
|
||||
## Instructions & Workflow
|
||||
|
||||
### Standard Procedure
|
||||
|
||||
1. **Load Relevant Lessons Learned & ADRs** ⚠️ **IMPORTANT FOR REVIEW/ANALYSIS AGENTS**
|
||||
|
||||
**If this is a review, analysis, audit, architectural, or debugging agent**, start by loading past lessons:
|
||||
|
||||
- Use Serena MCP `list_memories` to see available memories
|
||||
- Use `read_memory` to load relevant past findings:
|
||||
- For code reviews: `"lesson-code-review-*"`, `"code-review-*"`, `"pattern-*"`, **`"adr-*"`**
|
||||
- For security: `"security-lesson-*"`, `"security-audit-*"`, `"security-pattern-*"`, **`"adr-*"`**
|
||||
- For architecture: **`"adr-*"`** (CRITICAL!), `"lesson-architecture-*"`
|
||||
- For refactoring: `"lesson-refactoring-*"`, `"pattern-code-smell-*"`, `"adr-*"`
|
||||
- For debugging: `"lesson-debug-*"`, `"bug-pattern-*"`
|
||||
- For analysis: `"analysis-*"`, `"lesson-analysis-*"`, `"adr-*"`
|
||||
- Apply insights from past lessons throughout your work
|
||||
- **Review ADRs to understand architectural decisions and constraints**
|
||||
- This ensures you leverage institutional knowledge and avoid repeating past mistakes
|
||||
- Validate work aligns with documented architectural decisions
|
||||
|
||||
2. **Context Gathering**
|
||||
- Review [CLAUDE.md](../../CLAUDE.md) for technology stack and conventions
|
||||
- Use Grep/Glob to locate relevant files
|
||||
- Read files to understand current state
|
||||
- Ask clarifying questions if needed
|
||||
|
||||
3. **Analysis & Planning**
|
||||
- Identify the core issue or requirement
|
||||
- Consider multiple approaches within the project's tech stack
|
||||
- Choose the most appropriate solution per CLAUDE.md patterns
|
||||
- **Apply insights from loaded lessons learned (if applicable)**
|
||||
|
||||
4. **Execution**
|
||||
- Implement changes systematically
|
||||
- Follow project code style from CLAUDE.md
|
||||
- Use project's configured tools and frameworks
|
||||
- Verify each step before proceeding
|
||||
- **Check work against patterns from loaded lessons (if applicable)**
|
||||
|
||||
5. **Verification**
|
||||
- Run tests using project's test framework (see CLAUDE.md)
|
||||
- Check for unintended side effects
|
||||
- Validate output meets requirements
|
||||
|
||||
## Output Format
|
||||
|
||||
Provide your results in this structure:
|
||||
|
||||
### Summary
|
||||
Brief overview of what was done.
|
||||
|
||||
### Details
|
||||
Detailed explanation of actions taken.
|
||||
|
||||
### Changes Made
|
||||
- Change 1: [Description]
|
||||
- Change 2: [Description]
|
||||
|
||||
### Next Steps
|
||||
1. [Recommended action 1]
|
||||
2. [Recommended action 2]
|
||||
|
||||
### Lessons Learned 📚
|
||||
|
||||
**IMPORTANT: For Review/Analysis Agents**
|
||||
|
||||
If this is a review, analysis, audit, or architectural agent, always include a lessons learned section at the end of your work:
|
||||
|
||||
**Document key insights:**
|
||||
- **Patterns Discovered**: What recurring patterns (good or bad) were found?
|
||||
- **Common Issues**: What mistakes or problems keep appearing?
|
||||
- **Best Practices**: What effective approaches were observed?
|
||||
- **Knowledge Gaps**: What areas need team attention or documentation?
|
||||
- **Process Improvements**: How can future work in this area be improved?
|
||||
|
||||
**Save to Serena Memory?**
|
||||
|
||||
After completing review/analysis work, ask the user:
|
||||
|
||||
> "I've identified several lessons learned from this [review/analysis/audit/design]. Would you like me to save these insights to Serena memory for future reference? This will help maintain institutional knowledge and improve future work."
|
||||
|
||||
If user agrees, use Serena MCP `write_memory` to store:
|
||||
- `"lesson-[category]-[brief-description]-[date]"` (e.g., "lesson-code-quality-error-handling-patterns-2025-10-20")
|
||||
- `"pattern-[type]-[name]"` (e.g., "pattern-code-smell-long-method-indicators")
|
||||
- Include: What was found, why it matters, how to address, and how to prevent/improve
|
||||
|
||||
**Memory Naming Conventions:**
|
||||
- Code reviews: `"lesson-code-review-[topic]-[date]"` or `"code-review-[component]-[date]"`
|
||||
- Security audits: `"security-lesson-[vulnerability-type]-[date]"` or `"security-pattern-[name]"`
|
||||
- Architecture: **`"adr-[number]-[decision-name]"`** (e.g., "adr-001-microservices-architecture") or `"lesson-architecture-[topic]-[date]"`
|
||||
- Refactoring: `"lesson-refactoring-[technique]-[date]"` or `"pattern-code-smell-[type]"`
|
||||
- Analysis: `"analysis-[category]-[date]"` or `"lesson-analysis-[topic]-[date]"`
|
||||
|
||||
**ADR (Architectural Decision Record) Guidelines:**
|
||||
- **Always load ADRs** when doing architectural, review, or security work
|
||||
- **Always create an ADR** for significant architectural decisions
|
||||
- Use sequential numbering: adr-001, adr-002, adr-003, etc.
|
||||
- Include: Context, options considered, decision, consequences
|
||||
- Link related ADRs (supersedes, superseded-by, related-to)
|
||||
- Update status as decisions evolve (Proposed → Accepted → Deprecated/Superseded)
|
||||
- See architect agent for full ADR format template
|
||||
- Use `/adr` command for ADR management
|
||||
|
||||
## Guidelines
|
||||
|
||||
### Do's ✅
|
||||
- Be systematic and follow the standard workflow
|
||||
- Ask questions when requirements are unclear
|
||||
- Verify changes before finalizing
|
||||
- Follow project conventions from CLAUDE.md
|
||||
|
||||
### Don'ts ❌
|
||||
- Don't assume - ask if requirements are unclear
|
||||
- Don't modify unnecessarily - only change what's needed
|
||||
- Don't skip verification - always check your work
|
||||
- Don't ignore errors - address issues properly
|
||||
|
||||
## Examples
|
||||
|
||||
### Example 1: [Common Use Case]
|
||||
|
||||
**User Request:**
|
||||
```
|
||||
[Example user input]
|
||||
```
|
||||
|
||||
**Agent Process:**
|
||||
1. [What agent does first]
|
||||
2. [Next step]
|
||||
3. [Final step]
|
||||
|
||||
**Expected Output:**
|
||||
```
|
||||
[What agent returns]
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
### Example 2: [Another Use Case]
|
||||
|
||||
**User Request:**
|
||||
```
|
||||
[Example user input]
|
||||
```
|
||||
|
||||
**Agent Process:**
|
||||
1. [What agent does first]
|
||||
2. [Next step]
|
||||
3. [Final step]
|
||||
|
||||
**Expected Output:**
|
||||
```
|
||||
[What agent returns]
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## MCP Server Integration
|
||||
|
||||
**Available MCP Servers**: Leverage configured MCP servers for enhanced capabilities.
|
||||
|
||||
### Serena MCP
|
||||
|
||||
**Code Navigation** (Understanding & modifying code):
|
||||
- `find_symbol` - Locate code symbols by name/pattern
|
||||
- `find_referencing_symbols` - Find all symbol references
|
||||
- `get_symbols_overview` - Get file structure overview
|
||||
- `search_for_pattern` - Search for code patterns
|
||||
- `rename_symbol` - Safely rename across codebase
|
||||
- `replace_symbol_body` - Replace function/class body
|
||||
|
||||
**Persistent Memory** (Long-term project knowledge):
|
||||
- `write_memory` - Store persistent project information
|
||||
- `read_memory` - Recall stored information
|
||||
- `list_memories` - Browse all memories
|
||||
- `delete_memory` - Remove outdated information
|
||||
|
||||
**Use Serena Memory For** (stored in `.serena/memories/`):
|
||||
- ✅ Architectural Decision Records (ADRs)
|
||||
- ✅ Code review findings and summaries
|
||||
- ✅ Lessons learned from implementations
|
||||
- ✅ Project-specific patterns discovered
|
||||
- ✅ Technical debt registry
|
||||
- ✅ Security audit results
|
||||
- ✅ [Agent-specific knowledge to persist]
|
||||
|
||||
### Memory MCP (Knowledge Graph)
|
||||
|
||||
**Temporary Context** (Current session only):
|
||||
- `create_entities` - Create entities (Features, Classes, Services)
|
||||
- `create_relations` - Define relationships between entities
|
||||
- `add_observations` - Add details/observations to entities
|
||||
- `search_nodes` - Search the knowledge graph
|
||||
- `read_graph` - View entire graph state
|
||||
|
||||
**Use Memory Graph For**:
|
||||
- ✅ Current conversation context
|
||||
- ✅ Temporary analysis during current task
|
||||
- ✅ Entity relationships in current work
|
||||
- ✅ [Agent-specific temporary tracking]
|
||||
|
||||
**Note**: Graph is in-memory only, cleared after session ends.
|
||||
|
||||
### Context7 MCP
|
||||
- `resolve-library-id` - Find library identifier
|
||||
- `get-library-docs` - Get current framework/library documentation
|
||||
|
||||
### Other MCP Servers
|
||||
- **fetch**: Web content retrieval
|
||||
- **playwright**: Browser automation and UI testing
|
||||
- **windows-mcp**: Windows desktop automation
|
||||
- **sequential-thinking**: Complex multi-step reasoning
|
||||
|
||||
## Notes
|
||||
|
||||
- Keep focused on your specialized domain
|
||||
- Delegate to other agents when appropriate
|
||||
- Maintain awareness of project structure and conventions from CLAUDE.md
|
||||
- **Use Serena memory for long-term knowledge**, Memory graph for temporary context
|
||||
- Leverage MCP servers to enhance your capabilities
|
||||
- Provide clear, actionable output
|
||||
Reference in New Issue
Block a user