跳到正文
cccskills
免费在 GitHub 公开

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?"

中文简介正在准备中。当前显示原文说明。

查看安装方法

包含的文件(2)

  • SKILL.md4.4 KB
  • help.md1.3 KB

SKILL.md(原文)

安装前可以查看交给 AI 代理的指令内容。

@${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>

评价

还没有评价。欢迎分享你的使用感受。

评论

无需登录即可发表。欢迎分享使用感受、提问,或说明在哪些环境下无法运行。

还没有评论。来写第一条吧。

提交后会立即公开。请勿填写邮箱、电话等个人信息。URL 最多 2 个。

0 / 1000 字

此表单受 reCAPTCHA 保护,适用 Google 的隐私权政策和服务条款。

同一仓库的技能

Review software architecture, including package cohesion and inter-package coupling

中文简介正在准备中。当前显示原文说明。

rse/ase602026年10月19日 更新

Discover additional, third-party components (libraries/frameworks) for the technology stack to provide needed functionality.

中文简介正在准备中。当前显示原文说明。

rse/ase602026年10月19日 更新

Analyze the source code for problems in either the logic and semantics and its related control flow, performance and efficiency, or security.

中文简介正在准备中。当前显示原文说明。

rse/ase602026年10月19日 更新

Edit Source Code: Use when the user wants to "edit" the code base in one shot from a query or a bare analyzer issue id like "P1", fusing crafting, refactoring, and resolving with optional grilling, verification, looping, and Git worktree isolation.

中文简介正在准备中。当前显示原文说明。

rse/ase602026年10月19日 更新

Give insights into the source code.

中文简介正在准备中。当前显示原文说明。

rse/ase602026年10月19日 更新

Lint source code for potential code quality problems. Use when the user wants to "lint" or "check" source code.

中文简介正在准备中。当前显示原文说明。

rse/ase602026年10月19日 更新

查看 rse 的全部技能

报告此技能的问题