用途:ghpm-shared 是所有 ghpm 技能的共享参考,统一说明前提条件、配置文件、启动流程与错误处理,便于各技能按一致规则读取项目数据。
前提:需安装并认证 gh CLI;token 需具备 read:project、project 权限;使用 GitHub Projects v2,而非经典 projects。
配置文件:所有文件位于 .ghpm/ 目录。.ghpm/config.json 为项目配置(字段、视图、仓库);.ghpm/cache.json 为缓存的项目条目;.ghpm/sessions/<number>.json 为每个 issue 的活动会话。整个 .ghpm/ 目录被 gitignore,属于项目本地数据。若缺少 .ghpm/config.json,应提示用户先运行 /ghpm-init 并停止。
启动流程:读取当前目录的 .ghpm/config.json,缺失则按上述停止;按 references/cache.md 加载缓存,缓存过期或缺失时自动重新获取,无需用户确认,若重新获取失败(网络错误、限流)则回退到可用的旧缓存并标注时间;检查过期会话,列出 .ghpm/sessions/*.json 并比较 started_at 与当前时间,超过 24 小时则询问用户是收尾并发布日志还是丢弃,用户都拒绝时继续当前技能,不阻塞。
错误处理:认证过期提示运行 gh auth login 并停止;限流(HTTP 403 限流信息)提示等待后重试;网络错误且存在缓存时可选回退旧缓存;权限拒绝(项目 HTTP 403/404)提示检查 token 权限。写操作是否需确认由 prompts 配置决定,默认始终询问。可选 hooks/规则增强 ghpm-work,由 /ghpm-init 在检测到 agent 时安装;无 hooks 时所有技能仍可通过显式命令使用。相关技能包括 ghpm-init、ghpm-status、ghpm-view、ghpm-suggest、ghpm-work、ghpm-issue。