From ff1f9ae07ff87068d106b7fbc1b4519db5dfabc9 Mon Sep 17 00:00:00 2001 From: admin Date: Fri, 27 Feb 2026 15:14:21 +0800 Subject: [PATCH] =?UTF-8?q?=E9=99=90=E5=AE=9A=20weekly-report=20=E5=B7=A5?= =?UTF-8?q?=E5=85=B7=E6=9D=83=E9=99=90=EF=BC=8C=E7=A6=81=E6=AD=A2=E5=86=99?= =?UTF-8?q?=E6=93=8D=E4=BD=9C?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 通过 allowed-tools 限制为 Read/Glob/Grep + git pull + python, 禁止 Write、Edit 及任意 Bash 命令,临时文件由 Python 脚本自行管理 Co-Authored-By: Claude Sonnet 4.6 --- skills/weekly-report/README.md | 16 ++++++++++++++++ skills/weekly-report/SKILL.md | 1 + 2 files changed, 17 insertions(+) diff --git a/skills/weekly-report/README.md b/skills/weekly-report/README.md index 55d4c92..bc3a0a1 100644 --- a/skills/weekly-report/README.md +++ b/skills/weekly-report/README.md @@ -4,6 +4,22 @@ > 适用于自建 Gitea 仓库,不依赖 `gh` CLI。 +## 安全限制 + +本技能通过 `allowed-tools` 限定了 Claude 可使用的工具范围: + +| 允许 | 说明 | +|------|------| +| `Read` | 读取配置文件和报告内容 | +| `Glob` | 查找脚本路径 | +| `Grep` | 搜索文件内容 | +| `Bash(git pull*)` | 仅允许执行 `git pull` | +| `Bash(python*)` | 仅允许执行 Python 脚本 | + +明确**禁止**的操作:`Write`(写文件)、`Edit`(编辑文件)、任意 Bash 命令(如 `rm`、`curl`、`cat >` 等)。 + +临时文件(数据 JSON 和 HTML 报告)由 Python 脚本自身写入 `/tmp/`,不经过 Claude 的写工具。 + ## 前置要求 - Python 3.8+ diff --git a/skills/weekly-report/SKILL.md b/skills/weekly-report/SKILL.md index 49e5aab..0221e01 100644 --- a/skills/weekly-report/SKILL.md +++ b/skills/weekly-report/SKILL.md @@ -2,6 +2,7 @@ name: weekly-report description: 生成项目过去7天的周报,通过 Gitea API 统计每位协作者的 commit 和 PR,生成个人工作日志与项目整体报告,通过 SMTP 发送邮件 argument-hint: "" +allowed-tools: Read, Glob, Grep, Bash(git pull*), Bash(python*) --- 生成当前项目过去 7 天的周报并发送邮件。按以下步骤执行,每步完成后告知用户进度。