← 返回 Skills 市场
nobodyiam

Apollo Issue Review

作者 Jason Song · GitHub ↗ · v1.0.0
cross-platform ⚠ suspicious
555
总下载
2
收藏
0
当前安装
1
版本数
在 OpenClaw 中安装
/install apollo-issue-review
功能描述
Review Apollo ecosystem issues with a classify-first workflow (reproduce for behavior issues, evidence-check for consultative asks) and draft maintainer-grad...
使用说明 (SKILL.md)

Apollo Issue Review

Follow this workflow to review an Apollo issue and produce a concise maintainer response.

Core Principles

  • Classify first: behavior/regression issue vs consultative/support question.
  • For behavior/regression issues: reproduce first, theorize second.
  • For consultative/support questions (for example "is there an official script/doc"): do evidence check first and answer directly; do not force "reproduced/not reproduced" wording.
  • Solve the user ask, do not debate whether the user is right or wrong.
  • If behavior is already reproduced and conclusion is stable, do not ask for extra info.
  • Do not default to "version regression" analysis unless the user explicitly asks for version comparison or it changes the recommendation.
  • Match the issue language: English issue -> English reply, Chinese issue -> Chinese reply (unless the user explicitly asks for bilingual output).
  • Use canonical Apollo module names from repository reality (AGENTS/module layout/root pom.xml), and correct misnamed terms succinctly when needed.
  • If an existing comment already answers the same ask (including bot replies), avoid duplicate long replies; prefer a short addendum that only contributes corrections or missing deltas.
  • Never wrap GitHub @mention handles in backticks/code spans; use plain @handle so notifications are actually triggered.
  • If a community user volunteers to implement ("认领"/"first contribution"), acknowledge and encourage first, then evaluate the proposal with explicit feasibility boundaries and concrete refinement suggestions.
  • For OpenAPI-related asks, explicitly separate Portal web APIs (e.g., /users) and OpenAPI endpoints (e.g., /openapi/v1/*); only claim "OpenAPI supports X" when token-based OpenAPI path is verified.
  • Before concluding "capability not available", cross-check code + docs/scripts + module/dependency hints from pom.xml to avoid false negatives caused by path assumptions.

Input Contract

Collect or derive these fields before review:

  • repo: \x3Cowner>/\x3Crepo>
  • issue_number: numeric ID
  • issue_context: title/body/comments
  • publish_mode: draft-only (default) or post-after-confirm
  • output_mode: human (default) or pipeline

Optional but recommended:

  • known_labels: existing labels on the issue
  • desired_outcome: whether user wants only triage or triage + implementation handoff

If issue_number or issue_context is missing, ask one short clarification before continuing.

Workflow

  1. Collect issue facts and user ask
  • Read issue body and comments before concluding.
  • Extract: primary ask, symptom, expected behavior, actual behavior, and whether user asks one path or an either-or path.
  • Keep user asks explicit (for example "better parsing API OR raw text API": answer both).
  • Detect whether the thread includes a contribution-claim ask (for example "can I take this issue?") and treat it as a guidance+boundary response, not only a capability yes/no response.
  • Detect main language from issue title/body/recent comments and set reply language before drafting.
  • Decide issue type up front:
    • behavior/regression (needs reproducibility check)
    • consultative/support (needs evidence check)
  • Normalize names to canonical module/service terms used by Apollo repo (e.g., apollo-portal, not invented service names).
  • If GitHub API access is unstable, use:
curl -L -s https://api.github.com/repos/\x3Cowner>/\x3Crepo>/issues/\x3Cid>
curl -L -s https://api.github.com/repos/\x3Cowner>/\x3Crepo>/issues/\x3Cid>/comments
  1. Run the right validation path (mandatory)
  • For behavior/regression issues:
    • Build a minimal, local, runnable reproduction for the reported behavior.
    • Prefer repo-native unit tests or a tiny temporary script over speculation.
    • Record exact observed output and types, not just interpretation.
  • For consultative/support questions:
    • Verify by repository evidence scan (docs/scripts/code paths), not by speculative reproduction framing.
    • For API availability asks, verify in three places before concluding:
      1. actual controller paths, 2) docs/openapi scripts, 3) module/dependency pointers in pom.xml.
    • Record exact files/paths searched and what exists vs does not exist.
  • Example checks:
rg -n "\x3Capi_or_path_related_to_issue>" -S
go test ./... -run \x3Ctarget_test_name>
# or a minimal go run script under /tmp for one-off validation
# consultative evidence scan example:
rg --files | rg -i "\x3Ckeyword1|keyword2>"
rg -n "\x3Ckeyword>" docs scripts apollo-* -S
  1. Branch by validation result
  • Behavior/regression path:
    • If reproducible:
      • State clearly that behavior is confirmed.
      • Identify whether this is supported behavior, usage mismatch, or current feature gap.
      • Then answer user asks directly (existing API/workaround/unsupported).
    • If not reproducible:
      • Ask for minimal missing evidence only:
        • input sample
        • exact read/access code
        • expected vs actual output
      • Keep this short and concrete.
  • Consultative/support path:
    • If capability/script/doc exists: provide exact path/link and usage entry point.
    • If it does not exist: state "currently not available" directly and give one practical alternative.
    • If an existing comment already covered the same conclusion: post only a concise delta/correction instead of repeating the full answer.
  1. Draft maintainer reply (focus on action)
  • Start with a one-paragraph summary in the thread language:
    • behavior/regression issue: reproduction summary (复现结论 / Reproduction Result)
    • consultative/support issue: direct conclusion summary (结论 / Conclusion)
  • Then include:
    • 当前能力与边界: what is supported today and what is not.
    • 可行方案: exact API/command/workaround user can run now.
    • 后续路径: either invite PR with concrete files/tests, or state maintainers may plan it later without overpromising timeline.
  • If the thread includes a contribution-claim proposal, structure the main body as:
    1. appreciation and encouragement, 2) feasibility judgment, 3) concrete implementation refinements (what to reuse vs what not to reuse directly).
  • If user ask is either-or, answer both explicitly.
  • If already confirmed feature gap, do not request more logs/steps by default.
  • Keep wording factual and concise.
  • Use canonical module names in final wording; if the issue uses a non-canonical name, correct it briefly without derailing the answer.
  • If there is already a correct prior comment, prefer "reference + minimal supplement" format.
  • If you mention users/bots, keep mentions as plain text (e.g., @dosubot), not code-formatted mention strings.
  • Use localized section labels and wording by issue language (for example: Reproduction Result / Current Support Boundary / Practical Path / Next Step in English threads).
  1. Ask for publish confirmation (mandatory gate)
  • Default behavior: generate draft only; do not post automatically.
  • Present the exact comment body first, then ask for confirmation in the same thread.
  • Use a direct question in the same language as the thread, e.g.:
    • Chinese: 是否直接发布到 issue #\x3Cid>?回复“发布”或“先不发”。
    • English: Post this to issue #\x3Cid> now? Reply "post" or "hold".
  • Treat no response or ambiguous response as not approved.
  1. Post the response only after explicit confirmation
  • Allowed confirmation examples: 发布 / 帮我发 / 直接回复上去.
  • If user intent is unclear, ask one short clarification question before any post command.
  • Preferred:
gh api repos/\x3Cowner>/\x3Crepo>/issues/\x3Cid>/comments -f body='\x3Creply>'
  • Fallback when gh transport is unstable:
TOKEN=$(gh auth token)
curl --http1.1 -sS -X POST \
  -H "Authorization: token $TOKEN" \
  -H "Accept: application/vnd.github+json" \
  -d '{"body":"\x3Creply>"}' \
  https://api.github.com/repos/\x3Cowner>/\x3Crepo>/issues/\x3Cid>/comments
  • After posting, return the comment URL as evidence.

Output Contract

Default (output_mode=human) output should be human-friendly:

  1. Issue Summary
  • issue type + confidence
  • validation result (reproduced / not reproduced / evidence result)
  1. Triage Suggestion
  • labels to add
  • missing information (if any)
  • whether it is ready for implementation handoff
  1. Draft Maintainer Reply
  • First sentence must match issue type:
    • behavior/regression: reproducibility status (已复现/暂未复现 or Reproduced/Not yet reproduced)
    • consultative/support: direct availability conclusion
  • Include at least one concrete API/code path/file reference.
  • If unsupported today: include support boundary + practical workaround + next path.
  • If reproducible and conclusion is stable: do not request extra data.
  • If not reproducible: request only minimal reproducible inputs.
  • If prior comment already solved the ask: provide concise delta only.
  • Do not present unverified root cause as fact.
  • Keep language matched to issue language unless user asks otherwise.
  1. Publish Gate
  • If no explicit publish confirmation exists, end with:
    • Chinese: 是否直接发布到 issue #\x3Cid>?回复“发布”或“先不发”。
    • English: Post this to issue #\x3Cid> now? Reply "post" or "hold".

If output_mode=pipeline, append one machine-readable block after the human output:

handoff:
  issue_classification:
    type: "功能咨询|问题排查|技术讨论|Bug 反馈|Feature request"
    validation_path: "behavior-regression|consultative-support"
    confidence: "high|medium|low"
  triage_decision:
    labels_to_add: []
    missing_info_fields: []
    ready_for_issue_to_pr: false
    ready_reason: ""
  implementation_handoff:
    goal: ""
    acceptance_criteria: []
    suggested_modules: []
    risk_hints: []

Load References When Needed

  • Use references/diagnostic-playbook.md for scenario-specific diagnostics and command snippets.
  • Use references/reply-templates.md for reusable Chinese maintainer reply skeletons.
安全使用建议
This skill appears to be what it claims (an Apollo issue triage + reply workflow) but it implicitly expects a developer environment: git, ripgrep (rg), mvn, go, arthas, curl/gh, and access to the repository to scan/build/run reproductions. Before installing, confirm where the agent will run and whether it will have filesystem/repo access and any GitHub tokens. If you will run it in a shared or production environment, restrict its filesystem scope and avoid granting tokens. Also verify that the 'Publish Confirmation Gate' is enforced in the runtime (so it cannot post comments without an explicit human '发布' confirmation). If you want to reduce risk, request the skill author to (a) declare required binaries/tools, (b) document exactly what repo/file access is needed, and (c) optionally provide a mode that only performs offline analysis of supplied issue text (no repo builds or network calls).
功能分析
Type: OpenClaw Skill Name: apollo-issue-review Version: 1.0.0 The skill bundle is highly suspicious due to extensive use of shell command execution (`curl`, `gh api`, `rg`, `go test`, `go run`, `git`, `mvn`, `trace`) with parameters derived from untrusted user input (issue context). This creates severe prompt injection and shell injection vulnerabilities, potentially leading to Remote Code Execution (RCE) on the agent's host. While these capabilities are plausibly needed for the stated purpose of issue review and reproduction, the lack of explicit input sanitization for command arguments (e.g., `<api_or_path_related_to_issue>`, `<target_test_name>`, `<commit_sha>`) in `SKILL.md` and `references/diagnostic-playbook.md` makes the skill highly exploitable. The agent is also instructed to access the GitHub authentication token via `gh auth token` for posting comments, which is a sensitive operation.
能力评估
Purpose & Capability
The skill's name/description (review Apollo issues and draft maintainer replies) matches the SKILL.md workflow. However, the instructions expect access to repository files and many developer tools (git, rg/ripgrep, mvn, go, arthas, gh, curl, etc.) while the skill declares no required binaries, environment variables, or repo access. That mismatch (expecting a developer environment but not declaring it) is an incoherence the user should be aware of.
Instruction Scope
SKILL.md stays on-topic: it instructs the agent to classify issues, reproduce behavior or perform evidence scans, and to draft replies. It explicitly requires reading issue text/comments and scanning repo files (using tools like rg, git, mvn, go test) and to only post to GitHub after explicit confirmation. It does not instruct the agent to read unrelated system secrets or exfiltrate data to unknown endpoints.
Install Mechanism
This is an instruction-only skill with no install spec and no code files, which is the lowest install risk. Nothing will be downloaded or written by an install step.
Credentials
The skill requests no environment variables or credentials, which is good, but the runtime instructions assume access to the repository and to command-line tools and (optionally) to GitHub APIs. The omission of declared required binaries/tools is disproportionate to the operational expectations. If the agent is given repository access or tokens at runtime, that materially increases the skill's capabilities — the skill does not document or justify such access.
Persistence & Privilege
The skill does not request persistent/always-on presence (always: false) and does not attempt to modify other skills or system-wide settings. It includes an explicit 'Publish Confirmation Gate' to require user confirmation before posting to GitHub, which reduces risk of accidental outbound actions.
如何使用
  1. 确保已安装 OpenClaw(本地或 Docker 部署)
  2. 在对话框中输入安装命令:/install apollo-issue-review
  3. 安装完成后,直接呼叫该 Skill 的名称或使用 /apollo-issue-review 触发
  4. 根据 Skill 的参数说明提供必要输入,即可获得结构化输出
版本历史
v1.0.0
Initial release of apollo-issue-review skill. - Introduces a structured, classify-first workflow for reviewing Apollo ecosystem issues. - Differentiates clearly between behavior/regression issues (reproduction-focused) and consultative/support questions (evidence-focused). - Standardizes maintainer-grade responses to directly answer user asks, clarify support boundaries, and suggest actionable next steps. - Enforces reply language matching, module naming conventions, and proper handling of contribution-claim threads. - Includes mandatory publish confirmation before posting replies.
元数据
Slug apollo-issue-review
版本 1.0.0
许可证
累计安装 0
当前安装数 0
历史版本数 1
常见问题

Apollo Issue Review 是什么?

Review Apollo ecosystem issues with a classify-first workflow (reproduce for behavior issues, evidence-check for consultative asks) and draft maintainer-grad... 它是一个面向 Claude Code / OpenClaw 的 AI Agent Skill 插件,目前累计下载 555 次。

如何安装 Apollo Issue Review?

在 OpenClaw 或 Claude Code 对话框中运行命令「/install apollo-issue-review」即可一键安装,无需额外配置。

Apollo Issue Review 是免费的吗?

是的,Apollo Issue Review 完全免费(开源免费),可自由下载、安装和使用。

Apollo Issue Review 支持哪些平台?

Apollo Issue Review 跨平台运行,可在任意部署了 OpenClaw / Claude Code 的环境中使用(cross-platform)。

谁开发了 Apollo Issue Review?

由 Jason Song(@nobodyiam)开发并维护,当前版本 v1.0.0。

💬 留言讨论