Merge
remotion-dev/remotion
Wait for a Remotion pull request to become mergeable, handle merge conflicts, distinguish genuine CI failures from flakes, rerun flaky checks through the flake skill, and merge the PR.
Merge incorrectly split OIer entries in data/raw.txt. An agent skill from OIerDb-ng/OIerDb.
$ npx skills add OIerDb-ng/OIerDb --skill merge-oier -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install OIerDb-ng/OIerDb merge-oier --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/OIerDb-ng/OIerDb.git skills-src && mkdir -p .claude/skills && cp -r skills-src/.claude/skills/merge-oier .claude/skills/merge-oier && 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 "merge-oier" agent skill from https://github.com/OIerDb-ng/OIerDb/tree/master/.claude/skills/merge-oier into .claude/skills/merge-oier/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "merge-oier", 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/OIerDb-ng/OIerDb/tree/master/.claude/skills/merge-oierType 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 OIerDb-ng/OIerDb --skill merge-oier -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install OIerDb-ng/OIerDb merge-oier --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/OIerDb-ng/OIerDb.git skills-src && mkdir -p .agents/skills && cp -r skills-src/.claude/skills/merge-oier .agents/skills/merge-oier && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "merge-oier" agent skill from https://github.com/OIerDb-ng/OIerDb/tree/master/.claude/skills/merge-oier into .agents/skills/merge-oier/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "merge-oier", 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 OIerDb-ng/OIerDb --skill merge-oier -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install OIerDb-ng/OIerDb merge-oier --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/OIerDb-ng/OIerDb.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/.claude/skills/merge-oier .cursor/skills/merge-oier && 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 "merge-oier" agent skill from https://github.com/OIerDb-ng/OIerDb/tree/master/.claude/skills/merge-oier into .cursor/skills/merge-oier/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "merge-oier", 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/OIerDb-ng/OIerDb.git --path .claude/skills/merge-oier--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 OIerDb-ng/OIerDb --skill merge-oier -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install OIerDb-ng/OIerDb merge-oier --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/OIerDb-ng/OIerDb.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/.claude/skills/merge-oier .gemini/skills/merge-oier && 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 "merge-oier" agent skill from https://github.com/OIerDb-ng/OIerDb/tree/master/.claude/skills/merge-oier into .gemini/skills/merge-oier/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "merge-oier", 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 OIerDb-ng/OIerDb merge-oierInstalls 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 OIerDb-ng/OIerDb --skill merge-oier -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/OIerDb-ng/OIerDb.git skills-src && mkdir -p .github/skills && cp -r skills-src/.claude/skills/merge-oier .github/skills/merge-oier && 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 "merge-oier" agent skill from https://github.com/OIerDb-ng/OIerDb/tree/master/.claude/skills/merge-oier into .github/skills/merge-oier/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "merge-oier", 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 OIerDb-ng/OIerDb --skill merge-oier -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install OIerDb-ng/OIerDb merge-oier --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/OIerDb-ng/OIerDb.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/.claude/skills/merge-oier .opencode/skills/merge-oier && 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 "merge-oier" agent skill from https://github.com/OIerDb-ng/OIerDb/tree/master/.claude/skills/merge-oier into .opencode/skills/merge-oier/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "merge-oier", 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.
merge-oierMerge incorrectly split OIer entries in data/raw.txt. An agent skill from OIerDb-ng/OIerDb.
Merge Oier is an agent skill from OIerDb-ng/OIerDb. Merge incorrectly split OIer entries in data/raw.txt. Use this skill when the user wants to merge, combine, or fix duplicate entries for the same competitor (选手) in the OIerDb data. Triggers on phrases like "merge these oiers", "combine entries", "这些选手是同一个人", "合并", "拆分错了", or when the user provides OIerDb URLs, names, or competition details and asks to fix split/duplicated records. Also trigger when the user mentions identifiers (标识符) in the context of distinguishing same-named competitors.
Its SKILL.md is about 1.9k tokens, which your agent loads only when the skill is triggered. It is a single SKILL.md file with no bundled scripts.
The repository describes itself as: A database for Chinese OI participants. The licence is AGPL-3.0.
6 steps, taken from the step headings in SKILL.md.
Read from SKILL.md and the folder at commit a2f346a. 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:
ghFrom the folder's file list and the shell code blocks in SKILL.md.
Hosts in commands or code, which the agent is likely to contact:
oier.baoshuo.devFrom 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.
Merge Oier loads about 1.9k tokens when it runs. Until then it costs about 127 tokens; SKILL.md has 1,017 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 OIerDb-ng/OIerDb at commit a2f346a, republished under its AGPL-3.0 licence (© OIerDb-ng). 1,017 words, ~1,924 tokens.
.claude/skills/merge-oier/SKILL.md (or your agent's skills folder).You help the user merge competitor entries in data/raw.txt that were incorrectly split into separate records. The file is large (~290K lines), so always use grep/awk to search — never read the entire file.
Each non-comment, non-empty line has exactly 9 comma-separated fields:
比赛名,奖项,姓名,年级,学校,分数,省份,性别,标识符# are comments.The codebase (oier.py, main.py) uses (name, 标识符) as the key to identify a unique OIer. Entries sharing the same key are always treated as one person.
Record.distance() (threshold=240), which checks school, province, grade, gender, and competition timeline consistency.(name, identifier) are one person.This means: to force-merge incorrectly split entries, assign them the same identifier. To prevent merging, assign different identifiers. The absence of identifiers does not necessarily mean entries are split — auto-merge may have handled them correctly. But if the user is requesting a merge, auto-merge has failed for this case.
If the user provides a URL like https://oier.baoshuo.dev/oier/124550, the number is the effective line number (1-based, counting only non-comment, non-empty lines). To find the name:
awk 'BEGIN{n=0} /^[^#]/{n++; if(n==TARGET_ID){print NR": "$0; exit}}' data/raw.txtExtract the 3rd field (姓名) from that line. Always output the name first so the user can confirm before any changes.
If the user provides a GitHub issue number (e.g., "merge #123" or mentions an issue), fetch it first:
gh issue view <number>Extract relevant details from the issue body: names, URLs, provinces, schools, and any merge instructions. Use these as supplementary input alongside whatever the user provides directly. Proceed to Step 1 with all collected information.
From the user's input, extract names, URLs, competition names, provinces, schools, grades, or any other identifying info. Use these to locate candidate entries.
If a URL is given, resolve the name using the lookup above. If only a name is given, search directly:
grep -n '姓名' data/raw.txtFor precise matching on the 姓名 column (avoiding false matches from school names etc.):
awk -F',' '!/^#/ && $3=="姓名" {print NR": "$0}' data/raw.txtReview all matching lines. Group them by person using the context the user provided (province, school, competition timeline). Determine:
Scenario A — No other entries for this name (all entries belong to the same person):
A) to all entries.Scenario B — Other entries exist (multiple people share the same name):
Before asking for confirmation, output a detailed summary of the found entries grouped by person. For each group, show:
→ as separator. Example: 年级:小学/无 → 五年级 → 六年级 → 初一 → 初二 → 初三 → 高一 → 高二学校:燕山小学 → 长沙市燕山小学 → 长沙市湘郡培粹实验中学 → 长沙市长郡中学After presenting the summary, use AskUserQuestion to propose the merge plan and get confirmation:
If anything is unclear, ask. Never proceed without explicit user approval.
Important: The Edit tool requires that the file has been read with Read at least once in the conversation before editing. Since raw.txt is too large to read entirely, use Read with offset and limit to read just the lines around each target line (e.g., offset=line_number-1, limit=3). This satisfies the prerequisite without loading the whole file.
Then use the Edit tool to update the 标识符 field in each affected line. The 标识符 is the 9th and last field — do not add a trailing comma after it. Typical replacements:
,,): replace with ,标识符 (no trailing comma).男,): replace with 男,标识符.Remember:
old_string must be unique in the file; include enough surrounding context to ensure uniqueness (e.g., the full line content, or a long enough substring combining name + school + contest).Read a small range that covers all of them in one call, then edit each line individually.After completing all edits, use AskUserQuestion to ask the user whether to commit. Provide a default commit title following this format:
data: fix {姓名} ({省份列表,用半角逗号分隔})For example, if merging entries for 王泽宇 across 江苏 and 上海, the default title would be data: fix 王泽宇 (江苏,上海).
If an issue number was provided in the pre-step, append the following line to the commit message body:
Resolves {owner}/{repo}#{issue_number}.Then create the commit with the approved title and message.
awk -F',' '$3=="姓名"' for precise name matching to avoid false positives from school names or other fields containing the name.© OIerDb-ng, AGPL-3.0. 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/merge-oier of OIerDb-ng/OIerDb.
Open the folder on GitHubat commit a2f346a
Merge Oier 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 |
|---|---|---|---|---|---|---|
| Merge Oier this skillOIerDb-ng/OIerDb | 976 | — | ~1.9k | Automated safety check: Pass | AGPL-3.0 | |
| Mergeremotion-dev/remotion | 63k | — | ~508 | Automated safety check: Pass | Custom licence | |
| Mergewithastro/astro | 63k | — | ~153 | Automated safety check: Pass | Custom licence | |
| Merge Upsymfony/symfony | 31k | — | ~4k | Automated safety check: Pass | MIT | |
| Mergealirezarezvani/claude-skills | 28k | — | ~587 | Automated safety check: Pass | MIT | |
| Merging PRsPostHog/posthog | 40k | — | ~4.1k | Automated safety check: Pass | Custom licence |
remotion-dev/remotion
Wait for a Remotion pull request to become mergeable, handle merge conflicts, distinguish genuine CI failures from flakes, rerun flaky checks through the flake skill, and merge the PR.
withastro/astro
Handle main-to-next merge tasks including conflict resolution, changeset cleanup, and CI fix-ups.
symfony/symfony
Cascade-merge maintained Symfony branches from oldest to newest (e.g.
alirezarezvani/claude-skills
Merge the winning agent's branch into base, archive losers, and clean up worktrees.
PostHog/posthog
Merge a PR into master through the Trunk merge queue and babysit it until it lands.
ToolJet/ToolJet
Merges a source branch into the current branch across ToolJet's root repo and its server/ee and frontend/ee submodules, handling conflicts and submodule order.
OIerDb-ng/OIerDb
Merge incorrectly split school entries in data/school.txt. An agent skill from OIerDb-ng/OIerDb.
OIerDb-ng/OIerDb
Append a newly-published competition's award list into this repo
Merge incorrectly split OIer entries in data/raw.txt. An agent skill from OIerDb-ng/OIerDb. Merge Oier is an agent skill from OIerDb-ng/OIerDb.txt.
Merge Oier fits situations like: the user wants to merge; fix duplicate entries for the same competitor (选手) in the OIerDb data; phrases like merge these oiers; combine entries.
Run `npx skills add OIerDb-ng/OIerDb --skill merge-oier -a claude-code`. Or copy the skill folder (.claude/skills/merge-oier in OIerDb-ng/OIerDb) into .claude/skills/merge-oier in your project. Claude Code loads it when a task matches its description.
Run `npx skills add OIerDb-ng/OIerDb --skill merge-oier -a codex`. Or copy the skill folder (.claude/skills/merge-oier in OIerDb-ng/OIerDb) into .agents/skills/merge-oier 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 OIerDb-ng/OIerDb --skill merge-oier -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/merge-oier, .gemini/skills/merge-oier, .github/skills/merge-oier and .opencode/skills/merge-oier in your project.
Going by SKILL.md and its folder, Merge Oier needs the command-line tools its instructions call (gh).
SKILL.md names 1 domain. In commands or code: oier.baoshuo.dev; the agent is likely to contact it when it follows the instructions. 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.
Merge Oier is published under the AGPL-3.0 licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.
About 1.9k tokens (SKILL.md is roughly 7.7k 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 Merge Oier: Merge (remotion-dev/remotion, 63k stars), Merge (withastro/astro, 63k stars), Merge Up (symfony/symfony, 31k stars) and Merge (alirezarezvani/claude-skills, 28k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
OIerDb-ng (a GitHub organization) maintains it in OIerDb-ng/OIerDb, which has 976 GitHub stars. The repository holds 3 skills in this directory. The repository was last updated on August 21, 2026.
Source: OIerDb-ng/OIerDb on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.