@rse/ase 0.0.60 → 0.0.62

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (34) hide show
  1. package/dst/ase-diagram.js +34 -41
  2. package/dst/ase-persona.js +2 -2
  3. package/dst/ase-statusline.js +2 -2
  4. package/package.json +1 -1
  5. package/plugin/.claude-plugin/plugin.json +1 -1
  6. package/plugin/.github/plugin/plugin.json +1 -1
  7. package/plugin/agents/ase-code-lint.md +6 -0
  8. package/plugin/etc/markdownlint.yaml +2 -0
  9. package/plugin/meta/ase-skill.md +80 -37
  10. package/plugin/package.json +1 -1
  11. package/plugin/skills/ase-arch-analyze/SKILL.md +2 -2
  12. package/plugin/skills/ase-arch-discover/SKILL.md +4 -4
  13. package/plugin/skills/ase-code-analyze/SKILL.md +1 -1
  14. package/plugin/skills/ase-code-craft/SKILL.md +2 -2
  15. package/plugin/skills/ase-code-explain/SKILL.md +6 -6
  16. package/plugin/skills/ase-code-insight/SKILL.md +4 -4
  17. package/plugin/skills/ase-code-lint/SKILL.md +9 -9
  18. package/plugin/skills/ase-code-refactor/SKILL.md +2 -2
  19. package/plugin/skills/ase-code-resolve/SKILL.md +4 -4
  20. package/plugin/skills/ase-docs-proofread/SKILL.md +5 -5
  21. package/plugin/skills/ase-docs-proofread/help.md +1 -1
  22. package/plugin/skills/ase-meta-brainstorm/SKILL.md +220 -0
  23. package/plugin/skills/ase-meta-brainstorm/help.md +51 -0
  24. package/plugin/skills/{ase-meta-changes → ase-meta-changelog}/SKILL.md +7 -7
  25. package/plugin/skills/{ase-meta-changes → ase-meta-changelog}/help.md +4 -4
  26. package/plugin/skills/ase-meta-commit/help.md +1 -1
  27. package/plugin/skills/ase-meta-diaboli/SKILL.md +3 -3
  28. package/plugin/skills/ase-meta-diff/SKILL.md +301 -0
  29. package/plugin/skills/ase-meta-diff/help.md +81 -0
  30. package/plugin/skills/ase-meta-evaluate/SKILL.md +9 -9
  31. package/plugin/skills/ase-meta-why/SKILL.md +3 -3
  32. package/plugin/skills/ase-task-edit/SKILL.md +2 -2
  33. package/plugin/skills/ase-task-grill/SKILL.md +2 -2
  34. package/plugin/skills/ase-task-view/SKILL.md +2 -2
@@ -0,0 +1,301 @@
1
+ ---
2
+ name: ase-meta-diff
3
+ argument-hint: "[--help|-h] [--risk|-r] [--blast|-b]"
4
+ description: >
5
+ Summarize the currently staged Git changes as a human-readable,
6
+ intent-grouped narrative. Use when the user wants a concise and
7
+ brief report of what changed and why. Optionally can show a risk and
8
+ blast radius report.
9
+ user-invocable: true
10
+ disable-model-invocation: false
11
+ effort: high
12
+ allowed-tools:
13
+ - "Bash(git diff *)"
14
+ - "Bash(git grep:*)"
15
+ - "Bash(git ls-files:*)"
16
+ - "Bash(grep:*)"
17
+ - "Agent"
18
+ ---
19
+
20
+ @${CLAUDE_SKILL_DIR}/../../meta/ase-control.md
21
+ @${CLAUDE_SKILL_DIR}/../../meta/ase-skill.md
22
+ @${CLAUDE_SKILL_DIR}/../../meta/ase-getopt.md
23
+
24
+ <skill name="ase-meta-diff">
25
+ Summarize Diff
26
+ </skill>
27
+
28
+ <expand name="getopt"
29
+ arg1="ase-meta-diff"
30
+ arg2="--risk|-r --blast|-b">
31
+ $ARGUMENTS
32
+ </expand>
33
+
34
+ <objective>
35
+ Summarize the currently staged Git changes into a *concise*,
36
+ *human-readable* narrative of what changed and why, *grouped by
37
+ intent* rather than by file. Optionally *score* the diff against a
38
+ *coupling-criticality-coverage- reversibility* rubric and emit a *graded
39
+ risk report* with *mitigations*. Optionally render a *blast-radius map*.
40
+ </objective>
41
+
42
+ Procedure
43
+ ---------
44
+
45
+ You *MUST* follow the following numbered items *strictly* *sequentially*!
46
+ You *MUST* not skip any numbered item during processing!
47
+
48
+ You *MUST* *NOT* output anything in this entire procedure, *except* when
49
+ explicitly requested by this procedure via outputs based on a <template/>!
50
+
51
+ <flow>
52
+
53
+ 1. <step id="STEP 1: Determine Change Set">
54
+
55
+ 1. Determine the *diff details* by running the corresponding command
56
+ (taken exactly as given) and capturing the full diff output into
57
+ <diff/> for the subsequent analysis:
58
+
59
+ `git diff --cached HEAD`
60
+
61
+ 2. Determine the *diff statistics* by running the corresponding command
62
+ (taken exactly as given) and capturing the full stat output into
63
+ <stat/> for the subsequent analysis:
64
+
65
+ `git diff --cached --numstat HEAD`
66
+
67
+ </step>
68
+
69
+ 2. <step id="STEP 2: Summarize By Intent">
70
+
71
+ 1. <if condition="<diff/> is empty">
72
+ Only output the following <template/> and then *STOP* immediately:
73
+
74
+ <template>
75
+ ⧉ **ASE**: ✪ skill: **ase-meta-diff**, ▶ status: **no changes to summarize**
76
+ </template>
77
+ </if>
78
+
79
+ 2. Analyze the <diff/> and <stat/> and synthesize a *concise* narrative of
80
+ WHAT changed and WHY, *grouped by intent* rather than by file.
81
+ Honor the following intents:
82
+
83
+ - `FEATURE`: new functionality or configuration
84
+ - `IMPROVEMENT`: improved functionality or configuration
85
+ - `BUGFIX`: corrected functionality or configuration
86
+ - `UPDATE`: updated functionality or configuration
87
+ - `CLEANUP`: cleaned up functionality or configuration
88
+ - `REFACTOR`: refactored functionality or configuration
89
+
90
+ 3. <if condition="<diff/> is NOT empty">
91
+ 1. First, output the following header <template/>:
92
+
93
+ <template>
94
+
95
+ <ase-tpl-bullet-normal/> **CHANGE INTENT REPORT**:
96
+
97
+ </template>
98
+
99
+ 2. Render a *two-column table* with one row per discovered
100
+ *intent group* present in the <diff/>. Output the following
101
+ table header <template/>:
102
+
103
+ <template>
104
+ | Intent | Changes (LoC) | Files &amp; Description |
105
+ | ------ | ------------- | ----------------------- |
106
+ </template>
107
+
108
+ 3. For each discovered *intent group*, emit the following row
109
+ <template/>, where <intent/> is the intent label, <changes/>
110
+ is the total number of lines changes per feature in format
111
+ `+N/-M`, <files/> is the list of affected file references,
112
+ and <description/> is a *brief* one-to-two-sentence
113
+ narrative of what changed and why:
114
+
115
+ <template>
116
+ | **<intent/>** | <changes/> | <files/>: <description/> |
117
+ </template>
118
+
119
+ In the <files/> part of the second column, markup all file
120
+ references as code (with backticks), prepend them with `▢ `,
121
+ append ` [+N/-M]` (based on the information in <stat/>) to them,
122
+ and separate them with `, ` (a comma and space). Do *not* repeat
123
+ file references in the <description/>.
124
+
125
+ Keep the overall report *concise* and *brief*. Try to keep the
126
+ number of intent groups (table rows) in the range of 1-10. Do
127
+ *not* output any further explanation.
128
+ </if>
129
+
130
+ </step>
131
+
132
+ 3. <step id="STEP 3: Score Against Risk Rubric (optional)">
133
+
134
+ 1. <if condition="<getopt-option-risk/> is NOT equal `true`">
135
+ Silently *SKIP* this entire step.
136
+ </if>
137
+
138
+ 2. <if condition="<diff/> is empty">
139
+ Silently *SKIP* this entire step (STEP 2 already reported it).
140
+ </if>
141
+
142
+ 3. <if condition="<getopt-option-risk/> is equal `true` and <diff/> is NOT empty">
143
+
144
+ Score the *same* captured <diff/> and <stat/> information
145
+ against the four-axis rubric below. Each axis is scored on an
146
+ integer scale of *1* (lowest risk) to *5* (highest risk) against
147
+ the *fixed anchors* given, and *every* score *MUST* be backed
148
+ by a one-line <evidence/> grounded in the *actual* hunks or the
149
+ read-only repository probe.
150
+
151
+ Probe the repository *read-only* and *heuristically* (via `git
152
+ grep` / `grep` / `git ls-files`, restricted to first-party code)
153
+ only as needed to substantiate the *Coupling* and *Coverage*
154
+ axes (e.g. who imports a touched module, whether touched code has
155
+ adjacent tests). Do not output anything during the probe.
156
+
157
+ Score each axis against these anchors:
158
+
159
+ 1. **COUPLING** — how widely the touched code is depended upon.
160
+ *1*: self-contained, no first-party importers.
161
+ *3*: a handful of dependent modules.
162
+ *5*: a hub touched by many modules or a public interface.
163
+
164
+ 2. **CRITICALITY** — how essential the touched path is.
165
+ *1*: docs, comments, dead/peripheral code.
166
+ *3*: ordinary feature logic.
167
+ *5*: core/security/auth/data-integrity/money path.
168
+
169
+ 3. **COVERAGE** — how well the change is exercised by tests.
170
+ *1*: tests touched in this diff or directly covering the
171
+ changed hunks.
172
+ *3*: adjacent tests exist but are not clearly exercising the
173
+ changed hunks.
174
+ *5*: no tests anywhere near the touched code.
175
+
176
+ 4. **REVERSIBILITY** — how easily the change can be undone.
177
+ *1*: pure code change, revert restores prior state.
178
+ *3*: needs coordinated revert or a config rollback.
179
+ *5*: irreversible-by-revert (schema/data migration, released
180
+ artifact, external side effect).
181
+
182
+ Compute the *aggregate risk* as the *equal-weighted* mean of
183
+ the four risk contributions (Coupling, Criticality, Coverage,
184
+ Reversibility), rounded to one decimal, and map it to a *graded
185
+ band*: *1.0-1.9* → **LOW**, *2.0-2.9* → **MODERATE**, *3.0-3.9*
186
+ → **HIGH**, *4.0-5.0* → **CRITICAL**.
187
+
188
+ Then emit the following <template/>, with the overall band and
189
+ aggregate score, followed by a *three-column table* with one row
190
+ per axis: column 1 is the *axis*, column 2 is the *score*, and
191
+ column 3 is the *evidence* (as a `●` bullet point) plus —
192
+ *only* if the axis reached the mitigation threshold of '>= 4' —
193
+ the *mitigation* (as a second `●` bullet point). If an axis did
194
+ not reach that threshold, omit the ` ● **MITIGATION**:
195
+ <mitigation/>` part from its row. Keep the overall <evidence/>
196
+ and <mitigation/> texts *concise* and *ultra brief*. Do *not*
197
+ output any further explanation.
198
+
199
+ In <evidence/> markup all file references as code (with
200
+ backticks), prepend them with `▢ ` and append ` [+N/-M]` (based
201
+ on the information in <stat/>) to them.
202
+
203
+ <template>
204
+
205
+ <ase-tpl-bullet-signal/> **CHANGE RISK REPORT**: Overall: **<band/>** (<aggregate/>/5)
206
+
207
+ | Axis | Score | Findings |
208
+ | ---- | ----- | -------- |
209
+ </template>
210
+
211
+ For each axis, emit the following row <template/>:
212
+
213
+ <template>
214
+ | **<axis/>** | <score/>/5 | ● **EVIDENCE**: <evidence/> ● **MITIGATION**: <mitigation/> |
215
+ </template>
216
+
217
+ Finally, output the following footer <template/>:
218
+
219
+ <template>
220
+
221
+ </template>
222
+
223
+ </if>
224
+
225
+ </step>
226
+
227
+ 4. <step id="STEP 4: Render Blast-Radius Map (optional)">
228
+
229
+ 1. <if condition="<getopt-option-blast/> is NOT equal `true`">
230
+ Silently *SKIP* this entire step.
231
+ </if>
232
+
233
+ 2. <if condition="<diff/> is empty">
234
+ Silently *SKIP* this entire step (STEP 2 already reported it).
235
+ </if>
236
+
237
+ 3. <if condition="<getopt-option-blast/> is equal `true` and <diff/> is NOT empty">
238
+ From the *same* captured <diff/> and <stat/>, *extract the
239
+ touched modules* — the distinct changed source files (or their
240
+ enclosing modules/ packages, according to the language idiom).
241
+
242
+ Then, for each touched module, *scan its reverse dependencies*
243
+ — the other first-party files that *import* or *reference* it
244
+ across the current project (e.g. by the module's basename,
245
+ exported symbol, or import path). Keep the scan *read-only*
246
+ and *heuristic*; restrict it to first-party code within the
247
+ repository. Do not output anything during the scan.
248
+
249
+ Then build a *blast-radius graph* and render it as a diagram:
250
+
251
+ 1. Build a Mermaid specification <mermaid-spec/> for a `flowchart
252
+ TB` whose *touched* modules are the origin nodes and whose
253
+ *reverse-dependency* edges fan out to the dependent modules
254
+ (origin → dependent).
255
+
256
+ Flag each *touched* node as a problem node per the
257
+ `ase-meta-diagram` anomaly convention — prefix its label
258
+ with `⚑ ` inside quotes, e.g. `T1["⚑ src/core.ts"]`. Keep
259
+ labels ultra short (basenames or module names only).
260
+
261
+ 2. Dispatch the rendering to the `ase-meta-diagram` sub-agent by
262
+ calling the tool `Agent(name: "ase:ase-meta-diagram",
263
+ description: "Diagram Rendering", subagent_type:
264
+ "ase:ase-meta-diagram", prompt: "<mermaid-spec/>")` and capture
265
+ its returned `text` field as <diagram/>.
266
+
267
+ Then emit the following <template/>, showing <diagram/> and
268
+ appending a *brief impact summary* of bullets, where each
269
+ <module/> is a *touched* module and <impact/> is a one-sentence
270
+ note on *what depends on it* and *how far the blast reaches*.
271
+
272
+ In <module/> and <impact/>, markup all file references as code
273
+ (with backticks), prepend them with `▢ ` and append ` [+N/-M]`
274
+ (based on the information in <stat/>) to them.
275
+
276
+ <template>
277
+ <ase-tpl-head title="Hello World"/>
278
+
279
+ <ase-tpl-bullet-signal/> **CHANGE BLAST RADIUS MAP**:
280
+
281
+ ```text
282
+ <diagram/>
283
+ ```
284
+
285
+ <ase-tpl-bullet-signal/> **BLAST**: ⚑ **<module/>**: <impact/>
286
+
287
+ <ase-tpl-bullet-signal/> **BLAST**: ⚑ **<module/>**: <impact/>
288
+
289
+ [...]
290
+
291
+ <ase-tpl-foot/>
292
+ </template>
293
+
294
+ Keep the overall report *concise* and *brief*. Do *not* output
295
+ any further explanation.
296
+ </if>
297
+
298
+ </step>
299
+
300
+ </flow>
301
+
@@ -0,0 +1,81 @@
1
+
2
+ ## NAME
3
+
4
+ `ase-meta-diff` - Summarize Diff
5
+
6
+ ## SYNOPSIS
7
+
8
+ `ase-meta-diff`
9
+ [`--help`|`-h`]
10
+ [`--risk`|`-r`]
11
+ [`--blast`|`-b`]
12
+
13
+ ## DESCRIPTION
14
+
15
+ The `ase-meta-diff` skill turns a raw Git diff into a *concise*,
16
+ *human-readable* narrative of what changed and why, *grouped by
17
+ intent* (such as *Feature*, *Improvement*, *Bugfix*, *Update*,
18
+ *Cleanup*, or *Refactor*) rather than by file. It inspects the
19
+ *staged* changes (`git diff --cached HEAD`). The result is a short
20
+ bullet list, one bullet per intent group, each naming the affected
21
+ files with their per-file `[+N/-M]` line counts — giving you the
22
+ essence of the changes at a glance.
23
+
24
+ With `--risk`, the skill additionally *scores* the same diff against a
25
+ four-axis **coupling-criticality-coverage-reversibility** rubric and
26
+ emits a *graded risk report* — one bullet per axis (each scored *1*-*5*
27
+ with a one-line evidence justification drawn from the actual hunks), an
28
+ overall risk band (**LOW**, **MODERATE**, **HIGH**, or **CRITICAL**),
29
+ and one actionable *mitigation* per high-risk axis. The axes combine
30
+ with *equal weights*, and the rubric is deliberately *not tuned* to any
31
+ specific project: every score is backed by cited evidence so it remains
32
+ *overridable*, and the report is *decision support*, not a merge gate.
33
+
34
+ With `--blast`, the skill additionally renders a *blast-radius map* — a
35
+ Mermaid `flowchart` of the *touched modules* and their *reverse
36
+ dependencies*, plus a *brief impact summary*. It *extracts the touched
37
+ modules* from the changed files, *scans the repository* for the
38
+ first-party code that *imports* or *references* those modules, builds a
39
+ blast-radius graph (touched modules as origin nodes, dependents fanning
40
+ out along the edges), dispatches the rendering to the `ase-meta-diagram`
41
+ sub-agent, and appends a short bullet list of the per-module impact —
42
+ giving a visual sense of *what a diff endangers* before a deeper review.
43
+
44
+ ## ARGUMENTS
45
+
46
+ `--risk`, `-r`:
47
+ In addition to the intent-grouped summary, score the diff against
48
+ the *coupling-criticality-coverage-reversibility* rubric and emit a
49
+ *graded risk report* with an overall risk band and per-axis
50
+ *mitigations*. Scores are equal-weighted, evidence-backed, and
51
+ deliberately untuned to the project.
52
+
53
+ `--blast`, `-b`:
54
+ In addition to the intent-grouped summary, render a *blast-radius
55
+ map* — a Mermaid `flowchart` of the *touched modules* and their
56
+ *reverse dependencies* — plus a *brief impact summary* of what
57
+ depends on the touched code and how far the blast reaches.
58
+
59
+ ## EXAMPLES
60
+
61
+ Summarize the currently staged changes:
62
+
63
+ ```text
64
+ ❯ /ase-meta-diff
65
+ ```
66
+
67
+ Summarize the staged changes and append a graded risk report:
68
+
69
+ ```text
70
+ ❯ /ase-meta-diff --risk
71
+ ```
72
+
73
+ Summarize the staged changes and append a blast-radius map:
74
+
75
+ ```text
76
+ ❯ /ase-meta-diff --blast
77
+ ```
78
+
79
+ ## SEE ALSO
80
+
81
+ `ase-meta-commit`, `ase-meta-changelog`, `ase-arch-analyze`.
@@ -33,7 +33,7 @@ multi-*criteria* decision matrix.
33
33
  and do not output anything else:
34
34
 
35
35
  <template>
36
- &#x26AA; **REASON**: *<reason/>*
36
+ <ase-tpl-bullet-secondary/> **REASON**: *<reason/>*
37
37
  </template>
38
38
  </step>
39
39
 
@@ -47,7 +47,7 @@ multi-*criteria* decision matrix.
47
47
  executing any further steps:
48
48
 
49
49
  <template>
50
- &#x1F7E0; **ERROR: INSUFFICIENT ALTERNATIVES**: at least two are required for a comparison!
50
+ <ase-tpl-bullet-signal/> **ERROR: INSUFFICIENT ALTERNATIVES**: at least two are required for a comparison!
51
51
  </template>
52
52
 
53
53
  - For each alternative <alternative-K/> (K=1-N), decide whether
@@ -82,7 +82,7 @@ multi-*criteria* decision matrix.
82
82
  executing any further steps:
83
83
 
84
84
  <template>
85
- &#x1F7E0; **ERROR: INCOMPARABLE ALTERNATIVES**: *<class-of-alternatives/>*
85
+ <ase-tpl-bullet-signal/> **ERROR: INCOMPARABLE ALTERNATIVES**: *<class-of-alternatives/>*
86
86
 
87
87
  <for items="<alternative-J/> [...]">
88
88
  ⚑ **<item/>** (*member of a different class*)
@@ -94,7 +94,7 @@ multi-*criteria* decision matrix.
94
94
  anything else:
95
95
 
96
96
  <template>
97
- &#x1F535; **ALTERNATIVES**: *<class-of-alternatives/>*
97
+ <ase-tpl-bullet-normal/> **ALTERNATIVES**: *<class-of-alternatives/>*
98
98
 
99
99
  | ⚑ *Alternative* | ⚖ *Hint* |
100
100
  | :--------------------- | :-------- |
@@ -161,7 +161,7 @@ multi-*criteria* decision matrix.
161
161
  alternative* <alternative-K/> (K=1-N).
162
162
 
163
163
  <template>
164
- &#x1F535; **EVALUATION**: *Weighted Multi-Criteria Decision Matrix*
164
+ <ase-tpl-bullet-normal/> **EVALUATION**: *Weighted Multi-Criteria Decision Matrix*
165
165
 
166
166
  | ⦿ *Criteria* | ⚖ *Weight* | ⚑ **<alternative-1/>** | [...alternatives 2-(N-1)...] | ⚑ **<alternative-N/>** |
167
167
  | :------------ | ----------: | ---------------------: | ---------------------------: | ---------------------: |
@@ -217,7 +217,7 @@ multi-*criteria* decision matrix.
217
217
  else:
218
218
 
219
219
  <template>
220
- &#x1F7E0; **ERROR**: ✘ *MULTIPLE BEST ALTERNATIVES FOUND*,
220
+ <ase-tpl-bullet-signal/> **ERROR**: ✘ *MULTIPLE BEST ALTERNATIVES FOUND*,
221
221
  ⚠ *Please give some hints on the criteria to ensure a single best alternative!*
222
222
  </template>
223
223
 
@@ -226,7 +226,7 @@ multi-*criteria* decision matrix.
226
226
  else:
227
227
 
228
228
  <template>
229
- &#x1F7E0; **BEST ALTERNATIVE**: ⚑ **<alternative-K/>**
229
+ <ase-tpl-bullet-signal/> **BEST ALTERNATIVE**: ⚑ **<alternative-K/>**
230
230
  ⚠ *ATTENTION: small distance to second best alternative!*
231
231
  </template>
232
232
 
@@ -236,7 +236,7 @@ multi-*criteria* decision matrix.
236
236
  output anything else:
237
237
 
238
238
  <template>
239
- &#x1F7E0; **BEST ALTERNATIVE**: ⚑ **<alternative-K/>**
239
+ <ase-tpl-bullet-signal/> **BEST ALTERNATIVE**: ⚑ **<alternative-K/>**
240
240
  ⚠ *ATTENTION: all alternatives rate negatively; this is the least-bad choice, not a strong winner!*
241
241
  </template>
242
242
 
@@ -244,7 +244,7 @@ multi-*criteria* decision matrix.
244
244
  just the following <template/> and do not output anything else:
245
245
 
246
246
  <template>
247
- &#x1F7E0; **BEST ALTERNATIVE**: ⚑ **<alternative-K/>**
247
+ <ase-tpl-bullet-signal/> **BEST ALTERNATIVE**: ⚑ **<alternative-K/>**
248
248
  </template>
249
249
  </step>
250
250
  </flow>
@@ -31,7 +31,7 @@ addressing surface-level symptoms.
31
31
  State the problem statement.
32
32
 
33
33
  <template>
34
- &#x1F7E0; **PROBLEM**: <problem/>
34
+ <ase-tpl-bullet-signal/> **PROBLEM**: <problem/>
35
35
  </template>
36
36
  </step>
37
37
 
@@ -46,7 +46,7 @@ addressing surface-level symptoms.
46
46
  Consider technical, domain-specific, process-related, or organizational causes.
47
47
 
48
48
  <template>
49
- &#x26AA; **WHY <item/>**: <answer/>
49
+ <ase-tpl-bullet-secondary/> **WHY <item/>**: <answer/>
50
50
  </template>
51
51
 
52
52
  Then, for the next iteration set <question/> now to be the last <answer/>.
@@ -61,7 +61,7 @@ addressing surface-level symptoms.
61
61
  For the proposed solution, optionally directly propose corresponding source code changes.
62
62
 
63
63
  <template>
64
- &#x1F7E0; **SOLUTION**: <solution/>
64
+ <ase-tpl-bullet-signal/> **SOLUTION**: <solution/>
65
65
  </template>
66
66
  </step>
67
67
  </flow>
@@ -326,9 +326,9 @@ Set <content-dirty>true</content-dirty>.
326
326
  Use the following <template/>:
327
327
 
328
328
  <template>
329
- **ASE**: ┈┈┈┈┈┈┈┈────────━━━━━━━━**(** `TASK-PLAN-BEGIN` **)**━━━━━━━━────────┈┈┈┈┈┈┈┈
329
+ <ase-tpl-head title="TASK-PLAN"/>
330
330
  <content/>
331
- **ASE**: ┈┈┈┈┈┈┈┈────────━━━━━━━━**(** `TASK-PLAN-END` **)**━━━━━━━━────────┈┈┈┈┈┈┈┈
331
+ <ase-tpl-foot title="TASK-PLAN"/>
332
332
  </template>
333
333
 
334
334
  4. *Determine next step*:
@@ -143,7 +143,7 @@ Procedure
143
143
  1. Output the following <template/>:
144
144
 
145
145
  <template>
146
- &#x1F7E0; ASPECT <N/>/<n/>: **<aspect-N/>**, QUESTION: **<question-N/>**
146
+ <ase-tpl-bullet-signal/> ASPECT <N/>/<n/>: **<aspect-N/>**, QUESTION: **<question-N/>**
147
147
  </template>
148
148
 
149
149
  2. Determine the answer alternatives:
@@ -164,7 +164,7 @@ Procedure
164
164
  4. Output the following <template/>:
165
165
 
166
166
  <template>
167
- &#x1F535; ASPECT <N/>/<n/>: **<aspect-N/>**, ANSWER: **<answer-N/>**
167
+ <ase-tpl-bullet-normal/> ASPECT <N/>/<n/>: **<aspect-N/>**, ANSWER: **<answer-N/>**
168
168
  </template>
169
169
 
170
170
  3. Finally, update the in <plan/> based on all answers <answer-N/>.
@@ -82,9 +82,9 @@ explicitly requested by this procedure via outputs based on a <template/>!
82
82
  <content/> here.
83
83
 
84
84
  <template>
85
- **ASE**: ┈┈┈┈┈┈┈┈────────━━━━━━━━**(** `TASK-PLAN-BEGIN` **)**━━━━━━━━────────┈┈┈┈┈┈┈┈
85
+ <ase-tpl-head title="TASK-PLAN"/>
86
86
  <content/>
87
- **ASE**: ┈┈┈┈┈┈┈┈────────━━━━━━━━**(** `TASK-PLAN-END` **)**━━━━━━━━────────┈┈┈┈┈┈┈┈
87
+ <ase-tpl-foot title="TASK-PLAN"/>
88
88
  </template>
89
89
  </if>
90
90