create-shortcut
Skill121 starsChanged 7 months agoMITView on GitHub
Create local skills as shortcuts — makes real /commands in .claude/skills/. Use when user says "create shortcut", "create skill", "make a command for", "add shortcut", or wants a quick custom /slash-command. Also lists and deletes local skills. ALSO triggers on "Unknown skill", "skill not found", or any unrecognized /slash-command — auto-creates it on the fly.
1 other project uses a version of this, 1 of them edited.
Adopted by
Most recently taken up by
- l3rowniecakez/Claude_Skilledited, first seen Oct 19, 2026
Other versions1 project uses a version of this.
Word for word · 0
None found.
Edited · 1
- l3rowniecakez/Claude_Skill★ 098% same
Wrote their own version · 0
None found.
How matches are found. Word for word: the exact same text. Edited: shares passages with this file (“99% same” means 99% of its five-word phrases also appear here; 10% or more counts). Their own version: similar meaning, or, weakest, the same name. We can’t tell which project had it first. Projects are counted among the 200 most-starred candidates, and mentions are links to the repository we found, up to 50 per site, so both counts are a floor.
In this repository25 other files it gives its agents.
- CLAUDE.mdCLAUDE.md
- about-oracleSkill
- awakenSkill
- bampenpienSkill
- budSkill
- digSkill
- feelSkill
- forwardSkill
- goSkill
- incubateSkill
- learnSkill
- oracle-cheatsheetSkill
- oracle-family-scanSkill
- oracle-prismSkill
- philosophySkill
- projectSkill
- psiSkill
- recapSkill
- resonanceSkill
- round-tableSkill
- rrrSkill
- soulSkill
- traceSkill
- where-we-areSkill
- who-are-youSkill
The file
Show its rules and text
We split this skill into the rules it gives an agent
15 rules. About 0 are common, 9 are distinctive, and 6 are very specific to this project.
≈0
Common · estimate
Many files like this have a rule of this kind.
≈9
Distinctive · estimate
This author's own choices. Worth a look.
6
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Very specific: line 9
Create real local skills (.claude/skills/<name>/SKILL.md) that show up as /commands in autocomplete.
- Distinctive: line 97
If description not provided, ask:
- Very specific: line 110
Write SKILL.md with a provenance stamp in the frontmatter (so the skill can later be filtered via --mine and bulk-cleaned via --cleanup):
- Distinctive: line 181
Ask confirmation: "Delete /<name>?
- Very specific: line 184
Create .trash/ if needed: mkdir -p .claude/skills/.trash
- Distinctive: line 186
If no: "Kept: /<name>"
- Distinctive: line 188
Only delete local skills: Never delete global/core skills — warn instead:
- Very specific: line 199
When the agent encounters an unknown /slash-command (e.g.
- Distinctive: line 209
Offer to save: after executing, ask:
- Very specific: line 222
Treat the command name as a natural language hint: split on -, read as phrase
- Distinctive: line 223
Use conversation context (last few messages) to disambiguate
- Distinctive: line 224
If intent is truly ambiguous, ask ONE clarifying question before executing
- Distinctive: line 225
Never refuse — always attempt something reasonable
- Distinctive: line 282
If nothing matches the scan (no stamped skills found), print:
- Very specific: line 302
Default behavior is OFF — you must opt in with --auto.
≈ “Common” is an estimate: at least 1 in 5 of the 350,495 skill files we read have a rule of the same kind, not the same words. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.
Files
/create-shortcut - Local Skill Factory
Create real local skills (.claude/skills/<name>/SKILL.md) that show up as /commands in autocomplete.
Usage
/create-shortcut # list local skills
/create-shortcut list # same, with numbers
/create-shortcut list --mine # only stamped skills (installer: create-shortcut)
/create-shortcut list --untagged # only skills with no installer: field
/create-shortcut create deploy "Run tests then deploy"
/create-shortcut delete deploy # delete by name
/create-shortcut delete 3 # delete by number
/create-shortcut --cleanup # interactive bulk-archive of --mine skills
/create-shortcut --cleanup --auto # auto-archive anything stamped + unused 30d+How It Works
Creates a SKILL.md in .claude/skills/<name>/ (project-local) or ~/.claude/skills/<name>/ (global with --global).
The skill immediately appears in / autocomplete after creation.
Mode 1: List (default)
Scan both local and global skills directories:
LOCAL_DIR=".claude/skills"
GLOBAL_DIR="$HOME/.claude/skills"For each directory, list skill folders and show:
⚡ Local Skills (.claude/skills/)
1. deploy Run tests then deploy to prod
2. lint-fix Fix all linting errors
3. db-migrate Run database migrations
⚡ Global Skills (~/.claude/skills/)
4. trace (v3.4.8) [core] Find projects, code...
5. recap (v3.4.8) [core] Session orientation...
...
Delete local: /create-shortcut delete <name or number>Mark core (arra-oracle-skills-cli installed) skills with [core].
Mark stamped skills (with installer: create-shortcut in frontmatter) with [mine] plus a relative-age hint (e.g. 2d ago).
Local skills with no installer: field have no tag (origin unknown).
Filter flags
/create-shortcut list # default — all local + global, marks [core] / [mine]
/create-shortcut list --mine # only skills with `installer: create-shortcut`
/create-shortcut list --untagged # only skills with NO `installer:` field (origin unknown)For --mine and --untagged, the listing additionally shows:
created_atage (e.g. "2 days ago", "3 weeks ago") — pulled from the frontmattercreated_at:field for--mine; absent for--untagged.- Approximate usage count — derived by greping the command name across
~/.claude/projects/*/*.jsonlsession files (read-only, no stored counter — counts stay computed, not persisted).
Example --mine output:
⚡ Your skills (installer: create-shortcut)
1. deploy [mine] 2d ago · used 7× Run tests then deploy
2. read-and-deep-... [mine] 1d ago · used 1× Read a target and deep-analyse...
3. resonance [mine] 3w ago · used 24× Capture a resonance moment...
Bulk-archive: /create-shortcut --cleanupImplementation hint: parse each SKILL.md frontmatter (top YAML block between --- lines) and check for the installer: key. --mine keeps only installer: create-shortcut; --untagged keeps only entries with no installer: key at all. Core skills (installer: arra-oracle-skills-cli ...) are excluded from both filtered views.
Mode 2: Create
/create-shortcut create <name> [description]
If description not provided, ask:
What should /<name> do?Then create the skill:
SKILL_DIR=".claude/skills/<name>"
mkdir -p "$SKILL_DIR"Write SKILL.md with a provenance stamp in the frontmatter (so the skill can later be filtered via --mine and bulk-cleaned via --cleanup):
---
name: <name>
description: <description>
installer: create-shortcut
created_at: <ISO 8601 timestamp with timezone, e.g. 2026-05-14T04:15:00+07:00>
created_session: <first 8 chars of $CLAUDE_SESSION_ID, optional but nice>
---
# /<name>
<description>
## Step 0: Init
Chain date with the first real command — never call date alone (saves 1 tool call):
\```bash
date "+🕐 %H:%M %Z (%A %d %B %Y)" && <first-real-command-here>
\```
## Instructions
<Ask user what the skill should do, or generate from description>
---
ARGUMENTS: $ARGUMENTSGenerating the stamp values:
# created_at — ISO 8601 with local timezone offset
CREATED_AT="$(date -Iseconds 2>/dev/null || date +%Y-%m-%dT%H:%M:%S%z)"
# created_session — first 8 chars of session id (skip silently if unset)
CREATED_SESSION="${CLAUDE_SESSION_ID:0:8}"These three fields (installer, created_at, created_session) are always written for new skills created via this mode. They are the audit trail — without them, a skill created here is indistinguishable from one created by hand.
After creating, confirm:
✅ Created /<name>
📁 .claude/skills/<name>/SKILL.md
📝 <description>
Try it: /<name>With --global flag
/create-shortcut create deploy "Deploy to prod" --globalCreates in ~/.claude/skills/ instead of .claude/skills/.
Mode 3: Delete
/create-shortcut delete <name or number>
- Find the skill (by name or list number)
- Show its content
- Ask confirmation: "Delete /
<name>? (yes/no)" - If yes:
- Move to trash (Nothing is Deleted):
mv .claude/skills/<name> .claude/skills/.trash/<name>_$(date +%Y%m%d_%H%M%S) - Create
.trash/if needed:mkdir -p .claude/skills/.trash - Confirm: "Archived: /
<name>→ .claude/skills/.trash/"
- Move to trash (Nothing is Deleted):
- If no: "Kept: /
<name>"
Only delete local skills. Never delete global/core skills — warn instead:
⚠️ <name> is a core skill (installed by arra-oracle-skills-cli).
Use 'arra-oracle-skills uninstall -s <name>' to remove it.Mode 4: Auto-Create (catch unknown commands)
When the agent encounters an unknown /slash-command (e.g. "Unknown skill: resonance", "skill not found: push-further", or any unrecognized /command), this skill activates automatically.
Flow
- Parse the command name from the error or user input (e.g.
/resonance→resonance) - Infer intent from the command name + current conversation context
/resonance→ "capture a resonance moment to ψ/memory/resonance/"/push-further→ "challenge the current approach, suggest improvements"/deploy-staging→ "deploy the project to staging environment"
- Execute immediately — do what the user intended, don't block on skill creation
- Offer to save: after executing, ask:
Save as /command for next time? (yes/no) - If yes → create a minimal SKILL.md stub using Mode 2 (create), pre-filled with:
- Name from the command
- Description inferred from what was just executed
- Instructions based on the action taken
- Provenance stamp — same as Mode 2:
installer: create-shortcut,created_at:(ISO 8601 + tz),created_session:(first 8 chars of$CLAUDE_SESSION_ID). Auto-created skills must be stamped too — that's how--cleanuplater finds them.
- If no → done, one-shot execution only
Intent Inference Rules
- Treat the command name as a natural language hint: split on
-, read as phrase - Use conversation context (last few messages) to disambiguate
- If intent is truly ambiguous, ask ONE clarifying question before executing
- Never refuse — always attempt something reasonable
Example
User: /resonance
Agent: [sees "Unknown skill: resonance"]
→ Infers: "capture a resonance moment"
→ Creates ψ/memory/resonance/<timestamp>.md with context
→ "Save as /resonance for next time? (yes/no)"
→ User: "yes"
→ Creates .claude/skills/resonance/SKILL.md
→ "/resonance is now a real command"Key Principle
"You think it, you slash it, it exists."
Skills create themselves from usage. The user never hits a dead end.
Mode 5: Cleanup (interactive bulk archive)
/create-shortcut --cleanup
Bulk-archive skills you created via /create-shortcut (anything stamped with installer: create-shortcut). Six months of accumulated one-shot skills, gone in one gesture — without touching [core] skills or hand-made externals.
Flow
- Scan both
.claude/skills/(local) and~/.claude/skills/(global). Read eachSKILL.mdfrontmatter and keep only entries withinstaller: create-shortcut. - Enrich each candidate with:
- Age — relative form of
created_at(e.g. "2 days ago", "3 weeks ago"). Ifcreated_atis missing, show "age unknown". - Last invoked — grep the command name (e.g.
/deploy) across~/.claude/projects/*/*.jsonland report days since the most recent match (e.g. "used 4d ago", "never used"). - Description — first non-empty line of the
description:field, truncated to ~60 chars.
- Age — relative form of
- Multi-select picker using
@clack/promptsmultiselect(same library + style as the existing skill picker elsewhere in the CLI). Each row:
Pre-checked rows: anything never used OR last-used >30 days ago. User can toggle freely before confirming.◯ deploy [local] 2d ago used 4d ago Build, test, deploy to prod ◯ resonance-lite [global] 3w ago never used Capture small resonance moments ◯ pr-review [local] 6mo ago used 5mo ago Review the current PR with checklist - Archive selected skills to
.trash/<name>_<unix-timestamp>in their respective skills directory (Nothing-is-Deleted, same convention as Mode 3):TS="$(date +%s)" mkdir -p "$(dirname "$SKILL")/.trash" mv "$SKILL" "$(dirname "$SKILL")/.trash/<name>_${TS}" - Print summary:
✅ Archived 7 skills. Recover any of them via: mv .claude/skills/.trash/<name>_<ts> .claude/skills/<name>
If nothing matches the scan (no stamped skills found), print:
No skills with `installer: create-shortcut` found.
Tip: only skills created after the provenance-stamp release show up here.
Older user skills can be retroactively migrated with `--migrate` (future).Flag: --cleanup --auto
/create-shortcut --cleanup --autoSkips the interactive picker and archives everything matching the auto-prune rule:
installer: create-shortcut(stamped by us), ANDcreated_atis older than 30 days, AND- last invocation is older than 30 days (or never invoked).
Default behavior is OFF — you must opt in with --auto. Designed for power users who trust the heuristic and want a one-keystroke sweep. Still archives to .trash/ (recoverable, never destroyed).
Boundaries
- Never touches skills with
installer: arra-oracle-skills-cli ...(those are[core]; usearra-oracle-skills uninstallinstead). - Never touches skills with no
installer:field (those are[untagged]— origin unknown, not safe to assume the user made them via this skill). - Always moves to
.trash/, never deletes outright. Recovery is a singlemvaway. Nothing is Deleted.
Examples
/create-shortcut create deploy "Build, test, and deploy to Cloudflare Workers"
/create-shortcut create db-seed "Reset and seed the development database"
/create-shortcut create pr-review "Review the current PR with checklist"
/create-shortcut create morning "Run standup + check inbox + show schedule"ARGUMENTS: $ARGUMENTS
Does it work?
Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.
No reviews yet
People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.
- It worked
- Partly
- It didn't
Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.
Your trail
Files you open will collect here, so you can find them again.
Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.
Now do this for your own.
Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.

