协作头脑风暴
brainstorming
在实现前澄清需求、探索设计选择,并形成清晰的开发方向。
github-star-manager【开发与工程】整理、分类、清理、备份与恢复 GitHub Stars,或批量评估导入新项目。当用户要求整理/分类/清理/备份 GitHub 收藏、管理 star 列表(List)、批量评估仓库,或提到「GitHub Stars 整理 / 清理收藏 / star 太多」时使用。支持 organize/import/backup 模式;凭证通过环境变量或 WorkBuddy 的 GitHub 连接器注入,无需在 Skill 目录内放置 .env。
独立 GitHub 快照 · 自动分类 · 以原作者文档为准
public_repo + read:user + user scope)。pip install requests (>= 2.28)。.env,而是按以下优先级依次读取(每个 key 取最高优先级来源;已存在的真实环境变量永不覆盖):
GITHUB_TOKEN、shell 环境变量);GH_STAR_MANAGER_ENV 指向的显式 .env 路径(可指向 WorkBuddy 托管的密钥文件);~/.gh-star-manager/.env(随用户在各工作区/项目间通用);.env(仅作向后兼容遗留);gh auth token 读取本地 CLI 登录状态,实现零配置/免手动创建 Token。gh auth login) 或由 WorkBuddy/shell 注入环境变量。stars.json、review_plan.json、review.html 等)与状态文件统一落在专用工作目录 ~/.gh-star-manager/(可用 GH_STAR_MANAGER_WORKDIR 覆盖为任意 WorkBuddy 托管路径),绝不污染当前项目目录。执行脚本时请把 -o 输出路径指向该目录。GH_STAR_MANAGER_REVIEW_MODE):
chat(WorkBuddy 推荐): 不启动浏览器,由 Agent 在对话中呈现方案摘要、征求明确授权后直接调用 CLI 写回,最贴合 Agent 循环;static: build_review.py 生成 review.html,由 Agent 通过 present_files 内联预览,用户在对话中确认;server(仅独立桌面场景): 旧版本地 Web 服务自启自毁,Agent 环境不建议使用。Checkpoint(自动备份) -> 展示方案 -> 明确授权确认。GITHUB_TOKEN 仅留存环境变量与 .env,严禁随 JSON、日志或 CLI 参数暴露。若脚本报 Missing GITHUB_TOKEN 或 401 Unauthorized:
gh auth login 或输出 https://github.com/settings/tokens 向用户询问 Token;~/.gh-star-manager/.env(GITHUB_TOKEN=ghp_xxx,目录不存在时自动创建);该 Skill 已与 WorkBuddy 的运行环境解耦,无需把密钥写进 Skill 目录即可随处调用:
gh auth login),Skill 即可通过 gh auth token 静默获取凭证。GITHUB_TOKEN 由 WorkBuddy 托管并自动注入脚本环境。GITHUB_TOKEN。~/.gh-star-manager/.env,所有工作区/项目共用同一份配置。GH_STAR_MANAGER_ENV=/path/to/secret.env。脚本位于本 Skill 目录下(通常为
~/.workbuddy/skills/github-star-manager/scripts/),执行时请使用 Skill 的绝对路径;所有-o输出请指向工作目录~/.gh-star-manager/。
python <skill_dir>/scripts/star_ops.py user; python <skill_dir>/scripts/star_ops.py check-scopes
python <skill_dir>/scripts/fetch_stars.py --sync -o ~/.gh-star-manager/stars.json
python <skill_dir>/scripts/github_lists.py list -o ~/.gh-star-manager/lists.json
完成准则:
can_create_lists为 true;fetch_stars.py与github_lists.py返回status: success(退出码 0)。
review_plan.json)先读取用户画像 python <skill_dir>/scripts/state.py dump-profile。依据用户意图选择对应分支:
全量整理分支 (mode: organize):
python <skill_dir>/scripts/generate_review_plan.py --plan-mode organize -o ~/.gh-star-manager/review_plan.json;FROZEN)、解散泛化标签与预设模式(STARS_ORGANIZE_MODE)严格遵循 references/analysis-guide.md;review_plan.json。批量导入分支 (mode: import):
~/.gh-star-manager/new_repos.json 格式 ["owner/repo", ...];python <skill_dir>/scripts/repo_insight.py --input-file ~/.gh-star-manager/new_repos.json -o ~/.gh-star-manager/insights.json;python <skill_dir>/scripts/generate_review_plan.py --plan-mode import --insights-file ~/.gh-star-manager/insights.json -o ~/.gh-star-manager/review_plan.json 产出包含建议 List 归属的 review_plan.json。完成准则: 成功生成符合契约规范的
review_plan.json。
在 WorkBuddy 的 Agent 循环里,不启动本地浏览器服务,而是用对话驱动,三种模式按 GH_STAR_MANAGER_REVIEW_MODE 选择:
(推荐) chat 模式: 直接读取 ~/.gh-star-manager/review_plan.json,在对话中以清晰列表呈现建议(新建/合并 List、unstar 清单、标星归类),明确列出将要执行的写操作;得到用户显式授权后,严格遵循写操作闸门(先备份再执行),依次调用 github_lists.py 与 star_ops.py 批处理 CLI 完成写回(写回细节见 references/analysis-guide.md)。
static 模式 (可视化预览): 生成可交互 HTML 供用户在对话内预览与核对:
python <skill_dir>/scripts/build_review.py --plan-file ~/.gh-star-manager/review_plan.json --output ~/.gh-star-manager/review.html
随后用 present_files 将 review.html 内联预览给用户;用户在对话中确认或调整,Agent 再按授权执行 CLI 写回。
server 模式 (仅独立桌面): python <skill_dir>/scripts/review_server.py --plan-file ~/.gh-star-manager/review_plan.json 启动本地 Web 服务并自动开浏览器、确认后强制先备份再执行并 3 秒自毁。Agent 环境不要使用此模式。
完成准则: 用户在对话中明确授权后,CLI 写回成功(备份已完成、退出码 0);或 static 模式下用户确认且 Agent 已执行授权写回。
交互结束后,对比用户最终方案与原始建议,将差异总结为偏好规则追加至画像:
python scripts/state.py add-preference "规则描述"
查看与加载备份、恢复 stars/List 归属的具体 CLI 指令见 references/analysis-guide.md#备份与恢复流程。
build_review.py) 导出 JSON 执行。