| name | agent-type-advisor |
| description | Recommend whether a plugin capability should be a markdown (LLM-interpreted) unit or a deterministic script. Use when designing a new agent/skill ("should this be markdown or a script?"), or when auditing an existing agent/skill file for a type mismatch. Accepts either a prose use-case description (forward- looking, new unit) or a path to an existing agent/skill file (retrospective). |
| argument-hint | <prose use-case | path/to/agent-or-skill.md> |
| role | worker |
| user-invocable | true |
| allowed-tools | Read, Grep, Glob |
Agent Type Advisor
Role: worker. Recommend markdown vs script for a plugin capability, citing
the shared decision rules so the recommendation is auditable, not a vibe.
Constraints
- Cite, do not paraphrase. Every recommendation names at least two rule IDs
(
R1–R10) from knowledge/agent-type-decision-rules.md. That file is the
single source of truth — read it first, do not restate its reasoning from
memory.
- Classify the input mode first. Prose → forward-looking. File path →
retrospective. Both modes are first-class.
- Behavior decides type, not extension. Judge an existing file by what its
body actually does, never by its
.md/.sh suffix alone.
- Be concise. Emit only the recommendation block. No preamble.
Step 1 — Read the rules
Read knowledge/agent-type-decision-rules.md in full. It is short and is the
rule source (R1–R10, the markdown/script columns, and the confidence ladder).
Step 2 — Detect input mode
Inspect $ARGUMENTS:
- If it resolves to an existing file (ends in
.md/.sh/.py and exists on
disk, or Glob finds it) → retrospective mode (Step 3b).
- Otherwise treat the whole argument as a prose use-case → forward-looking
mode (Step 3a).
If $ARGUMENTS is empty, ask the user for a prose use-case or a file path and
stop.
Step 3a — Forward-looking (prose use-case)
- Extract the unit's job: what does it produce, how often does it run, does it
gate anything, does the answer vary with phrasing/context?
- Walk the rules. Collect every rule that applies and the column it points to.
- Decide
markdown or script by the dominant column.
- Set confidence per the file's ladder (high / medium / low).
Output the recommendation block (Step 4) with recommendation: = markdown or
script.
Step 3b — Retrospective (existing file)
- Read the target file. Determine its observable behavior from the body —
what it actually computes or produces — independent of its extension.
- Determine the type it should be by the same rule walk as Step 3a.
- Compare to the type it currently is (markdown unit =
.md agent/SKILL.md;
script = .sh/.py):
- should-be matches current →
recommendation: KEEP
- should-be differs from current →
recommendation: CHANGE (name the target
type and what to extract/convert)
- mixed mechanical + judgment → apply R10: if the markdown unit already
delegates the mechanical half to a script it calls,
KEEP; if it inlines
mechanical enumeration, CHANGE (extract the script).
- Set confidence per the ladder.
Step 4 — Output
Emit exactly this block (Markdown), nothing else:
## Agent Type Recommendation
- Target: <prose summary | file path>
- Mode: <forward-looking | retrospective>
- Recommendation: <markdown | script | KEEP | CHANGE>
[retrospective only] Current type: <markdown | script> → Should be: <markdown | script>
- Confidence: <high | medium | low>
- Rationale: <2–3 sentences keyed to the job>
- Rules cited:
- <Rn>: <one-line why this rule applies here>
- <Rm>: <one-line why this rule applies here>
[low/medium confidence only]
- To raise confidence: <the missing detail>
At least two distinct rule IDs are required. For a CHANGE, cite the rule(s)
that the current type violates and the rule(s) that justify the target type.