bug-triage

作者: apify

分類處理 apify/apify-mcp-server 上的未解決錯誤問題。分析、草擬回覆、取得批准、發布。

npx skills add https://github.com/apify/apify-mcp-server --skill bug-triage

Bug Triage

Triage open bug issues on apify/apify-mcp-server. Analyze, draft responses, get approval, post.

Permissions

  • Read-only by default: listing issues (gh issue list), viewing details and comments (gh issue view) — do these automatically, no need to ask.
  • Write requires approval: commenting (gh issue comment), closing (gh issue close), editing (gh issue edit) — always present the draft and wait for explicit user approval before executing.

Step 0: Parse arguments

$ARGUMENTS controls scope:

InputBehavior
623 641 639Triage specific issue numbers
--label bugTriage all open issues with label (default: bug)
--allTriage all open bug-labeled issues
(empty)Same as --all

Step 1: Fetch issues

Use the arguments parsed in Step 0 to determine what to fetch.

If specific issue numbers were provided, skip the list queries and fetch each issue directly:

gh issue view <number> --repo apify/apify-mcp-server --comments

Otherwise (label mode, --all, or empty), fetch open bug reports. Use the label from Step 0 (default: bug). Bug reports come in two forms — find both:

  1. By label: issues with the parsed label
  2. By title prefix: issues with [Bug] in the title (the bug report template adds this, but the label isn't always applied)
# By label (use the label from Step 0, default: bug)
gh issue list --repo apify/apify-mcp-server --label <label> --state open --json number,title,labels,createdAt,body --limit 30

# By title prefix (catches unlabeled bug reports)
gh issue list --repo apify/apify-mcp-server --state open --search "[Bug] in:title" --json number,title,labels,createdAt,body --limit 30

Merge both lists and deduplicate by issue number.

For each issue, fetch full details including all comments (comments often contain the real context):

gh issue view <number> --repo apify/apify-mcp-server --comments

Always read comments before drafting a response. Previous team members may have already replied, asked for details, or provided workarounds. Don't duplicate existing responses.

Step 2: Categorize each issue

Assign one of these categories:

CategoryCriteriaTypical action
Known fixRoot cause is clear, documented fix existsDraft response with fix, optionally close
Not our bugServer logs show it works; issue is in the MCP client (Claude Desktop, Cowork, etc.)Explain findings, suggest workaround
DuplicateSame root cause as another open issueComment with link, close as duplicate
Needs infoNo logs, no config, vague descriptionAsk for specifics
StaleWe asked for info, no reply for 2+ weeksClose with helpful pointer
Actionable bugReal server-side bug we need to fixAcknowledge, investigate further

Common root causes (from past triage)

These patterns recur. Check for them first:

  1. SSE endpoint removed (April 1, 2026): Users on /sse URLs get connection failures. Fix: switch to https://mcp.apify.com (streamable HTTP).

  2. "Tools connected but Claude ignores them": MCP server logs show successful handshake and tools/list, but Claude doesn't use the tools in conversation. This is a Claude Desktop/Cowork behavior, not an Apify server bug. Users need to explicitly ask Claude to use Apify tools.

  3. "Unable to connect to extension server": Claude Desktop extension install issues. Usually caused by corrupted npx cache, Claude silently downgrading the extension, or Node.js not on the GUI app's PATH. Fix: use the remote server https://mcp.apify.com as a custom connector.

  4. npx cache corruption: Stale cache prevents stdio server from starting. Fix: rm -rf ~/.npm/_npx (macOS/Linux) or rmdir /s /q %LOCALAPPDATA%\npm-cache\_npx (Windows).

  5. Claude Desktop connector downgrade: Claude Desktop silently downgrades connectors to older versions. Fix: remove and re-add the connector.

Step 3: Draft response

Style rules:

  • Developer-to-developer, plain language
  • Concise — 3-8 lines typical, no fluff
  • Acknowledge the issue and apologize briefly if the user is stuck
  • Reference documentation when a fix or troubleshooting guide exists
  • If the server works correctly (logs prove it), say so clearly
  • If closing, explain why and point to where to go next

Key documentation links:

  • Setup guide: https://docs.apify.com/platform/integrations/mcp
  • Claude Desktop troubleshooting: https://docs.apify.com/platform/integrations/claude-desktop#troubleshooting
  • Configurator: https://mcp.apify.com

Use Apify MCP tools (search-apify-docs, fetch-apify-docs) to find the right doc link if the issue touches a topic not covered above.

The default recommendation for connection issues is the remote server:

Add a custom connector in Claude Desktop with URL https://mcp.apify.com and follow the OAuth flow.

Step 4: Present and get approval

Present each issue to the user with:

  1. Issue number + title + link (https://github.com/apify/apify-mcp-server/issues/<number>)
  2. Category (from Step 2)
  3. Summary — one line on what's going on
  4. Proposed response — the draft comment in a blockquote
  5. Proposed action — comment only / comment + close / close as duplicate of #X / skip

MANDATORY: Wait for explicit user approval before posting anything. Never post, close, or modify an issue without the user saying yes.

Step 5: Post

After approval:

# Comment only
gh issue comment <number> --repo apify/apify-mcp-server --body "<response>"

# Comment + close
gh issue comment <number> --repo apify/apify-mcp-server --body "<response>" && \
gh issue close <number> --repo apify/apify-mcp-server

# Close as duplicate
gh issue comment <number> --repo apify/apify-mcp-server --body "Closing as a duplicate of #<other> — same root cause. We'll track and update there." && \
gh issue close <number> --repo apify/apify-mcp-server

Then move to the next issue. After the last one, print a summary table:

IssueCategoryAction taken
#623Known fixCommented, SSE migration
#639DuplicateClosed as dup of #641
.........

來自 apify 的更多技能

apify-influencer-brand-collabs
apify
探索Instagram品牌與創作者的合作關係,透過串聯Apify Actors。當使用者詢問某品牌與誰合作、某創作者曾與哪些品牌進行付費合作時使用…
official
dig
apify
用於在 Apify MCP 伺服器上探索、規劃與規格化工作的靈活技能。請勿編輯原始檔案——此技能僅供理解與規劃使用。
official
apify-financial-news
apify
探索並提取追蹤投資組合公司在33個經認證的一級來源(彭博、路透、金融時報、華爾街日報、IntelliNews、ČTK、PAP、BTA…)中的財經新聞。
official
apify-actor-development
apify
建立、除錯及部署無伺服器雲端程式,用於網頁爬取、自動化及資料處理。支援 JavaScript、TypeScript 及 Python 範本,內建 Crawlee、Playwright 與 Cheerio 函式庫,適用於 HTTP 及瀏覽器爬取。包含透過 apify run 進行本地測試(具備隔離儲存)、輸入/輸出結構驗證,以及透過 apify push 部署至 Apify 平台。需進行 Apify CLI 驗證,並在 .actor/actor.json 中強制加入 generatedBy 元資料以供 AI 使用...
official
apify-actorization
apify
將現有專案轉換為無伺服器 Apify Actors,並整合語言專屬 SDK。支援 JavaScript/TypeScript(使用 Actor.init() / Actor.exit())、Python(非同步上下文管理器),以及透過 CLI 包裝器的任何語言。提供結構化工作流程:使用 apify init 建立專案骨架、套用 SDK 包裝、設定輸入/輸出架構、以 apify run 進行本地測試,再透過 apify push 部署。包含輸入與輸出架構驗證、Docker 容器化,以及可選的按事件付費...
official
apify-generate-output-schema
apify
為 Apify Actor 分析其原始碼,生成輸出結構(dataset_schema.json、output_schema.json、key_value_store_schema.json)。用於…
official
apify-ultimate-scraper
apify
自動化網頁爬蟲,為55多個平台選擇最佳Actor,包括Instagram、TikTok、YouTube、Facebook、Google地圖等。涵蓋8大主要平台的55多個預配置Actor,並提供針對特定使用案例的選擇指引(潛在客戶開發、網紅發現、品牌監控、競爭對手分析、趨勢研究)。支援三種輸出格式:快速聊天顯示、CSV匯出或JSON匯出,並可自訂結果數量限制。包含多Actor工作流程模式,適用於複雜...
official
apify-audience-analysis
apify
從Facebook、Instagram、YouTube和TikTok提取受眾人口統計、互動模式及行為數據。支援18個以上專業Actor,涵蓋四個平台的粉絲人口統計、互動指標、留言及個人檔案分析。提供三種輸出格式:快速聊天顯示、CSV匯出或JSON匯出供後續分析。需使用Apify token及mcpc CLI工具;透過動態架構擷取來調整輸入以符合各Actor需求。包含結構化...
official