ase-code-craft
SkillDev toolsCraft Source Code: Use when user wants to "create", "add", or "craft" a new feature from scratch.
Available today. Use it from your connected AI after setup.
No other account needed.
Connect ahel once, and every AI you use reads what you have installed.
Then ask your AI: use the ase-code-craft skill
What this skill tells your AI
The instructions your AI receives, as published by rse/ase in plugin/skills/ase-code-craft/SKILL.md and read by ahel’s review.
@${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 @${CLAUDE_SKILL_DIR}/../../meta/ase-common-code.md
Procedure
-
-
Set (set task id to feature) and (set feature 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 feature known yet. What is the feature you want to craft?**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 feature with the following :
-
Figure out what the requested to be crafted is about.
-
Ask the user for clarification if the goal of this crafting is too unclear.
-
Do not output anything else in this step, unless you asked the user.
-
-
-
Check the existing source files for all code which is related to the requested new .
-
Check the architecture of the existing code base to understand the overall structures and dynamics.
-
Do not output anything in this STEP 2.
-
-
-
CRAFTING
-
Do not output anything in this STEP 3.
-
-
-
Directly craft the by modifying the affected artifacts with a corresponding, complete change set, based on your gathered knowledge about the code base and your internalized crafting tenets. Also, if a CHANGELOG.md file exists, make an appropriate entry there, too.
-
Output only 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.Ask the user for the next change with the following custom dialog:
-
If is
DONEorCANCEL, . -
Otherwise has the format
OTHER: <text/>: set to , then directly craft it and report it exactly as specified by the items 1 and 2 above (including the CHANGELOG.md entry).
-
-
Then IMMEDIATELY STOP all further skill processing. You MUST NOT output anything else in this STEP 4 or after it -- independent of , whose exposure rules are explicitly overridden here. Especially, do not output a change summary, a list of modified artifacts, a rationale, or a unified diff of the changes.
-
Compose a feature plan for the chosen feature 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 feature A and all derived realization decisions into it. 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. -
You then MUST save the resulting plan content with the
ase_task_save(id: "<ase-task-id/>", text: "<task-content/>")MCP tool call only -- NEVER by executing a shell command. -
Output a hint with the following :
-
Directly pass-through control to the next skill:
-
Signals
- GitHub stars
- 52
- Forks
- 5
- Last commit
- Sep 2026
Advanced
- Catalog kind
- skill
- Gateway key
ase-code-craft- Source
- github.com/rse/ase