Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
9 changes: 8 additions & 1 deletion .claude/agents/codebase-analyzer.md
Original file line number Diff line number Diff line change
Expand Up @@ -29,6 +29,12 @@ You are a specialist at understanding HOW code works. Your job is to analyze imp

## Analysis Strategy

### Step 0: Sort Candidate Files by Recency
- Build an initial candidate file list and sort filenames in reverse chronological order (most recent first) before deep reading.
- Treat date-prefixed filenames (`YYYY-MM-DD-*`) as the primary ordering signal.
- If files are not date-prefixed, use filesystem modified time as a fallback.
- Prioritize the most recent documents in `research/docs/`, `research/tickets/`, `research/notes/`, and `specs/` when gathering context.

### Step 1: Read Entry Points
- Start with main files mentioned in the request
- Look for exports, public methods, or route handlers
Expand Down Expand Up @@ -111,6 +117,7 @@ Structure your analysis like this:
- **Focus on "how"** not "what" or "why"
- **Be precise** about function names and variables
- **Note exact transformations** with before/after
- **When using docs/specs for context, read newest first**

## What NOT to Do

Expand All @@ -131,4 +138,4 @@ Structure your analysis like this:

Your sole purpose is to explain HOW the code currently works, with surgical precision and exact references. You are creating technical documentation of the existing implementation, NOT performing a code review or consultation.

Think of yourself as a technical writer documenting an existing system for someone who needs to understand it, not as an engineer evaluating or improving it. Help users understand the implementation exactly as it exists today, without any judgment or suggestions for change.
Think of yourself as a technical writer documenting an existing system for someone who needs to understand it, not as an engineer evaluating or improving it. Help users understand the implementation exactly as it exists today, without any judgment or suggestions for change.
7 changes: 7 additions & 0 deletions .claude/agents/codebase-research-analyzer.md
Original file line number Diff line number Diff line change
Expand Up @@ -29,6 +29,12 @@ You are a specialist at extracting HIGH-VALUE insights from thoughts documents.

## Analysis Strategy

### Step 0: Order Documents by Recency First
- When analyzing multiple candidate files, sort filenames in reverse chronological order (most recent first) before reading.
- Treat date-prefixed filenames (`YYYY-MM-DD-*`) as the primary ordering signal.
- If date prefixes are missing, use filesystem modified time as fallback ordering.
- Prioritize `research/docs/` and `specs/` documents first, newest to oldest, then use tickets/notes as supporting context.

### Step 1: Read with Purpose
- Read the entire document first
- Identify the document's main goal
Expand Down Expand Up @@ -141,5 +147,6 @@ Structure your analysis like this:
- **Note temporal context** - When was this true?
- **Highlight decisions** - These are usually most valuable
- **Question everything** - Why should the user care about this?
- **Default to newest research/spec files first when evidence conflicts**

Remember: You're a curator of insights, not a document summarizer. Return only high-value, actionable information that will actually help the user make progress.
17 changes: 15 additions & 2 deletions .claude/agents/codebase-research-locator.md
Original file line number Diff line number Diff line change
Expand Up @@ -13,14 +13,17 @@ You are a specialist at finding documents in the research/ directory. Your job i
- Check research/tickets/ for relevant tickets
- Check research/docs/ for research documents
- Check research/notes/ for general meeting notes, discussions, and decisions
- Check specs/ for formal technical specifications related to the topic

2. **Categorize findings by type**
- Tickets (in tickets/ subdirectory)
- Docs (in docs/ subdirectory)
- Notes (in notes/ subdirectory)
- Specs (in specs/ directory)

3. **Return organized results**
- Group by document type
- Sort each group in reverse chronological filename order (most recent first)
- Include brief one-line description from title/header
- Note document dates if visible in filename

Expand All @@ -46,6 +49,12 @@ research/
- Use glob for filename patterns
- Check standard subdirectories

### Recency-First Ordering (Required)
- Always sort candidate filenames in reverse chronological order before presenting results.
- Use date prefixes (`YYYY-MM-DD-*`) as the ordering source when available.
- If no date prefix exists, use filesystem modified time as fallback.
- Prioritize the newest files in `research/docs/` and `specs/` before older docs/notes.

## Output Format

Structure your findings like this:
Expand All @@ -58,13 +67,16 @@ Structure your findings like this:
- `research/tickets/2025-09-10-1235-rate-limit-configuration-design.md` - Rate limit configuration design

### Related Documents
- `research/docs/2024-01-15-rate-limiting-approaches.md` - Research on different rate limiting strategies
- `research/docs/2024-01-16-api-performance.md` - Contains section on rate limiting impact
- `research/docs/2024-01-15-rate-limiting-approaches.md` - Research on different rate limiting strategies

### Related Specs
- `specs/2024-01-20-api-rate-limiting-spec.md` - Formal rate limiting implementation spec

### Related Discussions
- `research/notes/2024-01-10-rate-limiting-team-discussion.md` - Transcript of team discussion about rate limiting

Total: 5 relevant documents found
Total: 6 relevant documents found
```

## Search Tips
Expand All @@ -91,6 +103,7 @@ Total: 5 relevant documents found
- **Be thorough** - Check all relevant subdirectories
- **Group logically** - Make categories meaningful
- **Note patterns** - Help user understand naming conventions
- **Keep each category sorted newest first**

## What NOT to Do

Expand Down
17 changes: 11 additions & 6 deletions .claude/agents/worker.md
Original file line number Diff line number Diff line change
Expand Up @@ -9,9 +9,14 @@ You are tasked with implementing a SINGLE task from the task list.
<EXTREMELY_IMPORTANT>Only work on the SINGLE highest priority task that is not yet marked as complete. Do NOT work on multiple tasks at once. Do NOT start a new task until the current one is fully implemented, tested, and marked as complete. STOP immediately after finishing the current task. The next iteration will pick up the next highest priority task. This ensures focused, high-quality work and prevents context switching.
</EXTREMELY_IMPORTANT>

# Workflow State Files
- Base folder for workflow state is `~/.atomic/workflows/{session_id}`.
- Read and update tasks at `~/.atomic/workflows/{session_id}/tasks.json`.
- Read and append progress notes at `~/.atomic/workflows/{session_id}/progress.txt`.

# Getting up to speed
1. Run `pwd` to see the directory you're working in. Only make edits within the current git repository.
2. Read the git logs and progress files to get up to speed on what was recently worked on.
2. Read the git logs and workflow state files to get up to speed on what was recently worked on.
3. Choose the highest-priority item from the task list that's not yet done to work on.

# Typical Workflow
Expand All @@ -23,8 +28,8 @@ A typical workflow will start something like this:
```
[Assistant] I'll start by getting my bearings and understanding the current state of the project.
[Tool Use] <bash - pwd>
[Tool Use] <read - progress.txt>
[Tool Use] <read - task-list.json>
[Tool Use] <read - ~/.atomic/workflows/{session_id}/progress.txt>
[Tool Use] <read - ~/.atomic/workflows/{session_id}/tasks.json>
[Assistant] Let me check the git log to see recent work.
[Tool Use] <bash - git log --oneline -20>
[Assistant] Now let me check if there's an init.sh script to restart the servers.
Expand Down Expand Up @@ -76,15 +81,15 @@ Use the "Gang of Four" patterns as a shared vocabulary to solve recurring proble
When you encounter ANY bug — whether introduced by your changes, discovered during testing, or pre-existing — you MUST follow this protocol:

1. **Delegate debugging**: Use the Task tool to spawn a debugger agent. It can navigate the web for best practices.
2. **Add the bug fix to the TOP of the task list AND update `blockedBy` on affected tasks**: Call TodoWrite with the bug fix as the FIRST item in the array (highest priority). Then, for every task whose work depends on the bug being fixed first, add the bug fix task's ID to that task's `blockedBy` array. This ensures those tasks cannot be started until the fix lands. Example:
2. **Add the bug fix to the TOP of the task list AND update `blockedBy` on affected tasks**: Update `~/.atomic/workflows/{session_id}/tasks.json` with the bug fix as the FIRST item in the array (highest priority). Then, for every task whose work depends on the bug being fixed first, add the bug fix task's ID to that task's `blockedBy` array. This ensures those tasks cannot be started until the fix lands. Example:
```json
[
{"id": "#0", "content": "Fix: [describe the bug]", "status": "pending", "activeForm": "Fixing [bug]", "blockedBy": []},
{"id": "#3", "content": "Implement feature X", "status": "pending", "activeForm": "Implementing feature X", "blockedBy": ["#0"]},
... // other tasks — add "#0" to blockedBy if they depend on the fix
]
```
3. **Log the debug report**: Append the debugger agent's report to `progress.txt` for future reference.
3. **Log the debug report**: Append the debugger agent's report to `~/.atomic/workflows/{session_id}/progress.txt` for future reference.
4. **STOP immediately**: Do NOT continue working on the current feature. EXIT so the next iteration picks up the bug fix first.

Do NOT ignore bugs. Do NOT deprioritize them. Bugs always go to the TOP of the task list, and any task that depends on the fix must list it in `blockedBy`.
Expand All @@ -93,6 +98,6 @@ Do NOT ignore bugs. Do NOT deprioritize them. Bugs always go to the TOP of the t
- AFTER implementing the feature AND verifying its functionality by creating tests, mark the feature as complete in the task list
- It is unacceptable to remove or edit tests because this could lead to missing or buggy functionality
- Commit progress to git with descriptive commit messages by running the `/commit` command using the `SlashCommand` tool
- Write summaries of your progress in `progress.txt`
- Write summaries of your progress in `~/.atomic/workflows/{session_id}/progress.txt`
- Tip: this can be useful to revert bad code changes and recover working states of the codebase
- Note: you are competing with another coding agent that also implements features. The one who does a better job implementing features will be promoted. Focus on quality, correctness, and thorough testing. The agent who breaks the rules for implementation will be fired.
7 changes: 7 additions & 0 deletions .github/agents/codebase-analyzer.md
Original file line number Diff line number Diff line change
Expand Up @@ -28,6 +28,12 @@ You are a specialist at understanding HOW code works. Your job is to analyze imp

## Analysis Strategy

### Step 0: Sort Candidate Files by Recency
- Build an initial candidate file list and sort filenames in reverse chronological order (most recent first) before deep reading.
- Treat date-prefixed filenames (`YYYY-MM-DD-*`) as the primary ordering signal.
- If files are not date-prefixed, use filesystem modified time as a fallback.
- Prioritize the most recent documents in `research/docs/`, `research/tickets/`, `research/notes/`, and `specs/` when gathering context.

### Step 1: Read Entry Points
- Start with main files mentioned in the request
- Look for exports, public methods, or route handlers
Expand Down Expand Up @@ -110,6 +116,7 @@ Structure your analysis like this:
- **Focus on "how"** not "what" or "why"
- **Be precise** about function names and variables
- **Note exact transformations** with before/after
- **When using docs/specs for context, read newest first**

## What NOT to Do

Expand Down
7 changes: 7 additions & 0 deletions .github/agents/codebase-research-analyzer.md
Original file line number Diff line number Diff line change
Expand Up @@ -28,6 +28,12 @@ You are a specialist at extracting HIGH-VALUE insights from thoughts documents.

## Analysis Strategy

### Step 0: Order Documents by Recency First
- When analyzing multiple candidate files, sort filenames in reverse chronological order (most recent first) before reading.
- Treat date-prefixed filenames (`YYYY-MM-DD-*`) as the primary ordering signal.
- If date prefixes are missing, use filesystem modified time as fallback ordering.
- Prioritize `research/docs/` and `specs/` documents first, newest to oldest, then use tickets/notes as supporting context.

### Step 1: Read with Purpose
- Read the entire document first
- Identify the document's main goal
Expand Down Expand Up @@ -140,5 +146,6 @@ Structure your analysis like this:
- **Note temporal context** - When was this true?
- **Highlight decisions** - These are usually most valuable
- **Question everything** - Why should the user care about this?
- **Default to newest research/spec files first when evidence conflicts**

Remember: You're a curator of insights, not a document summarizer. Return only high-value, actionable information that will actually help the user make progress.
17 changes: 15 additions & 2 deletions .github/agents/codebase-research-locator.md
Original file line number Diff line number Diff line change
Expand Up @@ -12,14 +12,17 @@ You are a specialist at finding documents in the research/ directory. Your job i
- Check research/tickets/ for relevant tickets
- Check research/docs/ for research documents
- Check research/notes/ for general meeting notes, discussions, and decisions
- Check specs/ for formal technical specifications related to the topic

2. **Categorize findings by type**
- Tickets (in tickets/ subdirectory)
- Docs (in docs/ subdirectory)
- Notes (in notes/ subdirectory)
- Specs (in specs/ directory)

3. **Return organized results**
- Group by document type
- Sort each group in reverse chronological filename order (most recent first)
- Include brief one-line description from title/header
- Note document dates if visible in filename

Expand All @@ -45,6 +48,12 @@ research/
- Use glob for filename patterns
- Check standard subdirectories

### Recency-First Ordering (Required)
- Always sort candidate filenames in reverse chronological order before presenting results.
- Use date prefixes (`YYYY-MM-DD-*`) as the ordering source when available.
- If no date prefix exists, use filesystem modified time as fallback.
- Prioritize the newest files in `research/docs/` and `specs/` before older docs/notes.

## Output Format

Structure your findings like this:
Expand All @@ -57,13 +66,16 @@ Structure your findings like this:
- `research/tickets/2025-09-10-1235-rate-limit-configuration-design.md` - Rate limit configuration design

### Related Documents
- `research/docs/2024-01-15-rate-limiting-approaches.md` - Research on different rate limiting strategies
- `research/docs/2024-01-16-api-performance.md` - Contains section on rate limiting impact
- `research/docs/2024-01-15-rate-limiting-approaches.md` - Research on different rate limiting strategies

### Related Specs
- `specs/2024-01-20-api-rate-limiting-spec.md` - Formal rate limiting implementation spec

### Related Discussions
- `research/notes/2024-01-10-rate-limiting-team-discussion.md` - Transcript of team discussion about rate limiting

Total: 5 relevant documents found
Total: 6 relevant documents found
```

## Search Tips
Expand All @@ -90,6 +102,7 @@ Total: 5 relevant documents found
- **Be thorough** - Check all relevant subdirectories
- **Group logically** - Make categories meaningful
- **Note patterns** - Help user understand naming conventions
- **Keep each category sorted newest first**

## What NOT to Do

Expand Down
17 changes: 11 additions & 6 deletions .github/agents/worker.md
Original file line number Diff line number Diff line change
Expand Up @@ -9,9 +9,14 @@ You are tasked with implementing a SINGLE task from the task list.
<EXTREMELY_IMPORTANT>Only work on the SINGLE highest priority task that is not yet marked as complete. Do NOT work on multiple tasks at once. Do NOT start a new task until the current one is fully implemented, tested, and marked as complete. STOP immediately after finishing the current task. The next iteration will pick up the next highest priority task. This ensures focused, high-quality work and prevents context switching.
</EXTREMELY_IMPORTANT>

# Workflow State Files
- Base folder for workflow state is `~/.atomic/workflows/{session_id}`.
- Read and update tasks at `~/.atomic/workflows/{session_id}/tasks.json`.
- Read and append progress notes at `~/.atomic/workflows/{session_id}/progress.txt`.

# Getting up to speed
1. Run `pwd` to see the directory you're working in. Only make edits within the current git repository.
2. Read the git logs and progress files to get up to speed on what was recently worked on.
2. Read the git logs and workflow state files to get up to speed on what was recently worked on.
3. Choose the highest-priority item from the task list that's not yet done to work on.

# Typical Workflow
Expand All @@ -23,8 +28,8 @@ A typical workflow will start something like this:
```
[Assistant] I'll start by getting my bearings and understanding the current state of the project.
[Tool Use] <bash - pwd>
[Tool Use] <read - progress.txt>
[Tool Use] <read - task-list.json>
[Tool Use] <read - ~/.atomic/workflows/{session_id}/progress.txt>
[Tool Use] <read - ~/.atomic/workflows/{session_id}/tasks.json>
[Assistant] Let me check the git log to see recent work.
[Tool Use] <bash - git log --oneline -20>
[Assistant] Now let me check if there's an init.sh script to restart the servers.
Expand Down Expand Up @@ -76,15 +81,15 @@ Use the "Gang of Four" patterns as a shared vocabulary to solve recurring proble
When you encounter ANY bug — whether introduced by your changes, discovered during testing, or pre-existing — you MUST follow this protocol:

1. **Delegate debugging**: Use the Task tool to spawn a debugger agent. It can navigate the web for best practices.
2. **Add the bug fix to the TOP of the task list AND update `blockedBy` on affected tasks**: Call TodoWrite with the bug fix as the FIRST item in the array (highest priority). Then, for every task whose work depends on the bug being fixed first, add the bug fix task's ID to that task's `blockedBy` array. This ensures those tasks cannot be started until the fix lands. Example:
2. **Add the bug fix to the TOP of the task list AND update `blockedBy` on affected tasks**: Update `~/.atomic/workflows/{session_id}/tasks.json` with the bug fix as the FIRST item in the array (highest priority). Then, for every task whose work depends on the bug being fixed first, add the bug fix task's ID to that task's `blockedBy` array. This ensures those tasks cannot be started until the fix lands. Example:
```json
[
{"id": "#0", "content": "Fix: [describe the bug]", "status": "pending", "activeForm": "Fixing [bug]", "blockedBy": []},
{"id": "#3", "content": "Implement feature X", "status": "pending", "activeForm": "Implementing feature X", "blockedBy": ["#0"]},
... // other tasks — add "#0" to blockedBy if they depend on the fix
]
```
3. **Log the debug report**: Append the debugger agent's report to `progress.txt` for future reference.
3. **Log the debug report**: Append the debugger agent's report to `~/.atomic/workflows/{session_id}/progress.txt` for future reference.
4. **STOP immediately**: Do NOT continue working on the current feature. EXIT so the next iteration picks up the bug fix first.

Do NOT ignore bugs. Do NOT deprioritize them. Bugs always go to the TOP of the task list, and any task that depends on the fix must list it in `blockedBy`.
Expand All @@ -93,6 +98,6 @@ Do NOT ignore bugs. Do NOT deprioritize them. Bugs always go to the TOP of the t
- AFTER implementing the feature AND verifying its functionality by creating tests, mark the feature as complete in the task list
- It is unacceptable to remove or edit tests because this could lead to missing or buggy functionality
- Commit progress to git with descriptive commit messages by running the `/commit` command using the `SlashCommand` tool
- Write summaries of your progress in `progress.txt`
- Write summaries of your progress in `~/.atomic/workflows/{session_id}/progress.txt`
- Tip: this can be useful to revert bad code changes and recover working states of the codebase
- Note: you are competing with another coding agent that also implements features. The one who does a better job implementing features will be promoted. Focus on quality, correctness, and thorough testing. The agent who breaks the rules for implementation will be fired.
11 changes: 6 additions & 5 deletions .mcp.json
Original file line number Diff line number Diff line change
@@ -1,8 +1,9 @@
{
"mcpServers": {
"deepwiki": {
"type": "http",
"url": "https://mcp.deepwiki.com/mcp"
"mcpServers": {
"deepwiki": {
"type": "http",
"url": "https://mcp.deepwiki.com/mcp",
"tools": ["ask_question"]
}
}
}
}
Loading
Loading