mcpField
S
sharing-pr-agent-artifacts

sharing-pr-agent-artifacts

github.com/streamlitAgent 工作流46.2k39 次安装今天更新
代码仓库

关于 sharing-pr-agent-artifacts

用于将 Agent 生成的计划、规格文档、图表和研究资料发布到 Streamlit 公共 Wiki,并在 PR 中链接。它指导贡献者筛选文件、排除敏感内容,并为评审者添加文档链接。

主要功能

  1. 01向 Wiki 上传 PR 资料
  2. 02将通用参考资料单独归档
  3. 03排除敏感及无关文件
  4. 04提交更改并推送到 master
  5. 05在 PR 评论中附上文档链接

适用场景

  1. 01与 PR 评审者分享实现计划
  2. 02发布变更相关的架构图
  3. 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
)

如果因冲突导致推送失败:

  1. 运行 git pull --rebase origin master
  2. 手动解决冲突
  3. 运行 git rebase --continue
  4. 再次推送

切勿使用 --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 直接相关的文件或通用参考材料

评论

支持 Markdown