Skills · Claude Code · Agent Skills

Shell 脚本就是生产代码,没有商量余地。

Shell 的底线:strict mode、将 shellcheck 作为 gate、禁用 eval、以退出码为契约、使用 trap 与 mktemp。安装程序会适应环境,绝不责怪运行它的人。

v0.4.0Disciplina · Shellgithub.com/schematizeme/skill-shell

维护者 Lucas Andrade

schematize-shell · v0.4.0bash
$ schematize install shell
GitHub →下载技能 (.zip)/shell-help · github.com/schematizeme/schematize-cli

不可妥协的底线

绝不为了“更快”而关闭。完整清单见该技能本身。

strict mode 或书面例外

所有可执行脚本都使用 set -euo pipefail;合理的例外必须在注释中声明才有效。

shellcheck 是 gate

--severity=warning 阻断合并;要屏蔽告警,必须在该行写明带代码和理由的 shellcheck disable。

禁用 eval

不使用 eval,也不对由外部数据拼接的字符串使用 bash -c:用数组构造命令,用 case 分派。

退出码是契约

0 表示通过,1 表示未通过,2 表示无法验证;什么都没检查却返回 0 是被禁止的。

trap 与 mktemp

trap 在 EXIT INT TERM 时清理,临时文件由 mktemp 创建,绝不使用 /tmp 中可预测的名称。

幂等与引号

运行两次结果相同,所有展开都加引号,永远不解析 ls 的输出。

会自适应的安装程序

它会识别 sudo 下的真实用户、包管理器和已有内容;失败时说明现在该做什么,且密钥绝不放在命令参数里。

命令

安装在 .claude/commands/。随时运行 /shell-help。

/shell-cc上下文压缩:将交接文档(上下文+清单)写入 archive,并运行 /compact。
/shell-claude在仓库根目录创建或合并 schematize-shell 的常驻 CLAUDE.md,不覆盖其他技能的区块。
/shell-handoff不压缩,将上下文交接文档写入 archive:用于会话结束或切换任务。
/shell-help列出该技能的所有命令。
/shell-load强制加载 schematize-shell 的全部规范内容,并在本次会话中应用。
/shell-review对照底线审查 .sh(新增或已有):运行 gate,并阅读机器读不出的部分。

面向 AI 代理

无需人工介入即可安装。元数据见 llms.txt。

  • 运行:git clone https://github.com/schematizeme/skill-shell.git && ./skill-shell/install.sh
  • 或下载 https://github.com/schematizeme/skill-shell/releases/latest/download/skill-shell.zip 并解压到 .claude/skills/。
  • 将 assets/CLAUDE.md 复制到仓库根目录(常驻规则)。
  • 用 /shell-help 确认。

不想安装?

阅读完整规范并直接复制到你的项目——或安装该技能,让智能体自动执行。