GitHub Ops
daymade/claude-code-skills
Operates GitHub via gh CLI and REST/GraphQL — PRs, issues, Actions, repos, collaborators, org permissions, 2FA — with explicit target, authorization, and independent readback.
Add a format-specific resolver to GitWand core. An agent skill from devlint/GitWand.
$ npx skills add devlint/GitWand --skill add-resolver -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install devlint/GitWand add-resolver --agent claude-codeProject scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).
$ git clone --depth 1 https://github.com/devlint/GitWand.git skills-src && mkdir -p .claude/skills && cp -r skills-src/.claude/skills/add-resolver .claude/skills/add-resolver && rm -rf skills-srcUse ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.
Claude Code skills documentation · loads skills from .claude/skills/
Install the "add-resolver" agent skill from https://github.com/devlint/GitWand/tree/main/.claude/skills/add-resolver into .claude/skills/add-resolver/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "add-resolver", then confirm the skill loads.Claude Code copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$skill-installer install https://github.com/devlint/GitWand/tree/main/.claude/skills/add-resolverType this inside Codex. $skill-installer <name> installs a curated skill from openai/skills. The installer writes to $CODEX_HOME/skills (default ~/.codex/skills). Restart Codex if the skill does not show up.
$ npx skills add devlint/GitWand --skill add-resolver -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install devlint/GitWand add-resolver --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/devlint/GitWand.git skills-src && mkdir -p .agents/skills && cp -r skills-src/.claude/skills/add-resolver .agents/skills/add-resolver && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "add-resolver" agent skill from https://github.com/devlint/GitWand/tree/main/.claude/skills/add-resolver into .agents/skills/add-resolver/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "add-resolver", then confirm the skill loads.Codex copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add devlint/GitWand --skill add-resolver -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install devlint/GitWand add-resolver --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/devlint/GitWand.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/.claude/skills/add-resolver .cursor/skills/add-resolver && rm -rf skills-srcUse ~/.cursor/skills/ instead of .cursor/skills for a personal install.
Cursor skills documentation · loads skills from .cursor/skills/, .agents/skills/, .claude/skills/, .codex/skills/
Install the "add-resolver" agent skill from https://github.com/devlint/GitWand/tree/main/.claude/skills/add-resolver into .cursor/skills/add-resolver/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "add-resolver", then confirm the skill loads.Cursor copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gemini skills install https://github.com/devlint/GitWand.git --path .claude/skills/add-resolver--scope user (default) or --scope workspace; --path is the subfolder of the repo that holds the skill; --consent skips the security confirmation prompt.
$ npx skills add devlint/GitWand --skill add-resolver -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install devlint/GitWand add-resolver --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/devlint/GitWand.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/.claude/skills/add-resolver .gemini/skills/add-resolver && rm -rf skills-srcUse ~/.gemini/skills/ instead of .gemini/skills for a personal install, then run /skills reload.
Gemini CLI skills documentation · loads skills from .gemini/skills/, .agents/skills/
Install the "add-resolver" agent skill from https://github.com/devlint/GitWand/tree/main/.claude/skills/add-resolver into .gemini/skills/add-resolver/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "add-resolver", then confirm the skill loads.Gemini CLI copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gh skill install devlint/GitWand add-resolverInstalls for Copilot at project scope by default; add --scope user for a personal install. Preview a skill first with gh skill preview. Needs GitHub CLI 2.90.0 or later (public preview).
$ npx skills add devlint/GitWand --skill add-resolver -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/devlint/GitWand.git skills-src && mkdir -p .github/skills && cp -r skills-src/.claude/skills/add-resolver .github/skills/add-resolver && rm -rf skills-srcUse ~/.copilot/skills/ instead of .github/skills for a personal install. Commit .github/skills so cloud agent and code review can use it.
GitHub Copilot skills documentation · loads skills from .github/skills/, .claude/skills/, .agents/skills/
Install the "add-resolver" agent skill from https://github.com/devlint/GitWand/tree/main/.claude/skills/add-resolver into .github/skills/add-resolver/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "add-resolver", then confirm the skill loads.GitHub Copilot copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add devlint/GitWand --skill add-resolver -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install devlint/GitWand add-resolver --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/devlint/GitWand.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/.claude/skills/add-resolver .opencode/skills/add-resolver && rm -rf skills-srcUse ~/.config/opencode/skills/ instead of .opencode/skills for a personal install.
OpenCode skills documentation · loads skills from .opencode/skills/, .claude/skills/, .agents/skills/
Install the "add-resolver" agent skill from https://github.com/devlint/GitWand/tree/main/.claude/skills/add-resolver into .opencode/skills/add-resolver/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "add-resolver", then confirm the skill loads.OpenCode copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
add-resolverAdd a format-specific resolver to GitWand core. An agent skill from devlint/GitWand.
Add Resolver is an agent skill from devlint/GitWand. Add a format-specific resolver to GitWand core. Use this skill whenever someone wants to add support for a new file format, file extension, lockfile, config file type, or format-specific conflict resolution strategy. Triggers: "add resolver for .prisma", "handle composer.lock conflicts", "resolve .tf files", "new format support", "add lockfile resolver", "teach GitWand about X files".
Its SKILL.md is about 1.6k tokens, which your agent loads only when the skill is triggered. It is a single SKILL.md file with no bundled scripts.
It sits in Backend & APIs, covering GraphQL and Dependency management. It works with Prisma and Git. The repository describes itself as: The Git client that actually resolves conflicts: 8 deterministic patterns auto-resolve the ones that were never decisions, full trace on the rest. Native (Tauri 2 + Rust), free… The licence is MIT.
6 steps, taken from the step headings in SKILL.md.
Read from SKILL.md and the folder at commit 20114ac. It shows what the files ask for, not the result of running them.
Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.
From allowed-tools in the SKILL.md frontmatter.
Shell commands in SKILL.md call:
pnpmFrom the folder's file list and the shell code blocks in SKILL.md.
No URLs in SKILL.md. Its commands use pnpm, which can reach the network depending on how they are called.
From URLs in SKILL.md, links to its own repository left out.
Names no API keys, tokens, secrets or passwords.
From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.
Add Resolver loads about 1.6k tokens when it runs. Until then it costs about 100 tokens; SKILL.md has 421 words of instructions outside code blocks.
Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.
The automated check found no risky patterns in SKILL.md.
Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.
The full file from devlint/GitWand at commit 20114ac, republished under its MIT licence (© devlint). 421 words, ~1,560 tokens.
.claude/skills/add-resolver/SKILL.md (or your agent's skills folder).Guide the agent through adding a format-specific resolver to packages/core
end to end — file creation, dispatcher wiring, tests, and docs — without
missing any of the four required touch points.
Answer these before writing any code:
.prisma, composer.lock, .tf, .toml)0.95 by convention. Lockfile
conflicts are almost always trivially re-generable, so high confidence is
appropriate.packages/core must run in
browsers — no Node.js imports (fs, path, child_process). If no
parser lib is available, write a pure string-manipulation parser.Confidence score guidelines:
| File type | Score |
|---|---|
| Lockfile | 0.95 |
| Structured config (JSON, YAML, TOML, dotenv) | 0.85–0.90 |
| Source code | 0.70–0.80 |
Never exceed 0.95 unless perfectly deterministic | — |
Create packages/core/src/resolvers/<format>.ts. Follow this exact shape,
which mirrors all existing resolvers in the directory:
/**
* GitWand — <FORMAT> resolver
*
* Strategy: [describe the resolution strategy precisely]
*
* Handled cases:
* - [case 1]
* - [case 2]
* - [non-resolvable case → return null]
*/
// ✅ Allowed: pure string manipulation, parsing, algorithms
// ❌ FORBIDDEN: import * as fs from 'fs' / import * as path from 'path'
export interface ResolveResult {
/** Resolved lines, or null if not resolvable */
lines: string[] | null;
/** Human-readable description of what was done (or why it failed) */
reason: string;
}
/**
* Attempts to resolve a <format> conflict.
* Confidence: 0.XX — [justify the score here]
*/
export function tryResolve<Format>Conflict(
baseLines: string[],
oursLines: string[],
theirsLines: string[],
): ResolveResult {
// ... resolution logic ...
return { lines: null, reason: "Non-resolvable: [reason]." };
}Key points:
lines: null rather than throwing — the dispatcher
falls back gracefully when a resolver returns nullOpen packages/core/src/resolvers/dispatcher.ts and make four changes:
3a. Add a detection function in the // ─── Type detection ─── section:
/** Checks whether the file is a <format> file */
export function is<Format>File(filePath: string): boolean {
return /\.<ext>$/i.test(filePath);
// For exact filenames: /(?:^|[\\/])<name>$/i.test(filePath)
}3b. Add the import at the top with the other resolver imports:
import { tryResolve<Format>Conflict } from "./<format>.js";3c. Add the route in tryFormatAwareResolve(), keeping specificity order
— more specific detections first (e.g. composer.lock before *.lock,
a named lockfile before a generic JSON):
if (is<Format>File(filePath)) {
const result = tryResolve<Format>Conflict(
hunk.baseLines,
hunk.oursLines,
hunk.theirsLines,
);
return {
lines: result.lines,
reason: `[<format>] ${result.reason}`,
resolverUsed: "<format>",
};
}3d. Extend the resolverUsed union in FormatResolveResult:
resolverUsed: "json" | "markdown" | ... | "<format>" | "structural" | "none";Create packages/core/src/__tests__/resolvers/<format>.test.ts with at least
5 cases:
import { describe, it, expect } from "vitest";
import { resolve } from "../../resolver.js";
// Case 1 — Simple resolvable conflict (happy path)
describe("<FORMAT> — non-conflicting addition", () => {
it("auto-resolves and keeps both sides", () => { /* ... */ });
it("reason mentions [<format>]", () => { /* ... */ });
});
// Case 2 — Irresolvable complex conflict
describe("<FORMAT> — irresolvable conflict", () => {
it("returns resolved: false", () => { /* ... */ });
});
// Case 3 — Empty / minimal structure
describe("<FORMAT> — minimal file", () => {
it("does not throw", () => { /* ... */ });
});
// Cases 4 & 5 — Representative real-world conflicts for this format
describe("<FORMAT> — real scenario 1", () => { /* ... */ });
describe("<FORMAT> — real scenario 2", () => { /* ... */ });Build fixtures using real git conflict markers
(<<<<<<< ours / ||||||| base / ======= / >>>>>>> theirs). Never mock the
diff algorithms.
In packages/core/CLAUDE.md, add the new resolver name to the resolvers list.
cd packages/core && pnpm testIf the resolver touches the main resolution pipeline, also run the parity probe to make sure Rust and TypeScript outputs stay in sync:
cd apps/desktop && pnpm test:parityresolverUsed union
causes a TypeScript error that only surfaces at build time.*.lock matcher placed before
pnpm-lock.yaml would silently shadow the existing pnpm resolver.packages/core runs in browsers and Tauri
WebViews; any Node.js import will crash at runtime in those environments.lines: null with a reason;
let the dispatcher fall through to the text engine.© devlint, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file
Just SKILL.md in .claude/skills/add-resolver of devlint/GitWand.
Open the folder on GitHubat commit 20114ac
Add Resolver next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.
| Skill | Stars | Used in | Tokens | Auto-check | Licence | Repo updated |
|---|---|---|---|---|---|---|
| Add Resolver this skilldevlint/GitWand | 180 | — | ~1.6k | Automated safety check: Pass | MIT | |
| GitHub Opsdaymade/claude-code-skills | 1.4k | — | ~3.7k | Automated safety check: Pass | MIT | |
| Dependency Conflict Resolvermohitagw15856/pm-claude-skills | 1.4k | — | ~709 | Automated safety check: Pass | MIT | |
| Deskcomm Contribuirmelgarafael/DeskcommCRM | 4.5k | — | ~3.6k | Automated safety check: Notes | MIT | |
| Breaking Change Analysisruby-git/ruby-git | 1.8k | — | ~1.7k | Automated safety check: Pass | MIT | |
| Qodo PR Resolversbusso/claudeclaw | 194 | — | ~4k | Automated safety check: Pass | MIT |
daymade/claude-code-skills
Operates GitHub via gh CLI and REST/GraphQL — PRs, issues, Actions, repos, collaborators, org permissions, 2FA — with explicit target, authorization, and independent readback.
mohitagw15856/pm-claude-skills
Resolve a dependency or version conflict (npm, pip, yarn, pnpm, Maven, Go modules) step by step.
melgarafael/DeskcommCRM
Guia de contribuição ao DeskcommCRM para quem vai mexer no código e abrir um pull request, sobretudo de um fork.
ruby-git/ruby-git
Assesses what an API change would break before it is made, finds every usage, documents the impact and plans a deprecation or migration path.
sbusso/claudeclaw
Review and resolve PR issues with Qodo - get AI-powered code review issues and fix them interactively (GitHub, GitLab, Bitbucket, Azure DevOps)
ArabelaTso/Skills-4-SE
Identify, analyze, and manage software dependencies before deployment.
devlint/GitWand
Add a new conflict-resolution pattern to GitWand core. An agent skill from devlint/GitWand.
devlint/GitWand
A skill your agent uses when the user wants to expose a Rust feature to the Vue frontend, add a Tauri IPC command, invoke something from a Vue component, or wire up any backend/frontend…
devlint/GitWand
Guide a clean GitWand release end-to-end: bump version, update CHANGELOG, commit, tag, and push.
devlint/GitWand
Synchronise les fichiers de locale GitWand. An agent skill from devlint/GitWand.
Categories
Add a format-specific resolver to GitWand core. An agent skill from devlint/GitWand. Add Resolver is an agent skill from devlint/GitWand. Add a format-specific resolver to GitWand core.
Add Resolver fits situations like: someone wants to add support for a new file format; config file type; format-specific conflict resolution strategy.
Run `npx skills add devlint/GitWand --skill add-resolver -a claude-code`. Or copy the skill folder (.claude/skills/add-resolver in devlint/GitWand) into .claude/skills/add-resolver in your project. Claude Code loads it when a task matches its description.
Run `npx skills add devlint/GitWand --skill add-resolver -a codex`. Or copy the skill folder (.claude/skills/add-resolver in devlint/GitWand) into .agents/skills/add-resolver in your project. Codex loads it when a task matches its description.
Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add devlint/GitWand --skill add-resolver -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/add-resolver, .gemini/skills/add-resolver, .github/skills/add-resolver and .opencode/skills/add-resolver in your project.
Going by SKILL.md and its folder, Add Resolver needs the command-line tools its instructions call (pnpm). Our summary lists: Node.js.
SKILL.md contains no URLs. Any network use would come from the scripts or tools the agent runs. This is read from the text; nothing was executed.
Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.
Add Resolver is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.
About 1.6k tokens (SKILL.md is roughly 6.2k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.
Skills that share tags, products or a category with Add Resolver: GitHub Ops (daymade/claude-code-skills, 1.4k stars), Dependency Conflict Resolver (mohitagw15856/pm-claude-skills, 1.4k stars), Deskcomm Contribuir (melgarafael/DeskcommCRM, 4.5k stars) and Breaking Change Analysis (ruby-git/ruby-git, 1.8k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
devlint (a GitHub user) maintains it in devlint/GitWand, which has 180 GitHub stars. The repository holds 5 skills in this directory. The repository was last updated on October 7, 2026.
Source: devlint/GitWand on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.