同步 latest skill releases

This commit is contained in:
2026-09-04 07:46:37 +00:00
parent c7e0a421f9
commit 3da100f300
5 changed files with 195 additions and 0 deletions
+1
View File
@@ -2,6 +2,7 @@
"baimiao-table-ocr": "v1", "baimiao-table-ocr": "v1",
"disk-master": "v1", "disk-master": "v1",
"everything-file-search": "v1", "everything-file-search": "v1",
"init-workspace": "v1",
"teach-me": "v2", "teach-me": "v2",
"think-twice": "v3.1", "think-twice": "v3.1",
"why-here": "v1" "why-here": "v1"
+73
View File
@@ -0,0 +1,73 @@
---
name: init-workspace
description: 初始化或补全个人执行工作区,搭目录脚手架、生成 AGENTS.md 与可选 CODINGRULES.md。仅在用户明确要求初始化或重构工作区时使用。
disable-model-invocation: true
---
# Init Workspace
为个人执行工作区搭脚手架并生成规则文件。工作区模式:一个目录同时容纳源码仓库、本地文档库(`docs/`)和参考库(`pkgs/`),由 `AGENTS.md` 承载工作区规则。生成的文件假定目标机器装有 `$think-twice`。
## Step 1 — 访谈
一轮问完,每题带默认值;已存在的工作区只问缺口:
1. 目标目录:在哪个路径创建新工作区,或补全哪个已有目录
2. 工作区名/项目名(决定目录名与 `<project>.code-workspace` 文件名)
3. 源码仓库:已有路径还是待克隆(待克隆的要拿远端 URL),一个还是多个
4. Quick Context 内容:用户负责的模块、维护的上游库、需要防止误判的事项
5. 是否生成 `CODINGRULES.md`(默认否)
6. 工作区是否需要 git 跟踪(默认否,有些工作区不需要)
## Step 2 — 探测现状
检查:`AGENTS.md`、`CLAUDE.md`(是否已是可用的链接或 `@AGENTS.md` 桥)、`CODINGRULES.md`、`.agents/skills` 与 `.claude/skills` 的连接、`*.code-workspace`、PATH 上是否有 `just`、`think-twice` skill 是否可用(生成的文件引用它,不可用时提醒用户先安装)。
已有文件一律不覆盖:逐节给出保留/替换/新增提案,模板不认识的章节原样保留,用户确认后才写入。
## Step 3 — 目录脚手架
只创建缺失的部分:
```
<project>-workspace/
|- .agents/skills/ 真身目录
|- .claude/skills Junction 指向 .agents/skills
|- docs/ 本地文档库(prd/ plans/ guides/ sop/ 按需)
|- <repo>/ 源码仓库,可多个
|- pkgs/ 参考库
|- scripts/ 工作区脚本
|- .gitignore 至少含 nul(Git Bash 下 > nul 会产生真实文件)
|- <project>.code-workspace 从 assets/project.code-workspace 填充
|- justfile 仅当 PATH 上有 just 时创建空骨架
|- AGENTS.md, CLAUDE.md
```
- Windows 目录 Junction 不需要管理员权限:`New-Item -ItemType Junction -Path .claude\skills -Target <绝对路径>\.agents\skills`
- POSIX:`ln -s ../.agents/skills .claude/skills`
- `code-workspace` 的 folders:Workspace(`.`)+ 每个源码仓一个入口 + Docs;有独立入口的目录在 `files.exclude` 里对 Workspace 视图隐藏,从 [assets/project.code-workspace](assets/project.code-workspace) 填充
- 访谈给到远端 URL 的待克隆仓库,克隆到对应目录;没有 URL 的只建空目录并记入 `docs/TODO.md`
- `docs/` 的子目录与生成的 `AGENTS.md` Workspace Docs 一节保持一致,并写一个最小的 `docs/README.md` 目录地图,不留悬空指针
- `justfile` 骨架只需一条默认任务:`default:` 下接 `@just --list`
## Step 4 — 生成规则文件
- `AGENTS.md`:复制 [assets/AGENTS.template.md](assets/AGENTS.template.md),填访谈槽位。未生成 `CODINGRULES.md` 时,整节删除 Coding Rules。
- `CLAUDE.md` 桥:先尝试符号链接指向 `AGENTS.md`(Windows 需要管理员权限或开发者模式);失败则写只有一行 `@AGENTS.md` 的文件。已有可用桥不动。
- `CODINGRULES.md`(访谈答是才生成):复制 [assets/CODINGRULES.template.md](assets/CODINGRULES.template.md),并保留 `AGENTS.md` 的 Coding Rules 指针节。
## Step 5 — git 跟踪(访谈答是才做)
1. `git init`
2. `pkgs/.gitignore`:屏蔽全部,只放行 `.gitignore` 与 `README.md`;`pkgs/README.md` 维护参考仓名单
3. 已存在的源码仓用 `git submodule add <url> <dir>` 登记;拿不到远端 URL 的仓记入 `docs/TODO.md`,不强行处理。`pkgs/README.md` 只维护参考仓名单
## Done when
- [ ] 写入已有文件前得到过用户确认;全新空目录且用户明确说过不必再问时可直接执行。任何已有内容都没有被覆盖
- [ ] 每条规则只存在于一个文件,`AGENTS.md` 与 `CODINGRULES.md` 无重复
- [ ] `AGENTS.md` 里的指针都带触发条件和动作,不是裸文件名
- [ ] commit 尾注规则在 `AGENTS.md`,不在 `CODINGRULES.md`
- [ ] `.claude/skills` Junction 解析成功;`code-workspace` 是合法 JSON
- [ ] 生成的文件不含 `<占位符>`、模板注释或未替换的示例行
- [ ] `AGENTS.md` 不超过 200 行
@@ -0,0 +1,52 @@
# <工作区名> Workspace Guide
这个工作区是 <谁> 进行 <项目> 工作时使用的个人执行目录。
## Quick Context
<!-- 访谈填写:模块归属、维护的上游库、需要防止误判的事项。示例: -->
- <用户> 主要负责 <模块> 相关内容。
- 任务模块不明确时先确认或结合最近上下文判断,不要直接假设。
- <上游库> 也是 <用户> 维护的库。问题疑似来自这些库时,先说明判断并询问是否去上游排查,不在业务仓库堆绕行补丁。
## Communication
- 默认中文;路径、命令、代码标识符、技术术语保留原文。
- 描述工作时直接说动作和结果:做了什么、改了哪个文件、行为变化是什么;每个说法都能对应到具体的文件、命令或数据。
- 结论先行;有取舍、风险或需要证据链时再补原因。
- 如无特殊说明或指定,"文档"指工作区文档(`docs/` 与 `AGENTS.md`)。
## Workspace Docs
<!-- 访谈填写:docs/ 目录地图。示例: -->
- 处理需求、方案、review 或恢复上下文时,优先查看 `docs/README.md`、`docs/prd/`、`docs/plans/`、`docs/guides/`、`docs/sop/`。
- 目录边界不用卡得太死,重点是快速找到信息并继续推进。
## Shell on Windows
- 临时文件放系统临时目录下的任务独立子目录,不在仓库里散落。
- 路径含空格或中文时加引号。
- Git Bash/MSYS2 下抑制输出用 `/dev/null`;`> nul` 会创建名为 `nul` 的真实文件,发现即删。
## Commits
- commit message 不加 `Co-Authored-By` 等 AI 署名 trailer,不加会话链接(如 claude.ai/code 的 session URL)。
## Design Check
- 实现或 review 中发现修复在叠加条件、状态同步、调用方绕行或特殊分支(patch-on-patch)时,回到模块边界、数据流、调用关系重新看问题,说明更干净的方向。
## Code Review
- findings 按 P0 到 Px 排序,P0.1 式细分可用。
- 定级前 double-check;缺复现证据的低概率问题降级并标注不确定性。
- 根据 diff、代码、测试和工作区文档反推修改意图或对应 PRD;推测标注为推测。
- 提到路径、函数名时顺带说明这块是做什么的。
- review 结论输出前用 `$think-twice` 做自包含、证据和表达检查。
## Output Quality
- 交付需要独立成立的文本(handoff、PR/issue 正文、文档)前,用 `$think-twice`。
## Coding Rules
<!-- 仅在生成 CODINGRULES.md 时保留本节,否则整节删除 -->
- 实现、修复或 review 代码前,先完整读取 @CODINGRULES.md 并遵循;宿主已自动加载其内容时不必重复读取。纯文档改动不适用。
## Structure
<!-- 访谈填写:目录结构。示例: -->
- `<repo>/`: 源码仓库
- `pkgs/`: 参考库,仅作补充上下文
- `docs/`: 工作区文档、PRD、计划、SOP 与临时记录
- `scripts/`: 工作区脚本
@@ -0,0 +1,34 @@
# Coding Rules
Bias toward caution over speed. For trivial tasks, use judgment.
## Before coding
- State assumptions explicitly. When interpretations genuinely diverge in
outcome, list them and let the user pick; otherwise state your assumption
and proceed.
- If you cannot form a workable assumption at all, stop and ask, naming
exactly what is confusing. Do not invent one to keep moving.
- If a simpler approach exists, say so.
## Scope of change
- Every changed line traces to the request, or to low-risk cleanup in the
same context; call out anything beyond that instead of doing it.
- Match existing style. Mention unrelated dead code; leave it in place.
- Remove imports/variables/functions that your change orphaned.
## Simplicity
- Minimum code that solves the problem. No speculative features,
abstractions, or configurability.
- Defensive handling only at untrusted boundaries: external input, network,
permissions, migration.
## Verification
- Define a verifiable success check before starting. Prefer a failing test
when reproduction is cheap; otherwise state how the change was verified.
- For multi-step tasks, keep a brief plan with a check per step.
- Documentation-only changes: read/diff self-check, and say tests were not
run.
@@ -0,0 +1,35 @@
{
"folders": [
{
"name": "Workspace",
"path": "."
},
{
"name": "<Repo>",
"path": "<repo-dir>"
},
{
"name": "Docs",
"path": "docs"
}
],
"settings": {
"explorer.compactFolders": false,
"workbench.startupEditor": "none",
"files.exclude": {
"<repo-dir>": true,
"docs": true,
"**/.DS_Store": true,
"**/node_modules": true,
"**/dist": true,
"**/build": true,
"CLAUDE.md": true,
".claude/": true
},
"search.exclude": {
"**/node_modules": true,
"**/dist": true,
"**/build": true
}
}
}