Skip to content
cccskills
FreePublished on GitHub

caddy-enroll

Enroll a skill into Caddy's index so it can be surfaced when the right prompt arrives. Use when a new skill is created, copied in, or when a skill needs updated triggers. Usage — "/caddy-enroll <path to SKILL.md>".

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

wrg32786/aigent-os25 stars(GitHub 25 + cccskills 0)

Run score Not tested

See how to install

Files included (1)

  • SKILL.md3.3 KB

SKILL.md (original)

Review the instructions the agent will receive before you install.

/caddy-enroll

Enroll a skill into Caddy's skill-index.json so prompts matching the skill's triggers surface it as a hint.

When to Use

  • A new skill was created (often by /skills-builder) and needs to join the index
  • A skill was copied in from outside (cloned plugin, downloaded skill)
  • An existing skill's triggers need refreshing after its SKILL.md changed
  • User says "enroll this skill" / "add this to Caddy" / "update Caddy for /X"

When NOT to Use

  • The skill is already indexed with correct triggers (check .claude/skill-index.json first)
  • The skill has no SKILL.md / no description / no clear use case (fix the skill first, enroll after)

Arguments

$1 = path to the skill's SKILL.md or .md file. If omitted, ask which skill.

Protocol

Step 1: Read the target skill

Read the full SKILL.md at the given path. Parse:

  • name — from the name: frontmatter field, or the filename stem
  • description — from the description: frontmatter field, or first heading/line

Step 2: Extract structured metadata

Produce this five-field structure:

- what: <one-line what it does>
- triggers: <comma-separated keywords/intents a prompt matcher could catch — 6-12 items, mix multi-word phrases and single keywords>
- use_cases: <3-5 concrete "when user says X, use this">
- anti_cases: <1-3 "do NOT use when...">
- related: <comma-separated related skills from the existing index>

Trigger quality rules:

  • Multi-word phrases score 3x — prefer them for specific intents
  • Single words only for unambiguous terms
  • Avoid stopwords and generic terms ("help", "check", "run", "fix" alone)
  • Aim for prompts a user would actually type — not jargon from the skill's own docs

Anti-case quality:

  • Name the sibling skill that SHOULD be used instead
  • Name any confidentiality or scope boundaries

Step 3: Append to skill-index.json

Read .claude/skill-index.json (relative to AIGENT_ROOT).

If a skill with this name already exists: update its triggers and why — don't clobber triggers the user added manually.

If it's new: append a new entry with {name, triggers, why}.

Validate the file is still valid JSON before writing.

Step 4: Test the enrollment

Run:

echo '{"prompt":"<test prompt that should trigger this skill>"}' | bash $AIGENT_ROOT/daemons/caddy.sh

Confirm the [CADDY] /<name> - <why> hint surfaces. If not, tune the triggers and retry.

Step 5: Confirm

Report:

  • Skill name and path
  • Trigger count + short list
  • Test prompt used + whether it surfaced

Output Format

Enrolled: /<skill-name>
Triggers: <count> (<short list>)
Test: "<prompt>" → [CADDY] /<name> ✓

If the test failed or triggers need work:

Enrolled with warning: triggers need tuning
Test: "<prompt>" → no match
Suggested fix: add trigger "<candidate>"

Why This Exists

Every skill the framework can execute must be enrolled here. Skipping enrollment = skill sits in the golf bag unlabeled. Caddy can't hand it to the AIgent if it's not indexed.

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

Track and surface sub-agent dispatch calibration ratios. Extract from JSONL transcript or read existing ledger. Per-agent clean/blocked/errored/partial trends.

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

wrg32786/aigent-os25Updated Oct 29, 2026

Compose the AIgent's body state by reading existing signals. Lazy compute. Never polled. Reports the five pressures + recommended reflex.

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

wrg32786/aigent-os25Updated Oct 29, 2026

brief

Free

Generate a structured delegation brief for any task

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

wrg32786/aigent-os25Updated Oct 29, 2026

Quarterly skill that walks the skill-index against the actual SKILL.md files on disk, reports drift (skills indexed that no longer exist, skills on disk that aren't enrolled, skills whose descriptions have changed since enrollment). Hardens the auto-enrollment pipeline against silent rot.

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

wrg32786/aigent-os25Updated Oct 29, 2026

When a [CADDY] hint fires and the principal is confused why, /caddy-explain walks the scoring transparently — which trigger matched, what points it earned, what the threshold was, what other skills were close. Pairs with the legibility thesis. Caddy's decisions should be inspectable on demand.

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

wrg32786/aigent-os25Updated Oct 29, 2026

Mute a Caddy hint class for a window. Defaults to 4h auto-expiry. Classes — memory, context, body, routing, all.

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

wrg32786/aigent-os25Updated Oct 29, 2026

See all skills by wrg32786

Report a problem with this skill