/review-discussions — GitHub Discussions Review & Response Workflow
Overview
This workflow reads all open GitHub Discussions, generates a categorized summary, identifies which ones need a response, drafts and posts replies, and optionally creates issues from actionable feature requests. It follows the same flow used for Issues but adapted for the Discussions forum.
Tool mapping note (v3.8): Where steps below say browser_subagent, modern runtimes should substitute with the gh CLI — gh api graphql for reading discussions and mutations for posting comments. WebFetch is acceptable for read-only HTML scraping when GraphQL is overkill, but prefer gh for any write actions.
Codex Execution Notes
- Treat
// turbo / // turbo-all as instructions to use multi_tool_use.parallel for independent reads and GitHub/browser fetches.
- The summary report is a hard stop. Do not post discussion replies or create issues until the user explicitly approves.
// turbo-all
Steps
1. Identify the GitHub Repository
- Run:
git -C <project_root> remote get-url origin to extract the owner/repo
- Parse the owner and repo name from the URL
2. Fetch All Open Discussions
- Use
WebFetch to fetch https://github.com/<owner>/<repo>/discussions
- Parse the discussion list to get all discussion titles, IDs, authors, categories, and dates
- For each discussion, fetch the individual page to read the full content and all comments/replies
3. Summarize All Discussions
For each discussion, extract:
- Title and #Number
- Author (GitHub username)
- Category (Announcements, General, Ideas, Q&A, Show and tell)
- Date created
- Summary of the original post (1-2 sentences)
- Comments count and key participants
- Your previous response (if any)
- Pending action — whether a response or follow-up is needed
4. Present Summary Report to User
Present the full summary to the user organized by category, using a table:
| # |
Category |
Title |
Author |
Date |
Status |
| #N |
Ideas |
Title |
@user |
Mar 23 |
⚠️ Needs response |
| #N |
Q&A |
Title |
@user |
Mar 9 |
✅ Answered |
| #N |
General |
Title |
@user |
Mar 19 |
⚠️ Needs response |
Highlight:
- ⚠️ Needs response — No reply from maintainer, or a follow-up comment was left unanswered
- ✅ Answered — Maintainer already responded
- 🐛 Bug reported — A bug was mentioned that needs tracking
- 💡 Actionable — Contains a concrete feature request that could become an issue
5. Draft & Post Responses
For each discussion that needs a response, draft a reply following these guidelines:
Response Style
- Friendly and professional — Start with "Hey @username!"
- Acknowledge the contribution — Thank the user for their input
- Be specific — Reference existing features, settings, or dashboard pages if the feature already exists
- Provide workarounds — If the request isn't implemented yet, suggest current alternatives
- Commit to action — If the request is valid, state that you'll open an issue or add it to the roadmap
- Keep it concise — 3-5 paragraphs max
Posting via Browser
- Use
browser_subagent to navigate to each discussion and post the comment
- IMPORTANT: When typing text in GitHub comment boxes via the browser, use only plain ASCII characters:
- Use regular hyphens
- instead of em-dashes
- Use
-> instead of arrow symbols
- Do NOT use emoji Unicode characters (the browser keyboard may fail on them)
- Use
**bold** and \code`` markdown formatting
- Click the green "Comment" button (or "Reply" for threaded replies) after typing
- Verify the comment was posted by checking the page shows the new comment
6. Create Issues from Actionable Feature Requests
For discussions that contain concrete, actionable feature requests:
- Ask the user which ones should become issues
- For each approved request, create a GitHub issue via
browser_subagent:
- Navigate to
https://github.com/<owner>/<repo>/issues/new
- Title:
<Feature Name> - <Short description>
- Body should include:
## Feature Request header
**Source:** Discussion #N by @author
## Problem — What limitation the user hit
## Proposed Solution — How it could work
### Implementation Ideas — Technical approach
### Current Workarounds — What users can do today
## Additional Context — Links to related issues/discussions
- Add
enhancement label
- Click "Submit new issue" / "Create"
- After creation, go back to the original discussion and post a comment linking to the new issue:
- "I've opened Issue #N to track this feature request. Follow along there for updates!"
7. Final Report
Present a final summary to the user:
| Discussion |
Action Taken |
| #N — Title |
Responded with workarounds |
| #N — Title |
Responded + created Issue #N |
| #N — Title |
Already answered, no action needed |
| #N — Title |
Responded to follow-up comment |
Notes
- This workflow is interactive — always present the summary and wait for user approval before posting responses or creating issues
- If the user says "pode responder" (or similar approval), proceed with posting all drafted responses
- For discussions in non-English languages, respond in the same language as the original post
- Always reference specific dashboard paths, config options, or code files when explaining existing features
- When a discussion reveals a bug, note it separately from feature requests
1---2name: review-discussions-cx3description: Read all open GitHub Discussions, summarize them, respond to pending ones, and create issues from actionable feature requests4---56# /review-discussions — GitHub Discussions Review & Response Workflow78## Overview910This workflow reads all open GitHub Discussions, generates a categorized summary, identifies which ones need a response, drafts and posts replies, and optionally creates issues from actionable feature requests. It follows the same flow used for Issues but adapted for the Discussions forum.1112> **Tool mapping note (v3.8):** Where steps below say `browser_subagent`, modern runtimes should substitute with the `gh` CLI — `gh api graphql` for reading discussions and mutations for posting comments. `WebFetch` is acceptable for read-only HTML scraping when GraphQL is overkill, but prefer `gh` for any write actions.1314## Codex Execution Notes1516- Treat `// turbo` / `// turbo-all` as instructions to use `multi_tool_use.parallel` for independent reads and GitHub/browser fetches.17- The summary report is a hard stop. Do not post discussion replies or create issues until the user explicitly approves.1819// turbo-all2021## Steps2223### 1. Identify the GitHub Repository2425- Run: `git -C <project_root> remote get-url origin` to extract the owner/repo26- Parse the owner and repo name from the URL2728### 2. Fetch All Open Discussions2930- Use `WebFetch` to fetch `https://github.com/<owner>/<repo>/discussions`31- Parse the discussion list to get all discussion titles, IDs, authors, categories, and dates32- For each discussion, fetch the individual page to read the full content and all comments/replies3334### 3. Summarize All Discussions3536For each discussion, extract:3738- **Title** and **#Number**39- **Author** (GitHub username)40- **Category** (Announcements, General, Ideas, Q&A, Show and tell)41- **Date** created42- **Summary** of the original post (1-2 sentences)43- **Comments count** and key participants44- **Your previous response** (if any)45- **Pending action** — whether a response or follow-up is needed4647### 4. Present Summary Report to User4849Present the full summary to the user organized by category, using a table:5051| # | Category | Title | Author | Date | Status |52| --- | -------- | ----- | ------ | ------ | ----------------- |53| #N | Ideas | Title | @user | Mar 23 | ⚠️ Needs response |54| #N | Q&A | Title | @user | Mar 9 | ✅ Answered |55| #N | General | Title | @user | Mar 19 | ⚠️ Needs response |5657Highlight:5859- **⚠️ Needs response** — No reply from maintainer, or a follow-up comment was left unanswered60- **✅ Answered** — Maintainer already responded61- **🐛 Bug reported** — A bug was mentioned that needs tracking62- **💡 Actionable** — Contains a concrete feature request that could become an issue6364### 5. Draft & Post Responses6566For each discussion that needs a response, draft a reply following these guidelines:6768#### Response Style6970- **Friendly and professional** — Start with "Hey @username!"71- **Acknowledge the contribution** — Thank the user for their input72- **Be specific** — Reference existing features, settings, or dashboard pages if the feature already exists73- **Provide workarounds** — If the request isn't implemented yet, suggest current alternatives74- **Commit to action** — If the request is valid, state that you'll open an issue or add it to the roadmap75- **Keep it concise** — 3-5 paragraphs max7677#### Posting via Browser7879- Use `browser_subagent` to navigate to each discussion and post the comment80- **IMPORTANT**: When typing text in GitHub comment boxes via the browser, use only plain ASCII characters:81 - Use regular hyphens `-` instead of em-dashes82 - Use `->` instead of arrow symbols83 - Do NOT use emoji Unicode characters (the browser keyboard may fail on them)84 - Use `**bold**` and `\`code\`` markdown formatting85- Click the green "Comment" button (or "Reply" for threaded replies) after typing86- Verify the comment was posted by checking the page shows the new comment8788### 6. Create Issues from Actionable Feature Requests8990For discussions that contain concrete, actionable feature requests:91921. Ask the user which ones should become issues932. For each approved request, create a GitHub issue via `browser_subagent`:94 - Navigate to `https://github.com/<owner>/<repo>/issues/new`95 - **Title**: `<Feature Name> - <Short description>`96 - **Body** should include:97 - `## Feature Request` header98 - `**Source:** Discussion #N by @author`99 - `## Problem` — What limitation the user hit100 - `## Proposed Solution` — How it could work101 - `### Implementation Ideas` — Technical approach102 - `### Current Workarounds` — What users can do today103 - `## Additional Context` — Links to related issues/discussions104 - Add `enhancement` label105 - Click "Submit new issue" / "Create"1063. After creation, go back to the original discussion and post a comment linking to the new issue:107 - "I've opened Issue #N to track this feature request. Follow along there for updates!"108109### 7. Final Report110111Present a final summary to the user:112113| Discussion | Action Taken |114| ---------- | ---------------------------------- |115| #N — Title | Responded with workarounds |116| #N — Title | Responded + created Issue #N |117| #N — Title | Already answered, no action needed |118| #N — Title | Responded to follow-up comment |119120## Notes121122- This workflow is **interactive** — always present the summary and wait for user approval before posting responses or creating issues123- If the user says "pode responder" (or similar approval), proceed with posting all drafted responses124- For discussions in non-English languages, respond in the same language as the original post125- Always reference specific dashboard paths, config options, or code files when explaining existing features126- When a discussion reveals a bug, note it separately from feature requests