Skip to content
cccskills
FreePublished on GitHub

ase-meta-config

List, get, set, or delete the layered ASE configuration values across the user/project/task/session scope chain. Use when the user wants to "configure" ASE, or to inspect or change a configuration key like `agent.persona`, `agent.guidance`, `project.boxing`, or `project.task.lifecycle`.

The English summary is being prepared. Showing the original description.

See how to install

Files included (2)

  • SKILL.md6.5 KB
  • help.md6.3 KB

SKILL.md (original)

Review the instructions the agent will receive before you install.

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

<purpose name="ase-meta-config"> Configuration Management </purpose>

<expand name="getopt" arg1="ase-meta-config" arg2="--scope|-s="> $ARGUMENTS </expand>

<objective> *List*, *get*, *set*, or *delete* the values of the *layered configuration* of ASE, mirroring the non-interactive `ase config <operation>` CLI subcommands *exclusively* through the `ase` MCP server. </objective>

Procedure

  1. Determine Operation:

    1. Set <arguments><getopt-arguments/></arguments>, with any leading and trailing whitespace stripped. Split <arguments/> into whitespace-separated tokens, honoring single and double quotes (a quoted token is one token, with its surrounding quotes removed). Set <operation/> to the first token, lower-cased, and <operands/> to the list of the remaining tokens. If <arguments/> is empty, set <operation>(none)</operation> and <operands/> to the empty list. Inherit the always existing <ase-session-id/> from the current context. Do not output anything.

    2. Determine the target scope chain:

      <if condition="<getopt-option-scope/> is empty"> Set <scope>session:<ase-session-id/></scope>. Reads then cascade `user` -> `project` -> `session`, and writes land on the *session* layer. </if> <else> Set <scope><getopt-option-scope/></scope>, forwarding the given scope chain verbatim. </else>

      Do not output anything.

    3. You MUST NOT use Bash, Read, Write, Edit, or any other filesystem-touching tool anywhere in this skill. Every configuration access is performed exclusively through the ase_config_* tools of the ase MCP server. Do not output anything.

  2. Dispatch Operation:

    1. <if condition="<operation/> is `list` AND <operands/> is empty"> Call the `ase_config_list(scope: "<scope/>")` tool from the `ase` MCP server. The result is a structured object with an `entries` array where each entry has a `key`, a `value`, and a `scope` field.
      • If the entries array is empty, output the following <template/>:

        <template> ⧉ **ASE**: ⚙ config (scope: `<scope/>`): *(none)* </template>
      • Else output the following <template/>, where each <key/>, <value/>, and <entry-scope/> correspond to one entry of the entries array, in the given order:

        <template> ⧉ **ASE**: ⚙ config (scope: `<scope/>`):
        KeyValueScope
        <key/><value/><entry-scope/>
        [...][...][...]
        </template>
      </if>
    2. <elseif condition="<operation/> is `get` AND <operands/> has exactly one token"> Set <key/> to the single token of <operands/>. Call the `ase_config_get(key: "<key/>", scope: "<scope/>")` tool from the `ase` MCP server and set <text/> to its `text` output field.
      • If <text/> is empty, the key is not set at all. Output the following <template/>:

        <template> ⧉ **ASE**: ⚙ config: `<key/>` (scope: `<scope/>`): *(not set)* </template>
      • Else set <value/> to the JSON-decoded <text/> and output the following <template/>:

        <template> ⧉ **ASE**: ⚙ config: `<key/>` (scope: `<scope/>`): **<value/>** </template>
      </elseif>
    3. <elseif condition="<operation/> is `set` AND <operands/> has exactly two tokens"> Set <key/> to the *first* and <value/> to the *second* token of <operands/>. Call the `ase_config_set(key: "<key/>", val: "<value/>", scope: "<scope/>")` tool from the `ase` MCP server.

      Then, if <key/> is one of the three keys steering your own behaviour, you MUST immediately adopt the new <value/> for the remainder of the session -- including the output of this very skill run -- by re-evaluating and internalizing the corresponding rules of the constitution: for agent.persona set <ase-persona-style><value/></ase-persona-style> and re-evaluate the Persona Communication Style rules, for agent.guidance set <ase-guidance-level><value/></ase-guidance-level> and re-evaluate the Guidance Hint Level rules, and for project.boxing set <ase-project-boxing><value/></ase-project-boxing> and re-evaluate the Artifact Boxing Transparency rules. Do not output anything for this.

      Then only output the following <template/>:

      <template> ⧉ **ASE**: ⚙ config: `<key/>` (scope: `<scope/>`): **<value/>** (*updated*) </template> </elseif>
    4. <elseif condition="<operation/> is `delete` AND <operands/> has exactly one token"> Set <key/> to the single token of <operands/>. Call the `ase_config_delete(key: "<key/>", scope: "<scope/>")` tool from the `ase` MCP server. Then only output the following <template/>: <template> ⧉ **ASE**: ⚙ config: `<key/>` (scope: `<scope/>`): (*deleted*) </template> </elseif>
    5. <else> The <operation/> is either missing, unknown, or was given with the wrong number of operands. Notice that the `init` and `edit` subcommands of the `ase config` CLI are deliberately *not* mirrored by this skill. Only output the following <template/> and then immediately *STOP* processing the entire current skill: <template> ⧉ **ASE**: ☻ skill: **ase-meta-config**, ▶ ERROR: invalid operation: **<operation/>** (expected `list`, `get <key>`, `set <key> <value>`, or `delete <key>`) </template> </else>

Reviews

No reviews yet. Tell others what you thought.

Comments

No login needed. Share how it worked for you, ask a question, or note where it did not run.

No comments yet. Be the first to write one.

Comments are published right away. Do not include personal information such as email addresses or phone numbers. Up to 2 URLs.

0 / 1,000 characters

This form is protected by reCAPTCHA, and the Google Privacy Policy and Terms of Service apply.

More skills from this repository

Review software architecture, including package cohesion and inter-package coupling

The English summary is being prepared. Showing the original description.

rse/ase60Updated Oct 22, 2026

Discover additional, third-party components (libraries/frameworks) for the technology stack to provide needed functionality.

The English summary is being prepared. Showing the original description.

rse/ase60Updated Oct 22, 2026

Analyze the source code for problems in either the logic and semantics and its related control flow, performance and efficiency, or security.

The English summary is being prepared. Showing the original description.

rse/ase60Updated Oct 22, 2026

Edit Source Code: Use when the user wants to "edit" the code base in one shot from a query or a bare analyzer issue id like "P1", fusing crafting, refactoring, and resolving with optional grilling, verification, looping, and Git worktree isolation.

The English summary is being prepared. Showing the original description.

rse/ase60Updated Oct 22, 2026

Explains code with WHAT, WHY, ANALOGY, DIAGRAM, CRUXES, and GOTCHAS. Use when you want to know how code works or when the user asks "how does this work?"

The English summary is being prepared. Showing the original description.

rse/ase60Updated Oct 22, 2026

Give insights into the source code.

The English summary is being prepared. Showing the original description.

rse/ase60Updated Oct 22, 2026

See all skills by rse

Report a problem with this skill