name: skills-perso description: | 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". argument-hint: "" disable-model-invocation: false allowed-tools:
List only user-created skills from ~/.claude/skills/, excluding framework
(gstack) skills, symlinked directories, and external skills.
A skill is personal if its SKILL.md references an agent file from
~/.claude/agents/. All user-created skills delegate work to a dedicated agent,
while framework/gstack skills do not.
Run this command to get the list of personal skills:
for dir in ~/.claude/skills/*/; do
[ -L "${dir%/}" ] && continue
skill=$(basename "${dir%/}")
skill_file="${dir}SKILL.md"
[ -f "$skill_file" ] || continue
if [ "$skill" = "skills-perso" ] || grep -qE '\$HOME/\.claude/agents/|~/\.claude/agents/|\.claude/agents/' "$skill_file" 2>/dev/null; then
echo "$skill"
fi
done
SKILL.md.description from the YAML frontmatter. Handle BOTH formats:
description: Some text here → take everything after description:description: | → take the next indented line, trimmed.md filename from ~/.claude/agents/).## Personal Skills (~/.claude/skills/)
| Skill | Agent | Description |
|-------|-------|-------------|
| feat | feater.md | Small feature implementation (1-5 files)... |
| ... | ... | ... |
**Total: N personal skills** (M framework/external skills excluded)
Keep descriptions to one line (~80 chars max, truncate with "..." if needed).