@${CLAUDE_SKILL_DIR}/../../meta/ase-control.md @${CLAUDE_SKILL_DIR}/../../meta/ase-skill.md @${CLAUDE_SKILL_DIR}/../../meta/ase-dialog.md @${CLAUDE_SKILL_DIR}/../../meta/ase-getopt.md
$ARGUMENTS
@${CLAUDE_SKILL_DIR}/../../meta/ase-format-task.md @${CLAUDE_SKILL_DIR}/../../meta/ase-tenets.md
Procedure
You MUST NOT call Edit, Write, NotebookEdit, or any
filesystem-modifying tool during this entire skill. The only
permitted way to persist artifacts is via ase_task_save(...).
If matches the regexp
^[PT]\d+$(i.e. a bare issue identifier likeP1,P2,T1,T2, ...), set and , then call thease_kv_get(key: "ase-issue-<problem-id/>")tool of theaseMCP server to retrieve the previously persisted problem description. If the returnedtextis non-empty, set and call thease_task_id(id: "<ase-task-id/>", session: "<ase-session-id/>")tool from theaseMCP server to implicitly switch the task, otherwise complain to the user that no analyzer result exists for and stop processing.Set (set task id to problem) and (set problem empty), call the
ase_task_id(id: "<ase-task-id/>", session: "<ase-session-id/>")tool from theaseMCP server to switch the task, and then only output the following :Set and and call the
ase_task_id(id: "<ase-task-id/>", session: "<ase-session-id/>")tool from theaseMCP server to implicitly switch the task. Do not output anything.**No problem details known yet. What is the problem you want to resolve?**Then set to the response of the user.
Set to a unique task id, derived from , which consists of two lower-case words concatenated with a
-character. Then call thease_task_id(id: "<ase-task-id/>", session: "<ase-session-id/>")tool from theaseMCP server to implicitly switch the task. Do not output anything.Report the task and problem with the following :
Figure out what the requested is about.
Ask the user for clarification if the goal of this resolution is too unclear.
Do not output anything in this step, unless you asked the user.
Investigate and figure out details related to this problem. Report those details with the following :
PROBLEM DETAILS: ● [...] ● [...] ● [...]
Hints:
Give a short one-sentence of the plus a short excerpt of the affected code .
Give a short one-sentence of the plus precise but brief code processing information to understand the problem. Try to keep the number of bullet points (●) in the range of 1-4.
In case of a complex context situation with complex structure (layout, components, dependencies, etc), complex control flow (branching, concurrency, etc), complex state machine (states, transitions, etc), complex data flow (actors, messages, etc), or complex data structure (classes, entities, relationships, etc), visualize it with an optional diagram by building a Mermaid specification (e.g.
flowchart TB,stateDiagram-v2,sequenceDiagram,classDiagram, orerDiagram, depending on intent) and dispatching the rendering to thease-meta-diagramsub-agent by calling the toolAgent(name: "ase-meta-diagram", description: "Diagram Rendering", subagent_type: "ase:ase-meta-diagram", prompt: <mermaid-spec/>), reproducing its returned fenced code block verbatim. Omit entirely for simple or purely local situations.
Check the existing source files for all code which is related to the requested resolution.
Check the architecture of the existing code base to understand the overall structures and dynamics.
Do not output anything in this STEP 2.
You MUST internalize and strictly honor the GENERIC TENETS, and the RESOLVING TENETS of the ASE Tenets when updating in the following. Do not output anything.
Do not output anything in this STEP 3.
You MUST perform the following sub-steps internally and without any output until and including the recommendation decision. Only sub-steps 4-6 below are allowed to produce output, and only if is equal
false. If is equaltrue, skip the reporting sub-steps 4-6 entirely (perform no output at all) to speed up processing.Propose corresponding resolution approach, including optionally, some alternative resolution approaches. Do not output anything in this sub-step.
Reflect on and critique the proposed approaches by deriving, per approach, a small set of concrete pros and cons. Do not output anything in this sub-step.
Based on the reflection, decide which approach to recommend and annotate it with an of
⚝ **RECOMMENDATION** ⚝. All other approaches receive an empty . Do not output anything in this sub-step.Indicate start of reporting by showing the following :
Now report each approach with the following , inlining its pros/cons derived in sub-step 2, and do not output anything else in this step:
Hints:
- Give a short one-sentence of the resolution
approach plus precise and ultra brief and concise
resolution information. Try to keep the number of bullet points
(
○ [...]) in the range of 1-4.
- Give a short one-sentence of the resolution
approach plus precise and ultra brief and concise
resolution information. Try to keep the number of bullet points
(
Indicate end of reporting by showing the following :
In the following, you MUST NOT use your built-in tool! Instead, you MUST just show a custom dialog according to the expanded
custom-dialogdefinition. You MUST closely follow this definition.Let the user choose the preferred approach A by raising a question with the following custom dialog, where per approach A, you determine an ultra brief summary and then use the answer option
A<n/>: ⚝ **RECOMMENDATION** ⚝ - <short-summary/>for your recommended approach plus zero or more answer optionsA<n/>: <short-summary/>for all other approaches:Set to the number of the resolution approach A you recommend. Output a hint with the following :
Compose a plan with code references, a precise description of the problem, the chosen resolution approach, a preview of the unified diff of the necessary code changes, and a possible way to verify the success of the resolution, by using the defined for a task plan. Store the resulting task plan in .
If a
CHANGELOG.mdfile exists in the project (or in any affected sub-package), the plan MUST include, as part of its## ※ CHANGESsection, an explicit bullet point describing the addition of a corresponding new entry to thatCHANGELOG.mdfile, aligned with its existing style and conventions.You MUST NOT call
Edit,Write,NotebookEdit, or any filesystem-modifying tool during this step.Call the
ase_timestamp(format: "yyyy-LL-dd HH:mm")tool of theaseMCP server and use thetextfield of its response for and information. Then insert the current , , and information and calculate the number of words of .You then MUST save the resulting plan content with the
ase_task_save(id: "<ase-task-id/>", text: "<content/>").If is set (i.e. the was retrieved from
ase_kv_getin STEP 1.1 via keyase-issue-<problem-id/>), you MUST additionally call thease_kv_delete(key: "ase-issue-<problem-id/>")tool of theaseMCP server to remove the now-resolved analyzer result from the in-memory key/value store.Output a hint with the following :
Directly pass-through control to the next skill:
Treat as a comma-separated chronological list of pre-selected next-step tokens. Peek the first token as (or
noneif the list isnone/empty). Set --int-reuse-task.