CCPM Project Management
automazeio/ccpm
Runs a spec-driven workflow from PRD to epic to GitHub issues to parallel agents, with status, standup and blocked-work reports from bundled scripts.
Guide a maintainer through manually landing an already reviewed Skia update.
$ npx skills add mono/SkiaSharp --skill merge-skia-update -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install mono/SkiaSharp merge-skia-update --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/mono/SkiaSharp.git skills-src && mkdir -p .claude/skills && cp -r skills-src/.agents/skills/merge-skia-update .claude/skills/merge-skia-update && 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-skia-update" agent skill from https://github.com/mono/SkiaSharp/tree/main/.agents/skills/merge-skia-update into .claude/skills/merge-skia-update/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "merge-skia-update", 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/mono/SkiaSharp/tree/main/.agents/skills/merge-skia-updateType 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 mono/SkiaSharp --skill merge-skia-update -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install mono/SkiaSharp merge-skia-update --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/mono/SkiaSharp.git skills-src && mkdir -p .agents/skills && cp -r skills-src/.agents/skills/merge-skia-update .agents/skills/merge-skia-update && 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-skia-update" agent skill from https://github.com/mono/SkiaSharp/tree/main/.agents/skills/merge-skia-update into .agents/skills/merge-skia-update/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "merge-skia-update", 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 mono/SkiaSharp --skill merge-skia-update -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install mono/SkiaSharp merge-skia-update --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/mono/SkiaSharp.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/.agents/skills/merge-skia-update .cursor/skills/merge-skia-update && 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-skia-update" agent skill from https://github.com/mono/SkiaSharp/tree/main/.agents/skills/merge-skia-update into .cursor/skills/merge-skia-update/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "merge-skia-update", 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/mono/SkiaSharp.git --path .agents/skills/merge-skia-update--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 mono/SkiaSharp --skill merge-skia-update -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install mono/SkiaSharp merge-skia-update --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/mono/SkiaSharp.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/.agents/skills/merge-skia-update .gemini/skills/merge-skia-update && 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-skia-update" agent skill from https://github.com/mono/SkiaSharp/tree/main/.agents/skills/merge-skia-update into .gemini/skills/merge-skia-update/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "merge-skia-update", 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 mono/SkiaSharp merge-skia-updateInstalls 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 mono/SkiaSharp --skill merge-skia-update -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/mono/SkiaSharp.git skills-src && mkdir -p .github/skills && cp -r skills-src/.agents/skills/merge-skia-update .github/skills/merge-skia-update && 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-skia-update" agent skill from https://github.com/mono/SkiaSharp/tree/main/.agents/skills/merge-skia-update into .github/skills/merge-skia-update/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "merge-skia-update", 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 mono/SkiaSharp --skill merge-skia-update -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install mono/SkiaSharp merge-skia-update --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/mono/SkiaSharp.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/.agents/skills/merge-skia-update .opencode/skills/merge-skia-update && 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-skia-update" agent skill from https://github.com/mono/SkiaSharp/tree/main/.agents/skills/merge-skia-update into .opencode/skills/merge-skia-update/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "merge-skia-update", 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-skia-updateGuide a maintainer through manually landing an already reviewed Skia update.
Merge Skia Update is an agent skill from mono/SkiaSharp. Guide a maintainer through manually landing an already reviewed Skia update. Use after review-skia-update has completed and the maintainer is happy with the paired mono/skia and mono/SkiaSharp PRs. Optionally preserves the previous release line, prepares the mono/skia merge message, pauses for the manual native merge, repins the existing parent PR to the actual merged commit, then prepares the SkiaSharp merge message. This skill never merges either PR.
Its SKILL.md is about 2k tokens, which your agent loads only when the skill is triggered. The skill folder holds 5 other files, including scripts (for example `evals/evals.json`). Compatibility notes: Requires git, gh, and PowerShell 7.4+ with access to mono/skia and mono/SkiaSharp.
It sits in Product & Project Management, covering Project management. The repository describes itself as: SkiaSharp is a cross-platform 2D graphics API for .NET platforms based on Google's Skia Graphics Library. It provides a comprehensive 2D API that can be used across mobile… The licence is MIT.
6 steps, taken from the step headings in SKILL.md.
Read from SKILL.md and the folder at commit 6e0e83e. 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.
Ships 2 files in scripts/ (PowerShell), which the agent can run.
Shell commands in SKILL.md call:
pwshghFrom the folder's file list and the shell code blocks in SKILL.md.
No URLs in SKILL.md. Its commands use gh, 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.
Requires git, gh, and PowerShell 7.4+ with access to mono/skia and mono/SkiaSharp.
From compatibility in the SKILL.md frontmatter.
Merge Skia Update loads about 2k tokens when it runs. Until then it costs about 119 tokens; SKILL.md has 1,064 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); the scripts in this folder are not scanned.
The full file from mono/SkiaSharp at commit 6e0e83e, republished under its MIT licence (© mono). 1,064 words, ~1,995 tokens.
.claude/skills/merge-skia-update/SKILL.md (or your agent's skills folder). This skill also uses 3 other files; get the full folder from GitHub.Help with the mechanical work around two manual merges. Do not repeat the review and do not merge either PR.
Resolve the PR pair before asking for any landing confirmation.
If the maintainer supplied either PR, use its reciprocal link to find the companion PR. If they supplied both PRs, require each reciprocal link to point to the other; stop on any mismatch. Otherwise, search the open Skia update PRs and pair them using their reciprocal links and shared sync branches.
For the selected pair, resolve and present:
main or an existing release/A.B.x branch.Only after the maintainer sees the exact selected pair, ask them to confirm:
review-skia-update has run;If they do not confirm, stop. Do not independently re-audit reviews, labels, milestones, CI, packages, DEPS, bindings, or release notes.
Run the script with the branch names already resolved by the AI:
pwsh .agents/skills/merge-skia-update/scripts/Prepare-SkiaReleaseBranches.ps1 `
-SkiaSharpBaseBranch <parent-base> `
-SkiaSharpHeadBranch <parent-head> `
-SkiaBaseBranch <native-base>The script determines the release action from the parent base branch:
main: compares the committed chrome_milestone on the parent base and head;
when the milestone increases, it reads the base's committed SkiaSharp package
version from scripts/VERSIONS.txt and derives release/A.B.x for the
previous line;main with no milestone change: reports a same-milestone sync and exits
without creating refs;release/A.B.x: reports a servicing sync and exits without creating refs.The script always defaults to a dry run. For a milestone bump targeting main,
it reads the current SkiaSharp base tip and the exact mono/skia commit referenced
by its externals/skia gitlink. It requires the supplied mono/skia base branch
to point at that commit and preflights the derived release branch in both
repositories.
When the script reports a milestone bump, show the output and obtain
confirmation. Rerun with the same inputs plus -Push. The script checks the
source and destination refs again, creates the mono/skia release branch first,
then the mono/SkiaSharp release branch, and verifies both. It never moves an
existing branch. When it reports a same-milestone or servicing sync, continue
without a push confirmation.
Invoke pr-commit-message for the resolved mono/skia PR and give its title and
body to the maintainer.
Tell the maintainer to merge mono/skia manually using Create a merge commit. Squash and rebase must not be used because upstream merge ancestry is part of the update history.
Stop. Continue only after the maintainer says mono/skia is merged.
Check whether the current checkout is clean, on the resolved SkiaSharp PR head branch, and matches its remote tip. Never discard or overwrite local changes.
If the current checkout is suitable, use it directly:
pwsh .agents/skills/merge-skia-update/scripts/Update-SkiaSharpSkiaCommit.ps1 `
-SkiaSharpBranch <parent-head> `
-SkiaBranch <native-base>The default is a dry run. The script:
Show the output. If it is correct, rerun with -Push. The script updates only
externals/skia and the mono/skia commitHash in cgmanifest.json, commits the
change, and pushes the existing SkiaSharp PR branch without force.
If the current checkout is unsuitable, ask whether the maintainer wants to check out the parent PR branch or avoid a local checkout. For the no-checkout option, first verify the same two-parent ancestry and tree-equality conditions, record the exact verified mono/skia merge SHA, then trigger the existing workflow:
gh workflow run auto-skia-submodule-sync.yml --repo mono/SkiaSharp \
-f target_branch=<parent-head> \
-f skia_branch=<native-base>The workflow opens or updates a small dependent PR targeting the existing
SkiaSharp PR branch. Before showing that PR to the maintainer, confirm it
changes only externals/skia and cgmanifest.json and that both files point to
the exact verified merge SHA. Recheck that SHA's ancestry and tree equality
against the reviewed native commit. Stop if the workflow captured any SHA
other than the recorded verified one. Wait for the maintainer to merge the
dependent PR manually, then verify the parent PR still points to that exact
SHA. Do not generate the parent merge message until the dependent PR is merged.
Invoke pr-commit-message for the updated mono/SkiaSharp PR and give its title
and body to the maintainer.
Tell the maintainer to merge it manually using the repository's normal merge method. Do not wait for another PR CI run: the repin script proved that the merged mono/skia tree is identical to the reviewed PR tree. CI on the resolved parent base branch validates the resulting merge.
Stop. Continue only after the maintainer says mono/SkiaSharp is merged.
Confirm:
Report both merged SHAs and the preserved release branch, if created. Do not wait for the parent base branch CI to finish.
Stop when:
main nor release/A.B.x;scripts/VERSIONS.txt;-Push;externals/skia and
cgmanifest.json.© mono, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file
SKILL.md and 3 other files (scripts) in .agents/skills/merge-skia-update of mono/SkiaSharp.
Open the folder on GitHubat commit 6e0e83e
Merge Skia Update 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 Skia Update this skillmono/SkiaSharp | 5.6k | — | ~2k | Automated safety check: Pass | MIT | |
| CCPM Project Managementautomazeio/ccpm | 8.4k | — | ~1.1k | Automated safety check: Pass | MIT | |
| Ichartjswanghetommy/ichartjs | 352 | — | ~4.3k | Automated safety check: Pass | Apache-2.0 | |
| Shep Workstreamsshep-ai/shep | 264 | — | ~2.5k | Automated safety check: Pass | MIT | |
| Version Bound Cleanuppdparchitect/noodle | 160 | — | ~650 | Automated safety check: Pass | Apache-2.0 | |
| Vc Review Situationwithkynam/vibecode-pro-max-kit | 1.1k | — | ~2.2k | Automated safety check: Pass | MIT |
automazeio/ccpm
Runs a spec-driven workflow from PRD to epic to GitHub issues to parallel agents, with status, standup and blocked-work reports from bundled scripts.
wanghetommy/ichartjs
Plan, validate, render, explain, and safely edit iChart.js visualizations from tabular, project, or diagram data.
shep-ai/shep
A skill your agent uses when a large body of work (a version milestone, an epic, a roadmap, a set of PRDs/design docs) needs to be broken into parallel workstreams and executed with the shep CLI.
pdparchitect/noodle
Gating migrations and clean-up code behind an update milestone.
withkynam/vibecode-pro-max-kit
A skill your agent uses when you need a read-only situation review and handoff summary of current branch state, local/remote refs, worktrees, active project plans, selected-plan hints, and suggested…
cloudposse/atmos
Maintain and update the Atmos roadmap page (website/src/data/roadmap.js): milestone/initiative/quarter schema, progress-percentage math, the curated featured[] cap (max 6, never auto-modified), and…
mono/SkiaSharp
Fix bugs in SkiaSharp C bindings. An agent skill from mono/SkiaSharp.
mono/SkiaSharp
Reproduce a SkiaSharp issue systematically and capture structured reproduction results.
mono/SkiaSharp
Triage a SkiaSharp GitHub issue or PR into structured JSON with classification (type, area, platform, severity), suggested response, automatable actions, and companion Markdown/HTML reports.
mono/SkiaSharp
Update native dependencies (libpng, libexpat, zlib, libwebp, harfbuzz, freetype, libjpeg-turbo, etc.) in SkiaSharp's Skia fork.
mono/SkiaSharp
Review a Skia upstream merge PR in mono/skia. An agent skill from mono/SkiaSharp.
mono/SkiaSharp
Scout Skia GM (golden master) samples in the externals/skia submodule to find demos worth porting to the SkiaSharp Gallery.
Categories
Guide a maintainer through manually landing an already reviewed Skia update. Merge Skia Update is an agent skill from mono/SkiaSharp. Guide a maintainer through manually landing an already reviewed Skia update.
Merge Skia Update fits situations like: tasks that involve Project management.
Run `npx skills add mono/SkiaSharp --skill merge-skia-update -a claude-code`. Or copy the skill folder (.agents/skills/merge-skia-update in mono/SkiaSharp) into .claude/skills/merge-skia-update in your project. Claude Code loads it when a task matches its description.
Run `npx skills add mono/SkiaSharp --skill merge-skia-update -a codex`. Or copy the skill folder (.agents/skills/merge-skia-update in mono/SkiaSharp) into .agents/skills/merge-skia-update 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 mono/SkiaSharp --skill merge-skia-update -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-skia-update, .gemini/skills/merge-skia-update, .github/skills/merge-skia-update and .opencode/skills/merge-skia-update in your project.
Going by SKILL.md and its folder, Merge Skia Update needs PowerShell for the scripts in its folder and the command-line tools its instructions call (pwsh and gh). Our summary lists: PowerShell. Compatibility (from SKILL.md): Requires git, gh, and PowerShell 7.4+ with access to mono/skia and mono/SkiaSharp..
SKILL.md contains no URLs. Its commands use gh, which can reach the network depending on how they are called. 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. The check reads SKILL.md only: the scripts in the folder are not scanned, so read them before running anything.
Merge Skia Update is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.
About 2k tokens (SKILL.md is roughly 8k 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 Skia Update: CCPM Project Management (automazeio/ccpm, 8.4k stars), Ichartjs (wanghetommy/ichartjs, 352 stars), Shep Workstreams (shep-ai/shep, 264 stars) and Version Bound Cleanup (pdparchitect/noodle, 160 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
mono (a GitHub organization) maintains it in mono/SkiaSharp, which has 5,589 GitHub stars. The repository holds 21 skills in this directory. The repository was last updated on October 10, 2026.
Source: mono/SkiaSharp on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.