Update groups
Sync group defaults (CLAUDE.md etc.) from deploy/{ASSISTANT_NAME}/groups/ to __data/{ASSISTANT_NAME}/groups/. Use after editing group defaults, or when the agent's CLAUDE.md needs refreshing. Triggers on "update groups", "sync groups", "refresh claude.md", "update agent config".From its SKILL.md
npx -y skills add yukihirop/nagi --skill update-groupsAssembled from the repository path, not quoted from the project. Check it against their README if it does not work.
One thing to look at
- 0 stars0 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.
SKILL.md
3.8 KB, 933 tokens by cl100k_base, as published. Nobody here has run it
Update Group Defaults
Step 0: Language selection
Before proceeding with any other steps in this skill, ask the user which language to continue in using AskUserQuestion. Keep this initial prompt in English because the preferred language is not yet known.
- Question:
Which language should I continue in? - Options:
English,日本語 (Japanese)
Use the selected language for all subsequent user-facing messages and for every further AskUserQuestion prompt in this skill. Do not translate code, file paths, shell commands, or file contents.
Sync git-tracked group defaults from deploy/{ASSISTANT_NAME}/groups/ to __data/{ASSISTANT_NAME}/groups/. Normally this happens automatically on pnpm dev startup, but this skill forces an immediate sync — including overwriting existing files when the user explicitly requests it.
Note: deploy/{ASSISTANT_NAME}/groups/ is the user-editable materialized copy of deploy/templates/groups/ (the pristine upstream). Use the deploy skill to refresh deploy/{ASSISTANT_NAME}/groups/ from templates first if needed.
Steps
1. Check what defaults exist
find deploy/{ASSISTANT_NAME}/groups/ -type f 2>/dev/null | sort
If deploy/{ASSISTANT_NAME}/groups/ doesn't exist or is empty, tell the user there are no defaults to sync.
2. Compare with runtime
For each file found in deploy/{ASSISTANT_NAME}/groups/, compare with the corresponding file in __data/{ASSISTANT_NAME}/groups/:
for f in $(find deploy/{ASSISTANT_NAME}/groups/ -type f); do
# Strip the deploy/{ASSISTANT_NAME}/ prefix to get the runtime-relative path
rel="${f#deploy/{ASSISTANT_NAME}/}"
runtime="__data/{ASSISTANT_NAME}/$rel"
if [ ! -f "$runtime" ]; then
echo "NEW: $f → $runtime"
elif ! diff -q "$f" "$runtime" > /dev/null 2>&1; then
echo "CHANGED: $f (default differs from runtime)"
else
echo "OK: $f (already in sync)"
fi
done
3. Apply changes
Show the user the diff summary and ask how to proceed:
-
NEW files — always copy (no conflict)
-
CHANGED files — AskUserQuestion:
- "Overwrite with default" — replace runtime file with default version
- "Keep runtime version" — preserve user's customizations
- "Show diff" — display the differences before deciding
For each file to sync:
rel="${f#deploy/{ASSISTANT_NAME}/}"
mkdir -p "$(dirname "__data/{ASSISTANT_NAME}/$rel")"
cp "$f" "__data/{ASSISTANT_NAME}/$rel"
4. Verify
echo "=== Synced defaults ==="
for f in $(find deploy/{ASSISTANT_NAME}/groups/ -type f); do
rel="${f#deploy/{ASSISTANT_NAME}/}"
runtime="__data/{ASSISTANT_NAME}/$rel"
if diff -q "$f" "$runtime" > /dev/null 2>&1; then
echo "✓ $f"
else
echo "✗ $f (still differs)"
fi
done
5. Summary
Report what was synced:
- Files copied (new)
- Files overwritten (changed)
- Files skipped (user chose to keep runtime version)
Note: Changes take effect on the next container launch. If nagi is currently running, restart it (pnpm dev) or the next message will pick up the new CLAUDE.md.
Three-layer model
deploy/templates/groups/ (pristine — upstream baseline, reset target)
│
│ deploy skill materializes templates → default
▼
deploy/{ASSISTANT_NAME}/groups/ (user-editable — this skill's source)
│
│ this skill / pnpm dev startup copies default → runtime
▼
__data/{ASSISTANT_NAME}/groups/ (runtime — container mount, preserves customizations)
What ships with it
Read from the repository
Just SKILL.md. No reference files, no scripts.