hello
Show a nice greeting message with a timestamp. Use this when the user wants to greet or say hello, optionally to a certain subject <subject> and in a certain…
Rename the current or given task plan. Use when the user calls to "rename", "move" or "relabel" the "task", "plan", "spec", or "specification".
$ npx -y skills add rse/ase --skill ase-task-rename --agent claude-codeHow it fires
How this skill gets triggered: by you, by Claude, or both.
/ase-task-renameContext preview
The summary Claude sees to decide when to auto-load this skill.
Rename the current or given task plan. Use when the user calls to "rename", "move" or "relabel" the "task", "plan", "spec", or "specification".
name: ase-task-rename
argument-hint: "[--help|-h] [<old>] <new>"
description: >
Rename the current or given task plan.
Use when the user calls to "rename", "move" or "relabel" the
"task", "plan", "spec", or "specification".
user-invocable: true
disable-model-invocation: false
effort: high@${CLAUDE_SKILL_DIR}/../../meta/ase-control.md @${CLAUDE_SKILL_DIR}/../../meta/ase-skill.md @${CLAUDE_SKILL_DIR}/../../meta/ase-getopt.md
<purpose name="ase-task-rename"> Rename a Task Plan </purpose>
<expand name="getopt" arg1="ase-task-rename"> $ARGUMENTS </expand>
<objective> *Rename* the task plan. </objective>
Procedure ---------
1. **Determine Task:**
1. Parse <arguments><getopt-arguments/></arguments> into a whitespace-separated list of tokens. Inherit the always existing <ase-task-id/> and <ase-session-id/> from the current context. Do not output anything.
2. <if condition="<arguments/> contains two tokens"> Set <old/> to the first token of <arguments/>. Set <new/> to the second token of <arguments/>. Do not output anything. </if>
3. <if condition="<arguments/> contains exactly one token"> Set <old><ase-task-id/></old>. Set <new/> to the single token of <arguments/>. Do not output anything. </if>
4. <if condition="<arguments/> is empty OR contains more than two tokens"> Only output the following <template/> and then immediately *STOP* processing the entire current skill:
<template> ⧉ **ASE**: ☻ skill: **ase-task-rename**, ▶ ERROR: expected `[<old>] <new>` arguments </template> </if>
5. <if condition="<old/> does NOT match the regexp `^[a-zA-Z][a-zA-Z0-9_-]*$` OR <new/> does NOT match the regexp `^[a-zA-Z][a-zA-Z0-9_-]*$`"> Only output the following <template/> and then immediately *STOP* processing the entire current skill:
<template> ⧉ **ASE**: ☻ skill: **ase-task-rename**, ▶ ERROR: invalid task id (expected `^[a-zA-Z][a-zA-Z0-9_-]*$`) </template> </if>
6. <if condition="<old/> is equal <new/>"> Only output the following <template/> and then immediately *STOP* processing the entire current skill:
<template> ⧉ **ASE**: ◉ task: **<old/>**, ▶ status: **task unchanged (old and new task id are equal)** </template> </if>
2. **Perform Operation**:
1. Call the `ase_task_rename(old: "<old/>", new: "<new/>")` tool of the `ase` MCP server to rename the task plan and set <text/> to the `text` output field of this `ase_task_rename` tool call. Do not output anything related to this MCP tool call.
Set <renamed/> to `false`. Only output the following <template/>:
<template> ⧉ **ASE**: ◉ task: **<old/>**, ▶ status: **<text/>** </template>
Set <renamed/> to `true`. Only output the following <template/>:
<template> ⧉ **ASE**: ◉ task: **<new/>**, ▶ status: **task renamed** </template>
2. <if condition="<renamed/> is `true` AND <old/> is equal <ase-task-id/>"> Set <ase-task-id><new/></ase-task-id>. Call the `ase_task_id(id: "<ase-task-id/>", session: "<ase-session-id/>")` tool from the `ase` MCP server to switch the task to the renamed task. Only output the following <template/>:
<template> ⧉ **ASE**: ◉ task: **<ase-task-id/>**, ▶ status: **task switched** </template> </if>
Repo: rse/ase
Show a nice greeting message with a timestamp. Use this when the user wants to greet or say hello, optionally to a certain subject <subject> and in a certain…
Review software architecture, including package cohesion and inter-package coupling
Discover additional, third-party components (libraries/frameworks) for the technology stack to provide needed functionality.
Analyze the source code for problems in either the logic and semantics and its related control flow, performance and efficiency, or security.
Craft Source Code: Use when user wants to "create", "add", or "craft" a new feature from scratch.
Dissect the current Git change set, treated as an epic, domain-wise and logically into cohesive parts and materialize each part in its own dedicated Git…