Token导航 LogoToken导航TokenDH.com
研究检索需要联网github未标认证来源可访问许可证需确认审计提醒

issue-review问题审查

Agent Skill

用于围绕 GitHub 仓库、Issue、Pull Request、分支、提交和代码协作流程提供辅助能力。它适合让 Agent 查询项目状态、整理变更、辅助创建或检查协作事项,并把仓库中的信息转成可执行的下一步。使用时需要区分只读查询和写入操作;涉及创建 PR、修改 Issue、推送分支或访问私有仓库时,应确认 token 权限、目标仓库范围和用户授权。

总安装

759

周安装

31

GitHub Stars

3

下载量

243
CodexClaudeCursorGemini CLI

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

GitHub

来源数

2

许可证

unknown

最后核验

2026-05-01

来源状态

来源可访问

安装方式

通过对话安装

复制提示词发给支持本地命令或 Skills 的 AI 助手,先确认命令和权限,再让它执行。

请帮我安装这个 Agent Skill:issue-review(问题审查)
来源仓库:https://github.com/dedalus-erp-pas/foundation-skills
仓库路径:skills/issue-review
安装命令:
npx skills add https://github.com/dedalus-erp-pas/foundation-skills --skill issue-review
安装前请先检查当前环境是否支持对应 CLI,并向我确认将要执行的命令、安装目录、联网范围和文件读写权限;确认后再执行。

命令行安装

复制命令到本机终端执行。该命令会通过 npx skills 从第三方来源获取 Skill;本站只展示命令,不托管安装包,也不自动执行。

skills.shnpx skills
npx skills add https://github.com/dedalus-erp-pas/foundation-skills --skill issue-review

简介

issue-review 对 GitHub/GitLab Issue 执行多视角自动审查,模拟专家讨论并形成结论。

  • 无需用户确认即可完成三轮 persona 会议,直接在 Issue 发布结构化评论。
  • 依赖 gh/glab CLI 与 issue 系统集成,需提前部署认证并确保评论权限。
  • 适用于复杂问题分析、决策支持和知识沉淀,但输出需经人工验证方可采纳。
  • 适用宿主包括 Codex、Claude、Cursor、Gemini CLI,接入前应确认版本、权限和运行环境要求。

SKILL.md

Issue Review

Run a fully autonomous multi-angle review of a GitLab or GitHub issue using expert personas. The skill fetches issue context, explores the relevant codebase, runs a 3-round persona meeting (opening statements, debate, weighted convergence), and posts a structured review comment directly on the issue — all without asking the user for confirmation.

Prerequisites

When to Use This Skill

Activate when the user:

  • Demande une « revue d'issue » ou « issue review » sur une issue
  • Dit « issue-review #42 » ou « issue-review »
  • Veut analyser une issue sous plusieurs angles avant implémentation
  • Veut un avis structuré sur la faisabilité, la complétude et les risques d'une issue

Core Principles

1. Full Autonomy

  • The entire pipeline runs without asking any user questions (except for closed issues — see Edge Cases)
  • Persona selection is automatic based on issue content analysis
  • The review comment is posted directly on the issue

2. Multi-Angle Analysis

  • Personas review feasibility, completeness, risks, and architecture
  • 3 full rounds ensure genuine debate and richer analysis
  • Each persona brings a genuinely different viewpoint

3. Contextual Depth

  • The skill reads the full issue: description, all comments, labels
  • If a branch is linked, the branch diff is analyzed
  • The existing codebase is explored automatically to give personas informed context

4. Analytical Only

  • This skill does NOT implement anything
  • It produces a review with actionable next steps
  • The team reads the analysis and decides what to do

Workflow

Step 1: Identify and Fetch the Issue

  1. Parse the user's input to extract the issue reference:

- Issue number: #42 - Full URL: https://gitlab.example.com/group/project/-/issues/42 or https://github.com/owner/repo/issues/42 - If no valid issue reference is found, ask the user to provide one

  1. Detect the remote repository type:

- Run git remote -v to determine if the remote is GitLab or GitHub - Store this for Step 7 (posting the comment)

  1. Fetch the issue details:

- GitLab: glab issue view <iid> — title, description, labels, state - GitHub: gh issue view <number> — title, body, labels, state

  1. Fetch all issue comments:

- GitLab: glab issue note list <iid> or glab api /projects/:id/issues/:iid/notes - GitHub: gh issue view <number> --comments

  1. Check issue state:

- If the issue is closed, warn the user and ask for confirmation before proceeding (see Edge Cases) - If the issue is open, proceed normally

  1. Check for minimal content (see Edge Cases):

- If the issue has no description or only a one-line title with no meaningful content, skip the meeting and post a short comment listing what's missing

Step 2: Gather Full Context

Issue Context

  • Issue title, description, and all comments (collected in Step 1)
  • Labels and milestones (for domain detection)

Linked Branch Context

  1. Check for linked branches:

- GitLab: Check the issue for related merge requests via glab api /projects/:id/issues/:iid/related_merge_requests or look for branch references in the issue/comments - GitHub: Check for linked pull requests via gh pr list --search "<issue reference>"

  1. If a branch exists:

- Fetch the diff: git diff main...<branch> (or the appropriate base branch) - Include the diff summary and key file changes in the persona context

Codebase Context

  1. Analyze the issue content to identify which parts of the codebase are relevant:

- File paths, module names, function names, or components mentioned in the issue or comments - Domain keywords that map to specific directories or files

  1. Explore the codebase — read relevant files to understand the current state:

- Use Glob and Grep to find related files - Read the most relevant files (prioritize files explicitly mentioned, then files in related modules) - Understand existing patterns, architecture, and conventions

  1. Build a context summary for the personas including:

- Issue content (description + comments) - Linked branch diff (if any) - Relevant codebase snippets and architecture overview

Step 3: Auto-Select Personas

Automatically select 3-4 personas based on the issue content, labels, and domain. Use these heuristics:

Le sujet concerne...Personas auto-sélectionnés
Backend / API / base de donnéesSOLID Alex (Backend), Whiteboard Damien (Architecte), EXPLAIN PLAN Isabelle (DBA Oracle)
Frontend / UI / UXPixel-Perfect Hugo (Frontend), Figma Fiona (UX/UI), Sprint Zero Sarah (PO), Whiteboard Damien (Architecte)
Sécurité / auth / contrôle d'accèsParanoid Shug (Sécurité), RGPD Raphaël (DPO), SOLID Alex (Backend), Whiteboard Damien (Architecte)
Infrastructure / déploiement / CI-CDPipeline Mo (DevOps), SOLID Alex (Backend), Whiteboard Damien (Architecte)
Données / migration / ETLSchema JB (Data), EXPLAIN PLAN Isabelle (DBA Oracle), Whiteboard Damien (Architecte)
Interopérabilité / HL7 / FHIR / HPKRFC Santiago (PO Interop), HL7 Victor (Dev Interop), SOLID Alex (Backend)
Legacy / Uniface / modernisationLegacy Larry (Uniface), Whiteboard Damien (Architecte), SOLID Alex (Backend)
Tests / qualité / régressionEdge-Case Nico (QA), SOLID Alex (Backend), Pipeline Mo (DevOps)
Produit / fonctionnalité / décision UXSprint Zero Sarah (PO), Pixel-Perfect Hugo (Frontend), Figma Fiona (UX/UI), Whiteboard Damien (Architecte)
Santé / workflows cliniquesDr. Workflow Wendy (Santé), Sprint Zero Sarah (PO), RGPD Raphaël (DPO)
RGPD / données personnelles / conformitéRGPD Raphaël (DPO), Paranoid Shug (Sécurité), Whiteboard Damien (Architecte)
BI / tableaux de bord / reporting / finance / comptabilitéDashboard Estelle (BI Finance), Pixel-Perfect Hugo (Frontend), EXPLAIN PLAN Isabelle (DBA Oracle), Whiteboard Damien (Architecte)
Full-stack / sujet transverseWhiteboard Damien (Architecte), SOLID Alex (Backend), Sprint Zero Sarah (PO), Edge-Case Nico (QA)

Si le sujet couvre plusieurs domaines, choisir les 3-4 personas les plus pertinents.

Pool complet des personas avec rôles, perspectives et biais: see reference/personas.md.

Announce the selected personas and their roles before starting the meeting.

Step 4: Run the Review Meeting

The meeting uses sub-agents to run each persona independently and in parallel. The review meeting runs 3 full rounds for depth.

IMPORTANT: Use the Agent tool to launch each persona as a separate sub-agent.

Round 1: Opening Statements (Parallel Sub-Agents)

Launch one sub-agent per persona in parallel using the Agent tool. Each sub-agent receives:

  1. The issue title and description
  2. All context gathered (comments, branch diff, codebase snippets)
  3. The persona's identity prompt

Sub-agent prompt template:

You are {name}, a {role}.

Your perspective: {perspective}
Your natural bias: {bias}

You are reviewing an issue before implementation. Here is the issue:

**Title:** {issue_title}
**Description:** {issue_description}
**Comments:** {issue_comments}

Codebase context:
{codebase_context}

{branch_diff_context_if_any}

As {name}, provide your review:
1. **Feasibility:** Is this issue feasible as described? What's missing or unclear?
2. **Risks:** What are the top 2-3 risks? Be specific about failure scenarios from your domain.
3. **Completeness:** Are acceptance criteria clear enough to implement? What questions would you ask the PO?
4. **Architecture/Design:** How should this be approached technically? What patterns or constraints apply?
5. **Pushback:** What would you challenge from other typical perspectives?

Stay fully in character. Be concise and actionable. Use concrete examples, not abstract platitudes.

This is a research task — do NOT write or edit any files.

Launch ALL persona sub-agents in a single message so they run in parallel. Use subagent_type: "general-purpose" and a short description like "Review persona: {name}".

Collect all positions and present them as quotes:

SOLID Alex (Senior Backend Engineer): "I think..."

Anti-Groupthink Check

After collecting Round 1 responses, evaluate the consensus level:

  1. Check if all personas converged on the same assessment (same verdict, no meaningful disagreement)
  2. If consensus is too high (all personas agree with no pushback):

- Launch one additional sub-agent as a devil's advocate: You are a devil's advocate reviewing an issue. All reviewers agreed on this assessment: {consensus_summary} Your job: find the strongest possible argument AGAINST this consensus. - What risk did nobody mention? - What assumption are they all making that might be false? - What edge case or failure mode was dismissed too quickly? Be specific and concrete. Reference real failure scenarios. This is a research task — do NOT write or edit any files. - Include the dissenting view in the analysis

  1. If there is already meaningful disagreement: proceed directly to Round 2

Round 2: Debate and Challenges (Parallel Sub-Agents)

Launch a second round of parallel sub-agents — one per persona. Each sub-agent receives:

  1. The issue details
  2. The full set of opening statements from Round 1 (all personas)
  3. The persona's identity prompt

Sub-agent prompt template for Round 2:

You are {name}, a {role}.

Your perspective: {perspective}
Your natural bias: {bias}

You are in a review meeting about this issue:

**Title:** {issue_title}

Here are the opening statements from all reviewers:
{all_opening_statements}

As {name}, react to the other reviewers' positions:
1. Which assessments do you agree with and why?
2. Which assessments do you challenge? Be specific about what's wrong or missing.
3. What risks or gaps have the others missed?
4. Have any of the other statements changed your assessment? If so, how?
5. State your updated verdict: is this issue ready for implementation, needs adjustments, or needs a rethink?

Be direct and create genuine debate. Challenge assumptions. Reference specific points from the other statements. It's OK to disagree strongly. It's also OK to change your mind if convinced.

This is a research task — do NOT write or edit any files.

Launch ALL persona sub-agents in a single message for Round 2.

This round should produce genuine tension. If the sub-agents all agree, add a follow-up prompt to one agent asking it to play devil's advocate on the majority position.

Round 3: Weighted Convergence

After collecting all Round 2 responses, you (the facilitator, not a sub-agent) synthesize the discussion:

  1. Weight positions by domain relevance:

- For each persona, assess how central the issue is to their expertise - A database migration issue: EXPLAIN PLAN Isabelle's position carries more weight than Pixel-Perfect Hugo's - A UI redesign issue: Pixel-Perfect Hugo's position carries more weight than EXPLAIN PLAN Isabelle's

  1. Identify consensus and disagreements:

- Points of agreement across all personas - Unresolved disagreements — list them explicitly - Key risks and gaps that emerged from the debate

  1. Assess the issue readiness:

- Ready for implementation: Well-defined, feasible, risks are manageable - Needs adjustments: Feasible but missing details, unclear acceptance criteria, or risks need mitigation - Needs significant rework: Major gaps, unclear scope, architectural concerns unresolved

  1. Compile actionable next steps — concrete checklist items the team can act on

Step 5: Produce the Review Analysis

Write a structured analysis displayed to the user:

## Revue d'issue par personas IA

**Issue :** #XX — [titre de l'issue]

**Participants :** [Name (Role)] | [Name (Role)] | [Name (Role)]

### Contexte
[Résumé métier de l'issue — ce que l'utilisateur/patient/équipe gagne]

### Synthèse de la revue

#### Faisabilité
[Assessment: faisable en l'état / faisable avec réserves / nécessite clarification]

#### Complétude
[Are acceptance criteria clear? What's missing from the spec?]

#### Risques identifiés
- [Risque 1 en impact métier → Mitigation]
- [Risque 2 en impact métier → Mitigation]

#### Points techniques à considérer
[Only when personas surfaced architecture/security/performance concerns — omit section if none]

### Prochaines étapes recommandées
- [ ] [Action 1 — e.g., "Préciser les critères d'acceptation pour le cas X"]
- [ ] [Action 2 — e.g., "Valider l'impact sur le module Y avec l'équipe"]
- [ ] [Action 3]

### Verdict
[One of: ✅ Prête pour implémentation / ⚠️ Nécessite des ajustements avant implémentation / ❌ Nécessite une refonte significative]

Step 6: Post to Issue

Post the review analysis as a comment on the issue. The comment uses the same structure as Step 5, with a footer.

Comment Template (French — PO / Consultant Oriented with Technical Concerns)

## Revue d'issue par personas IA

### Contexte
[Résumé métier de l'issue — ce que l'utilisateur/patient/équipe gagne]

### Participants
| Expert | Rôle | Verdict |
|--------|------|---------|
| [Name] | [Role] | [Position résumée en 1 ligne orientée impact métier] |
| ... | ... | ... |

### Synthèse de la revue

#### Faisabilité
[Assessment formulé en termes d'impact métier et de faisabilité technique]

#### Complétude
[Analyse de la complétude des critères d'acceptation et des cas d'usage décrits]

#### Risques identifiés
- [Risque 1 en impact métier → Mitigation proposée]
- [Risque 2 en impact métier → Mitigation proposée]

#### Points techniques à considérer
[Uniquement si des préoccupations architecture/sécurité/performance ont émergé — omettre cette section si aucun point technique notable]

### Prochaines étapes recommandées
- [ ] [Action 1]
- [ ] [Action 2]
- [ ] [Action 3]

### Verdict
[✅ Prête pour implémentation / ⚠️ Nécessite des ajustements avant implémentation / ❌ Nécessite une refonte significative]

---
_Revue générée automatiquement par IA_

Post the comment using the appropriate tool:

  • GitLab: glab issue note <iid> --message "<comment>"
  • GitHub: gh issue comment <number> --body "<comment>"

If posting fails (API error, permission denied):

  • Output the full review comment in the conversation so nothing is lost
  • Provide a manual command the user can paste to post the comment themselves
  • Record the failure in the Run Summary

Step 7: Run Summary

Always output a structured run summary at the end, regardless of whether the pipeline succeeded or failed.

### Issue Review — Run Summary
- **Issue :** #XX — [titre]
- **Remote :** GitLab / GitHub
- **Personas :** [Name (Role)] | [Name (Role)] | [Name (Role)]
- **Rounds :** 3 (ouverture + débat + convergence)
- **Anti-groupthink :** déclenché / non nécessaire
- **Verdict :** ✅ Prête / ⚠️ Ajustements / ❌ Refonte
- **Commentaire :** publié (#XX) / échec ([raison])
- **Durée totale :** [durée wall-clock]

Edge Cases

Minimal or Empty Issue

If the issue has no description or only a one-line title with no meaningful content:

  1. Do NOT run the persona meeting — there is not enough content to review
  2. Post a short comment in French on the issue listing what's missing:
## Revue d'issue — Contenu insuffisant

Cette issue ne contient pas assez d'informations pour réaliser une revue pertinente.

### Éléments manquants
- [ ] Description détaillée du besoin ou du problème
- [ ] Critères d'acceptation
- [ ] Contexte métier (qui est impacté, quel workflow)
- [ ] [Any other specific gaps detected]

Merci de compléter l'issue puis de relancer la revue.

---
_Revue générée automatiquement par IA_
  1. Output the same message in the conversation and stop

Closed Issue

If the issue is closed:

  1. Warn the user: "Cette issue est fermée. Souhaitez-vous quand même lancer la revue? (utile pour une rétrospective)"
  2. If the user confirms: proceed normally
  3. If the user declines or does not respond: stop

Posting Failure

If the comment cannot be posted to the issue:

  • Output the full review in the conversation
  • Provide a pre-formatted manual command
  • Record the failure in the Run Summary

Meeting Quality Rules

Persona Authenticity

  • Each persona speaks consistently with their role and bias
  • Personas use concrete examples, not abstract platitudes
  • A security engineer talks about attack vectors, not vague "security concerns"
  • A product owner talks about user impact and delivery timelines, not code patterns

Debate Quality

  • At least one persona must disagree with the majority
  • Arguments must reference specific trade-offs (performance vs. maintainability, speed vs. safety)
  • Avoid false consensus — if everyone agrees too quickly, the anti-groupthink check triggers a devil's advocate
  • Personas can change their mind during the debate if convinced

Review Quality

  • The review must be actionable, not vague
  • Risks must include mitigation strategies
  • Next steps must be concrete and checkboxable
  • The verdict must be one of the three defined levels (ready / needs adjustments / needs rework)
  • The analysis is written in French (natural, professional, using "nous")

Examples

Example 1: Well-Defined Feature Issue

User: issue-review #42

→ Fetch issue #42 (feature: add patient notification system)
→ Fetch all comments (3 comments with PO clarifications)
→ No linked branch
→ Explore codebase: notification module, patient service, event system
→ Auto-select: SOLID Alex (Backend), Whiteboard Damien (Architecte), Sprint Zero Sarah (PO), Paranoid Shug (Sécurité)
→ Run 3-round review meeting
→ Verdict: ⚠️ Nécessite des ajustements (missing acceptance criteria for notification preferences)
→ Post review comment on issue #42

Example 2: Issue with Linked Branch

User: issue-review https://github.com/org/repo/issues/15

→ Fetch issue #15 (bug: patient search returns duplicates)
→ Fetch comments (1 comment with reproduction steps)
→ Linked branch: fix/patient-search-duplicates — fetch diff
→ Explore codebase: search service, patient repository, index configuration
→ Auto-select: SOLID Alex (Backend), EXPLAIN PLAN Isabelle (DBA), Edge-Case Nico (QA)
→ Run 3-round review meeting
→ Verdict: ✅ Prête pour implémentation
→ Post review comment on issue #15

Example 3: Incomplete Issue

User: issue-review #99

→ Fetch issue #99 (title only: "Fix the thing")
→ No description, no comments
→ Skip meeting — post "contenu insuffisant" comment
→ List missing elements on issue #99

Example 4: Closed Issue (Retrospective)

User: issue-review #30

→ Fetch issue #30 (closed)
→ Warn user: "Cette issue est fermée. Souhaitez-vous quand même lancer la revue ?"
→ User confirms
→ Proceed with full review pipeline
→ Post review comment on issue #30

Important Notes

  • Never create new labels on GitLab or GitHub. Only use labels that already exist in the project. If no suitable label exists, skip labeling.
  • This skill is analytical only — it does NOT implement code, create branches, or create MRs/PRs
  • The review comment is always in French, PO/consultant oriented, with technical concerns surfaced when needed
  • The codebase is always explored for context, even when no branch is linked
  • The meeting runs 3 full rounds (opening + debate + convergence) for review depth
  • If the remote type cannot be determined, default to gh issue comment (GitHub)
  • The skill supports both GitLab and GitHub issues

适合场景

01

用户想查找某类 Agent Skill 时

02

需要根据任务场景推荐可安装能力包时

03

需要对比不同来源的安装命令和来源信息时

能力概览

能力 1

按任务关键词查找相关 Skills

能力 2

展示可复制的安装命令

能力 3

保留来源站点、仓库和原始说明,方便继续核验

能力 4

展示第三方安全扫描或审计结果

安装后应在对应宿主中按原始 README 的触发条件使用;具体调用方式请以来源页面和 README 为准。

平台分布

Codex

33.43%
按下载量换算81

Claude

28.66%
按下载量换算70

Cursor

19.91%
按下载量换算48

Gemini CLI

10.3%
按下载量换算25

安全审计

Gen Agent Trust Hub

通过

Socket

通过

Snyk

可疑

权限和风险

需要联网

该 Skill 可能需要联网访问来源站点、仓库或外部 API;具体网络访问范围需要结合源码和 README 复核。

安装前确认

本站仅展示第三方公开信息,不托管安装包,不提供自动安装或运行环境。安装前应自行审查源码、依赖和命令行为。来源安全扫描存在 warning/failed 结果,不能写成本站确认安全。当前只有一个来源,正式发布前建议补源仓库或其他目录站核验。

来源信息

继续浏览同类 Skills