Skip to main content
ClaudeWave
Skill1k repo starsupdated 11d ago

ops-safety

当用户执行系统级命令(sysctl、iptables、systemctl、Docker 配置、数据库 DDL)或进行服务器运维操作时触发。提供运维安全规范。

Install in Claude Code
Copy
git clone --depth 1 https://github.com/doccker/cc-use-exp /tmp/ops-safety && cp -r /tmp/ops-safety/.claude/skills/ops-safety ~/.claude/skills/ops-safety
Then start a new Claude Code session; the skill loads automatically.

SKILL.md

# 运维安全规则

> 防止因不完整的操作导致系统故障。

---

## 1. 系统级命令规则

在给出任何系统级命令(sysctl、firewalld、iptables、内核参数、systemctl 等)之前,必须先说明:

| 项目 | 说明 |
|------|------|
| **影响范围** | 这个命令会影响什么(网络、Docker、服务等) |
| **风险等级** | 高/中/低 |
| **回滚方案** | 完整的回滚步骤,包括所有依赖服务的重启 |
| **需要重启的服务** | 明确列出 |

### 命令说明模板

```
## 命令说明

**命令**: sudo sysctl -p /etc/sysctl.d/99-xxx.conf

**影响范围**:
- 内核网络参数
- 可能影响 Docker 容器网络
- 可能影响 Cloudflare 连接

**风险等级**: 高

**回滚方案**:
1. sudo rm -f /etc/sysctl.d/99-xxx.conf
2. sudo sysctl --system
3. sudo systemctl restart docker
4. docker-compose up -d
5. curl -I http://127.0.0.1:80  # 验证

**是否确认执行?**
```

---

## 2. 回滚方案要求

回滚方案必须包含以下步骤,缺一不可:

| 步骤 | 说明 | 示例 |
|------|------|------|
| 1. 恢复配置 | 删除或还原配置文件 | `rm -f /etc/sysctl.d/99-xxx.conf` |
| 2. 重载配置 | 重新加载系统配置 | `sysctl --system` |
| 3. 重启服务 | 重启所有受影响的服务 | `systemctl restart docker` |
| 4. 恢复应用 | 重启依赖的应用 | `docker-compose up -d` |
| 5. 验证恢复 | 确认服务正常 | `curl -I http://127.0.0.1:80` |

---

## 3. 问题排查原则

### 不扩散问题

如果 A 配置导致问题:
- ✅ 先彻底恢复 A
- ❌ 不要去改 B、C、D

### 最小改动原则

- 只修改必要的配置
- 一次只改一个变量
- 改完验证后再进行下一步

### 不动正常配置

- 用户明确说某配置正常,不要建议修改
- 不要"顺手"优化其他配置

---

## 4. 特定场景规则

### Cloudflare + 服务器

当用户使用 Cloudflare 代理时:

| 禁止操作 | 原因 |
|---------|------|
| 随意修改内核网络参数 | 可能导致 Cloudflare 连接异常 |
| 随意修改 DNS 记录 | 影响 CDN 解析 |
| 随意修改 SSL/TLS 设置 | 可能导致证书验证失败 |

### Docker 相关

修改以下配置后,必须提示重启 Docker:
- 内核网络参数(sysctl)
- iptables / firewalld 规则
- Docker daemon 配置

### 数据库操作

执行以下操作前必须提示备份:
- 表结构修改(ALTER TABLE)
- 批量数据更新(UPDATE/DELETE 无 WHERE 或影响大量数据)
- 数据库迁移

---

## 5. 禁止行为

| 禁止 | 说明 |
|------|------|
| ❌ 问题未解决时改其他配置 | 不要扩散问题 |
| ❌ 不完整的回滚方案 | 必须包含服务重启步骤 |
| ❌ 无风险说明的系统命令 | 必须先说明再执行 |
| ❌ 未经确认执行高风险命令 | 必须等用户确认 |
| ❌ 同时修改多个配置 | 一次一个,验证后再下一个 |

---

## 6. 风险等级定义

| 等级 | 定义 | 示例 |
|------|------|------|
| **高** | 可能导致服务中断、数据丢失 | 内核参数、防火墙、数据库DDL |
| **中** | 可能影响部分功能 | 应用配置、环境变量 |
| **低** | 影响范围小,易回滚 | 日志级别、非核心配置 |
api-design-safetySkill

当设计或修改 REST API 响应结构、处理 API 返回值,或生成 Excel/CSV/PDF/对账文件等下游产物时触发。防止 API 设计缺陷导致的字段错位、类型歧义,以及生成产物时关键字段缺失但静默成功的问题。

api-proxy-safetySkill

网关/代理/WAF/CDN 中间件的安全关键词匹配实现规范,防止纯子串匹配误判正常响应内容中的技术术语(如 Cloudflare、502、error)

async-task-patternSkill

当 API/任务可能执行超过 10 秒(批量数据处理、远程 API 批量调用、全表扫描、跨租户聚合)时触发。防止同步接口被网关 30s 超时切断、用户重复点击触发并发、状态缓存内存泄漏等问题。提供异步任务状态机标准模板。

bash-styleSkill

当用户操作 .sh、Dockerfile、Makefile、.yml、.yaml 文件,或在 Markdown 中编写 bash 代码块时触发。提供 Bash 编写规范。

code-quality-principlesSkill

当编写新模块、设计接口、重构代码或代码审查时触发。提供经典模块化六原则检查清单(大小适中/调用深度/扇入扇出/边界清晰/作用域内聚/可预测性),适用于 PR/Review/新模块设计场景。

external-system-debuggingSkill

涉及浏览器、编辑器、CDN/WAF、IM 平台、操作系统剪贴板、第三方 SaaS 等"外部黑盒系统"的代码编写或 bug 调试时触发。强制先抓真实环境数据再推理,避免连续 2 轮"凭代码推理"的修复 no-op。关键词:粘贴/复制异常、跨平台显示不一致、第三方 API 怪结果、CDN/WAF 拦截、本地复现失败、HTML→MD 转换丢属性。

field-mapping-safetySkill

当重构涉及字段映射(dataIndex、枚举映射、类型转换)时触发。防止字段名推测错误,确保字段映射的正确性。

frontend-devSkill

前端开发规范,包含 Vue 3 编码规范、UI 风格约束、TypeScript 规范等