Agent skill
weave
Entity-level merge with weave. Use when setting up weave, previewing merges, reducing false Git conflicts, or validating merge-driver behavior.
Install this agent skill to your Project
npx add-skill https://github.com/edmundmiller/dotfiles/tree/main/config/agents/skills/weave
Metadata
Additional technical details for this skill
- version
- 0.1.0
SKILL.md
weave Skill
Use weave when Git line-conflicts are noisy but edits are logically independent.
When to use
- "set up weave"
- "weave setup"
- "preview this merge"
- "why did git conflict on different functions"
- "test merge driver"
Quick commands
# Configure current repo
weave setup
# Preview merge quality before merging
weave preview <branch>
# Execute merge (after setup, git uses weave driver)
git merge <branch>
# Optional: inspect CRDT state if using claims
weave status
Validation checklist
# 1) binaries present
command -v weave weave-driver weave-mcp
# 2) repo config present
git config --local --get-regexp '^merge\.weave\.'
# 3) attributes include merge=weave
grep -n 'merge=weave' .gitattributes
Expected config:
merge.weave.name Entity-level semantic merge
merge.weave.driver weave-driver %O %A %B %L %P
Fast regression test (temp repo)
tmpdir=$(mktemp -d) && cd "$tmpdir"
git init -q
git config user.name test && git config user.email test@example.com
cat > lib.ts <<'EOF'
export function a(x:number){ return x*2 }
export function b(s:string){ return s.length>0 }
EOF
git add lib.ts && git commit -qm base
weave setup >/dev/null
git checkout -qb left
perl -0pi -e 's/x\*2/x*3+1/' lib.ts
git commit -am left -q
git checkout -q @{-1}
git checkout -qb right
perl -0pi -e 's/s\.length>0/s.trim().length>0/' lib.ts
git commit -am right -q
git checkout -q left
git merge --no-ff right
Pass condition: merge completes and git ls-files -u is empty.
Notes
weave setupupdates.gitattributesand local git merge-driver config.- Keep driver command as
weave-driver ...(PATH-resolved) to avoid stale nix-store paths. - For AI tooling,
weave-mcpis available; wire into your MCP client as needed. - Troubleshooting:
references/troubleshooting.md
Recommended Agent Skills
Expand your agent's capabilities with these related and highly-rated skills.
zbench
Benchmark interactive zsh performance with zsh-bench and track regressions. Use when benchmarking shell startup, comparing zsh latency after config changes, investigating slow shell, or running git bisect on performance. Trigger phrases: "benchmark zsh", "shell is slow", "zbench", "zsh-bench", "shell startup time", "profile zsh", "zsh performance".
nix-rebuild
Rebuild nix-darwin/NixOS system after dotfiles changes. Use when config files managed by Nix (lazygit, ghostty, etc.) need to be regenerated, or after editing any .nix file in the dotfiles repo.
hass-config-flow
Interact with Home Assistant via the REST API on a NixOS host. Use when adding integrations, querying entities, managing config flows, creating API tokens, or automating HA setup programmatically. Also covers identifying device protocols (Matter, Zigbee, Thread, HomeKit) from the device registry. Trigger phrases: "add HA integration", "configure home assistant", "query HA entities", "create HA token", "HA REST API", "pair homekit", "set up matter in HA", "add spotify to HA", "is this device zigbee or thread", "what protocol is this device", "move devices to ZHA", "identify matter devices".
hass-declarative
Manage Home Assistant automations, scenes, and scripts declaratively via NixOS modules. Covers adding/editing/removing entities in the domain-based Nix structure, the ensureEnabled wrapper (initial_state enforcement), the sweep service that cleans orphaned entities, entity identity (IDs, slugs, unique_ids), the eval test assertions, and the build-time manifest. Trigger phrases: "add HA automation", "new scene", "new script", "remove automation", "declarative HA", "sweep unmanaged", "entity drift", "ghost entity", "orphaned automation", "HA domain file", "eval-automations test", "hass assertion", "ensureEnabled", "initial_state".
agenix-secrets
Create, edit, and wire up agenix-encrypted secrets in this dotfiles repo. Use when adding API keys, tokens, credentials, passwords, or any sensitive values to NixOS host configs. Trigger phrases: "add a secret", "encrypt with agenix", "new age secret", "hide this value", "agenix secret".
linear
Read-only Linear issue access via the Linear GraphQL API.
Didn't find tool you were looking for?