关于 sharing-pr-agent-artifacts
用于将 Agent 生成的计划、规格文档、图表和研究资料发布到 Streamlit 公共 Wiki,并在 PR 中链接。它指导贡献者筛选文件、排除敏感内容,并为评审者添加文档链接。
主要功能
- 01向 Wiki 上传 PR 资料
- 02将通用参考资料单独归档
- 03排除敏感及无关文件
- 04提交更改并推送到 master
- 05在 PR 评论中附上文档链接
适用场景
- 01与 PR 评审者分享实现计划
- 02发布变更相关的架构图
- 03留存对后续工作有用的研究
安装
复制下面的命令,在终端中运行。
npx skills add https:/ / github.com/ streamlit/ streamlit --skill sharing-pr-agent-artifacts安装后在 Claude Code 中输入/sharing-pr-agent-artifacts确认已加载。
详细介绍
分享 PR Agent 产物
将中间文件(实现计划、规格说明、经验总结、探索记录、架构图)上传到 streamlit.wiki,以便在 PR 描述和评论中引用。适用于由 Agent 生成、对审查者有参考价值但不属于主仓库的产物。
重要: wiki 仓库使用 master 作为默认分支。始终推送到 master,切勿创建其他分支。
遵循 wiki 指南: 克隆/更新 wiki 仓库后,阅读并遵循 agent-wiki/AGENTS.md,了解关于上传内容及文件组织方式的权威规则。
公开 URL 模式:
https://issues.streamlit.app/agent_wiki_explorer?file=<relative-path>
示例:https://issues.streamlit.app/agent_wiki_explorer?file=pull-requests/12345/implementation-plan.md
前置条件
- 当前分支必须已存在一个 PR
工作流
1. 获取 PR 编号
gh pr view --json number --jq '.number'
如果不存在 PR,请停止并告知用户。
2. 设置 wiki 仓库
检查 wiki 是否已克隆:
if [ -d "agent-wiki/.git" ]; then
# Use subshell to avoid directory navigation issues if pull fails
(cd agent-wiki && git checkout master && git pull origin master)
else
git clone https://github.com/streamlit/streamlit.wiki.git agent-wiki
fi
3. 创建 PR 目录
mkdir -p agent-wiki/pull-requests/<pr-number>
4. 发现并复制文件
常见位置(优先检查这些):
work-tmp/— 临时工作文件、草稿、探索笔记specs/— 为本 PR 创建的未跟踪的产品/技术规格说明
应包含的内容:
- 规格说明、计划、设计文档(
.md) - 实现说明与决策
- 架构图(
.png、.svg) - 研究结果与探索记录
始终排除:
警告: wiki 是公开仓库。切勿上传机密信息、内部敏感讨论或任何不应公开可见的内容。由于 Streamlit 是开源的,几乎所有与技术、产品相关的规划文档都可以公开分享。
- 已在主仓库中跟踪的文件(使用
git ls-files检查) - 凭据、密钥、令牌、API 密钥(
.env、*credentials*、*secret*、*token*、*api_key*) - 机密或仅限内部的信息
- 与测试相关的产物
- 调试日志与临时输出
- 构建产物
- 大型二进制文件(>10MB)
- IDE/编辑器文件
- 与当前 PR 无关的文件
复制选定的文件:
cp <file> agent-wiki/pull-requests/<pr-number>/
5. 提交并推送
# Use subshell to avoid directory navigation issues
(
cd agent-wiki
git checkout master
git add pull-requests/
git commit -m "Add artifacts for PR #<pr-number>"
git pull --rebase origin master
git push origin master
)
如果因冲突导致推送失败:
- 运行
git pull --rebase origin master - 手动解决冲突
- 运行
git rebase --continue - 再次推送
切勿使用 --force。
6. 在 PR 上评论
如果添加了新文件,请在 PR 上发布一条摘要评论:
gh pr comment <pr-number> --body "$(cat <<'EOF'
### Added Agent Docs
- [implementation-plan.md](https://issues.streamlit.app/agent_wiki_explorer?file=pull-requests/<pr-number>/implementation-plan.md): Main technical implementation plan
- [exploration.md](https://issues.streamlit.app/agent_wiki_explorer?file=pull-requests/<pr-number>/exploration.md): Initial research and design exploration
EOF
)"
仅包含与审查者相关的顶层文档。嵌入这些文档中的资源(例如图片)无需单独列出。
与 PR 无关的参考文件
对于超出一个 PR 范围的实用文档(深入分析、架构探索、研究结果),请使用 references/ 目录而非 pull-requests/。
何时使用 references
- 与特定变更无关的代码库探索
- 对后续工作有用的架构深入分析
- 为多个功能提供参考的研究结果
- 具有更广泛适用性的决策日志
工作流
# Create file with date prefix
mkdir -p agent-wiki/references
cp <file> agent-wiki/references/YYYY-MM-DD-<description>.md
示例:2024-03-15-widget-state-deep-dive.md
使用与 PR 产物相同的提交/推送工作流(第 5 步),将 git add 命令和提交信息中的 pull-requests/ 替换为 references/(例如 "Add reference: YYYY-MM-DD-<description>")。
公开 URL:https://issues.streamlit.app/agent_wiki_explorer?file=references/YYYY-MM-DD-<description>.md
备注
agent-wiki/目录已被 gitignore,并在会话之间持久保留- 始终推送到
master— 切勿创建功能分支或使用--force - 这是公开仓库 — 切勿推送敏感信息
- 仅上传与当前 PR 直接相关的文件或通用参考材料