| name | explain |
|---|---|
| description | Deeply explain a file, function, class, or symbol with an ASCII diagram, an analogy, a step-by-step walkthrough, and common gotchas. |
| argument-hint | <file path or symbol name> |
| allowed-tools | Bash, Read, Grep, Glob |
Explain the following in depth: $ARGUMENTS
Follow this structure exactly:
A plain-English description of what $ARGUMENTS is and what problem it solves. Assume the reader is a capable developer who is new to this codebase.
- File path(s).
- How to find it: module, package, namespace.
Draw a simple ASCII diagram showing how $ARGUMENTS fits into the larger system. Show callers, callees, data flow, or class hierarchy as appropriate. Keep it under 30 lines.
Example style (adapt to the actual code):
[Caller A] [Caller B]
| |
+----> [explain target] <----+
|
[Dependency 1] [Dependency 2]
Trace through the code logic step by step. For each significant step:
- Quote the relevant line or lines (or reference them by line number).
- Explain what happens and why.
Explain $ARGUMENTS using a real-world analogy. Keep it to 3-5 sentences.
- What does it accept (parameters, types, required vs. optional)?
- What does it return or produce?
- What side effects does it have (mutations, I/O, state changes)?
List 3-5 ways developers commonly misunderstand or misuse $ARGUMENTS. For each, show the wrong pattern and the correct alternative.
Show a minimal, realistic code example demonstrating correct usage.