协作头脑风暴
brainstorming
在实现前澄清需求、探索设计选择,并形成清晰的开发方向。
open-pr【开发与工程】Prepare arcade-mcp changes for review by verifying intended behavior, filling the repository PR template, and creating or updating the PR. Use for "open a PR", "get this reviewed", or "make this PR ready". Resume existing work. PR preparation is separate from releasing; use a code-review skill for review-only requests.
独立 GitHub 快照 · 自动分类 · 以原作者文档为准
Deliver a focused PR with an accurate description and evidence supporting its intended behavior. The author owns the job, behavior, approach decisions, and outcome, and stays responsible for AI-assisted work; line-by-line recall is not a prerequisite.
Follow CLAUDE.md and .github/PULL_REQUEST_TEMPLATE.md. Link issues and design discussions rather than reconstructing them in the PR.
Use the GitHub and issue-tracker tools the user chose. Discover available operations before assuming a CLI, connector, or credentials exist. Keep local git operations local. If a needed remote operation is unavailable, finish local preparation and report the exact missing capability; do not silently switch tools or claim the operation succeeded.
CLAUDE.md and the PR template. Inspect the working tree, staged changes, branch, upstream, remotes, and any existing PR. Confirm the destination repository and base; use the existing PR's base or main unless the task specifies otherwise. Fetch the base before assessing the diff.A request to open a PR authorizes routine commits, pushing the task branch, and creating a Draft. A request to get work reviewed also authorizes marking it ready once vetted; preserve an existing Ready state. Honor text-only requests. Merging, reviewer assignment, and releasing require the corresponding user request; do not expand "open a PR" into those actions.
Use the issue and linked discussion as the expected behavior. The implementation and tests are evidence to examine, not the source of truth for what should happen. If those sources conflict, identify the concrete decision needed rather than silently rewriting the contract to fit the code.
Load only the relevant entry points:
CLAUDE.md's architecture notes for the touched area, and docs the change affects. Note whether the change touches the MCP side (MCPServer, transports), the Arcade Worker side (libs/arcade-serve/), or both through the shared ToolCatalog / create_arcade_mcp().make check (pre-commit + mypy per lib) and make test, or targeted uv run pytest libs/tests/<area>/... while iterating; CI runs .github/workflows/main.yml on Python 3.10–3.14 across Linux, macOS, and Windows. Changes to arcade-core or arcade-tdk need checks for the libs that depend on them. Always use uv run, never bare python or pip.pyproject.toml once per branch (check git diff main first), and raise the dependency floor in dependent libs for breaking cross-library changes. release-on-version-change.yml publishes on version changes, so a bump is a release decision; call it out.Choose verification proportional to the change:
examples/mcp_servers/ with arcade mcp stdio or arcade mcp http (or MCP Inspector) and drive the changed path; for worker changes, call the /worker/* endpoints with ARCADE_WORKER_SECRET set; for CLI changes, run the command. Check the normal path and plausible boundary, failure, or regression paths. Anything reachable from the stdio transport must leave stdout/stderr clean. Documentation changes need rendering/link checks, not unrelated suites.libs/tests/; do not invent additional tests for trivial, reversible changes.-k, or skipped tests (evals tests skip without anthropic/openai installed) prove nothing. Record revision, command, observed result, and limits in working notes; put only the useful summary in the PR. Reuse applicable evidence; rerun checks affected by edits, including formatter changes before committing.Do the checks available to you. Ask the engineer only for missing access, a behavior decision, or experience/judgment you cannot supply. Reuse their earlier vetting when it still covers the outcome; do not add a ritual sign-off question. Never claim the engineer personally used or approved something because an agent did it. Surface material gaps with what remains to be checked and why.
Use the actual template:
Closes #123 for a GitHub issue or Closes ABC-123 for Linear. Use Closes when merging this PR completes the issue, and Part of when it is only one piece of it.Three to five sentences per section is a ceiling, not a quota. One sentence may be enough. Use bullets if clearer; keep detail required to assess a consequential risk. Remove template instructions, empty optional sections, file inventories, coding diaries, and unsupported adjectives. Preserve automation-managed blocks and relevant collaborator edits when updating an existing body.
Write the title in Conventional Commits format, type(scope): summary, where type is feat, fix, or chore and scope is the lib or area (fix(arcade-mcp-server):, feat(arcade-cli):, chore(ci):). Keep issue IDs out of the title; they go on the Closes / Part of line. Check that the description explains why it matters, what changes, the important choice, and the evidence, without making the reader reconstruct these from the diff. Update it to match the final implementation after revisions.
Before a requested promotion to Ready:
If these are not met, continue preparation or leave the PR Draft with the specific gap. If an existing Ready PR gains a material blocker, flag it rather than silently treating it as ready.
If a check or review starts only after Ready, do not wait for it on a Draft. Once the pre-Ready conditions are met, perform the authorized promotion, then inspect those results. Pending review or required approval still blocks merging; report it explicitly. Never report code as released because a PR was opened, approved, or merged; a release happens only when release-on-version-change.yml publishes it.
End with the PR link, a short account of the change and validation, and any remaining blocker or decision. Do not paste the full description into the handoff.
When changing this workflow, replay the offline scenarios in evals/cases.json in fresh contexts, withholding expectations from the executing agent. Grade its actions and evidence claims; formatting checks alone cannot validate readiness decisions.