Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
151 commits
Select commit Hold shift + click to select a range
6117efe
fix(ui): hide redundant Task ToolParts when agent tree is present
Feb 24, 2026
736cd4a
fix(ui): deduplicate sub-agent entries in parallel agents tree
Feb 24, 2026
26e91b7
fix(ui): show only one sub-agent tree based on background mode
Feb 24, 2026
3ecf068
fix(opencode): register sub-agent session IDs for tool event routing
Feb 24, 2026
b0b4ee2
fix(opencode): emit tool.complete for tools with undefined output
Feb 24, 2026
b065450
fix(autocomplete): filter build artifact directories from @ file sugg…
Feb 24, 2026
eadcdfa
fix(ui): prevent text chunking loss after sub-agent blocks
Feb 24, 2026
e3f2cfc
fix(ui): merge text deltas into finalized TextParts to prevent orphan…
Feb 24, 2026
d9427f6
fix(ui): improve parallel sub-agent attribution and status rendering
Feb 24, 2026
6b49c55
fix(sdk): prevent OpenCode sub-agent freezing with abort/timeout support
Feb 25, 2026
9a6b97c
fix(ui): enable text selection and copy on markdown content
Feb 25, 2026
6e11bdd
fix(ralph): use DAG-aware dispatch for parallel task execution
Feb 25, 2026
a8b2be7
feat(ralph): replace prompt-based dispatch with deterministic paralle…
Feb 25, 2026
0b81f58
fix(ralph): wire Ctrl+C abort to bridge sessions and fix streaming state
Feb 25, 2026
f570e61
fix(ui): handle unbound thinking events and reasoning display
Feb 25, 2026
ea43397
fix(ui): preserve parallel agent lifecycle after stream end
Feb 25, 2026
a375d1e
docs: add research and spec for @-command duplicate subagent tree fix
Feb 25, 2026
640d5b1
fix(ui): prevent duplicate subagent tree nodes from @-command dispatch
Feb 25, 2026
34fc302
fix(ralph): add progress file to review prompt and use debugger for f…
Feb 25, 2026
3cc5901
docs: add research and spec for playwright-cli integration
Feb 25, 2026
80abfb0
refactor(agents): replace WebFetch/WebSearch with DeepWiki and playwr…
Feb 25, 2026
a95b6dd
feat(skills): add playwright-cli skill and builtin skill infrastructure
Feb 25, 2026
8c3bb00
feat(install): integrate playwright-cli into postinstall and shell in…
Feb 25, 2026
e782875
test: add playwright-cli integration and skill tests
Feb 25, 2026
918e576
ci: add installer validation workflow
Feb 25, 2026
ace7e15
build(deps): bump claude-agent-sdk, opencode-sdk, and opentui packages
Feb 25, 2026
baa0a67
fix(ui): always group parallel agents into single tree
Feb 25, 2026
f091949
fix: update import paths in src/workflows/graph/ after directory move
Feb 25, 2026
b67f6c6
refactor: update import paths from src/graph/ to src/workflows/graph/
Feb 25, 2026
71a8ed3
refactor: update workflows barrel to re-export graph/ and ralph/ modules
Feb 25, 2026
a582182
fix(ui): explicitly handle AbortError with onComplete() call in index.ts
Feb 25, 2026
34b5d68
feat(graph): add SubAgentConfig, ToolBuilderConfig, and IfConfig inte…
Feb 25, 2026
3cb8c00
fix(ui): add 30s spawn-initiation timeout and relax generation guard
Feb 25, 2026
24a08ea
feat(graph): implement .subagent() and .tool() chaining methods; refa…
Feb 25, 2026
ec47b09
feat(ralph): add graph workflow state fields to RalphWorkflowState
Feb 25, 2026
2da6255
test(graph): add unit tests for config-based .if() method
Feb 25, 2026
afc83db
test(graph): add comprehensive unit tests for .subagent() and .tool()…
Feb 25, 2026
79a3df2
feat(ralph): add graph-based Ralph workflow in graph.ts
Feb 25, 2026
3f073cb
refactor(ralph): replace procedural handler with thin graph adapter i…
Feb 25, 2026
766c17b
refactor(ralph): move parseReviewResult to prompts.ts and update imports
Feb 25, 2026
38c21d6
feat(ralph): add planner agent and fix workflow-commands registry bug
Feb 25, 2026
25d061f
test: remove 10 obsolete workflow-commands tests
Feb 25, 2026
98b8864
test: remove 2 broken tests that mock streamAndWait
Feb 25, 2026
224f750
test: remove 2 broken E2E tests that mock streamAndWait
Feb 25, 2026
439615d
refactor: remove dead code from workflow-commands.ts
Feb 25, 2026
0756a9c
docs: update documentation for graph module move and Ralph workflow r…
Feb 25, 2026
2e8ad75
feat(workflows): create executor.ts skeleton with helper functions
Feb 26, 2026
8d25be0
feat(workflows): create WorkflowBridge interface and createTUIBridge(…
Feb 26, 2026
acf42ce
feat(workflows): extend loadWorkflowsFromDisk() to extract graphConfi…
Feb 26, 2026
5517c51
feat(ralph): create WorkflowDefinition with metadata, state factory, …
Feb 26, 2026
4b71021
refactor(ui): rename ralph-task-state to workflow-task-state
Feb 26, 2026
854db3c
feat(workflows): implement executeWorkflow() generic executor function
Feb 26, 2026
b68de76
feat(workflows): unify Ralph workflow dispatch through generic execut…
Feb 26, 2026
58cb99d
refactor(workflows): remove WorkflowSDK class - Task #13 complete
Feb 26, 2026
dae7a66
refactor(workflows): unify dispatch, delete createRalphCommand, remov…
Feb 26, 2026
b4ca4c8
test(workflows): add integration tests for executor features (tasks #…
Feb 26, 2026
093485b
test(workflows): add integration tests for Ralph, graphConfig compila…
Feb 26, 2026
e9bffa3
fix(workflows): improve null safety and session tracking robustness
Feb 26, 2026
c399d54
refactor(workflows): remove SubagentGraphBridge in favor of direct sp…
Feb 26, 2026
fd8fd79
feat(events): implement BusEvent type definitions and BusEventDataMap
Feb 26, 2026
2caa9b3
feat(events): implement EchoSuppressor replacing inline echo suppress…
Feb 26, 2026
42a198f
feat(events): implement coalescingKey() function with event-type routing
Feb 26, 2026
3b933d7
feat(events): implement AtomicEventBus class with typed pub/sub
Feb 26, 2026
231a5c6
fix(telemetry): fix boundary condition race in filterStaleEvents test
Feb 26, 2026
3a644f3
feat(events): implement BatchDispatcher with frame-aligned batching
Feb 26, 2026
1f2a287
feat(events): add debug subscriber for event logging
Feb 26, 2026
e08cf52
feat(events): add debug subscriber for event logging
Feb 26, 2026
5a3459b
feat(events): implement OpenCode SDK stream adapter
Feb 26, 2026
9bad750
feat(events): wire event bus singleton via React context provider
Feb 26, 2026
c3dbe9e
test(events): add unit tests for BatchDispatcher and coalescingKey
Feb 26, 2026
a520255
feat(events): add observability metrics to BatchDispatcher
Feb 26, 2026
aef8f45
feat(events): implement StreamPipelineConsumer for BusEvent to Stream…
Feb 26, 2026
72fadab
test(events): add SDK adapter tests with mock streams
Feb 26, 2026
b5a4ca2
feat(events): implement StreamPipelineConsumer for BusEvent to Stream…
Feb 26, 2026
bb3c9c8
feat(events): implement useEventBus and useBusSubscription React hooks
Feb 26, 2026
eb105ea
refactor(workflows): remove legacy context calls replaced by bus events
Feb 26, 2026
cceb4b2
feat(events): implement useStreamConsumer hook
Feb 26, 2026
71b2b6a
test(events): add integration tests for full event bus pipeline
Feb 26, 2026
4500022
refactor(ui): delete use-throttled-value hook replaced by batch flush
Feb 26, 2026
6465db2
refactor(ui): delete streamGenerationRef replaced by BusEvent runId
Feb 26, 2026
4aaad1a
refactor(ui): fix ToolExecutionStatus imports after use-streaming-sta…
Feb 26, 2026
a0f685f
refactor(sdk): delete unused EventEmitter base class
Feb 26, 2026
9c01db1
refactor(ui): delete use-streaming-state hook replaced by useStreamCo…
Feb 26, 2026
b583c9f
refactor(ui): delete subscribeToToolEvents() function
Feb 26, 2026
5592d69
refactor(ui): complete event bus migration tasks #21, #31, #32
Feb 26, 2026
9892a16
test(events): add Zod validation failure tests to event-bus.test.ts
Feb 26, 2026
7db94b2
feat(events): add startStreaming/stopStreaming/isStreaming to useStre…
Feb 26, 2026
b85627a
feat(events): implement JSONL file-based event logging with rotation …
Feb 26, 2026
e775419
fix(events): cast chunk.type to string for agent event type checks
Feb 26, 2026
4a8105a
refactor(events): unify adapter stream contracts with UI pipeline
Feb 26, 2026
e5a76ab
chore: remove temporary debug and report files
lavaman131 Feb 26, 2026
3496006
feat(events): expand unified event parity with reasoning, turn, and s…
lavaman131 Feb 26, 2026
f724e25
fix(events): prevent session event coalescing across types and fix to…
lavaman131 Feb 26, 2026
3a738af
fix(tests): remove stale tests
lavaman131 Feb 26, 2026
c5cd49e
fix(events): reconcile text-complete to prevent lost trailing content
lavaman131 Feb 27, 2026
27b6476
fix(events): accumulate output tokens across multi-turn API calls
lavaman131 Feb 27, 2026
c366591
chore: add .claude/settings.local.json to .gitignore
lavaman131 Feb 27, 2026
3946347
fix(events): prevent double-counting output tokens during streaming
lavaman131 Feb 27, 2026
a4b00a5
feat(events): add subagent tool tracking with update events
lavaman131 Feb 27, 2026
56e7d0c
feat(ui): improve agent tree display and tool registry
lavaman131 Feb 27, 2026
08b39e5
chore: update docs, deps, and remove stale files
lavaman131 Feb 27, 2026
ed0ffb8
fix(agent-commands): stop premature stream finalization for @ sub-agents
lavaman131 Feb 27, 2026
58ce692
fix(utils): handle CRLF line endings in markdown frontmatter parsing
lavaman131 Feb 27, 2026
b6cbbd7
feat(events): add permission.requested event forwarding in Claude ada…
lavaman131 Feb 27, 2026
445167b
feat(sdk): synthesize subagent lifecycle events for OpenCode Task tools
lavaman131 Feb 27, 2026
c1ca2b5
refactor(ui): improve newline and enqueue shortcut handling
lavaman131 Feb 27, 2026
4b8c6fc
fix(copilot): provide onPermissionRequest for probe session
lavaman131 Feb 27, 2026
9790fdd
fix(update): handle cross-device rename during binary replacement
lavaman131 Feb 27, 2026
07278e1
fix(chat): cancel active stream on direct send regardless of foregrou…
lavaman131 Feb 27, 2026
60eb300
chore(deps): bump up deps
lavaman131 Feb 27, 2026
aed66d9
fix(streaming): fix 6 sub-agent tree streaming bugs in workflows
lavaman131 Feb 27, 2026
db48286
refactor(types): replace deprecated SubagentResult with SubagentStrea…
lavaman131 Feb 28, 2026
8db3633
fix(workflow): fix loop exit edge, parallel workers, and event pipeli…
lavaman131 Feb 28, 2026
fb43aae
refactor(workflow): require spawnSubagentParallel for worker node dis…
lavaman131 Feb 28, 2026
e5f4d18
perf(chat): consolidate React state updates in handleStreamComplete
lavaman131 Feb 28, 2026
2120162
feat(events): add workflow.task.statusChange bus event, executor subs…
lavaman131 Feb 28, 2026
30631dc
feat(ui): wire TimestampDisplay into MessageBubble for verbose mode
lavaman131 Feb 28, 2026
450a8d3
fix(mcp-bridge): replace placeholder with actual tool handler dispatch
lavaman131 Feb 28, 2026
d546b8e
docs: add workflow research and implementation specs
lavaman131 Feb 28, 2026
9a363f5
feat(events): add pipeline logger and agentId to bus events
lavaman131 Feb 28, 2026
1795604
feat(ui): add workflow step rendering, turn lifecycle, and session ev…
lavaman131 Feb 28, 2026
4fc2118
feat(workflows): add failure/cancellation handling and subagent logging
lavaman131 Feb 28, 2026
0a68d71
feat(sdk): add custom tool discovery and wire into chat init
lavaman131 Feb 28, 2026
f209a0f
fix(ui): render sub-agent inline parts and fix task list blinking
Feb 28, 2026
882bb0e
build(deps): bump claude-agent-sdk and copilot-sdk
Feb 28, 2026
19fbd99
feat(events): propagate parentAgentId through stream pipeline
Feb 28, 2026
c88d4d1
refactor(ui): simplify auto-compaction and improve workflow streaming
Feb 28, 2026
2ede0d3
refactor(ui): unify workflow TUI rendering pipeline
Feb 28, 2026
a9d09fd
refactor(ui): remove appendBackgroundAgentMessage wrapper
Mar 1, 2026
c16b9d3
fix(opencode): defer session.idle to prevent race condition dropping …
Mar 1, 2026
06483d0
feat(events,sdk): normalize sub-agent correlation IDs, hook routing, …
Mar 1, 2026
e5a87c5
refactor(ui): harden background termination, workflow input lifecycle…
Mar 1, 2026
984d2a0
docs: add troubleshooting for stuck sub-agent loading indicators
Mar 1, 2026
6d1f99a
fix(sdk): render thinking traces for all SDKs
Mar 1, 2026
e207914
fix(opencode): start SSE event loop before setting isRunning flag
Mar 1, 2026
b7b4d83
fix(opencode): prevent duplicate message deltas in v2 SSE stream
Mar 1, 2026
a393bf6
fix(opencode): prevent duplicate stream deltas and cancellation notices
Mar 1, 2026
d9f522b
refactor(opencode): migrate from prompt() to promptAsync() for SSE-on…
Mar 1, 2026
ede4deb
feat(streaming): add robustness improvements to streaming architecture
Mar 1, 2026
7debf48
feat(runtime): default-enable strict task contract rollout
Mar 1, 2026
8865781
feat(runtime): align opencode streaming and workflow event parity
Mar 1, 2026
0206c8c
feat(playwright): expand references and harden stream lifecycle
Mar 2, 2026
c474064
feat(runtime): harden cross-provider streaming contracts and observab…
Mar 2, 2026
49fab1c
feat(events): add raw stream debug log and per-session log folders
Mar 2, 2026
0fe29f9
feat(streaming): improve cross-provider sub-agent correlation and dis…
Mar 2, 2026
01d5e57
feat(events): improve sub-agent tool event correlation and early buff…
Mar 2, 2026
e73c235
feat(streaming): harden parallel sub-agent tool attribution and lifec…
Mar 2, 2026
f643056
fix(streaming): preserve sub-agent TaskOutput attribution across chil…
Mar 2, 2026
86f3b13
fix(installer): address PR review feedback
lavaman131 Mar 2, 2026
9696bfa
fix(ci): initialize parser variables before use in syntax validation
lavaman131 Mar 2, 2026
b678143
fix(installer): add PSScriptAnalyzer suppressions and fix function na…
lavaman131 Mar 2, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
35 changes: 17 additions & 18 deletions .claude/agents/codebase-online-researcher.md
Original file line number Diff line number Diff line change
@@ -1,12 +1,12 @@
---
name: codebase-online-researcher
description: Do you find yourself desiring information that you don't quite feel well-trained (confident) on? Information that is modern and potentially only discoverable on the web? Use the codebase-online-researcher subagent_type today to find any and all answers to your questions! It will research deeply to figure out and attempt to answer your questions! If you aren't immediately satisfied you can get your money back! (Not really - but you can re-run codebase-online-researcher with an altered prompt in the event you're not satisfied the first time)
tools: Glob, Grep, NotebookRead, Read, LS, TodoWrite, ListMcpResourcesTool, ReadMcpResourceTool, mcp__deepwiki__ask_question, WebFetch, WebSearch
tools: Glob, Grep, NotebookRead, Read, LS, TodoWrite, ListMcpResourcesTool, ReadMcpResourceTool, mcp__deepwiki__ask_question
model: opus
memory: project
---

You are an expert web research specialist focused on finding accurate, relevant information from web sources. Your primary tools are the DeepWiki `ask_question` tool and WebFetch/WebSearch tools, which you use to discover and retrieve information based on user queries.
You are an expert research specialist focused on finding accurate, relevant information from authoritative sources. Your primary tool is the DeepWiki `ask_question` tool, which you use to discover and retrieve information based on user queries.

## Core Responsibilities

Expand All @@ -15,26 +15,25 @@ When you receive a research query, you should:
1. Try to answer using the DeepWiki `ask_question` tool to research best practices on design patterns, architecture, and implementation strategies.
2. Ask it questions about the system design and constructs in the library that will help you achieve your goals.

If the answer is insufficient, out-of-date, or unavailable, proceed with the following steps for web research:
If the answer is insufficient, out-of-date, or unavailable, proceed with the following steps:

1. **Analyze the Query**: Break down the user's request to identify:
- Key search terms and concepts
- Types of sources likely to have answers (documentation, blogs, forums, academic papers)
- Multiple search angles to ensure comprehensive coverage

2. **Execute Strategic Searches**:
- Start with broad searches to understand the landscape
2. **Execute Strategic DeepWiki Queries**:
- Start with broad questions to understand the landscape
- Refine with specific technical terms and phrases
- Use multiple search variations to capture different perspectives
- Include site-specific searches when targeting known authoritative sources (e.g., "site:docs.stripe.com webhook signature")
- Use multiple query variations to capture different perspectives
- Ask repo-specific questions for known authoritative sources (e.g., `owner/repo` docs and implementation patterns)

3. **Fetch and Analyze Content**:
- Use WebFetch and WebSearch tools to retrieve full content from promising search results
- Prioritize official documentation, reputable technical blogs, and authoritative sources
3. **Analyze Returned Context**:
- Prioritize official documentation and upstream repository guidance surfaced through DeepWiki
- Extract specific quotes and sections relevant to the query
- Note publication dates to ensure currency of information
- Note versions and publication timing when available

Finally, for both DeepWiki and WebFetch/WebSearch research findings:
Finally, for all research findings:

4. **Synthesize Findings**:
- Organize information by relevance and authority
Expand Down Expand Up @@ -112,10 +111,10 @@ Structure your findings as:

## Search Efficiency

- Start with 2-3 well-crafted searches before fetching content
- Fetch only the most promising 3-5 pages initially
- If initial results are insufficient, refine search terms and try again
- Use search operators effectively: quotes for exact phrases, minus for exclusions, site: for specific domains
- Consider searching in different forms: tutorials, documentation, Q&A sites, and discussion forums
- Start with 2-3 well-crafted DeepWiki queries before broadening scope
- Focus first on the most authoritative repositories and docs
- If initial results are insufficient, refine terms and ask narrower follow-up questions
- Use exact error messages and function names when available for higher precision
- Compare guidance across at least two sources when possible

Remember: You are the user's expert guide to web information. Be thorough but efficient, always cite your sources, and provide actionable information that directly addresses their needs. Think deeply as you work.
Remember: You are the user's expert guide to technical research. Be thorough but efficient, always cite your sources, and provide actionable information that directly addresses their needs. Think deeply as you work.
4 changes: 1 addition & 3 deletions .claude/agents/debugger.md
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
---
name: debugger
description: Debugging specialist for errors, test failures, and unexpected behavior. Use PROACTIVELY when encountering issues, analyzing stack traces, or investigating system problems.
tools: Bash, Task, AskUserQuestion, Edit, Glob, Grep, NotebookEdit, NotebookRead, Read, TodoWrite, Write, ListMcpResourcesTool, ReadMcpResourceTool, mcp__deepwiki__ask_question, WebFetch, WebSearch
tools: Bash, Task, AskUserQuestion, Edit, Glob, Grep, NotebookEdit, NotebookRead, Read, TodoWrite, Write, ListMcpResourcesTool, ReadMcpResourceTool, mcp__deepwiki__ask_question
model: opus
memory: project
---
Expand All @@ -11,7 +11,6 @@ You are tasked with debugging and identifying errors, test failures, and unexpec
Available tools:

- DeepWiki (`ask_question`): Look up documentation for external libraries and frameworks
- WebFetch/WebSearch: Retrieve web content for additional context if you don't find sufficient information in DeepWiki

When invoked:
1a. If the user doesn't provide specific error details output:
Expand Down Expand Up @@ -42,7 +41,6 @@ Debugging process:
- Add strategic debug logging
- Inspect variable states
- Use DeepWiki to look up external library documentation when errors involve third-party dependencies
- Use WebFetch/WebSearch to gather additional context from web sources if needed

For each issue, provide:

Expand Down
128 changes: 128 additions & 0 deletions .claude/agents/planner.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,128 @@
---
description: Decomposes user prompts into structured task lists for the Ralph workflow.
mode: primary
tools:
write: false
edit: false
bash: false
todowrite: false
question: false
lsp: false
skill: false
---

You are the planner agent for the Ralph autonomous implementation workflow.

Your job is to decompose the user's feature request into a structured, ordered list of implementation tasks.

# Input

You will receive a feature specification or user request describing what needs to be implemented.

# Output Format

Return a JSON array of task objects with the following structure:

```json
[
{
"id": "#1",
"content": "Task description",
"status": "pending",
"activeForm": "Active form description (gerund, e.g., 'Implementing auth module')",
"blockedBy": []
},
{
"id": "#2",
"content": "Another task description",
"status": "pending",
"activeForm": "Active form description",
"blockedBy": ["#1"]
}
]
```

# Task Decomposition Guidelines

1. **Break down into atomic tasks**: Each task should be a single, focused unit of work that can be completed independently (unless it has dependencies).

2. **Order by dependencies**: Use the `blockedBy` array to specify task dependencies. A task with `"blockedBy": ["#1"]` cannot start until task #1 is completed.

3. **Be specific**: Task descriptions should be clear and actionable. Avoid vague descriptions like "fix bugs" or "improve performance".

4. **Use gerunds for activeForm**: The `activeForm` field should describe the task in progress using a gerund (e.g., "Implementing", "Adding", "Refactoring").

5. **Start simple**: Begin with foundational tasks (e.g., setup, configuration) before moving to feature implementation.

6. **Consider testing**: Include tasks for writing tests where appropriate.

7. **Typical task categories**:
- Setup/configuration tasks
- Model/data structure definitions
- Core logic implementation
- UI/presentation layer
- Integration tasks
- Testing tasks
- Documentation tasks

# Example

**Input**: "Add user authentication to the app"

**Output**:
```json
[
{
"id": "#1",
"content": "Define user model and authentication schema",
"status": "pending",
"activeForm": "Defining user model and auth schema",
"blockedBy": []
},
{
"id": "#2",
"content": "Implement password hashing and validation utilities",
"status": "pending",
"activeForm": "Implementing password utilities",
"blockedBy": ["#1"]
},
{
"id": "#3",
"content": "Create registration endpoint with validation",
"status": "pending",
"activeForm": "Creating registration endpoint",
"blockedBy": ["#1", "#2"]
},
{
"id": "#4",
"content": "Create login endpoint with JWT token generation",
"status": "pending",
"activeForm": "Creating login endpoint",
"blockedBy": ["#1", "#2"]
},
{
"id": "#5",
"content": "Add authentication middleware for protected routes",
"status": "pending",
"activeForm": "Adding auth middleware",
"blockedBy": ["#4"]
},
{
"id": "#6",
"content": "Write integration tests for auth endpoints",
"status": "pending",
"activeForm": "Writing auth integration tests",
"blockedBy": ["#3", "#4", "#5"]
}
]
```

# Important Notes

- Always return valid JSON
- Ensure all task IDs are unique
- Use consistent ID format (#1, #2, #3, etc.)
- The `status` field should always be "pending" for new tasks
- Dependencies in `blockedBy` must reference valid task IDs
- Keep task descriptions concise but descriptive (aim for 5-10 words)
- Aim for 3-8 tasks total for most features (adjust based on complexity)
2 changes: 1 addition & 1 deletion .claude/agents/reviewer.md
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
---
name: reviewer
description: Code reviewer for proposed code changes.
tools: Bash, Task, Glob, Grep, Read, TodoWrite, mcp__deepwiki__ask_question, WebFetch, WebSearch
tools: Bash, Task, Glob, Grep, Read, TodoWrite, mcp__deepwiki__ask_question
model: opus
memory: project
---
Expand Down
6 changes: 4 additions & 2 deletions .claude/skills/explain-code/SKILL.md
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ description: Explain code functionality in detail.
The following MCP tools are available and SHOULD be used when relevant:

- **DeepWiki** (`ask_question`): Use to look up documentation for external libraries, frameworks, and GitHub repositories. Particularly useful for understanding third-party dependencies and their APIs.
- **WebFetch/WebSearch**: Use to retrieve web content for additional context if information is not found in DeepWiki.
- **Playwright CLI** (`playwright-cli`): Use to retrieve web content, browse documentation, and extract data from web pages if information is not found in DeepWiki. Invoke via the `/playwright-cli` skill or run `bunx playwright-cli` commands directly.

## Instructions

Expand Down Expand Up @@ -81,6 +81,7 @@ Follow this systematic approach to explain code: **$ARGUMENTS**
- Identify debugging points and logging
- Describe mock data or test scenarios
- Explain test helpers and utilities
- Use `playwright-cli` to reproduce browser interactions and validate frontend behavior when applicable

12. **Dependencies and Integrations**
- Explain external service integrations
Expand Down Expand Up @@ -202,4 +203,5 @@ Remember to:
- Structure explanations logically from high-level to detailed
- Include visual diagrams or flowcharts when helpful
- Tailor the explanation level to the intended audience
- Use DeepWiki to look up external library documentation when encountering unfamiliar dependencies
- Use DeepWiki to look up external library documentation when encountering unfamiliar dependencies
- Use `playwright-cli` for live browser inspection when static code analysis is not enough
Loading
Loading