--- 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: - Bash - Read - Glob --- # skills-perso List only **user-created** skills from `~/.claude/skills/`, excluding framework (gstack) skills, symlinked directories, and external skills. ## How to detect user-created skills A skill is **personal** if it satisfies AT LEAST ONE of these signals (in priority order): 1. **Explicit marker** — frontmatter contains `owner: user` (preferred — unambiguous, future-proof) 2. **Agent-reference heuristic** — SKILL.md body references an agent file from `~/.claude/agents/` on a non-comment line 3. **Allowlist** — skill name is in the explicit allowlist below (for self-contained personal skills that do not delegate) Allowlist of self-contained personal skills (no agent delegation): `skills-perso`. Framework / gstack skills always FAIL all three signals — that is how they are excluded. Run this command to get the list of personal skills: ```bash ALLOWLIST="skills-perso" is_personal() { local skill_file="$1" skill_name="$2" # Signal 1: explicit marker if grep -qE '^owner:[[:space:]]*user\b' "$skill_file" 2>/dev/null; then return 0 fi # Signal 2: agent reference on a non-comment line if grep -nE '\$HOME/\.claude/agents/|~/\.claude/agents/|\.claude/agents/' "$skill_file" 2>/dev/null \ | grep -vE '^[0-9]+:[[:space:]]*(#|