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…
Evaluate alternatives through a weighted multi-criteria decision matrix. Use when the user calls for the *evaluation* of *alternatives*, wants to *compare* things, or asks what the best is from a list of choices.
$ npx -y skills add rse/ase --skill ase-meta-evaluate --agent claude-codeHow it fires
How this skill gets triggered: by you, by Claude, or both.
/ase-meta-evaluateContext preview
The summary Claude sees to decide when to auto-load this skill.
Evaluate alternatives through a weighted multi-criteria decision matrix. Use when the user calls for the *evaluation* of *alternatives*, wants to *compare* things, or asks what the best is from a list of choices.
name: ase-meta-evaluate
argument-hint: "[--help|-h] <request>"
description: >
Evaluate alternatives through a weighted multi-criteria decision
matrix. Use when the user calls for the *evaluation* of
*alternatives*, wants to *compare* things, or asks what the best is
from a list of choices.
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-meta-evaluate"> Evaluate Alternatives </purpose>
<expand name="getopt" arg1="ase-meta-evaluate"> $ARGUMENTS </expand>
<objective> *Evaluate* *alternatives* through a weighted multi-*criteria* decision matrix. </objective>
<flow> 1. <step id="STEP 1: Determine Reason">
reason <reason/> for the evaluation. If no such reason can be derived, assume <reason>generic comparison</reason>.
and do not output anything else:
<template> <ase-tpl-bullet-secondary/> **REASON**: *<reason/>* </template> </step>
2. <step id="STEP 2: Determine Alternatives">
alternatives <alternative-K/> (K=1-N) the user wants to be evaluated. Do not output anything.
following <template/> and *stop the entire flow* immediately without executing any further steps:
<template> <ase-tpl-bullet-signal/> **ERROR: INSUFFICIENT ALTERNATIVES**: at least two are required for a comparison! </template>
you have all necessary information at hand to give it the proper, unique, short, and *concise name* <alternative-K/>. If you are unsure, use the `ase-meta-search` skill (at most one invocation per alternative, drawing from the *skill-wide shared budget* of at most 8 `ase-meta-search` invocations in total across STEP 2 and STEP 3 combined) to find out more and adjust the name <alternative-K/>.
If still unsure after the shared budget is exhausted, pick the best-guess concise name and proceed. Do not output anything.
of *USP* (Unique Selling Point -- what makes it unique), *Crux* (what you should notice), or *Gotcha* (what you should not stumble over) is its single most distinguishing perspective, and remember this as an <info-K/> (K=1-N) formatted like `<type/>: <hint/>` where <type/> is one of `USP`, `Crux`, or `Gotcha` and <hint/> is a 1-6 word hint. Do not output anything.
name of the *class of alternatives* <class-of-alternatives/> is. Do not output anything.
it is a genuine member of <class-of-alternatives/>. If any <alternative-K/> is *not* a member (i.e. the alternatives are not mutually comparable within a single class), output the following <template/> (repeating the `⚑` line once per non-member alternative, i.e. once for each <alternative-K/> for which the membership decision was negative) and *stop the entire flow* immediately without executing any further steps:
<template> <ase-tpl-bullet-signal/> **ERROR: INCOMPARABLE ALTERNATIVES**: *<class-of-alternatives/>*
⚑ **<alternative-K/>** (*member of a different class*) </template>
*table* with just the following <template/> and do not output anything else:
<template> <ase-tpl-bullet-normal/> **ALTERNATIVES**: *<class-of-alternatives/>*
| ⚑ *Alternative* | ⚖ *Hint* | | :--------------------- | :-------- | | ⚑ **<alternative-1/>** | <info-1/> | [...alternatives K=2-(N-1) for N>2...] | ⚑ **<alternative-N/>** | <info-N/> | </template> </step>
3. <step id="STEP 3: Derive Criteria">
<criteria-L/> (L=1-M) for the evaluation. Do not output anything.
from the value set { 4.00, 2.00, 1.00, 0.50, 0.25 } (from most important, via normal, to less important). Do not output anything.
minimum 8 and maximum 12: if fewer than 8 criteria were requested, use the set of alternatives to decide on additional criteria which potentially best allow triaging the alternatives, take the <reason/> into account, and use the `ase-meta-search` skill (drawing from the *skill-wide shared budget* of at most 8 `ase-meta-search` invocations in total across STEP 2 and STEP 3 combined) to find out about the potentially still missing criteria and assign their <weight-L/>.
If still under 8 criteria after the shared budget is exhausted, fill the remaining slots from existing knowledge without further searches; if more than 12 criteria were requested, drop the criteria with the smallest <weight-L/> until 12 remain. Do not output anything.
weighted sum (the weight set is geometric ×2 while the evaluation Likert scale is linear), assign weight 4.00 to *at least one* and *at
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…