AgentStack
SKILL verified Apache-2.0 Self-run

Ase Code Refactor

skill-rse-ase-ase-code-refactor · by rse

>

No reviews yet
0 installs
10 views
0.0% view→install

Install

$ agentstack add skill-rse-ase-ase-code-refactor

✓ scanned · ✓ verified — works with Claude Code, Cursor, and more.

Security review

✓ Passed

No issues found. Passed automated security review. · v0.1.0 How review works →

  • Prompt-injection patterns
  • Secret / credential exfiltration
  • Dangerous shell & filesystem operations
  • Untrusted network calls
  • Known-malicious package signatures

What it can access

  • Network access No
  • Filesystem access No
  • Shell / process execution No
  • Environment & secrets No
  • Dynamic code execution No

From automated source analysis of v0.1.0. “Used” means the capability is present in the source — more access means more to trust, not that it’s unsafe.

Are you the author of Ase Code Refactor? Claim this listing to set pricing, connect Stripe payouts, and keep 70% of every sale.
Sign up to claim

About

@${CLAUDESKILLDIR}/../../meta/ase-control.md @${CLAUDESKILLDIR}/../../meta/ase-skill.md @${CLAUDESKILLDIR}/../../meta/ase-dialog.md @${CLAUDESKILLDIR}/../../meta/ase-getopt.md

Refactor Artifacts

$ARGUMENTS

is equal true"> The --quick/-Q flag is a shorthand alias: set to true, to true, and to IMPLEMENT,DELETE. Do not output anything.

Refactor existing artifacts the following way:

@${CLAUDESKILLDIR}/../../meta/ase-format-task.md @${CLAUDESKILLDIR}/../../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(...).

  1. matches the regexp ^[a-zA-Z][a-zA-Z0-9_-]*$

"> Set (set task id to request) and (set request empty), call the ase_task_id(id: "", session: "") tool from the ase MCP server to switch the task, and then only output the following :

ASE: ◉ task: **, ▶ status: task given**

  1. has the format : AND

matches the regexp ^[a-zA-Z][a-zA-Z0-9_-]*$ "> Set and and call the ase_task_id(id: "", session: "") tool from the ase MCP server to implicitly switch the task. Do not output anything.

  1. is empty">

Ask the user interactively, without a special tool, for the initial request with a single question:

**No refactoring details known yet. What is the refactoring you want to request?**

Then set to the response of the user.

  1. is equal default and

is not empty "> Set to a unique task id, derived from , which consists of two lower-case words concatenated with a - character. Then call the ase_task_id(id: "", session: "") tool from the ase MCP server to implicitly switch the task. Do not output anything.

  1. Report the task and request with the following :

ASE: ◉ task: **ASE: ⇌ request: **

  1. Figure out what the artifact refactoring is about.
  1. Ask the user for clarification if the goal of this refactoring is

too unclear.

  1. Do not output anything in this step, unless you asked the user.
  1. Check the existing source files for all code which is related to the

refactoring .

  1. Check the architecture of the existing code base to understand the

overall structures and dynamics.

  1. Do not output anything in this STEP 2.
  1. You MUST internalize and strictly honor the GENERIC TENETS,

and the REFACTORING TENETS of the ASE Tenets when updating in the following. Do not output anything.

  1. 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 equal true, skip the reporting sub-steps 4-6 entirely (perform no output at all) to speed up processing.

  1. Propose corresponding refactoring approach, including

optionally, some alternative refactoring approaches. Do not output anything in this sub-step.

  1. 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.

  1. 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.

  1. Indicate start of reporting by showing the following :
  1. 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:

APPROACH A: **** ○ [...] ⊕ PRO: [...] ⊖ CON: [...]

Hints:

  • Give a short one-sentence of the refactoring

approach plus precise and ultra brief and concise refactoring information. Try to keep the number of bullet points (○ [...]) in the range of 1-4.

  1. Indicate end of reporting by showing the following :
  1. is not true">

In the following, you MUST NOT use your built-in tool! Instead, you MUST just show a custom dialog according to the expanded custom-dialog definition. 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: ⚝ **RECOMMENDATION** ⚝ - for your recommended approach plus zero or more answer options A: for all other approaches:

Select Approach: Select your preferred refactoring approach to follow? A: [...]

Set to the number of the refactoring approach A you recommend. Output a hint with the following :

ASE: ◉ task: **, ▶ status: auto-chosen approach A**

  1. Compose a refactoring plan for the chosen refactoring A by

closely aligning to the existing architecture and the existing code base. Use the defined for a task plan and inject the information from refactoring A and all derived realization decisions into it. Store the resulting task plan in .

If a CHANGELOG.md file exists in the project (or in any affected sub-package), the plan MUST include, as part of its ## ※ CHANGES section, an explicit bullet point describing the addition of a corresponding new entry to that CHANGELOG.md file, aligned with its existing style and conventions.

is equal true"> You MUST completely omit the ## VERIFICATION section (including its heading and all of its bullet points) from .

You MUST NOT call Edit, Write, NotebookEdit, or any filesystem-modifying tool during this step.

  1. Call the ase_timestamp(format: "yyyy-LL-dd HH:mm") tool of the

ase MCP server and use the text field of its response for and information. Then insert the current , , and information and calculate the number of words of .

  1. You then MUST save the resulting plan content with the

ase_task_save(id: "", text: "").

  1. Output a hint with the following :

ASE: ◉ task: **, ✪ plan: words, ▶ status: plan created**

  1. 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 none if the list is none/empty). Set --int-reuse-task.

  1. is equal DONE">

Consume the head: set to the remaining tokens (joined back with ,, or none if empty). DONE means the freshly composed plan is finalized as-is, so do not hand off to ase-task-edit. Only output the following and then STOP. Do not implement the plan.

ASE: ◉ task: **, ✪ plan: words, ▶ status: plan finalized -- done**

  1. is equal IMPLEMENT">

Consume the head: set to the remaining tokens (joined back with ,, or none if empty). is not equal none"> Set --next

Call the tool Skill(skill: "ase:ase-task-implement", args: "") to implement the freshly composed plan, bypassing ase-task-edit.

  1. is equal PREFLIGHT">

Consume the head: set to the remaining tokens (joined back with ,, or none if empty). is not equal none"> Set --next

Call the tool Skill(skill: "ase:ase-task-preflight", args: "") to preflight the freshly composed plan, bypassing ase-task-edit.

Hand off to ase-task-edit. is equal EDIT"> Consume the head: set to the remaining tokens (joined back with ,, or none if empty). EDIT is this skill's own dispatch token, not part of ase-task-edit's --next vocabulary, so it must be stripped here rather than forwarded.

All remaining tokens are ase-task-edit's own vocabulary and are forwarded verbatim, so ase-task-edit consumes its own head itself. is not equal none"> Set --next

Then call the tool Skill(skill: "ase:ase-task-edit", args: "").

Source & license

This open-source skill is cataloged on AgentStack and links to its original source — we do not rehost the code.

  • Author: rse
  • Source: rse/ase
  • License: Apache-2.0
  • Homepage: https://ase.tools

Install and usage instructions live in the source repository linked above.

Reviews

No reviews yet — be the first.

Versions

  • v0.1.0 Imported from the upstream source.