@rse/ase 0.0.52 → 0.0.53
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.
- package/dst/ase-config.js +3 -3
- package/dst/ase-diagram.js +1 -1
- package/dst/ase-getopt.js +1 -1
- package/dst/ase-hello.js +27 -0
- package/dst/ase-kv.js +5 -5
- package/dst/ase-persona.js +1 -1
- package/dst/ase-service.js +1 -1
- package/dst/ase-skills.js +2 -2
- package/dst/ase-task.js +6 -6
- package/dst/ase-timestamp.js +1 -1
- package/package.json +1 -1
- package/plugin/.claude/settings.local.json +1 -1
- package/plugin/.claude-plugin/plugin.json +1 -1
- package/plugin/.github/plugin/plugin.json +1 -1
- package/plugin/agents/ase-meta-chat.md +1 -1
- package/plugin/agents/ase-meta-diagram.md +5 -5
- package/plugin/agents/ase-meta-search.md +2 -6
- package/plugin/meta/ase-getopt.md +2 -2
- package/plugin/meta/ase-plan.md +2 -2
- package/plugin/meta/ase-skill.md +3 -3
- package/plugin/package.json +1 -1
- package/plugin/skills/ase-arch-analyze/SKILL.md +3 -3
- package/plugin/skills/ase-arch-discover/SKILL.md +2 -2
- package/plugin/skills/ase-code-analyze/SKILL.md +1 -1
- package/plugin/skills/ase-code-craft/SKILL.md +10 -10
- package/plugin/skills/ase-code-lint/SKILL.md +2 -2
- package/plugin/skills/ase-code-refactor/SKILL.md +10 -10
- package/plugin/skills/ase-code-resolve/SKILL.md +17 -17
- package/plugin/skills/ase-docs-proofread/SKILL.md +2 -2
- package/plugin/skills/ase-meta-evaluate/SKILL.md +2 -2
- package/plugin/skills/ase-meta-persona/SKILL.md +4 -4
- package/plugin/skills/ase-task-delete/SKILL.md +5 -5
- package/plugin/skills/ase-task-edit/SKILL.md +17 -17
- package/plugin/skills/ase-task-id/SKILL.md +4 -4
- package/plugin/skills/ase-task-implement/SKILL.md +7 -7
- package/plugin/skills/ase-task-list/SKILL.md +2 -2
- package/plugin/skills/ase-task-preflight/SKILL.md +11 -11
- package/plugin/skills/ase-task-reboot/SKILL.md +9 -9
- package/plugin/skills/ase-task-rename/SKILL.md +5 -5
- package/plugin/skills/ase-task-view/SKILL.md +3 -3
package/dst/ase-config.js
CHANGED
|
@@ -635,7 +635,7 @@ export class ConfigMCP {
|
|
|
635
635
|
/* register the MCP tools */
|
|
636
636
|
register(mcp) {
|
|
637
637
|
/* config get */
|
|
638
|
-
mcp.registerTool("
|
|
638
|
+
mcp.registerTool("ase_config_get", {
|
|
639
639
|
title: "ASE config get",
|
|
640
640
|
description: "Read the effective value of a dotted configuration `key` from the layered " +
|
|
641
641
|
"configuration, cascading through default/user/project/task/session chain up to and " +
|
|
@@ -665,7 +665,7 @@ export class ConfigMCP {
|
|
|
665
665
|
}
|
|
666
666
|
});
|
|
667
667
|
/* config set */
|
|
668
|
-
mcp.registerTool("
|
|
668
|
+
mcp.registerTool("ase_config_set", {
|
|
669
669
|
title: "ASE config set",
|
|
670
670
|
description: "Write `val` to a dotted configuration `key` at the target `scope` " +
|
|
671
671
|
"(the strongest scope term in the chain). The value is validated against " +
|
|
@@ -695,7 +695,7 @@ export class ConfigMCP {
|
|
|
695
695
|
}
|
|
696
696
|
});
|
|
697
697
|
/* config delete */
|
|
698
|
-
mcp.registerTool("
|
|
698
|
+
mcp.registerTool("ase_config_delete", {
|
|
699
699
|
title: "ASE config delete",
|
|
700
700
|
description: "Delete the value at a dotted configuration `key` from the target `scope` " +
|
|
701
701
|
"(the strongest scope term in the chain). No-op if the key is not present.",
|
package/dst/ase-diagram.js
CHANGED
|
@@ -272,7 +272,7 @@ export default class DiagramCommand {
|
|
|
272
272
|
/* MCP registration entry point for diagram tools */
|
|
273
273
|
export class DiagramMCP {
|
|
274
274
|
register(mcp) {
|
|
275
|
-
mcp.registerTool("
|
|
275
|
+
mcp.registerTool("ase_diagram", {
|
|
276
276
|
title: "ASE diagram render",
|
|
277
277
|
description: "Render a Mermaid diagram as Unicode/ASCII art. " +
|
|
278
278
|
"Use for visualizing " +
|
package/dst/ase-getopt.js
CHANGED
|
@@ -9,7 +9,7 @@ import { parse as shParse, quote as shQuote } from "shell-quote";
|
|
|
9
9
|
/* MCP registration entry point for the option-parser tool */
|
|
10
10
|
export class GetoptMCP {
|
|
11
11
|
register(mcp) {
|
|
12
|
-
mcp.registerTool("
|
|
12
|
+
mcp.registerTool("ase_getopt", {
|
|
13
13
|
title: "ASE option parser",
|
|
14
14
|
description: "Parse `args` against the options specification in " +
|
|
15
15
|
"`spec` of the form `--<long>[|-<short>][=<default>] ...` " +
|
package/dst/ase-hello.js
ADDED
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
/*
|
|
2
|
+
** Agentic Software Engineering (ASE)
|
|
3
|
+
** Copyright (c) 2025-2026 Dr. Ralf S. Engelschall <rse@engelschall.com>
|
|
4
|
+
** Licensed under GPL 3.0 <https://spdx.org/licenses/GPL-3.0-only>
|
|
5
|
+
*/
|
|
6
|
+
import { Chalk } from "chalk";
|
|
7
|
+
/* forced-color chalk instance: stdout is a pipe under Claude Code,
|
|
8
|
+
so chalk auto-detection would yield level 0; force level 1 to keep
|
|
9
|
+
emitting ANSI sequences */
|
|
10
|
+
const c = new Chalk({ level: 1 });
|
|
11
|
+
/* command-line handling */
|
|
12
|
+
export default class HelloCommand {
|
|
13
|
+
log;
|
|
14
|
+
constructor(log) {
|
|
15
|
+
this.log = log;
|
|
16
|
+
}
|
|
17
|
+
/* register commands */
|
|
18
|
+
register(program) {
|
|
19
|
+
program
|
|
20
|
+
.command("hello")
|
|
21
|
+
.description("Print a friendly \"Hello World\" greeting in red")
|
|
22
|
+
.action(async () => {
|
|
23
|
+
this.log.write("debug", "hello: printing greeting");
|
|
24
|
+
process.stdout.write(c.red("Hello World") + "\n");
|
|
25
|
+
});
|
|
26
|
+
}
|
|
27
|
+
}
|
package/dst/ase-kv.js
CHANGED
|
@@ -66,7 +66,7 @@ export class KV {
|
|
|
66
66
|
export class KVMCP {
|
|
67
67
|
register(mcp) {
|
|
68
68
|
/* key/value get */
|
|
69
|
-
mcp.registerTool("
|
|
69
|
+
mcp.registerTool("ase_kv_get", {
|
|
70
70
|
title: "ASE key/value get",
|
|
71
71
|
description: "Get a value from the in-memory key/value store by `key`. " +
|
|
72
72
|
"Returns the value as JSON-encoded `text`; returns an empty string if no value is stored.",
|
|
@@ -88,7 +88,7 @@ export class KVMCP {
|
|
|
88
88
|
}
|
|
89
89
|
});
|
|
90
90
|
/* key/value set */
|
|
91
|
-
mcp.registerTool("
|
|
91
|
+
mcp.registerTool("ase_kv_set", {
|
|
92
92
|
title: "ASE key/value set",
|
|
93
93
|
description: "Store a `val` under the given `key` in the in-memory key/value store. " +
|
|
94
94
|
"Overwrites any existing value for the same `key`. " +
|
|
@@ -110,7 +110,7 @@ export class KVMCP {
|
|
|
110
110
|
}
|
|
111
111
|
});
|
|
112
112
|
/* key/value clear */
|
|
113
|
-
mcp.registerTool("
|
|
113
|
+
mcp.registerTool("ase_kv_clear", {
|
|
114
114
|
title: "ASE key/value clear",
|
|
115
115
|
description: "Remove all keys from the in-memory key/value store. " +
|
|
116
116
|
"Returns a status `text` indicating how many keys were removed.",
|
|
@@ -126,7 +126,7 @@ export class KVMCP {
|
|
|
126
126
|
}
|
|
127
127
|
});
|
|
128
128
|
/* key/value delete */
|
|
129
|
-
mcp.registerTool("
|
|
129
|
+
mcp.registerTool("ase_kv_delete", {
|
|
130
130
|
title: "ASE key/value delete",
|
|
131
131
|
description: "Delete a value from the in-memory key/value store by `key`. " +
|
|
132
132
|
"Returns a status `text` indicating whether a value existed and was removed.",
|
|
@@ -148,7 +148,7 @@ export class KVMCP {
|
|
|
148
148
|
}
|
|
149
149
|
});
|
|
150
150
|
/* key/value batch */
|
|
151
|
-
mcp.registerTool("
|
|
151
|
+
mcp.registerTool("ase_kv_batch", {
|
|
152
152
|
title: "ASE key/value batch",
|
|
153
153
|
description: "Execute an array of in-memory key/value `commands` in a single MCP call. " +
|
|
154
154
|
"Each entry is an object `{ command: \"clear\"|\"set\"|\"get\"|\"delete\", key?, val? }` " +
|
package/dst/ase-persona.js
CHANGED
|
@@ -43,7 +43,7 @@ export default class PersonaMCP {
|
|
|
43
43
|
this.log = log;
|
|
44
44
|
}
|
|
45
45
|
register(mcp) {
|
|
46
|
-
mcp.registerTool("
|
|
46
|
+
mcp.registerTool("ase_persona", {
|
|
47
47
|
title: "ASE persona style get/set",
|
|
48
48
|
description: "Get or set the active ASE agent persona `style`. " +
|
|
49
49
|
"If `style` is provided, it sets the persona style, " +
|
package/dst/ase-service.js
CHANGED
|
@@ -165,7 +165,7 @@ export class ServiceMCP {
|
|
|
165
165
|
this.ctx = ctx;
|
|
166
166
|
}
|
|
167
167
|
register(mcp) {
|
|
168
|
-
mcp.registerTool("
|
|
168
|
+
mcp.registerTool("ase_ping", {
|
|
169
169
|
title: "ASE service ping",
|
|
170
170
|
description: "Return ASE service identity, port, and uptime.",
|
|
171
171
|
inputSchema: {}
|
package/dst/ase-skills.js
CHANGED
|
@@ -292,7 +292,7 @@ export class Skills {
|
|
|
292
292
|
/* MCP registration entry point for various skill helper tools */
|
|
293
293
|
export class SkillsMCP {
|
|
294
294
|
register(mcp) {
|
|
295
|
-
mcp.registerTool("
|
|
295
|
+
mcp.registerTool("ase_component_info", {
|
|
296
296
|
title: "ASE component info",
|
|
297
297
|
description: "Gather metadata for a list of packages with maximum parallelism, " +
|
|
298
298
|
"dispatching on the technology `stack`. For `JavaScript`/`TypeScript`, " +
|
|
@@ -330,7 +330,7 @@ export class SkillsMCP {
|
|
|
330
330
|
};
|
|
331
331
|
}
|
|
332
332
|
});
|
|
333
|
-
mcp.registerTool("
|
|
333
|
+
mcp.registerTool("ase_decision_matrix", {
|
|
334
334
|
title: "ASE decision matrix",
|
|
335
335
|
description: "Compute the per-alternative product-sum (rating) row of a weighted " +
|
|
336
336
|
"multi-criteria decision matrix. The input `matrix` is an array of rows, " +
|
package/dst/ase-task.js
CHANGED
|
@@ -295,7 +295,7 @@ export class TaskMCP {
|
|
|
295
295
|
/* register MCP tools */
|
|
296
296
|
register(mcp) {
|
|
297
297
|
/* task list */
|
|
298
|
-
mcp.registerTool("
|
|
298
|
+
mcp.registerTool("ase_task_list", {
|
|
299
299
|
title: "ASE task list",
|
|
300
300
|
description: "List all persisted tasks. " +
|
|
301
301
|
"Returns a `tasks` array (in lexicographic `id` order) where each item has the " +
|
|
@@ -335,7 +335,7 @@ export class TaskMCP {
|
|
|
335
335
|
}
|
|
336
336
|
});
|
|
337
337
|
/* task load */
|
|
338
|
-
mcp.registerTool("
|
|
338
|
+
mcp.registerTool("ase_task_load", {
|
|
339
339
|
title: "ASE task load",
|
|
340
340
|
description: "Load a previously persisted task by `id`. " +
|
|
341
341
|
"Returns the task as `text`; returns an empty string if no task exists for the `id`.",
|
|
@@ -359,7 +359,7 @@ export class TaskMCP {
|
|
|
359
359
|
}
|
|
360
360
|
});
|
|
361
361
|
/* task save */
|
|
362
|
-
mcp.registerTool("
|
|
362
|
+
mcp.registerTool("ase_task_save", {
|
|
363
363
|
title: "ASE task save",
|
|
364
364
|
description: "Persist a task as `text` under `id`. " +
|
|
365
365
|
"Overwrites any existing task for the same `id`.",
|
|
@@ -384,7 +384,7 @@ export class TaskMCP {
|
|
|
384
384
|
};
|
|
385
385
|
}
|
|
386
386
|
});
|
|
387
|
-
mcp.registerTool("
|
|
387
|
+
mcp.registerTool("ase_task_delete", {
|
|
388
388
|
title: "ASE task delete",
|
|
389
389
|
description: "Delete a previously persisted task by `id`. " +
|
|
390
390
|
"Returns a status `text` indicating whether a task existed and was removed.",
|
|
@@ -411,7 +411,7 @@ export class TaskMCP {
|
|
|
411
411
|
}
|
|
412
412
|
});
|
|
413
413
|
/* task rename */
|
|
414
|
-
mcp.registerTool("
|
|
414
|
+
mcp.registerTool("ase_task_rename", {
|
|
415
415
|
title: "ASE task rename",
|
|
416
416
|
description: "Rename a previously persisted task from `old` to `new` by atomically moving the " +
|
|
417
417
|
"task home directory. Returns a status `text` indicating whether the rename succeeded. " +
|
|
@@ -441,7 +441,7 @@ export class TaskMCP {
|
|
|
441
441
|
}
|
|
442
442
|
});
|
|
443
443
|
/* task id get/set */
|
|
444
|
-
mcp.registerTool("
|
|
444
|
+
mcp.registerTool("ase_task_id", {
|
|
445
445
|
title: "ASE task id get/set",
|
|
446
446
|
description: "Get or set the active ASE task `id` for a given `session`. " +
|
|
447
447
|
"If `id` is provided, it sets the task id in the given `session`, " +
|
package/dst/ase-timestamp.js
CHANGED
|
@@ -8,7 +8,7 @@ import { DateTime } from "luxon";
|
|
|
8
8
|
/* MCP registration entry point for timestamp tool */
|
|
9
9
|
export class TimestampMCP {
|
|
10
10
|
register(mcp) {
|
|
11
|
-
mcp.registerTool("
|
|
11
|
+
mcp.registerTool("ase_timestamp", {
|
|
12
12
|
title: "ASE timestamp",
|
|
13
13
|
description: "Return the current local date/time formatted via a Luxon format string. " +
|
|
14
14
|
"Pass the Luxon format tokens as `format` (default: `yyyy-LL-dd HH:mm`). " +
|
package/package.json
CHANGED
|
@@ -6,7 +6,7 @@
|
|
|
6
6
|
"homepage": "http://github.com/rse/ase",
|
|
7
7
|
"repository": { "url": "git+https://github.com/rse/ase.git", "type": "git" },
|
|
8
8
|
"bugs": { "url": "http://github.com/rse/ase/issues" },
|
|
9
|
-
"version": "0.0.
|
|
9
|
+
"version": "0.0.53",
|
|
10
10
|
"license": "GPL-3.0-only",
|
|
11
11
|
"author": {
|
|
12
12
|
"name": "Dr. Ralf S. Engelschall",
|
|
@@ -47,7 +47,7 @@ tools:
|
|
|
47
47
|
ERROR: LLM `<llm/>` requires MCP server `<server/>`, but it is (currently) not available!
|
|
48
48
|
</template>
|
|
49
49
|
|
|
50
|
-
4. Now call the MCP tool `query(
|
|
50
|
+
4. Now call the MCP tool `query(prompt: <query/>)` from the MCP server
|
|
51
51
|
<server/> and then return its result `text` *verbatim* and
|
|
52
52
|
*without any modifications*. Especially, do *NOT* add or remove
|
|
53
53
|
any text to the MCP server response on your own and do not
|
|
@@ -2,15 +2,15 @@
|
|
|
2
2
|
name: ase-meta-diagram
|
|
3
3
|
description: "Diagram Rendering"
|
|
4
4
|
tools:
|
|
5
|
-
- "
|
|
5
|
+
- "mcp__plugin_ase_ase__ase_diagram"
|
|
6
6
|
effort: high
|
|
7
7
|
---
|
|
8
8
|
|
|
9
9
|
Your role is to render a *single* diagram, with *deterministic* and
|
|
10
10
|
*clean* output. Your objective is to produce a beautifully rendered
|
|
11
11
|
diagram, derived from the *Mermaid* diagram specification passed in
|
|
12
|
-
`$ARGUMENTS`, which is rendered with the `
|
|
13
|
-
MCP
|
|
12
|
+
`$ARGUMENTS`, which is rendered with the `ase_diagram` tool of the `ase`
|
|
13
|
+
MCP server. The rendered diagram is returned to the caller, who
|
|
14
14
|
reproduces it directly in the user-visible response text.
|
|
15
15
|
|
|
16
16
|
Rules
|
|
@@ -33,7 +33,7 @@ Rules
|
|
|
33
33
|
Other Mermaid diagram types are *not* supported by the renderer.
|
|
34
34
|
|
|
35
35
|
- RENDER:
|
|
36
|
-
You *MUST* always use the `
|
|
36
|
+
You *MUST* always use the `ase_diagram` tool from the `ase` MCP server
|
|
37
37
|
to render the diagram!
|
|
38
38
|
|
|
39
39
|
Pass the Mermaid diagram specification from `$ARGUMENTS` in the
|
|
@@ -45,7 +45,7 @@ Rules
|
|
|
45
45
|
token-by-token are *forbidden* as your own output.
|
|
46
46
|
|
|
47
47
|
- OUTPUT:
|
|
48
|
-
You *MUST* return *exclusively* the `text` output of the `
|
|
48
|
+
You *MUST* return *exclusively* the `text` output of the `ase_diagram`
|
|
49
49
|
tool, reproduced *verbatim* into a single Markdown-fenced code block
|
|
50
50
|
(triple backticks). Do *not* return any other output, especially no
|
|
51
51
|
prose, no preamble, no summary, and no Mermaid specification.
|
|
@@ -1,15 +1,11 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: ase-meta-search
|
|
3
3
|
description: Query the Web
|
|
4
|
-
tools:
|
|
5
|
-
- "mcp__perplexity__perplexity_search"
|
|
6
|
-
- "mcp__brave__brave_web_search"
|
|
7
|
-
- "WebSearch"
|
|
8
4
|
model: sonnet
|
|
9
5
|
effort: low
|
|
10
6
|
tools:
|
|
11
|
-
- "
|
|
12
|
-
- "
|
|
7
|
+
- "mcp__perplexity__perplexity_search"
|
|
8
|
+
- "mcp__brave__brave_web_search"
|
|
13
9
|
- "mcp__search-exa__web_search_exa"
|
|
14
10
|
- "WebSearch"
|
|
15
11
|
---
|
|
@@ -20,8 +20,8 @@ set placeholders into the context as a side-effect.
|
|
|
20
20
|
then just silently *SKIP* the following steps 3-7!
|
|
21
21
|
|
|
22
22
|
3. **MCP Call**:
|
|
23
|
-
Call the `
|
|
24
|
-
<getopt-args/>)` tool of the `ase` MCP
|
|
23
|
+
Call the `ase_getopt(name: <getopt-skill/>, spec: <getopt-spec/>, args:
|
|
24
|
+
<getopt-args/>)` tool of the `ase` MCP server and set <text/> to the
|
|
25
25
|
`text` output field of this tool call. The `spec` syntax for each
|
|
26
26
|
option token is `--<long>[|-<short>][=<default>|=(<c1>|<c2>|...)]`,
|
|
27
27
|
where `=<default>` declares a value-taking option with a default,
|
package/plugin/meta/ase-plan.md
CHANGED
|
@@ -53,8 +53,8 @@ You *MUST* honor the following hints on this *task plan* format:
|
|
|
53
53
|
<timestamp-modified/> is the timestamp when this feature
|
|
54
54
|
specification was last modified. Both use an ISO-style format
|
|
55
55
|
value. The value of both can be determined by
|
|
56
|
-
a call to the `
|
|
57
|
-
tool of the `ase` MCP
|
|
56
|
+
a call to the `ase_timestamp(format: "yyyy-LL-dd HH:mm")`
|
|
57
|
+
tool of the `ase` MCP server and use the `text` field of
|
|
58
58
|
its response.
|
|
59
59
|
|
|
60
60
|
- The <title/> is a short summary of the <summary-what/>, no longer than
|
package/plugin/meta/ase-skill.md
CHANGED
|
@@ -128,15 +128,15 @@ Skill Sequential Processing
|
|
|
128
128
|
MCP Tool Calls
|
|
129
129
|
--------------
|
|
130
130
|
|
|
131
|
-
- *IMPORTANT*: Whenever you call *any* tool from the `ase` MCP
|
|
131
|
+
- *IMPORTANT*: Whenever you call *any* tool from the `ase` MCP server,
|
|
132
132
|
you *MUST* check the response immediately:
|
|
133
133
|
|
|
134
|
-
- If the call fails because the `ase` MCP
|
|
134
|
+
- If the call fails because the `ase` MCP server is not running
|
|
135
135
|
(tool not found, connection refused, server not connected, internal
|
|
136
136
|
error), output the following and stop immediately:
|
|
137
137
|
|
|
138
138
|
<template>
|
|
139
|
-
⧉ **ASE**: **ERROR:** MCP
|
|
139
|
+
⧉ **ASE**: **ERROR:** MCP server not running — please start it via `ase service start` and reconnect via `/mcp`, then retry.
|
|
140
140
|
</template>
|
|
141
141
|
|
|
142
142
|
- If the call fails for any other reason (timeout, transport error,
|
package/plugin/package.json
CHANGED
|
@@ -6,7 +6,7 @@
|
|
|
6
6
|
"homepage": "http://github.com/rse/ase",
|
|
7
7
|
"repository": { "url": "git+https://github.com/rse/ase.git", "type": "git" },
|
|
8
8
|
"bugs": { "url": "http://github.com/rse/ase/issues" },
|
|
9
|
-
"version": "0.0.
|
|
9
|
+
"version": "0.0.53",
|
|
10
10
|
"license": "GPL-3.0-only",
|
|
11
11
|
"author": {
|
|
12
12
|
"name": "Dr. Ralf S. Engelschall",
|
|
@@ -431,10 +431,10 @@ interface quality, quality attributes, and architecture governance.
|
|
|
431
431
|
for the same aspect, and never emit both halves of a
|
|
432
432
|
tension pair as separate PROBLEMs.
|
|
433
433
|
|
|
434
|
-
- *Additionally*, first call the `
|
|
435
|
-
MCP
|
|
434
|
+
- *Additionally*, first call the `ase_kv_clear()` tool of the `ase`
|
|
435
|
+
MCP server to clear the in-memory key/value store, and then,
|
|
436
436
|
for *every* reported PROBLEM and TRADEOFF, persist its finding
|
|
437
|
-
result via the `
|
|
437
|
+
result via the `ase_kv_set` tool of the `ase` MCP server, using
|
|
438
438
|
`key` set to `ase-issue-P<n/>` (for PROBLEMs) or
|
|
439
439
|
`ase-issue-T<n/>` (for TRADEOFFs) and `val` set to
|
|
440
440
|
`<title/>: <description/>`.
|
|
@@ -129,9 +129,9 @@ for the technology stack to *provide* the *needed functionality*
|
|
|
129
129
|
into the already existing result set, but deduplicate
|
|
130
130
|
entries by Maven coordinate.
|
|
131
131
|
|
|
132
|
-
- Call the `
|
|
132
|
+
- Call the `ase_component_info(stack: <stack/>, components:
|
|
133
133
|
[ <package-1/>, ..., <package-N/> ])` tool of the `ase` MCP
|
|
134
|
-
|
|
134
|
+
server *once* for the entire set of discovered packages.
|
|
135
135
|
The tool dispatches internally on <stack/> and fetches all
|
|
136
136
|
metadata in maximum parallel and returns an array of objects `{
|
|
137
137
|
name, version, time, repository, stars, downloads }`. For each
|
|
@@ -88,7 +88,7 @@ code, for problems in its *logic* and *semantics* and its related
|
|
|
88
88
|
<template>HIGH</template>.
|
|
89
89
|
|
|
90
90
|
- *Additionally*, persist all reported problems in a *single*
|
|
91
|
-
`
|
|
91
|
+
`ase_kv_batch` call to the `ase` MCP server with `transactional`
|
|
92
92
|
set to `true`. The `commands` parameter array of this call
|
|
93
93
|
starts with one `{ command: "clear" }` entry, followed by one
|
|
94
94
|
`{ command: "set", key: "ase-issue-P<n/>", val: "<title/>:
|
|
@@ -52,7 +52,7 @@ explicitly requested by this procedure via outputs based on a <template/>!
|
|
|
52
52
|
|
|
53
53
|
You *MUST* *NOT* call `Edit`, `Write`, `NotebookEdit`, or any
|
|
54
54
|
filesystem-modifying tool during this entire skill. The *only*
|
|
55
|
-
permitted way to persist artifacts is via `
|
|
55
|
+
permitted way to persist artifacts is via `ase_task_save(...)`.
|
|
56
56
|
|
|
57
57
|
1. **Reason About Feature**:
|
|
58
58
|
|
|
@@ -61,8 +61,8 @@ permitted way to persist artifacts is via `task_save(...)`.
|
|
|
61
61
|
">
|
|
62
62
|
Set <ase-task-id><feature/></ase-task-id> (set task id to feature)
|
|
63
63
|
and <feature></feature> (set feature empty), call the
|
|
64
|
-
`
|
|
65
|
-
from the `ase` MCP
|
|
64
|
+
`ase_task_id(id: <ase-task-id/>, session: <ase-session-id/>)` tool
|
|
65
|
+
from the `ase` MCP server to switch the task, and then only
|
|
66
66
|
output the following <template/>:
|
|
67
67
|
|
|
68
68
|
<template>
|
|
@@ -73,8 +73,8 @@ permitted way to persist artifacts is via `task_save(...)`.
|
|
|
73
73
|
2. If <feature/> has the format `<id/>: <text/>` where <id/> matches
|
|
74
74
|
the regexp `^[a-zA-Z][a-zA-Z0-9_-]+$`, then set
|
|
75
75
|
<feature><text/></feature> and <ase-task-id><id/></ase-task-id>
|
|
76
|
-
and call the `
|
|
77
|
-
<ase-session-id/>)` tool from the `ase` MCP
|
|
76
|
+
and call the `ase_task_id(id: <ase-task-id/>, session:
|
|
77
|
+
<ase-session-id/>)` tool from the `ase` MCP server to
|
|
78
78
|
implicitly switch the task. Do not output anything.
|
|
79
79
|
|
|
80
80
|
3. If <feature/> is empty,
|
|
@@ -91,8 +91,8 @@ permitted way to persist artifacts is via `task_save(...)`.
|
|
|
91
91
|
">
|
|
92
92
|
Set <ase-task-id/> to a unique task id, derived from <feature/>,
|
|
93
93
|
which consists of two lower-case words concatenated with a
|
|
94
|
-
`-` character. Then call the `
|
|
95
|
-
session: <ase-session-id/>)` tool from the `ase` MCP
|
|
94
|
+
`-` character. Then call the `ase_task_id(id: <ase-task-id/>,
|
|
95
|
+
session: <ase-session-id/>)` tool from the `ase` MCP server to
|
|
96
96
|
implicitly switch the task. Do not output anything.
|
|
97
97
|
</if>
|
|
98
98
|
|
|
@@ -271,15 +271,15 @@ permitted way to persist artifacts is via `task_save(...)`.
|
|
|
271
271
|
You *MUST* *NOT* call `Edit`, `Write`, `NotebookEdit`, or any
|
|
272
272
|
filesystem-modifying tool during this step.
|
|
273
273
|
|
|
274
|
-
2. Call the `
|
|
275
|
-
`ase` MCP
|
|
274
|
+
2. Call the `ase_timestamp(format: "yyyy-LL-dd HH:mm")` tool of the
|
|
275
|
+
`ase` MCP server and use the `text` field of its response for
|
|
276
276
|
<timestamp-created/> and <timestamp-modified/> information. Then
|
|
277
277
|
insert the current <ase-task-id/>, <timestamp-created/>, and
|
|
278
278
|
<timestamp-modified/> information and calculate the number of
|
|
279
279
|
words <words/> of <content/>.
|
|
280
280
|
|
|
281
281
|
3. You *MUST* *save* the resulting plan content with the
|
|
282
|
-
`
|
|
282
|
+
`ase_task_save(id: <ase-task-id/>, text: <content/>)`.
|
|
283
283
|
|
|
284
284
|
4. Output a hint with the following <template/>:
|
|
285
285
|
|
|
@@ -100,7 +100,7 @@ related to a set of code quality aspects.
|
|
|
100
100
|
|
|
101
101
|
3. <step id="STEP 3: Correction">
|
|
102
102
|
|
|
103
|
-
1. You *MUST* call the MCP tool `
|
|
103
|
+
1. You *MUST* call the MCP tool `ase_config_set(key: "agent.skill", val:
|
|
104
104
|
"ase-docs-proofread", scope: "session:<ase-session-id/>")` of the
|
|
105
105
|
`ase` MCP server. You *MUST* *NOT* output anything related to
|
|
106
106
|
this.
|
|
@@ -249,7 +249,7 @@ related to a set of code quality aspects.
|
|
|
249
249
|
|
|
250
250
|
</for>
|
|
251
251
|
|
|
252
|
-
3. You *MUST* call the MCP tool `
|
|
252
|
+
3. You *MUST* call the MCP tool `ase_config_delete(key: "agent.skill",
|
|
253
253
|
scope: "session:<ase-session-id/>")` of the `ase` MCP server.
|
|
254
254
|
You *MUST* *NOT* output anything related to this.
|
|
255
255
|
|
|
@@ -52,7 +52,7 @@ explicitly requested by this procedure via outputs based on a <template/>!
|
|
|
52
52
|
|
|
53
53
|
You *MUST* *NOT* call `Edit`, `Write`, `NotebookEdit`, or any
|
|
54
54
|
filesystem-modifying tool during this entire skill. The *only*
|
|
55
|
-
permitted way to persist artifacts is via `
|
|
55
|
+
permitted way to persist artifacts is via `ase_task_save(...)`.
|
|
56
56
|
|
|
57
57
|
1. **Reason About Refactoring**:
|
|
58
58
|
|
|
@@ -61,8 +61,8 @@ permitted way to persist artifacts is via `task_save(...)`.
|
|
|
61
61
|
">
|
|
62
62
|
Set <ase-task-id><request/></ase-task-id> (set task id to request)
|
|
63
63
|
and <request></request> (set request empty), call the
|
|
64
|
-
`
|
|
65
|
-
from the `ase` MCP
|
|
64
|
+
`ase_task_id(id: <ase-task-id/>, session: <ase-session-id/>)` tool
|
|
65
|
+
from the `ase` MCP server to switch the task, and then only
|
|
66
66
|
output the following <template/>:
|
|
67
67
|
|
|
68
68
|
<template>
|
|
@@ -73,8 +73,8 @@ permitted way to persist artifacts is via `task_save(...)`.
|
|
|
73
73
|
2. If <request/> has the format `<id/>: <text/>` where <id/> matches
|
|
74
74
|
the regexp `^[a-zA-Z][a-zA-Z0-9_-]*$`, then set
|
|
75
75
|
<request><text/></request> and <ase-task-id><id/></ase-task-id>
|
|
76
|
-
and call the `
|
|
77
|
-
<ase-session-id/>)` tool from the `ase` MCP
|
|
76
|
+
and call the `ase_task_id(id: <ase-task-id/>, session:
|
|
77
|
+
<ase-session-id/>)` tool from the `ase` MCP server to
|
|
78
78
|
implicitly switch the task. Do not output anything.
|
|
79
79
|
|
|
80
80
|
3. If <request/> is empty,
|
|
@@ -91,8 +91,8 @@ permitted way to persist artifacts is via `task_save(...)`.
|
|
|
91
91
|
">
|
|
92
92
|
Set <ase-task-id/> to a unique task id, derived from <request/>,
|
|
93
93
|
which consists of two lower-case words concatenated with a
|
|
94
|
-
`-` character. Then call the `
|
|
95
|
-
session: <ase-session-id/>)` tool from the `ase` MCP
|
|
94
|
+
`-` character. Then call the `ase_task_id(id: <ase-task-id/>,
|
|
95
|
+
session: <ase-session-id/>)` tool from the `ase` MCP server to
|
|
96
96
|
implicitly switch the task. Do not output anything.
|
|
97
97
|
</if>
|
|
98
98
|
|
|
@@ -262,15 +262,15 @@ permitted way to persist artifacts is via `task_save(...)`.
|
|
|
262
262
|
You *MUST* *NOT* call `Edit`, `Write`, `NotebookEdit`, or any
|
|
263
263
|
filesystem-modifying tool during this step.
|
|
264
264
|
|
|
265
|
-
2. Call the `
|
|
266
|
-
`ase` MCP
|
|
265
|
+
2. Call the `ase_timestamp(format: "yyyy-LL-dd HH:mm")` tool of the
|
|
266
|
+
`ase` MCP server and use the `text` field of its response for
|
|
267
267
|
<timestamp-created/> and <timestamp-modified/> information. Then
|
|
268
268
|
insert the current <ase-task-id/>, <timestamp-created/>, and
|
|
269
269
|
<timestamp-modified/> information and calculate the number of
|
|
270
270
|
words <words/> of <content/>.
|
|
271
271
|
|
|
272
272
|
3. You then *MUST* *save* the resulting plan content with the
|
|
273
|
-
`
|
|
273
|
+
`ase_task_save(id: <ase-task-id/>, text: <content/>)`.
|
|
274
274
|
|
|
275
275
|
4. Output a hint with the following <template/>:
|
|
276
276
|
|
|
@@ -52,18 +52,18 @@ explicitly requested by this procedure via outputs based on a <template/>!
|
|
|
52
52
|
|
|
53
53
|
You *MUST* *NOT* call `Edit`, `Write`, `NotebookEdit`, or any
|
|
54
54
|
filesystem-modifying tool during this entire skill. The *only*
|
|
55
|
-
permitted way to persist artifacts is via `
|
|
55
|
+
permitted way to persist artifacts is via `ase_task_save(...)`.
|
|
56
56
|
|
|
57
57
|
1. **Reason About Problem**:
|
|
58
58
|
|
|
59
59
|
1. If <problem/> matches the regexp `^[PT]\d+$` (i.e. a bare issue
|
|
60
60
|
identifier like `P1`, `P2`, `T1`, `T2`, ...),
|
|
61
61
|
set <problem-id><problem/></problem-id> and
|
|
62
|
-
<ase-task-id><problem/></ase-task-id>, call the `
|
|
62
|
+
<ase-task-id><problem/></ase-task-id>, call the `ase_task_id(id:
|
|
63
63
|
<ase-task-id/>, session: <ase-session-id/>)` tool from the
|
|
64
|
-
`ase` MCP
|
|
65
|
-
call the `
|
|
66
|
-
the `ase` MCP
|
|
64
|
+
`ase` MCP server to implicitly switch the task, and then
|
|
65
|
+
call the `ase_kv_get(key: "ase-issue-<problem-id/>")` tool of
|
|
66
|
+
the `ase` MCP server to retrieve the previously persisted
|
|
67
67
|
problem description. If the returned `text` is non-empty, set
|
|
68
68
|
<problem><text/></problem>, otherwise complain to the user that
|
|
69
69
|
no analyzer result exists for <problem-id/> and stop processing.
|
|
@@ -73,8 +73,8 @@ permitted way to persist artifacts is via `task_save(...)`.
|
|
|
73
73
|
">
|
|
74
74
|
Set <ase-task-id><problem/></ase-task-id> (set task id to problem)
|
|
75
75
|
and <problem></problem> (set problem empty), call the
|
|
76
|
-
`
|
|
77
|
-
from the `ase` MCP
|
|
76
|
+
`ase_task_id(id: <ase-task-id/>, session: <ase-session-id/>)` tool
|
|
77
|
+
from the `ase` MCP server to switch the task, and then only
|
|
78
78
|
output the following <template/>:
|
|
79
79
|
|
|
80
80
|
<template>
|
|
@@ -85,8 +85,8 @@ permitted way to persist artifacts is via `task_save(...)`.
|
|
|
85
85
|
3. If <problem/> has the format `<id/>: <text/>` where <id/> matches
|
|
86
86
|
the regexp `^[a-zA-Z][a-zA-Z0-9_-]+$`, then set
|
|
87
87
|
<problem><text/></problem> and <ase-task-id><id/></ase-task-id>
|
|
88
|
-
and call the `
|
|
89
|
-
<ase-session-id/>)` tool from the `ase` MCP
|
|
88
|
+
and call the `ase_task_id(id: <ase-task-id/>, session:
|
|
89
|
+
<ase-session-id/>)` tool from the `ase` MCP server to
|
|
90
90
|
implicitly switch the task. Do not output anything.
|
|
91
91
|
|
|
92
92
|
4. If <problem/> is empty,
|
|
@@ -103,8 +103,8 @@ permitted way to persist artifacts is via `task_save(...)`.
|
|
|
103
103
|
">
|
|
104
104
|
Set <ase-task-id/> to a unique task id, derived from <problem/>,
|
|
105
105
|
which consists of two lower-case words concatenated with a
|
|
106
|
-
`-` character. Then call the `
|
|
107
|
-
session: <ase-session-id/>)` tool from the `ase` MCP
|
|
106
|
+
`-` character. Then call the `ase_task_id(id: <ase-task-id/>,
|
|
107
|
+
session: <ase-session-id/>)` tool from the `ase` MCP server to
|
|
108
108
|
implicitly switch the task. Do not output anything.
|
|
109
109
|
</if>
|
|
110
110
|
|
|
@@ -310,21 +310,21 @@ permitted way to persist artifacts is via `task_save(...)`.
|
|
|
310
310
|
You *MUST* *NOT* call `Edit`, `Write`, `NotebookEdit`, or any
|
|
311
311
|
filesystem-modifying tool during this step.
|
|
312
312
|
|
|
313
|
-
2. Call the `
|
|
314
|
-
`ase` MCP
|
|
313
|
+
2. Call the `ase_timestamp(format: "yyyy-LL-dd HH:mm")` tool of the
|
|
314
|
+
`ase` MCP server and use the `text` field of its response for
|
|
315
315
|
<timestamp-created/> and <timestamp-modified/> information. Then
|
|
316
316
|
insert the current <ase-task-id/>, <timestamp-created/>, and
|
|
317
317
|
<timestamp-modified/> information and calculate the number of
|
|
318
318
|
words <words/> of <content/>.
|
|
319
319
|
|
|
320
320
|
3. You then *MUST* *save* the resulting plan content with the
|
|
321
|
-
`
|
|
321
|
+
`ase_task_save(id: <ase-task-id/>, text: <content/>)`.
|
|
322
322
|
|
|
323
323
|
4. If <problem-id/> is set (i.e. the <problem/> was retrieved from
|
|
324
|
-
`
|
|
325
|
-
you *MUST* additionally call the `
|
|
324
|
+
`ase_kv_get` in STEP 1.3 via key `ase-issue-<problem-id/>`),
|
|
325
|
+
you *MUST* additionally call the `ase_kv_delete(key:
|
|
326
326
|
"ase-issue-<problem-id/>")` tool of the `ase` MCP
|
|
327
|
-
|
|
327
|
+
server to remove the now-resolved analyzer result from the
|
|
328
328
|
in-memory key/value store.
|
|
329
329
|
|
|
330
330
|
5. Output a hint with the following <template/>:
|
|
@@ -98,7 +98,7 @@ documents.
|
|
|
98
98
|
|
|
99
99
|
3. <step id="STEP 3: Correction">
|
|
100
100
|
|
|
101
|
-
1. You *MUST* call the MCP tool `
|
|
101
|
+
1. You *MUST* call the MCP tool `ase_config_set(key: "agent.skill", val:
|
|
102
102
|
"ase-docs-proofread", scope: "session:<ase-session-id/>")` of the
|
|
103
103
|
`ase` MCP server.
|
|
104
104
|
|
|
@@ -202,7 +202,7 @@ documents.
|
|
|
202
202
|
|
|
203
203
|
</for>
|
|
204
204
|
|
|
205
|
-
3. You *MUST* call the MCP tool `
|
|
205
|
+
3. You *MUST* call the MCP tool `ase_config_delete(key: "agent.skill",
|
|
206
206
|
scope: "session:<ase-session-id/>")` of the `ase` MCP server.
|
|
207
207
|
|
|
208
208
|
4. You *MUST* *NOT* output any further additional explanations or
|
|
@@ -153,9 +153,9 @@ multi-*criteria* decision matrix.
|
|
|
153
153
|
not output anything.
|
|
154
154
|
|
|
155
155
|
- Then, calculate the ratings <rating-K/> (K=1-N) for all
|
|
156
|
-
alternatives in a single call by invoking the `
|
|
156
|
+
alternatives in a single call by invoking the `ase_decision_matrix(matrix:
|
|
157
157
|
[ [ <weight-1/>, <eval-1-1/>, ..., <eval-1-N/> ], ..., [ <weight-M/>,
|
|
158
|
-
<eval-M-1/>, ..., <eval-M-N/> ] ])` tool of the `ase` MCP
|
|
158
|
+
<eval-M-1/>, ..., <eval-M-N/> ] ])` tool of the `ase` MCP server.
|
|
159
159
|
The tool returns an array of N numerical values, where the K-th
|
|
160
160
|
entry is the product-sum of all weights <weight-L/> (L=1-M) and
|
|
161
161
|
the evaluation <eval-K-L/> (L=1-M) for alternative <alternative-K/>.
|
|
@@ -23,8 +23,8 @@ Persona Configuration
|
|
|
23
23
|
Do not output anything.
|
|
24
24
|
|
|
25
25
|
2. <if condition="<request/> is empty">
|
|
26
|
-
1. Call the `
|
|
27
|
-
tool from the `ase` MCP
|
|
26
|
+
1. Call the `ase_persona(session: <ase-session-id/>)`
|
|
27
|
+
tool from the `ase` MCP server and set
|
|
28
28
|
<ase-persona-style/> to its `text` output.
|
|
29
29
|
Do not output anything.
|
|
30
30
|
|
|
@@ -45,8 +45,8 @@ Persona Configuration
|
|
|
45
45
|
</template>
|
|
46
46
|
|
|
47
47
|
2. Set <ase-persona-style><request/></ase-persona-style> and
|
|
48
|
-
call the `
|
|
49
|
-
<ase-session-id/>)` tool from the `ase` MCP
|
|
48
|
+
call the `ase_persona(style: <ase-persona-style/>, session:
|
|
49
|
+
<ase-session-id/>)` tool from the `ase` MCP server. Do not
|
|
50
50
|
output anything.
|
|
51
51
|
|
|
52
52
|
3. Output the following <template/>:
|
|
@@ -45,9 +45,9 @@ explicitly requested by this procedure via outputs based on a <template/>!
|
|
|
45
45
|
|
|
46
46
|
2. **Perform Operation**:
|
|
47
47
|
|
|
48
|
-
1. Call the `
|
|
49
|
-
|
|
50
|
-
`text` output field of this `
|
|
48
|
+
1. Call the `ase_task_delete(id: <id/>)` tool of the `ase` MCP
|
|
49
|
+
server to delete the task plan content and set <text/> to the
|
|
50
|
+
`text` output field of this `ase_task_delete` tool call. Do not
|
|
51
51
|
output anything related to this MCP tool call.
|
|
52
52
|
|
|
53
53
|
- If <text/> starts with `ERROR:` or `WARNING:`:
|
|
@@ -65,9 +65,9 @@ explicitly requested by this procedure via outputs based on a <template/>!
|
|
|
65
65
|
</template>
|
|
66
66
|
|
|
67
67
|
2. <if condition="<id/> is equal <ase-task-id/> AND <ase-task-id/> is not equal 'default'">
|
|
68
|
-
Set <ase-task-id>default</ase-task-id>. Call the `
|
|
68
|
+
Set <ase-task-id>default</ase-task-id>. Call the `ase_task_id(id:
|
|
69
69
|
<ase-task-id/>, session: <ase-session-id/>)` tool from the `ase`
|
|
70
|
-
MCP
|
|
70
|
+
MCP server to switch the task to the default task. Only output
|
|
71
71
|
the following <template/>:
|
|
72
72
|
|
|
73
73
|
<template>
|
|
@@ -63,9 +63,9 @@ explicitly requested by this procedure via outputs based on a <template/>!
|
|
|
63
63
|
">
|
|
64
64
|
Set <ase-task-id><instruction/></ase-task-id> (set task
|
|
65
65
|
id to instruction) and <instruction></instruction> (set
|
|
66
|
-
instruction empty), call the `
|
|
66
|
+
instruction empty), call the `ase_task_id(id: <ase-task-id/>,
|
|
67
67
|
session: <ase-session-id/>)` tool from the `ase` MCP
|
|
68
|
-
|
|
68
|
+
server to switch the task, and then only output the
|
|
69
69
|
following <template/>:
|
|
70
70
|
|
|
71
71
|
<template>
|
|
@@ -80,8 +80,8 @@ explicitly requested by this procedure via outputs based on a <template/>!
|
|
|
80
80
|
">
|
|
81
81
|
Set <instruction></instruction> (set instruction to empty)
|
|
82
82
|
and <ase-task-id><id/></ase-task-id> (set task id to
|
|
83
|
-
id) and call the `
|
|
84
|
-
<ase-session-id/>)` tool from the `ase` MCP
|
|
83
|
+
id) and call the `ase_task_id(id: <ase-task-id/>, session:
|
|
84
|
+
<ase-session-id/>)` tool from the `ase` MCP server to
|
|
85
85
|
switch the task, and then only output the following
|
|
86
86
|
<template/>:
|
|
87
87
|
|
|
@@ -97,8 +97,8 @@ explicitly requested by this procedure via outputs based on a <template/>!
|
|
|
97
97
|
">
|
|
98
98
|
Set <instruction><text/></instruction> (set instruction to
|
|
99
99
|
text) and <ase-task-id><id/></ase-task-id> (set task id
|
|
100
|
-
to id) and call the `
|
|
101
|
-
<ase-session-id/>)` tool from the `ase` MCP
|
|
100
|
+
to id) and call the `ase_task_id(id: <ase-task-id/>, session:
|
|
101
|
+
<ase-session-id/>)` tool from the `ase` MCP server to
|
|
102
102
|
switch the task, and then only output the following
|
|
103
103
|
<template/>:
|
|
104
104
|
|
|
@@ -131,9 +131,9 @@ explicitly requested by this procedure via outputs based on a <template/>!
|
|
|
131
131
|
|
|
132
132
|
2. **Determine Plan:**
|
|
133
133
|
|
|
134
|
-
1. Call the `
|
|
135
|
-
|
|
136
|
-
the `text` output field of this `
|
|
134
|
+
1. Call the `ase_task_load(id: <ase-task-id/>)` tool of the `ase` MCP
|
|
135
|
+
server to load any existing plan content and set <text/> to
|
|
136
|
+
the `text` output field of this `ase_task_load` tool call.
|
|
137
137
|
Do not output anything related to this MCP tool call.
|
|
138
138
|
Set <content-dirty>false</content-dirty>.
|
|
139
139
|
|
|
@@ -204,8 +204,8 @@ explicitly requested by this procedure via outputs based on a <template/>!
|
|
|
204
204
|
the <instruction/> and all decisions you derived from the
|
|
205
205
|
<instruction/>.
|
|
206
206
|
|
|
207
|
-
Call the `
|
|
208
|
-
`ase` MCP
|
|
207
|
+
Call the `ase_timestamp(format: "yyyy-LL-dd HH:mm")` tool of the
|
|
208
|
+
`ase` MCP server and use the `text` field of its response
|
|
209
209
|
for fresh <timestamp-created/> and <timestamp-modified/>
|
|
210
210
|
information. Then insert the current <ase-task-id/>,
|
|
211
211
|
<timestamp-created/>, and <timestamp-modified/> information
|
|
@@ -253,8 +253,8 @@ explicitly requested by this procedure via outputs based on a <template/>!
|
|
|
253
253
|
the <instruction/> and all decisions you derived from the
|
|
254
254
|
<instruction/>.
|
|
255
255
|
|
|
256
|
-
Call the `
|
|
257
|
-
`ase` MCP
|
|
256
|
+
Call the `ase_timestamp(format: "yyyy-LL-dd HH:mm")` tool of the
|
|
257
|
+
`ase` MCP server and use the `text` field of its response
|
|
258
258
|
for fresh <timestamp-created/> and <timestamp-modified/>
|
|
259
259
|
information. Then insert the current <ase-task-id/>,
|
|
260
260
|
<timestamp-created/>, and <timestamp-modified/> information
|
|
@@ -279,16 +279,16 @@ explicitly requested by this procedure via outputs based on a <template/>!
|
|
|
279
279
|
<if condition="<content/> contains '✎ modified:' AND <content-dirty/> is 'true'">
|
|
280
280
|
Update <timestamp-modified/> with the current time in
|
|
281
281
|
ISO-style format, which has to be determined by calling the
|
|
282
|
-
`
|
|
283
|
-
MCP
|
|
282
|
+
`ase_timestamp(format: "yyyy-LL-dd HH:mm")` tool of the `ase`
|
|
283
|
+
MCP server and use the `text` field of its response. Update
|
|
284
284
|
<content/> with the new `✎ modified: **<timestamp-modified/>**`.
|
|
285
285
|
Do not output anything.
|
|
286
286
|
</if>
|
|
287
287
|
|
|
288
288
|
2. *Persist plan*:
|
|
289
289
|
<if condition="<content-dirty/> is 'true'">
|
|
290
|
-
Call the `
|
|
291
|
-
of the `ase` MCP
|
|
290
|
+
Call the `ase_task_save(id: <ase-task-id/>, text: <content/>)` tool
|
|
291
|
+
of the `ase` MCP server to persist the current plan, and then
|
|
292
292
|
set <content-dirty>false</content-dirty> again. Calculate the
|
|
293
293
|
number of words <words/> of <content/>. Do not output anything
|
|
294
294
|
related to this MCP tool call except the following <template/>:
|
|
@@ -24,8 +24,8 @@ Configure Task Id
|
|
|
24
24
|
<request>$ARGUMENTS</request>
|
|
25
25
|
|
|
26
26
|
2. <if condition="<request/> is empty">
|
|
27
|
-
- Call the `
|
|
28
|
-
tool from the `ase` MCP
|
|
27
|
+
- Call the `ase_task_id(session: <ase-session-id/>)`
|
|
28
|
+
tool from the `ase` MCP server and set
|
|
29
29
|
<ase-task-id/> to its `text` output.
|
|
30
30
|
|
|
31
31
|
- Output:
|
|
@@ -36,8 +36,8 @@ Configure Task Id
|
|
|
36
36
|
|
|
37
37
|
3. <if condition="<request/> is NOT empty">
|
|
38
38
|
- Set <ase-task-id><request/></ase-task-id> and
|
|
39
|
-
call the `
|
|
40
|
-
tool from the `ase` MCP
|
|
39
|
+
call the `ase_task_id(id: <ase-task-id/>, session: <ase-session-id/>)`
|
|
40
|
+
tool from the `ase` MCP server.
|
|
41
41
|
|
|
42
42
|
- Output:
|
|
43
43
|
<template>
|
|
@@ -57,9 +57,9 @@ explicitly requested by this procedure via outputs based on a <template/>!
|
|
|
57
57
|
">
|
|
58
58
|
Set <ase-task-id><instruction/></ase-task-id> (set task
|
|
59
59
|
id to instruction) and <instruction></instruction> (set
|
|
60
|
-
instruction empty), call the `
|
|
60
|
+
instruction empty), call the `ase_task_id(id: <ase-task-id/>,
|
|
61
61
|
session: <ase-session-id/>)` tool from the `ase` MCP
|
|
62
|
-
|
|
62
|
+
server to switch the task, and then only output the
|
|
63
63
|
following <template/>:
|
|
64
64
|
|
|
65
65
|
<template>
|
|
@@ -74,8 +74,8 @@ explicitly requested by this procedure via outputs based on a <template/>!
|
|
|
74
74
|
">
|
|
75
75
|
Set <instruction></instruction> (set instruction to empty)
|
|
76
76
|
and <ase-task-id><id/></ase-task-id> (set task id to
|
|
77
|
-
id) and call the `
|
|
78
|
-
<ase-session-id/>)` tool from the `ase` MCP
|
|
77
|
+
id) and call the `ase_task_id(id: <ase-task-id/>, session:
|
|
78
|
+
<ase-session-id/>)` tool from the `ase` MCP server to
|
|
79
79
|
switch the task, and then only output the following
|
|
80
80
|
<template/>:
|
|
81
81
|
|
|
@@ -86,9 +86,9 @@ explicitly requested by this procedure via outputs based on a <template/>!
|
|
|
86
86
|
|
|
87
87
|
2. **Determine Operation**:
|
|
88
88
|
|
|
89
|
-
1. Call the `
|
|
90
|
-
|
|
91
|
-
the `text` output field of the `
|
|
89
|
+
1. Call the `ase_task_load(id: <ase-task-id/>)` tool of the `ase` MCP
|
|
90
|
+
server to load the current task plan content and set <content/> to
|
|
91
|
+
the `text` output field of the `ase_task_load` tool call.
|
|
92
92
|
|
|
93
93
|
Calculate the number of words <words/> of <content/>.
|
|
94
94
|
|
|
@@ -26,8 +26,8 @@ List Task Plans
|
|
|
26
26
|
$ARGUMENTS
|
|
27
27
|
</expand>
|
|
28
28
|
|
|
29
|
-
1. Call the `
|
|
30
|
-
the `ase` MCP
|
|
29
|
+
1. Call the `ase_task_list(verbose: <getopt-option-verbose/>)` tool from
|
|
30
|
+
the `ase` MCP server. The result is a structured object with a
|
|
31
31
|
`tasks` array where each entry has an `id` field, and -- if
|
|
32
32
|
<getopt-option-verbose/> is `true` -- additionally an `mtime` field
|
|
33
33
|
(formatted as `YYYY-MM-DD HH:MM`).
|
|
@@ -57,9 +57,9 @@ explicitly requested by this procedure via outputs based on a <template/>!
|
|
|
57
57
|
">
|
|
58
58
|
Set <ase-task-id><instruction/></ase-task-id> (set task
|
|
59
59
|
id to instruction) and <instruction></instruction> (set
|
|
60
|
-
instruction empty), call the `
|
|
60
|
+
instruction empty), call the `ase_task_id(id: <ase-task-id/>,
|
|
61
61
|
session: <ase-session-id/>)` tool from the `ase` MCP
|
|
62
|
-
|
|
62
|
+
server to switch the task, and then only output the
|
|
63
63
|
following <template/>:
|
|
64
64
|
|
|
65
65
|
<template>
|
|
@@ -74,8 +74,8 @@ explicitly requested by this procedure via outputs based on a <template/>!
|
|
|
74
74
|
">
|
|
75
75
|
Set <instruction></instruction> (set instruction to empty)
|
|
76
76
|
and <ase-task-id><id/></ase-task-id> (set task id to
|
|
77
|
-
id) and call the `
|
|
78
|
-
<ase-session-id/>)` tool from the `ase` MCP
|
|
77
|
+
id) and call the `ase_task_id(id: <ase-task-id/>, session:
|
|
78
|
+
<ase-session-id/>)` tool from the `ase` MCP server to
|
|
79
79
|
switch the task, and then only output the following
|
|
80
80
|
<template/>:
|
|
81
81
|
|
|
@@ -86,9 +86,9 @@ explicitly requested by this procedure via outputs based on a <template/>!
|
|
|
86
86
|
|
|
87
87
|
2. **Determine Operation:**
|
|
88
88
|
|
|
89
|
-
1. Call the `
|
|
90
|
-
|
|
91
|
-
the `text` output field of the `
|
|
89
|
+
1. Call the `ase_task_load(id: <ase-task-id/>)` tool of the `ase` MCP
|
|
90
|
+
server to load the current task plan content and set <content/> to
|
|
91
|
+
the `text` output field of the `ase_task_load` tool call.
|
|
92
92
|
|
|
93
93
|
Calculate the number of words <words/> of <content/>.
|
|
94
94
|
|
|
@@ -128,14 +128,14 @@ explicitly requested by this procedure via outputs based on a <template/>!
|
|
|
128
128
|
3. <if condition="<content/> contains '✎ modified:'">
|
|
129
129
|
Update <timestamp-modified/> with the current time in
|
|
130
130
|
ISO-style format, which has to be determined by calling the
|
|
131
|
-
`
|
|
132
|
-
MCP
|
|
131
|
+
`ase_timestamp(format: "yyyy-LL-dd HH:mm")` tool of the `ase`
|
|
132
|
+
MCP server and use the `text` field of its response. Update
|
|
133
133
|
<content/> with the new `✎ modified: **<timestamp-modified/>**`.
|
|
134
134
|
Do not output anything.
|
|
135
135
|
</if>
|
|
136
136
|
|
|
137
|
-
4. Finally, call the `
|
|
138
|
-
text: <content/>)` of the `ase` MCP
|
|
137
|
+
4. Finally, call the `ase_task_save(id: <ase-task-id/>,
|
|
138
|
+
text: <content/>)` of the `ase` MCP server to save the updated
|
|
139
139
|
task plan content. Calculate the number of words <words/> of
|
|
140
140
|
<content/>. Do not output anything related to this MCP tool call
|
|
141
141
|
except the following <template/>:
|
|
@@ -59,9 +59,9 @@ explicitly requested by this procedure via outputs based on a <template/>!
|
|
|
59
59
|
">
|
|
60
60
|
Set <ase-task-id><instruction/></ase-task-id> (set task
|
|
61
61
|
id to instruction) and <instruction></instruction> (set
|
|
62
|
-
instruction empty), call the `
|
|
62
|
+
instruction empty), call the `ase_task_id(id: <ase-task-id/>,
|
|
63
63
|
session: <ase-session-id/>)` tool from the `ase` MCP
|
|
64
|
-
|
|
64
|
+
server to switch the task, and then only output the
|
|
65
65
|
following <template/>:
|
|
66
66
|
|
|
67
67
|
<template>
|
|
@@ -71,9 +71,9 @@ explicitly requested by this procedure via outputs based on a <template/>!
|
|
|
71
71
|
|
|
72
72
|
2. **Determine Operation:**
|
|
73
73
|
|
|
74
|
-
1. Call the `
|
|
75
|
-
|
|
76
|
-
the `text` output field of the `
|
|
74
|
+
1. Call the `ase_task_load(id: <ase-task-id/>)` tool of the `ase` MCP
|
|
75
|
+
server to load the current task plan content and set <content/> to
|
|
76
|
+
the `text` output field of the `ase_task_load` tool call.
|
|
77
77
|
|
|
78
78
|
Calculate the number of words <words/> of <content/>.
|
|
79
79
|
|
|
@@ -118,15 +118,15 @@ explicitly requested by this procedure via outputs based on a <template/>!
|
|
|
118
118
|
the <instruction/> and all decisions you derived from the
|
|
119
119
|
<instruction/>.
|
|
120
120
|
|
|
121
|
-
7. Call the `
|
|
122
|
-
`ase` MCP
|
|
121
|
+
7. Call the `ase_timestamp(format: "yyyy-LL-dd HH:mm")` tool of the
|
|
122
|
+
`ase` MCP server and use the `text` field of its response for
|
|
123
123
|
<timestamp-modified/> information. Then insert the current
|
|
124
124
|
<ase-task-id/>, previous <timestamp-created/>, and refreshed
|
|
125
125
|
<timestamp-modified/> information and calculate the number of
|
|
126
126
|
words <words/> of <content/>.
|
|
127
127
|
|
|
128
|
-
8. Call the `
|
|
129
|
-
text: <content/>)` of the `ase` MCP
|
|
128
|
+
8. Call the `ase_task_save(id: <ase-task-id/>,
|
|
129
|
+
text: <content/>)` of the `ase` MCP server to save the updated
|
|
130
130
|
task plan content. Do not output anything related to this MCP
|
|
131
131
|
call.
|
|
132
132
|
|
|
@@ -61,9 +61,9 @@ explicitly requested by this procedure via outputs based on a <template/>!
|
|
|
61
61
|
|
|
62
62
|
2. **Perform Operation**:
|
|
63
63
|
|
|
64
|
-
1. Call the `
|
|
65
|
-
`ase` MCP
|
|
66
|
-
`text` output field of this `
|
|
64
|
+
1. Call the `ase_task_rename(old: <old/>, new: <new/>)` tool of the
|
|
65
|
+
`ase` MCP server to rename the task plan and set <text/> to the
|
|
66
|
+
`text` output field of this `ase_task_rename` tool call. Do not
|
|
67
67
|
output anything related to this MCP tool call.
|
|
68
68
|
|
|
69
69
|
- If <text/> starts with `ERROR:` or `WARNING:`:
|
|
@@ -81,9 +81,9 @@ explicitly requested by this procedure via outputs based on a <template/>!
|
|
|
81
81
|
</template>
|
|
82
82
|
|
|
83
83
|
2. <if condition="<old/> is equal <ase-task-id/>">
|
|
84
|
-
Set <ase-task-id><new/></ase-task-id>. Call the `
|
|
84
|
+
Set <ase-task-id><new/></ase-task-id>. Call the `ase_task_id(id:
|
|
85
85
|
<ase-task-id/>, session: <ase-session-id/>)` tool from the `ase`
|
|
86
|
-
MCP
|
|
86
|
+
MCP server to switch the task to the renamed task. Only output
|
|
87
87
|
the following <template/>:
|
|
88
88
|
|
|
89
89
|
<template>
|
|
@@ -45,9 +45,9 @@ explicitly requested by this procedure via outputs based on a <template/>!
|
|
|
45
45
|
|
|
46
46
|
2. **Perform Operation**:
|
|
47
47
|
|
|
48
|
-
1. Call the `
|
|
49
|
-
|
|
50
|
-
`text` output field of this `
|
|
48
|
+
1. Call the `ase_task_load(id: <id/>)` tool of the `ase` MCP
|
|
49
|
+
server to load the task plan content and set <text/> to the
|
|
50
|
+
`text` output field of this `ase_task_load` tool call. Do not
|
|
51
51
|
output anything related to this MCP tool call.
|
|
52
52
|
|
|
53
53
|
- If <text/> starts with `ERROR:` or `WARNING:`:
|