Some checks failed
Workflow Lint / actionlint (push) Has been cancelled
Build CI Image / build (push) Has been cancelled
Skill Docs Freshness / check-freshness (push) Has been cancelled
Periodic Evals / build-image (push) Has been cancelled
Periodic Evals / evals (map[file:test/codex-e2e.test.ts name:e2e-codex]) (push) Has been cancelled
Periodic Evals / evals (map[file:test/gemini-e2e.test.ts name:e2e-gemini]) (push) Has been cancelled
Periodic Evals / evals (map[file:test/skill-e2e-design.test.ts name:e2e-design]) (push) Has been cancelled
Periodic Evals / evals (map[file:test/skill-e2e-plan.test.ts name:e2e-plan]) (push) Has been cancelled
Periodic Evals / evals (map[file:test/skill-e2e-qa-bugs.test.ts name:e2e-qa-bugs]) (push) Has been cancelled
Periodic Evals / evals (map[file:test/skill-e2e-qa-workflow.test.ts name:e2e-qa-workflow]) (push) Has been cancelled
Periodic Evals / evals (map[file:test/skill-e2e-review.test.ts name:e2e-review]) (push) Has been cancelled
Periodic Evals / evals (map[file:test/skill-e2e-workflow.test.ts name:e2e-workflow]) (push) Has been cancelled
Periodic Evals / evals (map[file:test/skill-routing-e2e.test.ts name:e2e-routing]) (push) Has been cancelled
Source: https://github.com/garrytan/gstack/commit/026751e
35 lines
1.2 KiB
Bash
Executable File
35 lines
1.2 KiB
Bash
Executable File
#!/usr/bin/env bash
|
|
# gstack-patch-names — patch name: field in SKILL.md frontmatter for prefix mode
|
|
# Usage: gstack-patch-names <gstack-dir> <true|false|1|0>
|
|
set -euo pipefail
|
|
|
|
GSTACK_DIR="$1"
|
|
DO_PREFIX="$2"
|
|
|
|
# Normalize prefix arg
|
|
case "$DO_PREFIX" in true|1) DO_PREFIX=1 ;; *) DO_PREFIX=0 ;; esac
|
|
|
|
PATCHED=0
|
|
for skill_dir in "$GSTACK_DIR"/*/; do
|
|
[ -f "$skill_dir/SKILL.md" ] || continue
|
|
dir_name="$(basename "$skill_dir")"
|
|
[ "$dir_name" = "node_modules" ] && continue
|
|
cur=$(grep -m1 '^name:' "$skill_dir/SKILL.md" 2>/dev/null | sed 's/^name:[[:space:]]*//' | tr -d '[:space:]' || true)
|
|
[ -z "$cur" ] && continue
|
|
[ "$cur" = "gstack" ] && continue # never prefix root skill
|
|
if [ "$DO_PREFIX" -eq 1 ]; then
|
|
case "$cur" in gstack-*) continue ;; esac
|
|
new="gstack-$cur"
|
|
else
|
|
case "$cur" in gstack-*) ;; *) continue ;; esac
|
|
[ "$dir_name" = "$cur" ] && continue # inherently prefixed (gstack-upgrade)
|
|
new="${cur#gstack-}"
|
|
fi
|
|
tmp="$(mktemp "${skill_dir}/SKILL.md.XXXXXX")"
|
|
sed "1,/^---$/s/^name:[[:space:]]*${cur}/name: ${new}/" "$skill_dir/SKILL.md" > "$tmp" && mv "$tmp" "$skill_dir/SKILL.md"
|
|
PATCHED=$((PATCHED + 1))
|
|
done
|
|
if [ "$PATCHED" -gt 0 ]; then
|
|
echo " patched name: field in $PATCHED skills"
|
|
fi
|