|
@@ -1,9 +1,9 @@
|
|
|
---
|
|
---
|
|
|
name: skills-perso
|
|
name: skills-perso
|
|
|
description: |
|
|
description: |
|
|
|
- List all personal skills installed in ~/.claude/skills/.
|
|
|
|
|
- Shows only local skills (excludes symlinked/external skills like gstack or emil-design-eng).
|
|
|
|
|
- For each skill, displays its name and description from SKILL.md frontmatter.
|
|
|
|
|
|
|
+ List personal (user-created) skills from ~/.claude/skills/.
|
|
|
|
|
+ Excludes framework/gstack skills and symlinked/external skills.
|
|
|
|
|
+ Shows only skills the user wrote themselves.
|
|
|
Trigger: "skills-perso", "mes skills", "list my skills", "quels skills", "skills perso".
|
|
Trigger: "skills-perso", "mes skills", "list my skills", "quels skills", "skills perso".
|
|
|
argument-hint: ""
|
|
argument-hint: ""
|
|
|
disable-model-invocation: false
|
|
disable-model-invocation: false
|
|
@@ -15,15 +15,38 @@ allowed-tools:
|
|
|
|
|
|
|
|
# skills-perso
|
|
# skills-perso
|
|
|
|
|
|
|
|
-List all personal skills from `~/.claude/skills/`, excluding symlinked/external directories.
|
|
|
|
|
|
|
+List only **user-created** skills from `~/.claude/skills/`, excluding framework
|
|
|
|
|
+(gstack) skills, symlinked directories, and external skills.
|
|
|
|
|
+
|
|
|
|
|
+## How to detect user-created skills
|
|
|
|
|
+
|
|
|
|
|
+Use git history to identify skills added in bulk commits (framework installs).
|
|
|
|
|
+A skill is considered **framework** if its SKILL.md was first added in a commit
|
|
|
|
|
+that also added 5+ other SKILL.md files. User-created skills are added in small
|
|
|
|
|
+commits (1-3 SKILL.md files at a time).
|
|
|
|
|
+
|
|
|
|
|
+Run this command to get the list of personal skills:
|
|
|
|
|
+
|
|
|
|
|
+```bash
|
|
|
|
|
+for dir in ~/.claude/skills/*/; do
|
|
|
|
|
+ [ -L "${dir%/}" ] && continue
|
|
|
|
|
+ skill=$(basename "${dir%/}")
|
|
|
|
|
+ skill_file="${dir}SKILL.md"
|
|
|
|
|
+ [ -f "$skill_file" ] || continue
|
|
|
|
|
+ commit=$(git -C ~/Documents/claude log --diff-filter=A --format='%H' -1 -- "skills/${skill}/SKILL.md" 2>/dev/null)
|
|
|
|
|
+ [ -z "$commit" ] && continue
|
|
|
|
|
+ count=$(git -C ~/Documents/claude diff-tree --no-commit-id --name-only -r "$commit" -- 'skills/*/SKILL.md' 2>/dev/null | wc -l)
|
|
|
|
|
+ [ "$count" -le 3 ] && echo "$skill"
|
|
|
|
|
+done
|
|
|
|
|
+```
|
|
|
|
|
|
|
|
## Steps
|
|
## Steps
|
|
|
|
|
|
|
|
-1. List all directories in `~/.claude/skills/` that are NOT symlinks (use `find ~/.claude/skills -maxdepth 1 -mindepth 1 -type d -not -type l | sort`).
|
|
|
|
|
-2. For each directory found, read the first 15 lines of `SKILL.md` if it exists.
|
|
|
|
|
|
|
+1. Run the detection command above to get the list of personal skill names.
|
|
|
|
|
+2. For each personal skill, read the first 15 lines of its `SKILL.md`.
|
|
|
3. Extract `name` and `description` from the YAML frontmatter.
|
|
3. Extract `name` and `description` from the YAML frontmatter.
|
|
|
4. Display a clean table with two columns: **Skill** and **Description** (first line of description only, trimmed).
|
|
4. Display a clean table with two columns: **Skill** and **Description** (first line of description only, trimmed).
|
|
|
-5. At the end, show the total count.
|
|
|
|
|
|
|
+5. At the end, show the total count of personal skills (and mention how many framework skills were excluded).
|
|
|
|
|
|
|
|
## Output format
|
|
## Output format
|
|
|
|
|
|
|
@@ -35,8 +58,7 @@ List all personal skills from `~/.claude/skills/`, excluding symlinked/external
|
|
|
| feat | Small feature implementation (1-5 files)... |
|
|
| feat | Small feature implementation (1-5 files)... |
|
|
|
| ... | ... |
|
|
| ... | ... |
|
|
|
|
|
|
|
|
-**Total: N skills**
|
|
|
|
|
|
|
+**Total: N personal skills** (M framework skills excluded)
|
|
|
```
|
|
```
|
|
|
|
|
|
|
|
Keep descriptions to one line (~80 chars max, truncate with "..." if needed).
|
|
Keep descriptions to one line (~80 chars max, truncate with "..." if needed).
|
|
|
-Do NOT include symlinked directories (they point to external/shared skills).
|
|
|