fix: install.sh — tags corrompus et section GLOBAL vide

Bug 1 : format_skill_line et print_summary ne lisaient que 8 champs avec
IFS='|' read, donc tags héritait de "tags|bundle|/tmp/..." depuis que
SKILLS_LIST a 10 champs. Ajout de kind et source_path dans tous les read.

Bug 2 : gen_global_section itère sur DETECTED_AGENTS, mais si l'utilisateur
appuie ENTER sans sélectionner dans le menu agents, le tableau est vide →
aucun skill global affiché. Fallback vers les 4 agents connus si vide,
cohérent avec le comportement de _skill_agent_ok().

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
2026-05-16 10:40:40 +02:00
parent 358b0f5289
commit 648184da43
+7 -5
View File
@@ -400,8 +400,8 @@ state_cycle() {
# ── Formatage ligne skill (préfixe caché s:IDX\t pour fzf) ───────
format_skill_line() {
local entry="$1" idx="$2"
local cat skill agent etat repo_ver local_ver desc tags
IFS='|' read -r cat skill agent etat repo_ver local_ver desc tags <<< "$entry"
local cat skill agent etat repo_ver local_ver desc tags kind source_path
IFS='|' read -r cat skill agent etat repo_ver local_ver desc tags kind source_path <<< "$entry"
local key; key=$(make_key "$entry")
local action; action=$(state_get "$key")
@@ -592,7 +592,9 @@ gen_global_section() {
printf "d:section-global\t${GRV_GRAY}── 💾 GLOBAL — Skills installés ── (TAB pour basculer)${RESET}\n"
fi
local -a global_lines=()
for agent in "${DETECTED_AGENTS[@]}"; do
local -a agents_to_show=("${DETECTED_AGENTS[@]}")
[[ "${#agents_to_show[@]}" -eq 0 ]] && agents_to_show=("claude-code" "gemini-cli" "codex" "hermes")
for agent in "${agents_to_show[@]}"; do
base="${agent_dir_map[$agent]:-}"
[[ -z "$base" ]] && continue
while IFS= read -r skill_md; do
@@ -853,8 +855,8 @@ print_summary() {
echo -e "\n${GRV_PURPLE}╔══ Tester vos skills ══╗${RESET}\n"
for entry in "${SKILLS_LIST[@]}"; do
local cat skill agent etat repo_ver local_ver
IFS='|' read -r cat skill agent etat repo_ver local_ver <<< "$entry"
local cat skill agent etat repo_ver local_ver desc tags kind source_path
IFS='|' read -r cat skill agent etat repo_ver local_ver desc tags kind source_path <<< "$entry"
local key; key=$(make_key "$entry")
local action; action=$(state_get "$key")
[[ "$action" == "skip" ]] && continue