sharing-pr-agent-artifacts

作者: streamlit

將代理生成的產出物(規格、計劃、學習內容)上傳至 streamlit.wiki,以便透過 PR 評論分享。當您有代理產出物需要與他人分享時使用。

npx skills add https://github.com/streamlit/streamlit --skill sharing-pr-agent-artifacts

Sharing PR agent artifacts

Uploads intermediate files (implementation plans, specs, learnings, explorations, architecture diagrams) to streamlit.wiki so they can be linked in PR descriptions and comments. Use this for agent-generated artifacts that are useful for reviewers but don't belong in the main repo.

Important: The wiki repo uses master as its default branch. Always push to master, never create other branches.

Follow the wiki guidelines: After cloning/updating the wiki repo, read and follow agent-wiki/AGENTS.md for the authoritative rules on what to upload and how to organize files.

Public URL pattern:

https://issues.streamlit.app/agent_wiki_explorer?file=<relative-path>

Example: https://issues.streamlit.app/agent_wiki_explorer?file=pull-requests/12345/implementation-plan.md

Prerequisites

  • A PR must exist for the current branch

Workflow

1. Get PR number

gh pr view --json number --jq '.number'

If no PR exists, stop and inform the user.

2. Set up wiki repo

Check if the wiki is already cloned:

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. Create PR directory

mkdir -p agent-wiki/pull-requests/<pr-number>

4. Discover and copy files

Common locations (check these first):

  • work-tmp/ — temporary working files, drafts, exploration notes
  • specs/ — untracked product/tech specs created for this PR

What to include:

  • Specs, plans, design docs (.md)
  • Implementation notes and decisions
  • Architecture diagrams (.png, .svg)
  • Research findings and explorations

Always exclude:

Warning: The wiki is a public repo. Never upload confidential information, internal sensitive discussions, or anything that shouldn't be publicly visible. Since Streamlit is open-source, almost all tech and product related planning documents are fine to share publicly.

  • Files already tracked in the main repo (use git ls-files to check)
  • Credentials, secrets, tokens, API keys (.env, *credentials*, *secret*, *token*, *api_key*)
  • Confidential or internal-only information
  • Test-related artifacts
  • Debug logs and temporary output
  • Build artifacts
  • Large binary files (>10MB)
  • IDE/editor files
  • Files unrelated to the current PR

Copy selected files:

cp <file> agent-wiki/pull-requests/<pr-number>/

5. Commit and push

# 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
)

If push fails due to conflicts:

  1. Run git pull --rebase origin master
  2. Resolve conflicts manually
  3. Run git rebase --continue
  4. Push again

Never use --force.

6. Comment on PR

If new files were added, post a summary comment to the 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
)"

Include only top-level documents relevant to reviewers. Assets embedded in those documents (e.g., images) don't need separate entries.

PR-independent reference files

For documents useful beyond a single PR (deep dives, architecture explorations, research findings), use the references/ directory instead of pull-requests/.

When to use references

  • Codebase explorations not tied to a specific change
  • Architecture deep dives useful for future work
  • Research findings that inform multiple features
  • Decision logs with broader applicability

Workflow

# Create file with date prefix
mkdir -p agent-wiki/references
cp <file> agent-wiki/references/YYYY-MM-DD-<description>.md

Example: 2024-03-15-widget-state-deep-dive.md

Use the same commit/push workflow as PR artifacts (step 5), substituting references/ for pull-requests/ in both the git add command and the commit message (e.g., "Add reference: YYYY-MM-DD-<description>").

Public URL: https://issues.streamlit.app/agent_wiki_explorer?file=references/YYYY-MM-DD-<description>.md

Notes

  • The agent-wiki/ directory is gitignored and persists across sessions
  • Always push to master — never create feature branches or use --force
  • This is a public repo — never push sensitive information
  • Only upload files directly relevant to the current PR or general reference materials

來自 streamlit 的更多技能

building-streamlit-custom-components-v2
streamlit
Builds bidirectional Streamlit Custom Components v2 (CCv2) using `st.components.v2.component`. Use when authoring inline HTML/CSS/JS components or packaged…
creating-streamlit-themes
streamlit
建立並自訂 Streamlit 主題。適用於變更應用程式的顏色、字型或外觀,或使應用程式符合品牌規範。涵蓋 config.toml…
developing-with-streamlit
streamlit
**[必要]** 適用於所有 Streamlit 任務:建立、編輯、除錯、美化、樣式設定、主題設計或最佳化 Streamlit 應用程式。亦為必要…
building-streamlit-custom-components-v2
streamlit
Builds bidirectional Streamlit Custom Components v2 (CCv2) using `st.components.v2.component`. Use when authoring inline HTML/CSS/JS components or packaged…
connecting-streamlit-to-snowflake
streamlit
將 Streamlit 應用程式連接到 Snowflake。適用於設定資料庫連線、管理機密資訊,或從 Streamlit 應用程式查詢 Snowflake 時使用。
creating-streamlit-themes
streamlit
建立與自訂Streamlit主題。用於變更應用程式顏色、字型或外觀,或使應用程式符合品牌規範。涵蓋config.toml…
optimizing-streamlit-performance
streamlit
優化 Streamlit 應用程式效能。適用於應用程式執行緩慢、過於頻繁重新執行或載入大量內容時。涵蓋快取、片段以及靜態與動態…
organizing-streamlit-code
streamlit
為了可維護性而組織 Streamlit 程式碼。在將應用程式結構化為獨立模組和工具時使用。涵蓋關注點分離、保持 UI 程式碼…