ase-code-explain
/ase-code-explain
Explains code with WHAT, WHY, ANALOGY, DIAGRAM, CRUXES, and GOTCHAS. Use when you want to know how code works or when the user asks "how does this work?
Assessment and security
- Files in this package
- 2
- Scripts
- 0
- HTML comments
- 0
- URLs in SKILL.md
- 0
No signals detected. Repository changed on 25.10.2026, without references to retired models or APIs.
Apache-2.0, otwarta: można używać i zmieniać, z zachowaniem licencji i informacji o zmianach.
What it does and when to use it
Explains code with WHAT, WHY, ANALOGY, DIAGRAM, CRUXES, and GOTCHAS. Use when you want to know how code works or when the user asks "how does this work?
Arguments
/ase-code-explain [--help|-h] <source-reference>
Original author description
Explains code with WHAT, WHY, ANALOGY, DIAGRAM, CRUXES, and GOTCHAS. Use when you want to know how code works or when the user asks "how does this work?
How it works
SKILL.md has no level-two headings · 141 lines, 514 words
SKILL.md preview
---
name: ase-code-explain
argument-hint: "[--help|-h] <source-reference>"
description: >
Explains code with WHAT, WHY, ANALOGY, DIAGRAM, CRUXES, and GOTCHAS.
Use when you want to know how code works or when the user asks "how does this work?"
user-invocable: true
disable-model-invocation: false
effort: high
allowed-tools:
- "Agent"
---
@${CLAUDE_SKILL_DIR}/../../meta/ase-control.md
@${CLAUDE_SKILL_DIR}/../../meta/ase-skill.md
@${CLAUDE_SKILL_DIR}/../../meta/ase-getopt.md
<purpose name="ase-code-explain">
Explain Source Code
</purpose>
<expand name="getopt" arg1="ase-code-explain">
$ARGUMENTS
</expand>
<objective>
*Analyze* the source code of <getopt-arguments/>, and its directly related source
code, and *explain* it in a *brief*, *standardized*, and *concise* way.
</objective>
<flow>
1. <step id="STEP 1: Investigate Code Base">
Investigate the code. If the code base is large, you *MUST* use
the `Agent` tool (not inline work) to create multiple sub-agents to
split the investigation task into appropriate chunks.
</step>
2. <step id="STEP 2: WHAT and WHY">
**Explain the WHAT and WHY**.
First, explain *WHAT* the code does (*functionality*).
Second, explain *WHY* the code does it (*rationale*).
Keep your explanations *brief* and *concise*.
<if condition="<ase-project-boxing/> is equal `black`">
The project source artifacts are classified as a *black box*, so the
user wants only the *minimal* surface explanation. Output *only* the
*WHAT* block (omit the *WHY* block) with the following <template/>:
<template>
<ase-tpl-bullet-normal/> **WHAT** (You should know what):
- [...]
- [...]
- [...]
</template>
</if>
<else>
Output the result with the following <template/>:
<template>
<ase-tpl-bullet-normal/> **WHAT** (You should know what):
- [...]
- [...]
- [...]
<ase-tpl-bullet-normal/> **WHY** (You should know why):
- [...]
- [...]
- [...]
</template>
</else>
</step>
3. <step id="STEP 3: ANALOGY and DIAGRAM">
<if condition="<ase-project-boxing/> is equal `black`">
The project source artifacts are classified as a *black box*, so
deeper elaboration is *not* wanted. *Skip* this STEP 3 and the
following STEP 4 entirely: do *not* output any ANALOGY, DIAGRAM,
CRUXES, or GOTCHAS, and do *not* dispatch any diagram rendering.
</if>
**Give insights with ANALOGY and DIAGRAM**.
First, give an analogy by comparing the code to something from
everyday life. How can I understand this by something I already
know? Use simple wording as in "Explain Like I'm 5 Years Old (ELI5)"
style of explanations. For very complex concepts, use multiple
analogies.
Second, draw a diagram to show the control or data flow, code or
data structure, or code or data relationships. What gives the best
overall overview of the code?
Build a Mermaid specification <mermaid-spec/>, choosing the Mermaid
diagram type per intent: `classDiagram` for class/method structure,
`sequenceDiagram` for actor/message flow, or `flowchart TB` for
boxes-and-lines component layouts. Then dispatch the rendering to
the `ase-meta-diagram` sub-agent by calling the tool
`Agent(description: "Diagram Rendering", subagent_type:
"ase:ase-meta-diagram", prompt: <mermaid-spec/>,
run_in_background: false)` and reproduce its returned fenced code
block verbatim in the response text. Do *not* hand-draw.
Keep your explanation *brief* and *concise*.
Output the result with the following <template/>:
<template>
<ase-tpl-bullet-secondary/> **ANALOGY** (You should imagine):
- [...]
- [...]
- [...]
<ase-tpl-bullet-secondary/> **DIAGRAM** (You should grasp):
[...]
</template>
</step>
4. <step id="STEP 4: CRUXES and GOTCHAS">
**Highlight CRUXES and GOTCHAS**.
First, tell what the *cruxes* of the code are.
Is there something one should really *notice*?
Second, tell what the gotchas of the code are.
Is there something one could really *stumble over*?
Keep your explanation *brief* and *concise*.
Output the result with the following <template/>:
<template>
<ase-tpl-bullet-signal/> **CRUXES** (You should notice):
- [...]
- [...]
- [...]
<ase-tpl-bullet-signal/> **GOTCHAS** (You should not stumble over):
- [...]
- [...]
- [...]
</template>
</step>
</flow>
Files in this package (2)
- SKILL.md 4 KB
- help.md 1 KB
Versions
The database has no other skills named ase-code-explain.
Database snapshot: 13.11.2026 · package version 12e5740c5756 (SHA-256 digest of the entire package)
Downloads in the last 30 days: 0 · ranking
Report a problem with this skill: harmful content, incorrect descriptions or an author’s removal request.
Similar skills
- 100explain
Use when the user wants to understand something rather than change it - "explain this", "what is X", "how does this work", "why does this happen", "what is going on here", "what caused this", "walk me through", "break this down", "teach me", "help me understand", "help me make… - 90explain-code
Explain a piece of code using project knowledge and context. Use to understand unfamiliar code, get architecture context, learn patterns and gotchas, find similar implementations. - 90st-explain
Explain how a piece of code works, why it is built that way, and what that means, in plain language a person can follow. Use for 'how does X work', 'why is it like this', 'teach me this', onboarding to a subsystem, or /st-explain. - 87ase-code-lint
Lint source code for potential code quality problems. Use when the user wants to "lint" or "check" source code. - 87explain-stack
Explain WHY a project uses each of its technologies, for beginners and vibe coders. Scans the project in the current folder, finds every framework, library, database and tool, and for each one explains what it is (with a real-life analogy), why it is used here (pointing to the… - 90explain-code
Explain how a piece of code works (a function, file, module, or a flow like "what happens when a user signs up") with file and line references, traced from the actual code. Use when asked "explain this", "how does X work", "what does this function do", "walk me through", or "where is X handled".