Skills · Claude Code · Agent Skills
现有 C++ 不再有裸 new/delete 与未定义行为,没有商量余地。
用于维护现有 C++ 代码的防御性底线:RAII、CI 中运行 sanitizer、clang-tidy 以及可控的对象生命周期。新组件用 Rust 或 Zig 编写,C++ 只能通过例外 ADR 引入。
schematize-cpp · v0.4.0bash
$ schematize install cpp不可妥协的底线
绝不为了“更快”而关闭。完整清单见该技能本身。
新组件用 Rust 或 Zig
C++ 只能通过例外 ADR 引入,不能凭适配度选择。
RAII 是基本机制
新代码禁止裸 new/delete;默认使用 unique_ptr,只有所有权确实共享时才用 shared_ptr。
零法则或五法则
只写析构函数,是隐式拷贝时出现 double-free 的经典路径。
生命周期可控
比所有者活得更久的 string_view、span 或引用属于未定义行为;异步代码中的 [&] lambda 是同样的错误。
带 sanitizer 的测试与严格构建
CI 中运行 ASan、UBSan、TSan 并加 -fno-sanitize-recover=all,同时启用 -Werror、-Wconversion、-Wold-style-cast 与 _GLIBCXX_ASSERTIONS。
异常、锁与线程
按 const 引用捕获,禁止空的 catch (...);析构函数不抛异常;用 lock_guard 代替手动加锁;用 std::jthread 代替游离线程。
命令
安装在 .claude/commands/。随时运行 /cpp-help。
/cpp-cc上下文压缩:将交接文档(上下文+清单)写入 archive,并运行 /compact。/cpp-claude在仓库根目录创建或合并 schematize-cpp 的常驻 CLAUDE.md,不覆盖其他技能的区块。/cpp-handoff不压缩,将上下文交接文档写入 archive:用于会话结束或切换任务。/cpp-help列出该技能的所有命令。/cpp-load强制加载 schematize-cpp 的全部规范内容,并在本次会话中应用。/cpp-review对照底线审查 .cpp/.hpp 与构建:运行 gate(代码+构建),并阅读机器读不出的部分(RAII、生命周期、未定义行为、适用范围)。面向 AI 代理
无需人工介入即可安装。元数据见 llms.txt。
- 运行:git clone https://github.com/schematizeme/skill-cpp.git && ./skill-cpp/install.sh
- 或下载 https://github.com/schematizeme/skill-cpp/releases/latest/download/skill-cpp.zip 并解压到 .claude/skills/。
- 将 assets/CLAUDE.md 复制到仓库根目录(常驻规则)。
- 用 /cpp-help 确认。
讨论
加载中…