Loading...
Loading...
ルート直下の `skills-lock.json` の `computedHash` を upstream リポジトリの最新状態と照合して更新する。`source` が `Fandhe-AI/` で始まらないエントリは clone せず skip (安全弁)。submodule 配下の `skills-lock.json` は触らない。contribute-skill のマージ後や upstream 同期後、「ハッシュ更新」「skills-lock 同期」などで使用。
npx skill4agent add fandhe-ai/agent-cli-skills sync-skills-lockskills-lock.jsoncomputedHashskills-lock.jsonskills-lock.jsonghskills-lock.jsonTARGET="$ARGUMENTS" # 空なら全スキル対象skills-lock.jsonskills-lock.jsonsourceFandhe-AI/agent-cli-skills:
- create-commit
- create-issue
- ...sourceFandhe-AI/contribute-skillskills-lock.json# source の検証(Fandhe-AI/ で始まらないエントリは skip)
case "$SOURCE" in
Fandhe-AI/*)
;; # OK
*)
echo "警告: 想定外の source: $SOURCE — このスキルは skip します"
continue
;;
esacUID_VAL=$(id -u)
TS=$(date +%Y%m%d-%H%M%S)
WORKDIR="/tmp/claude-${UID_VAL}/sync-skills-${TS}"
mkdir -p "$WORKDIR"
# sandbox 環境では各コマンドに GIT_SSL_NO_VERIFY=1 を前置する(詳細: docs/sandbox-tls.md)
gh repo clone Fandhe-AI/<repo> "$WORKDIR/<repo>"skills/<name>/.agents/skills/<name>/SKILL.mdSKILL.mdreferences/# SKILL.md 単体の例
sha256sum "$WORKDIR/<repo>/skills/<name>/SKILL.md" | awk '{print $1}'computedHashcomputedHash| スキル名 | 現在の hash (頭10字) | 新しい hash (頭10字) | 差分 |
|--------------------|---------------------|---------------------|------|
| create-commit | 80e2dd2232 | 80e2dd2232 | なし |
| contribute-skill | (未登録) | xxxxxxxxxx | 新規 |skills-lock.jsonskills-lock.jsonskills-lock.json# jq を使う例
jq '.skills."create-commit".computedHash = "<new-hash>"' \
skills-lock.json > skills-lock.json.tmp && mv skills-lock.json.tmp skills-lock.jsongit add skills-lock.json
git commit -m "$(cat <<'EOF'
chore(skills-lock): upstream の最新ハッシュと同期
<変更内容の要約>
EOF
)"skills-lock.jsonsourceFandhe-AI/contribute-skillskills-lock.jsonskills/<name>/.agents/skills/<name>/SKILL.mdGIT_SSL_NO_VERIFY=1contribute-skillsync-skills-lockcomputedHashGIT_SSL_NO_VERIFY=1gh repo clonedocs/sandbox-tls.mdcontribute-skillcreate-commit