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:
+7
-5
@@ -400,8 +400,8 @@ state_cycle() {
|
|||||||
# ── Formatage ligne skill (préfixe caché s:IDX\t pour fzf) ───────
|
# ── Formatage ligne skill (préfixe caché s:IDX\t pour fzf) ───────
|
||||||
format_skill_line() {
|
format_skill_line() {
|
||||||
local entry="$1" idx="$2"
|
local entry="$1" idx="$2"
|
||||||
local cat skill agent etat repo_ver local_ver desc tags
|
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 <<< "$entry"
|
IFS='|' read -r cat skill agent etat repo_ver local_ver desc tags kind source_path <<< "$entry"
|
||||||
local key; key=$(make_key "$entry")
|
local key; key=$(make_key "$entry")
|
||||||
local action; action=$(state_get "$key")
|
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"
|
printf "d:section-global\t${GRV_GRAY}── 💾 GLOBAL — Skills installés ── (TAB pour basculer)${RESET}\n"
|
||||||
fi
|
fi
|
||||||
local -a global_lines=()
|
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]:-}"
|
base="${agent_dir_map[$agent]:-}"
|
||||||
[[ -z "$base" ]] && continue
|
[[ -z "$base" ]] && continue
|
||||||
while IFS= read -r skill_md; do
|
while IFS= read -r skill_md; do
|
||||||
@@ -853,8 +855,8 @@ print_summary() {
|
|||||||
|
|
||||||
echo -e "\n${GRV_PURPLE}╔══ Tester vos skills ══╗${RESET}\n"
|
echo -e "\n${GRV_PURPLE}╔══ Tester vos skills ══╗${RESET}\n"
|
||||||
for entry in "${SKILLS_LIST[@]}"; do
|
for entry in "${SKILLS_LIST[@]}"; do
|
||||||
local cat skill agent etat repo_ver local_ver
|
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 <<< "$entry"
|
IFS='|' read -r cat skill agent etat repo_ver local_ver desc tags kind source_path <<< "$entry"
|
||||||
local key; key=$(make_key "$entry")
|
local key; key=$(make_key "$entry")
|
||||||
local action; action=$(state_get "$key")
|
local action; action=$(state_get "$key")
|
||||||
[[ "$action" == "skip" ]] && continue
|
[[ "$action" == "skip" ]] && continue
|
||||||
|
|||||||
Reference in New Issue
Block a user