OpenLogi macOS Permissions Triage
AprilNEA/OpenLogi
Decides whether an OpenLogi device problem on macOS is a privacy-permission (TCC) problem, using agent log lines, and says which identity needs which grant.
A skill your agent uses when contributing to the mcpp project — submitting bug fixes, new features, code optimizations, documentation improvements, or any PR.
$ npx skills add mcpp-community/mcpp --skill mcpp-contributing -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install mcpp-community/mcpp mcpp-contributing --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/mcpp-community/mcpp.git skills-src && mkdir -p .claude/skills && cp -r skills-src/.agents/skills/mcpp-contributing .claude/skills/mcpp-contributing && 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 "mcpp-contributing" agent skill from https://github.com/mcpp-community/mcpp/tree/main/.agents/skills/mcpp-contributing into .claude/skills/mcpp-contributing/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "mcpp-contributing", 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/mcpp-community/mcpp/tree/main/.agents/skills/mcpp-contributingType 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 mcpp-community/mcpp --skill mcpp-contributing -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install mcpp-community/mcpp mcpp-contributing --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/mcpp-community/mcpp.git skills-src && mkdir -p .agents/skills && cp -r skills-src/.agents/skills/mcpp-contributing .agents/skills/mcpp-contributing && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "mcpp-contributing" agent skill from https://github.com/mcpp-community/mcpp/tree/main/.agents/skills/mcpp-contributing into .agents/skills/mcpp-contributing/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "mcpp-contributing", 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 mcpp-community/mcpp --skill mcpp-contributing -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install mcpp-community/mcpp mcpp-contributing --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/mcpp-community/mcpp.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/.agents/skills/mcpp-contributing .cursor/skills/mcpp-contributing && 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 "mcpp-contributing" agent skill from https://github.com/mcpp-community/mcpp/tree/main/.agents/skills/mcpp-contributing into .cursor/skills/mcpp-contributing/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "mcpp-contributing", 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/mcpp-community/mcpp.git --path .agents/skills/mcpp-contributing--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 mcpp-community/mcpp --skill mcpp-contributing -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install mcpp-community/mcpp mcpp-contributing --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/mcpp-community/mcpp.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/.agents/skills/mcpp-contributing .gemini/skills/mcpp-contributing && 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 "mcpp-contributing" agent skill from https://github.com/mcpp-community/mcpp/tree/main/.agents/skills/mcpp-contributing into .gemini/skills/mcpp-contributing/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "mcpp-contributing", 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 mcpp-community/mcpp mcpp-contributingInstalls 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 mcpp-community/mcpp --skill mcpp-contributing -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/mcpp-community/mcpp.git skills-src && mkdir -p .github/skills && cp -r skills-src/.agents/skills/mcpp-contributing .github/skills/mcpp-contributing && 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 "mcpp-contributing" agent skill from https://github.com/mcpp-community/mcpp/tree/main/.agents/skills/mcpp-contributing into .github/skills/mcpp-contributing/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "mcpp-contributing", 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 mcpp-community/mcpp --skill mcpp-contributing -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install mcpp-community/mcpp mcpp-contributing --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/mcpp-community/mcpp.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/.agents/skills/mcpp-contributing .opencode/skills/mcpp-contributing && 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 "mcpp-contributing" agent skill from https://github.com/mcpp-community/mcpp/tree/main/.agents/skills/mcpp-contributing into .opencode/skills/mcpp-contributing/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "mcpp-contributing", 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.
mcpp-contributingA skill your agent uses when contributing to the mcpp project — submitting bug fixes, new features, code optimizations, documentation improvements, or any PR.
Mcpp Contributing is an agent skill from mcpp-community/mcpp. Use when contributing to the mcpp project — submitting bug fixes, new features, code optimizations, documentation improvements, or any PR. Covers issue creation, branch conventions, build verification, CI requirements, and PR workflow using gh and git.
Its SKILL.md is about 2.3k 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 Development, covering Debugging. It works with C++, Git and macOS. The repository describes itself as: A modern C++ module-first build tool — written in pure C++23 modules, fully self-hosted. The licence is Apache-2.0.
6 steps, taken from the step headings in SKILL.md.
Read from SKILL.md and the folder at commit de9c290. 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:
gitghbashFrom the folder's file list and the shell code blocks in SKILL.md.
No URLs in SKILL.md. Its commands use git and 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.
Mcpp Contributing loads about 2.3k tokens when it runs. Until then it costs about 68 tokens; SKILL.md has 529 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 mcpp-community/mcpp at commit de9c290, republished under its Apache-2.0 licence (© mcpp-community). 529 words, ~2,302 tokens.
.claude/skills/mcpp-contributing/SKILL.md (or your agent's skills folder).mcpp 项目的贡献流程:先创建 Issue → 切分支 → 实现改动 → 提交 PR → CI 通过 → Review 合入。
mcpp build(C++23 模块自举)mcpp test 覆盖 tests/**/*.cpp,tests/e2e/ 提供真实二进制的端到端脚本main 的 PR 触发分平台构建、测试与 E2E 检查所有改动必须通过 PR 合入 main,无论改动大小。这包括:
唯一例外:紧急 hotfix 需要 --admin 合入,但也必须先创建 PR。
违规示例(不允许):
# ✗ 直接 push 到 main
git commit -m "docs: add skill" && git push origin main
# ✗ 绕过分支保护
git push origin feature:main正确做法:
# ✓ 始终走 PR 流程
git checkout -b docs/add-release-skill
git commit -m "docs: add release skill"
git push -u origin docs/add-release-skill
gh pr create --title "docs: add release skill" --body "..."
# 等 CI 通过后合入所有贡献先创建 Issue,特别是新功能。避免重复工作,留下讨论记录。
Bug 修复
gh issue create \
--title "fix: 简短描述" \
--body "## 复现步骤
1. ...
## 期望行为
...
## 实际行为
...
## 环境
- mcpp 版本:\`mcpp --version\`
- OS:"新功能
gh issue create \
--title "feat: 简短描述" \
--body "## 动机
...
## 设计思路
...
## 涉及模块
..."代码优化
gh issue create \
--title "refactor: 简短描述" \
--body "## 当前问题
...
## 优化方案
..."必须从最新 main 创建分支,禁止在 main 上直接开发。
git checkout main && git pull origin main
git checkout -b <type>/<short-description>
# type: feat / fix / refactor / test / docs / chore分支命名规范:
feat/xxx — 新功能fix/xxx — Bug 修复refactor/xxx — 重构test/xxx — 测试docs/xxx — 文档chore/xxx — 版本 bump、配置、依赖更新开发要求
import std; 和 import mcpp.xxx;src/platform/ 目录下构建验证
# 用现有 bootstrap mcpp 自举构建
mcpp build
# 选择刚生成的 target/**/bin/mcpp(Windows 为 mcpp.exe),不要硬编码宿主 triple
<fresh-mcpp-binary> --version测试
# C++ 单元/集成测试:由刚构建的二进制发现 tests/**/*.cpp
<fresh-mcpp-binary> test
# 端到端测试:显式把刚构建的二进制交给脚本
# 路径必须是刚构建产物的绝对路径;Windows 使用 mcpp.exe。
MCPP=<absolute-path-to-fresh-mcpp-or-mcpp.exe> bash tests/e2e/01_help_and_version.sh
MCPP=<absolute-path-to-fresh-mcpp-or-mcpp.exe> bash tests/e2e/<relevant-test>.sh
# 新功能按变更契约补充 focused unit/integration 和/或 E2E 覆盖E2E 并不保证完全离线:部分脚本需要工具链、索引或 capability provider。
按 CI 等价方式设置 MCPP_HOME、镜像和其他 capability 后再运行;不要让缓存命中
或空 workspace 选择冒充行为覆盖。
提交信息前缀:feat: / fix: / refactor: / test: / docs: / chore:
git push -u origin <branch>
gh pr create \
--title "<type>: 简短描述" \
--body "## Summary
- 改动点
Closes #<issue>
## Test plan
- [ ] 文档-only:示例与链接已按当前实现复核,无运行时行为变更
- [ ] 涉及行为或测试文档时:`mcpp test`(unit/integration)通过
- [ ] 涉及行为或测试文档时:相关 E2E 脚本使用 fresh `MCPP` 通过"PR 要求:
Closes #N)CI 不通过的 PR 不会被合入。
gh pr checks <pr-number> # 查看状态
gh run view <run-id> --log-failed # 查看失败日志一次提交的 CI 是 ci.yml 的一次运行,分段执行(设计见 .agents/docs/2026-10-02-pr-ci-acceleration-and-the-toolchain-specification-design.md 第二部分):
| 阶段 | 内容 |
|---|---|
changes | 按改动路径分类;只改了没有任何脚本、测试或源码读取的文档时,只跑 docs |
docs | 不需要二进制的检查(版本钉、文档风格与结构、工作流断言等) |
build-* | 每个宿主构建一次 mcpp(build.yml),上传为 mcpp-built-<host> |
linux / linux-e2e、macos / macos-e2e / macos-ios、windows / windows-e2e / windows-msvc-xlings、cross、target-matrix、openkal | 各领域的可复用工作流(原来的 ci-*.yml),通过 .github/actions/use-built-mcpp 使用上面那次构建,不再各自构建 |
e2e-coverage | 每个 e2e 测试都在某个宿主上运行、由专门 job 运行,或在 tests/e2e/coverage-exceptions.tsv 中写明原因 |
ci-aarch64-fresh-install、measure-windows-tool-crt 与 pypi-publish 仍是按路径触发的独立工作流。缓存只在 main 上由一个 job 保存;PR 只恢复。
以 PR 实际 required checks 为准,所有未跳过的 required checks 必须通过。 如果某个平台失败:
维护者 review → 反馈修改 → CI 重跑 → Merge(保留 commit 历史)。
合入方式:
Agent(Claude Code 等)在执行任务时,同样必须遵守 PR 流程:
Commit messages (subject and body), squash-merge messages, pull-request titles
and descriptions, CHANGELOG entries and release notes are written in English,
in declarative sentences, with no emoji and no attribution trailers. A release's
notes are its ## [<version>] section of CHANGELOG.md (release.yml extracts it),
so an English CHANGELOG entry is an English release. Entries before 2026.9.28.3
remain as written. The user-facing documentation keeps both languages
(docs/ and docs/zh/).
# 1. 从最新 main 切分支
git checkout main && git pull origin main
git checkout -b <type>/<description>
# 2. 实现改动
# ... edit files ...
# 3. 提交并推送
git add <files>
git commit -m "<type>: <description>"
git push -u origin <type>/<description>
# 4. 创建 PR
gh pr create --title "<type>: <description>" --body "..."
# 5. 等 CI 通过
# 每 60s 检查一次,失败则分析修复
gh run list --branch <branch> --limit 3
# 6. CI 全部通过后,请求用户 review 合入
# 或者用户授权后:
gh pr merge <pr-number> --mergemodules/ 放会被链进二进制的独立包,src/ 放还没分出去的骨架,缩小 src/
就是方向。 单位是子系统不是文件——一文件一包只会把目录列表写成 N 份清单。
modules/ ← 独立包,各带 mcpp.toml,由 path 引用,依赖显式声明
├── libs/ ← json + toml:文本格式解析器(vendored 与自写)
├── log/ ← 分级日志
├── versioning/ ← mcpp.version + mcpp.version_req
├── source-kind/ ← 源文件角色表
├── dyndep/ ← ninja dyndep 发射
├── platform/ ← 平台抽象层(所有平台相关代码)
├── manifest/ ← manifest 模型、TOML/xpkg 解析 + 它们所用的词汇
├── toolchain-model/ ← 工具链「是什么」:triple / model / dialect /
│ cppfly / fingerprint / linkmodel
└── buildmcpp/ ← build.mcpp 契约:协议、指令表、provision、tool store
src/
├── cli.cppm ← 命令行入口
├── config.cppm ← 全局配置
├── build/ ← 构建系统(ninja 后端、prepare/plan/execute)
├── pm/ ← 包管理子系统
├── toolchain/ ← 工具链「在哪」:探测、registry、gcc/clang/msvc/llvm
├── modgraph/ ← 模块图扫描验证
├── pack/ ← 打包发布
├── runtime/ ← 运行时契约(binding、ELF 事实)
└── xlings/ ← xlings 集成
tests/unit/ ← 跨层单测(`mcpp test`)
modules/<x>/tests/ ← 子系统单测(`mcpp test -p <x>`,CI 逐个跑)
tests/e2e/ ← E2E 测试脚本 (`MCPP=...` + `run_all.sh`)
docs/ ← 用户文档
.agents/docs/ ← 设计文档
.agents/skills/ ← Agent 技能文档.string())Windows 上 std::filesystem::path::string() 会把 native(宽)名经进程 ANSI 代码页
转换,遇到该代码页拼不出的字符就抛 std::system_error。非 Windows 上同一个调用只是
一次拷贝,永不失败——所以这个隐患在 Linux/macOS 上(包括它们的测试里)完全不可见。
它已经付过两次代价,每次戴着不同的面具:#230 抛出后逃到 std::terminate,git-bash
显示为裸 exit 127(看起来像"命令找不到");#516 逃到 main() 的 catch,显示为
internal: unhandled exception(看起来像下载器的解压/编码缺陷)。#231 加固了三处
调用点,漏掉了同一个 walk 循环里早一行执行的第四处。
规则(按用途选,不是三选一的风格问题):
| 用途 | 写法 |
|---|---|
| 与 ASCII 字面量比较 | 按 path 比,根本不窄化 |
| 需要稳定身份(hash / key / digest) | p.u8string() —— 各平台都是 UTF-8,不碰代码页 |
| 需要交给编译器 / ninja / CDB | mcpp::modgraph::try_narrow(p),并处理 nullopt |
try_narrow 返回 nullopt 表示"这个文件没法出现在任何交给工具链的字符串里"。
跳过它,并且必须报出来——mcpp.diag 的批次不变式对此已有规定:因为前提不满足而
少做事,必须走 diag::degraded() 并给出 impact。静默丢弃是这类缺陷藏身的地方。
src/modgraph/ 与 src/manifest/ 是 leaf 层(全仓没有一条到 mcpp.ui / mcpp.diag
的 import 边),所以它们记录(note_unnarrowable_path),由 CLI 层排空上报。
.github/tools/check_narrow_conversions.sh 是硬门,但它只扫 src/modgraph、
src/scaffold——通过不等于已审计。确有把握的站点用 // NARROW-OK: <理由> 标注,
理由必须写出"为什么这个输入不可能带这种名字"。
测试只有跑在 Windows CI 上才有意义,且必须自己检查 GetACP():runner 镜像哪天默认
UTF-8 ACP(65001),这类用例会静默变成永远绿的装饰品。参见
tests/unit/test_modgraph.cpp 的 Scanner.GlobWalkSurvivesNamesTheCodePageCannotSpell。
modules/platform/,不在其他模块中直接使用 #if definedmodules/ 包要改四处(包自己的 mcpp.toml、根的
[dependencies.mcpp]、根的 [workspace] members、两份 xmake 源文件清单),
其中三处的遗漏都在很远的地方才失败——最坏的一处只在没有 mcpp 的 macOS
自举机器上。.github/tools/check_modules_wiring.sh 守住它,会在 CI 里跑Toolchain 而
import mcpp.toolchain.detect 的边(model 才是定义处,detect 只是转发)
把整个 build.mcpp 契约压在了包管理器之上。一行 import 就是「能不能成为独立
模块」的全部距离modules/<x>/tests/,跨层的放 tests/unit/。前者构建在
「只有它自己和它声明的依赖」这个配置里——那是根构建从不产生的配置,也是唯一
能抓到「悄悄依赖了未声明之物」的地方。
⚠️ mcpp test -p <x> 对没有测试的成员退 0MCPP_HOME;需要网络/索引的脚本
不得被描述为完全离线© mcpp-community, Apache-2.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 .agents/skills/mcpp-contributing of mcpp-community/mcpp.
Open the folder on GitHubat commit de9c290
Mcpp Contributing 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 |
|---|---|---|---|---|---|---|
| Mcpp Contributing this skillmcpp-community/mcpp | 155 | — | ~2.3k | Automated safety check: Pass | Apache-2.0 | |
| OpenLogi macOS Permissions TriageAprilNEA/OpenLogi | 23k | — | ~2.5k | Automated safety check: Notes | Apache-2.0 | |
| Cmux Debugging Guidemanaflow-ai/cmux | 28k | 1 repos | ~1.1k | Automated safety check: Pass | Custom licence | |
| Qt C++ Code Reviewx-tools-author/x-tools | 1.1k | 2 repos | ~4.3k | Automated safety check: Pass | BSD-3-Clause | |
| pybind11 Release Preparationpybind/pybind11 | 18k | — | ~1.7k | Automated safety check: Pass | Custom licence | |
| Qt Cpp ReviewSerial-Studio/Serial-Studio | 7.2k | — | ~4.3k | Automated safety check: Pass | Custom licence |
AprilNEA/OpenLogi
Decides whether an OpenLogi device problem on macOS is a privacy-permission (TCC) problem, using agent log lines, and says which identity needs which grant.
manaflow-ai/cmux
Covers debug logging, the Debug menu, profiling rules and runtime pitfalls for working on the cmux macOS terminal app.
x-tools-author/x-tools
Read-only review of Qt6 C++ code that combines a deterministic lint script with six parallel analysis agents and reports only high-confidence issues.
pybind/pybind11
Opens the pybind11 release-preparation pull request: picking the release base, bumping the version in common.h and integrating the changelog, following docs/release.rst.
Serial-Studio/Serial-Studio
Qt6/C++ deep code review for Serial Studio. An agent skill from Serial-Studio/Serial-Studio.
addyosmani/agent-skills
Applies a stop-the-line rule and a step-by-step triage when tests fail, builds break or something stops working, aiming at the root cause instead of guesses.
mcpp-community/mcpp
A skill your agent uses when writing or editing anything under docs/ (English or 简体中文), docs/specs/, README files, or the design records under .agents/docs/ — states which tree a document belongs…
mcpp-community/mcpp
A skill your agent uses when releasing a new version of mcpp — bumps version, creates tag, triggers release CI, and monitors until all platforms succeed.
Categories
A skill your agent uses when contributing to the mcpp project — submitting bug fixes, new features, code optimizations, documentation improvements, or any PR. Mcpp Contributing is an agent skill from mcpp-community/mcpp. Use when contributing to the mcpp project — submitting bug fixes, new features, code optimizations, documentation improvements, or any PR.
Mcpp Contributing fits situations like: contributing to the mcpp project — submitting bug fixes; code optimizations; documentation improvements.
Run `npx skills add mcpp-community/mcpp --skill mcpp-contributing -a claude-code`. Or copy the skill folder (.agents/skills/mcpp-contributing in mcpp-community/mcpp) into .claude/skills/mcpp-contributing in your project. Claude Code loads it when a task matches its description.
Run `npx skills add mcpp-community/mcpp --skill mcpp-contributing -a codex`. Or copy the skill folder (.agents/skills/mcpp-contributing in mcpp-community/mcpp) into .agents/skills/mcpp-contributing 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 mcpp-community/mcpp --skill mcpp-contributing -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/mcpp-contributing, .gemini/skills/mcpp-contributing, .github/skills/mcpp-contributing and .opencode/skills/mcpp-contributing in your project.
Going by SKILL.md and its folder, Mcpp Contributing needs the command-line tools its instructions call (git, gh and bash).
SKILL.md contains no URLs. Its commands use git and 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. Review the folder before installing.
Mcpp Contributing is published under the Apache-2.0 licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.
About 2.3k tokens (SKILL.md is roughly 9.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 Mcpp Contributing: OpenLogi macOS Permissions Triage (AprilNEA/OpenLogi, 23k stars), Cmux Debugging Guide (manaflow-ai/cmux, 28k stars), Qt C++ Code Review (x-tools-author/x-tools, 1.1k stars) and pybind11 Release Preparation (pybind/pybind11, 18k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
mcpp-community (a GitHub organization) maintains it in mcpp-community/mcpp, which has 155 GitHub stars. The repository holds 3 skills in this directory. The repository was last updated on October 6, 2026.
Source: mcpp-community/mcpp on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.