mindforge-cc 11.5.0 → 11.6.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (177) hide show
  1. package/.agent/mindforge/skill-tdd.md +53 -0
  2. package/.agent/mindforge/skills-index.md +118 -0
  3. package/.agent/mindforge/systematic-debug.md +60 -0
  4. package/.agent/skills/1password-skill/SKILL.md +156 -0
  5. package/.agent/skills/1password-skill/references/cli-examples.md +31 -0
  6. package/.agent/skills/1password-skill/references/get-started.md +21 -0
  7. package/.agent/skills/article-illustrator/SKILL.md +199 -0
  8. package/.agent/skills/article-illustrator/references/prompt-construction.md +426 -0
  9. package/.agent/skills/article-illustrator/references/style-presets.md +80 -0
  10. package/.agent/skills/article-illustrator/references/styles.md +224 -0
  11. package/.agent/skills/article-illustrator/references/usage.md +50 -0
  12. package/.agent/skills/article-illustrator/references/workflow.md +332 -0
  13. package/.agent/skills/arxiv/SKILL.md +275 -0
  14. package/.agent/skills/blogwatcher/SKILL.md +130 -0
  15. package/.agent/skills/code-wiki/SKILL.md +438 -0
  16. package/.agent/skills/code-wiki/templates/README.md +31 -0
  17. package/.agent/skills/code-wiki/templates/architecture.md +30 -0
  18. package/.agent/skills/code-wiki/templates/getting-started.md +47 -0
  19. package/.agent/skills/code-wiki/templates/module.md +38 -0
  20. package/.agent/skills/codebase-inspection/SKILL.md +109 -0
  21. package/.agent/skills/comic-creator/SKILL.md +240 -0
  22. package/.agent/skills/comic-creator/references/analysis-framework.md +176 -0
  23. package/.agent/skills/comic-creator/references/auto-selection.md +71 -0
  24. package/.agent/skills/comic-creator/references/base-prompt.md +98 -0
  25. package/.agent/skills/comic-creator/references/character-template.md +180 -0
  26. package/.agent/skills/comic-creator/references/ohmsha-guide.md +85 -0
  27. package/.agent/skills/comic-creator/references/partial-workflows.md +106 -0
  28. package/.agent/skills/comic-creator/references/storyboard-template.md +143 -0
  29. package/.agent/skills/comic-creator/references/workflow.md +401 -0
  30. package/.agent/skills/concept-diagrams/SKILL.md +355 -0
  31. package/.agent/skills/concept-diagrams/references/dashboard-patterns.md +43 -0
  32. package/.agent/skills/concept-diagrams/references/infrastructure-patterns.md +144 -0
  33. package/.agent/skills/concept-diagrams/references/physical-shape-cookbook.md +42 -0
  34. package/.agent/skills/creative-ideation/SKILL.md +144 -0
  35. package/.agent/skills/creative-ideation/references/full-prompt-library.md +110 -0
  36. package/.agent/skills/devops-cli/SKILL.md +149 -0
  37. package/.agent/skills/devops-cli/references/app-discovery.md +112 -0
  38. package/.agent/skills/devops-cli/references/authentication.md +59 -0
  39. package/.agent/skills/devops-cli/references/cli-reference.md +104 -0
  40. package/.agent/skills/devops-cli/references/running-apps.md +171 -0
  41. package/.agent/skills/devops-watchers/SKILL.md +103 -0
  42. package/.agent/skills/docker-management/SKILL.md +273 -0
  43. package/.agent/skills/domain-intel/SKILL.md +96 -0
  44. package/.agent/skills/duckduckgo-search/SKILL.md +230 -0
  45. package/.agent/skills/github-auth/SKILL.md +240 -0
  46. package/.agent/skills/github-code-review/SKILL.md +474 -0
  47. package/.agent/skills/github-code-review/references/review-output-template.md +74 -0
  48. package/.agent/skills/github-issues/SKILL.md +363 -0
  49. package/.agent/skills/github-issues/templates/bug-report.md +35 -0
  50. package/.agent/skills/github-issues/templates/feature-request.md +31 -0
  51. package/.agent/skills/github-pr-workflow/SKILL.md +360 -0
  52. package/.agent/skills/github-pr-workflow/references/ci-troubleshooting.md +183 -0
  53. package/.agent/skills/github-pr-workflow/references/conventional-commits.md +71 -0
  54. package/.agent/skills/github-pr-workflow/templates/pr-body-bugfix.md +35 -0
  55. package/.agent/skills/github-pr-workflow/templates/pr-body-feature.md +33 -0
  56. package/.agent/skills/github-repo-management/SKILL.md +509 -0
  57. package/.agent/skills/github-repo-management/references/github-api-cheatsheet.md +161 -0
  58. package/.agent/skills/godmode/SKILL.md +396 -0
  59. package/.agent/skills/godmode/references/jailbreak-templates.md +128 -0
  60. package/.agent/skills/godmode/references/refusal-detection.md +142 -0
  61. package/.agent/skills/hyperframes/SKILL.md +182 -0
  62. package/.agent/skills/hyperframes/references/cli.md +185 -0
  63. package/.agent/skills/hyperframes/references/composition.md +129 -0
  64. package/.agent/skills/hyperframes/references/features.md +289 -0
  65. package/.agent/skills/hyperframes/references/gsap.md +136 -0
  66. package/.agent/skills/hyperframes/references/troubleshooting.md +137 -0
  67. package/.agent/skills/hyperframes/references/website-to-video.md +145 -0
  68. package/.agent/skills/jupyter-live-kernel/SKILL.md +160 -0
  69. package/.agent/skills/kanban-orchestrator/SKILL.md +209 -0
  70. package/.agent/skills/kanban-worker/SKILL.md +188 -0
  71. package/.agent/skills/llm-wiki/SKILL.md +499 -0
  72. package/.agent/skills/meme-generation/SKILL.md +122 -0
  73. package/.agent/skills/node-inspect-debugger/SKILL.md +312 -0
  74. package/.agent/skills/obsidian/SKILL.md +60 -0
  75. package/.agent/skills/osint-investigation/SKILL.md +269 -0
  76. package/.agent/skills/osint-investigation/templates/source-template.md +59 -0
  77. package/.agent/skills/oss-forensics/SKILL.md +422 -0
  78. package/.agent/skills/oss-forensics/references/evidence-types.md +89 -0
  79. package/.agent/skills/oss-forensics/references/github-archive-guide.md +184 -0
  80. package/.agent/skills/oss-forensics/references/investigation-templates.md +131 -0
  81. package/.agent/skills/oss-forensics/references/recovery-techniques.md +164 -0
  82. package/.agent/skills/oss-forensics/templates/forensic-report.md +151 -0
  83. package/.agent/skills/oss-forensics/templates/malicious-package-report.md +43 -0
  84. package/.agent/skills/parallel-cli/SKILL.md +384 -0
  85. package/.agent/skills/pinggy-tunnel/SKILL.md +302 -0
  86. package/.agent/skills/pixel-art/SKILL.md +209 -0
  87. package/.agent/skills/pixel-art/references/palettes.md +49 -0
  88. package/.agent/skills/plan/SKILL.md +331 -0
  89. package/.agent/skills/polymarket/SKILL.md +75 -0
  90. package/.agent/skills/polymarket/references/api-endpoints.md +220 -0
  91. package/.agent/skills/python-debugpy/SKILL.md +368 -0
  92. package/.agent/skills/requesting-code-review/SKILL.md +273 -0
  93. package/.agent/skills/research-paper-writing/SKILL.md +2367 -0
  94. package/.agent/skills/research-paper-writing/references/autoreason-methodology.md +394 -0
  95. package/.agent/skills/research-paper-writing/references/checklists.md +434 -0
  96. package/.agent/skills/research-paper-writing/references/citation-workflow.md +563 -0
  97. package/.agent/skills/research-paper-writing/references/experiment-patterns.md +728 -0
  98. package/.agent/skills/research-paper-writing/references/human-evaluation.md +476 -0
  99. package/.agent/skills/research-paper-writing/references/paper-types.md +481 -0
  100. package/.agent/skills/research-paper-writing/references/reviewer-guidelines.md +433 -0
  101. package/.agent/skills/research-paper-writing/references/sources.md +191 -0
  102. package/.agent/skills/research-paper-writing/references/writing-guide.md +474 -0
  103. package/.agent/skills/research-paper-writing/templates/README.md +251 -0
  104. package/.agent/skills/rest-graphql-debug/SKILL.md +507 -0
  105. package/.agent/skills/s6-container-supervision/SKILL.md +171 -0
  106. package/.agent/skills/scrapling/SKILL.md +328 -0
  107. package/.agent/skills/sherlock/SKILL.md +186 -0
  108. package/.agent/skills/simplify-code/SKILL.md +168 -0
  109. package/.agent/skills/skill-authoring/SKILL.md +158 -0
  110. package/.agent/skills/spike/SKILL.md +190 -0
  111. package/.agent/skills/subagent-driven-development/SKILL.md +345 -0
  112. package/.agent/skills/subagent-driven-development/references/context-budget-discipline.md +53 -0
  113. package/.agent/skills/subagent-driven-development/references/gates-taxonomy.md +93 -0
  114. package/.agent/skills/systematic-debugging/SKILL.md +360 -0
  115. package/.agent/skills/test-driven-development/SKILL.md +336 -0
  116. package/.agent/skills/video-orchestrator/SKILL.md +194 -0
  117. package/.agent/skills/video-orchestrator/references/examples.md +227 -0
  118. package/.agent/skills/video-orchestrator/references/intake.md +166 -0
  119. package/.agent/skills/video-orchestrator/references/kanban-setup.md +278 -0
  120. package/.agent/skills/video-orchestrator/references/monitoring.md +180 -0
  121. package/.agent/skills/video-orchestrator/references/role-archetypes.md +298 -0
  122. package/.agent/skills/video-orchestrator/references/tool-matrix.md +317 -0
  123. package/.agent/skills/web-pentest/SKILL.md +332 -0
  124. package/.agent/skills/web-pentest/references/bypass-techniques.md +133 -0
  125. package/.agent/skills/web-pentest/references/exploitation-techniques.md +204 -0
  126. package/.agent/skills/web-pentest/references/scope-enforcement.md +110 -0
  127. package/.agent/skills/web-pentest/references/vuln-taxonomy.md +81 -0
  128. package/.agent/skills/web-pentest/templates/authorization.md +69 -0
  129. package/.agent/skills/web-pentest/templates/pentest-report.md +178 -0
  130. package/.claude/commands/mindforge/skill-tdd.md +53 -0
  131. package/.claude/commands/mindforge/skills-index.md +118 -0
  132. package/.claude/commands/mindforge/systematic-debug.md +60 -0
  133. package/.mindforge/config.json +2 -2
  134. package/.mindforge/memory/sync-manifest.json +1 -1
  135. package/.mindforge/skills/arxiv/SKILL.md +294 -0
  136. package/.mindforge/skills/blogwatcher/SKILL.md +147 -0
  137. package/.mindforge/skills/code-wiki/SKILL.md +457 -0
  138. package/.mindforge/skills/codebase-inspection/SKILL.md +126 -0
  139. package/.mindforge/skills/concept-diagrams/SKILL.md +373 -0
  140. package/.mindforge/skills/creative-ideation/SKILL.md +162 -0
  141. package/.mindforge/skills/domain-intel/SKILL.md +116 -0
  142. package/.mindforge/skills/duckduckgo-search/SKILL.md +249 -0
  143. package/.mindforge/skills/github-code-review/SKILL.md +493 -0
  144. package/.mindforge/skills/github-issues/SKILL.md +382 -0
  145. package/.mindforge/skills/github-pr-workflow/SKILL.md +379 -0
  146. package/.mindforge/skills/jupyter-live-kernel/SKILL.md +179 -0
  147. package/.mindforge/skills/kanban-orchestrator/SKILL.md +227 -0
  148. package/.mindforge/skills/kanban-worker/SKILL.md +206 -0
  149. package/.mindforge/skills/meme-generation/SKILL.md +141 -0
  150. package/.mindforge/skills/obsidian/SKILL.md +80 -0
  151. package/.mindforge/skills/osint-investigation/SKILL.md +288 -0
  152. package/.mindforge/skills/oss-forensics/SKILL.md +421 -0
  153. package/.mindforge/skills/pixel-art/SKILL.md +228 -0
  154. package/.mindforge/skills/plan/SKILL.md +350 -0
  155. package/.mindforge/skills/requesting-code-review/SKILL.md +292 -0
  156. package/.mindforge/skills/research-paper-writing/SKILL.md +2384 -0
  157. package/.mindforge/skills/scrapling/SKILL.md +345 -0
  158. package/.mindforge/skills/sherlock/SKILL.md +203 -0
  159. package/.mindforge/skills/simplify-code/SKILL.md +187 -0
  160. package/.mindforge/skills/spike/SKILL.md +209 -0
  161. package/.mindforge/skills/subagent-driven-development/SKILL.md +364 -0
  162. package/.mindforge/skills/systematic-debugging/SKILL.md +379 -0
  163. package/.mindforge/skills/test-driven-development/SKILL.md +355 -0
  164. package/.mindforge/skills/web-pentest/SKILL.md +327 -0
  165. package/CHANGELOG.md +88 -0
  166. package/MINDFORGE.md +3 -3
  167. package/README.md +38 -3
  168. package/RELEASENOTES.md +100 -0
  169. package/bin/dashboard/api-router.js +10 -1
  170. package/bin/governance/approve.js +5 -1
  171. package/bin/memory/federated-sync.js +11 -2
  172. package/bin/memory/knowledge-capture.js +10 -1
  173. package/bin/memory/pillar-health-tracker.js +9 -1
  174. package/bin/review/ads-engine.js +2 -2
  175. package/bin/security/trust-boundaries.js +5 -0
  176. package/docs/getting-started.md +42 -5
  177. package/package.json +1 -1
@@ -0,0 +1,363 @@
1
+ ---
2
+ name: github-issues
3
+ description: "Create, triage, label, assign GitHub issues via gh or REST."
4
+ version: 1.1.0
5
+ ---
6
+
7
+ # GitHub Issues Management
8
+
9
+ Create, search, triage, and manage GitHub issues. Each section shows `gh` first, then the `curl` fallback.
10
+
11
+ ## Prerequisites
12
+
13
+ - Authenticated with GitHub (see `github-auth` skill)
14
+ - Inside a git repo with a GitHub remote, or specify the repo explicitly
15
+
16
+ ### Setup
17
+
18
+ ```bash
19
+ if command -v gh &>/dev/null && gh auth status &>/dev/null; then
20
+ AUTH="gh"
21
+ else
22
+ AUTH="git"
23
+ if [ -z "$GITHUB_TOKEN" ]; then
24
+ if _agent_env="${AGENT_HOME:-$HOME/.agent}/.env"; [ -f "$_agent_env" ] && grep -q "^GITHUB_TOKEN=" "$_agent_env"; then
25
+ GITHUB_TOKEN=$(grep "^GITHUB_TOKEN=" "$_agent_env" | head -1 | cut -d= -f2 | tr -d '\n\r')
26
+ elif grep -q "github.com" ~/.git-credentials 2>/dev/null; then
27
+ GITHUB_TOKEN=$(grep "github.com" ~/.git-credentials 2>/dev/null | head -1 | sed 's|https://[^:]*:\([^@]*\)@.*|\1|')
28
+ fi
29
+ fi
30
+ fi
31
+
32
+ REMOTE_URL=$(git remote get-url origin)
33
+ OWNER_REPO=$(echo "$REMOTE_URL" | sed -E 's|.*github\.com[:/]||; s|\.git$||')
34
+ OWNER=$(echo "$OWNER_REPO" | cut -d/ -f1)
35
+ REPO=$(echo "$OWNER_REPO" | cut -d/ -f2)
36
+ ```
37
+
38
+ ---
39
+
40
+ ## 1. Viewing Issues
41
+
42
+ **With gh:**
43
+
44
+ ```bash
45
+ gh issue list
46
+ gh issue list --state open --label "bug"
47
+ gh issue list --assignee @me
48
+ gh issue list --search "authentication error" --state all
49
+ gh issue view 42
50
+ ```
51
+
52
+ **With curl:**
53
+
54
+ ```bash
55
+ # List open issues
56
+ curl -s \
57
+ -H "Authorization: token $GITHUB_TOKEN" \
58
+ "https://api.github.com/repos/$OWNER/$REPO/issues?state=open&per_page=20" \
59
+ | python3 -c "
60
+ import sys, json
61
+ for i in json.load(sys.stdin):
62
+ if 'pull_request' not in i: # GitHub API returns PRs in /issues too
63
+ labels = ', '.join(l['name'] for l in i['labels'])
64
+ print(f\"#{i['number']:5} {i['state']:6} {labels:30} {i['title']}\")"
65
+
66
+ # Filter by label
67
+ curl -s \
68
+ -H "Authorization: token $GITHUB_TOKEN" \
69
+ "https://api.github.com/repos/$OWNER/$REPO/issues?state=open&labels=bug&per_page=20" \
70
+ | python3 -c "
71
+ import sys, json
72
+ for i in json.load(sys.stdin):
73
+ if 'pull_request' not in i:
74
+ print(f\"#{i['number']} {i['title']}\")"
75
+
76
+ # View a specific issue
77
+ curl -s \
78
+ -H "Authorization: token $GITHUB_TOKEN" \
79
+ https://api.github.com/repos/$OWNER/$REPO/issues/42 \
80
+ | python3 -c "
81
+ import sys, json
82
+ i = json.load(sys.stdin)
83
+ labels = ', '.join(l['name'] for l in i['labels'])
84
+ assignees = ', '.join(a['login'] for a in i['assignees'])
85
+ print(f\"#{i['number']}: {i['title']}\")
86
+ print(f\"State: {i['state']} Labels: {labels} Assignees: {assignees}\")
87
+ print(f\"Author: {i['user']['login']} Created: {i['created_at']}\")
88
+ print(f\"\n{i['body']}\")"
89
+
90
+ # Search issues
91
+ curl -s \
92
+ -H "Authorization: token $GITHUB_TOKEN" \
93
+ "https://api.github.com/search/issues?q=authentication+error+repo:$OWNER/$REPO" \
94
+ | python3 -c "
95
+ import sys, json
96
+ for i in json.load(sys.stdin)['items']:
97
+ print(f\"#{i['number']} {i['state']:6} {i['title']}\")"
98
+ ```
99
+
100
+ ## 2. Creating Issues
101
+
102
+ **With gh:**
103
+
104
+ ```bash
105
+ gh issue create \
106
+ --title "Login redirect ignores ?next= parameter" \
107
+ --body "## Description
108
+ After logging in, users always land on /dashboard.
109
+
110
+ ## Steps to Reproduce
111
+ 1. Navigate to /settings while logged out
112
+ 2. Get redirected to /login?next=/settings
113
+ 3. Log in
114
+ 4. Actual: redirected to /dashboard (should go to /settings)
115
+
116
+ ## Expected Behavior
117
+ Respect the ?next= query parameter." \
118
+ --label "bug,backend" \
119
+ --assignee "username"
120
+ ```
121
+
122
+ **With curl:**
123
+
124
+ ```bash
125
+ curl -s -X POST \
126
+ -H "Authorization: token $GITHUB_TOKEN" \
127
+ https://api.github.com/repos/$OWNER/$REPO/issues \
128
+ -d '{
129
+ "title": "Login redirect ignores ?next= parameter",
130
+ "body": "## Description\nAfter logging in, users always land on /dashboard.\n\n## Steps to Reproduce\n1. Navigate to /settings while logged out\n2. Get redirected to /login?next=/settings\n3. Log in\n4. Actual: redirected to /dashboard\n\n## Expected Behavior\nRespect the ?next= query parameter.",
131
+ "labels": ["bug", "backend"],
132
+ "assignees": ["username"]
133
+ }'
134
+ ```
135
+
136
+ ### Bug Report Template
137
+
138
+ ```
139
+ ## Bug Description
140
+ <What's happening>
141
+
142
+ ## Steps to Reproduce
143
+ 1. <step>
144
+ 2. <step>
145
+
146
+ ## Expected Behavior
147
+ <What should happen>
148
+
149
+ ## Actual Behavior
150
+ <What actually happens>
151
+
152
+ ## Environment
153
+ - OS: <os>
154
+ - Version: <version>
155
+ ```
156
+
157
+ ### Feature Request Template
158
+
159
+ ```
160
+ ## Feature Description
161
+ <What you want>
162
+
163
+ ## Motivation
164
+ <Why this would be useful>
165
+
166
+ ## Proposed Solution
167
+ <How it could work>
168
+
169
+ ## Alternatives Considered
170
+ <Other approaches>
171
+ ```
172
+
173
+ ## 3. Managing Issues
174
+
175
+ ### Add/Remove Labels
176
+
177
+ **With gh:**
178
+
179
+ ```bash
180
+ gh issue edit 42 --add-label "priority:high,bug"
181
+ gh issue edit 42 --remove-label "needs-triage"
182
+ ```
183
+
184
+ **With curl:**
185
+
186
+ ```bash
187
+ # Add labels
188
+ curl -s -X POST \
189
+ -H "Authorization: token $GITHUB_TOKEN" \
190
+ https://api.github.com/repos/$OWNER/$REPO/issues/42/labels \
191
+ -d '{"labels": ["priority:high", "bug"]}'
192
+
193
+ # Remove a label
194
+ curl -s -X DELETE \
195
+ -H "Authorization: token $GITHUB_TOKEN" \
196
+ https://api.github.com/repos/$OWNER/$REPO/issues/42/labels/needs-triage
197
+
198
+ # List available labels in the repo
199
+ curl -s \
200
+ -H "Authorization: token $GITHUB_TOKEN" \
201
+ https://api.github.com/repos/$OWNER/$REPO/labels \
202
+ | python3 -c "
203
+ import sys, json
204
+ for l in json.load(sys.stdin):
205
+ print(f\" {l['name']:30} {l.get('description', '')}\")"
206
+ ```
207
+
208
+ ### Assignment
209
+
210
+ **With gh:**
211
+
212
+ ```bash
213
+ gh issue edit 42 --add-assignee username
214
+ gh issue edit 42 --add-assignee @me
215
+ ```
216
+
217
+ **With curl:**
218
+
219
+ ```bash
220
+ curl -s -X POST \
221
+ -H "Authorization: token $GITHUB_TOKEN" \
222
+ https://api.github.com/repos/$OWNER/$REPO/issues/42/assignees \
223
+ -d '{"assignees": ["username"]}'
224
+ ```
225
+
226
+ ### Commenting
227
+
228
+ **With gh:**
229
+
230
+ ```bash
231
+ gh issue comment 42 --body "Investigated — root cause is in auth middleware. Working on a fix."
232
+ ```
233
+
234
+ **With curl:**
235
+
236
+ ```bash
237
+ curl -s -X POST \
238
+ -H "Authorization: token $GITHUB_TOKEN" \
239
+ https://api.github.com/repos/$OWNER/$REPO/issues/42/comments \
240
+ -d '{"body": "Investigated — root cause is in auth middleware. Working on a fix."}'
241
+ ```
242
+
243
+ ### Closing and Reopening
244
+
245
+ **With gh:**
246
+
247
+ ```bash
248
+ gh issue close 42
249
+ gh issue close 42 --reason "not planned"
250
+ gh issue reopen 42
251
+ ```
252
+
253
+ **With curl:**
254
+
255
+ ```bash
256
+ # Close
257
+ curl -s -X PATCH \
258
+ -H "Authorization: token $GITHUB_TOKEN" \
259
+ https://api.github.com/repos/$OWNER/$REPO/issues/42 \
260
+ -d '{"state": "closed", "state_reason": "completed"}'
261
+
262
+ # Reopen
263
+ curl -s -X PATCH \
264
+ -H "Authorization: token $GITHUB_TOKEN" \
265
+ https://api.github.com/repos/$OWNER/$REPO/issues/42 \
266
+ -d '{"state": "open"}'
267
+ ```
268
+
269
+ ### Linking Issues to PRs
270
+
271
+ Issues are automatically closed when a PR merges with the right keywords in the body:
272
+
273
+ ```
274
+ Closes #42
275
+ Fixes #42
276
+ Resolves #42
277
+ ```
278
+
279
+ To create a branch from an issue:
280
+
281
+ **With gh:**
282
+
283
+ ```bash
284
+ gh issue develop 42 --checkout
285
+ ```
286
+
287
+ **With git (manual equivalent):**
288
+
289
+ ```bash
290
+ git checkout main && git pull origin main
291
+ git checkout -b fix/issue-42-login-redirect
292
+ ```
293
+
294
+ ## 4. Issue Triage Workflow
295
+
296
+ When asked to triage issues:
297
+
298
+ 1. **List untriaged issues:**
299
+
300
+ ```bash
301
+ # With gh
302
+ gh issue list --label "needs-triage" --state open
303
+
304
+ # With curl
305
+ curl -s \
306
+ -H "Authorization: token $GITHUB_TOKEN" \
307
+ "https://api.github.com/repos/$OWNER/$REPO/issues?labels=needs-triage&state=open" \
308
+ | python3 -c "
309
+ import sys, json
310
+ for i in json.load(sys.stdin):
311
+ if 'pull_request' not in i:
312
+ print(f\"#{i['number']} {i['title']}\")"
313
+ ```
314
+
315
+ 2. **Read and categorize** each issue (view details, understand the bug/feature)
316
+
317
+ 3. **Apply labels and priority** (see Managing Issues above)
318
+
319
+ 4. **Assign** if the owner is clear
320
+
321
+ 5. **Comment with triage notes** if needed
322
+
323
+ ## 5. Bulk Operations
324
+
325
+ For batch operations, combine API calls with shell scripting:
326
+
327
+ **With gh:**
328
+
329
+ ```bash
330
+ # Close all issues with a specific label
331
+ gh issue list --label "wontfix" --json number --jq '.[].number' | \
332
+ xargs -I {} gh issue close {} --reason "not planned"
333
+ ```
334
+
335
+ **With curl:**
336
+
337
+ ```bash
338
+ # List issue numbers with a label, then close each
339
+ curl -s \
340
+ -H "Authorization: token $GITHUB_TOKEN" \
341
+ "https://api.github.com/repos/$OWNER/$REPO/issues?labels=wontfix&state=open" \
342
+ | python3 -c "import sys,json; [print(i['number']) for i in json.load(sys.stdin)]" \
343
+ | while read num; do
344
+ curl -s -X PATCH \
345
+ -H "Authorization: token $GITHUB_TOKEN" \
346
+ https://api.github.com/repos/$OWNER/$REPO/issues/$num \
347
+ -d '{"state": "closed", "state_reason": "not_planned"}'
348
+ echo "Closed #$num"
349
+ done
350
+ ```
351
+
352
+ ## Quick Reference Table
353
+
354
+ | Action | gh | curl endpoint |
355
+ |--------|-----|--------------|
356
+ | List issues | `gh issue list` | `GET /repos/{o}/{r}/issues` |
357
+ | View issue | `gh issue view N` | `GET /repos/{o}/{r}/issues/N` |
358
+ | Create issue | `gh issue create ...` | `POST /repos/{o}/{r}/issues` |
359
+ | Add labels | `gh issue edit N --add-label ...` | `POST /repos/{o}/{r}/issues/N/labels` |
360
+ | Assign | `gh issue edit N --add-assignee ...` | `POST /repos/{o}/{r}/issues/N/assignees` |
361
+ | Comment | `gh issue comment N --body ...` | `POST /repos/{o}/{r}/issues/N/comments` |
362
+ | Close | `gh issue close N` | `PATCH /repos/{o}/{r}/issues/N` |
363
+ | Search | `gh issue list --search "..."` | `GET /search/issues?q=...` |
@@ -0,0 +1,35 @@
1
+ ## Bug Description
2
+
3
+ <!-- Clear, concise description of the bug -->
4
+
5
+ ## Steps to Reproduce
6
+
7
+ 1.
8
+ 2.
9
+ 3.
10
+
11
+ ## Expected Behavior
12
+
13
+ <!-- What should happen -->
14
+
15
+ ## Actual Behavior
16
+
17
+ <!-- What actually happens -->
18
+
19
+ ## Environment
20
+
21
+ - OS:
22
+ - Version/Commit:
23
+ - Python version:
24
+ - Browser (if applicable):
25
+
26
+ ## Error Output
27
+
28
+ <!-- Paste relevant error messages, stack traces, or logs -->
29
+
30
+ ```
31
+ ```
32
+
33
+ ## Additional Context
34
+
35
+ <!-- Screenshots, related issues, workarounds discovered, etc. -->
@@ -0,0 +1,31 @@
1
+ ## Feature Description
2
+
3
+ <!-- What do you want? -->
4
+
5
+ ## Motivation
6
+
7
+ <!-- Why would this be useful? What problem does it solve? -->
8
+
9
+ ## Proposed Solution
10
+
11
+ <!-- How could it work? Include API sketches, CLI examples, or mockups if helpful -->
12
+
13
+ ```
14
+ # Example usage
15
+ ```
16
+
17
+ ## Alternatives Considered
18
+
19
+ <!-- Other approaches and why they're less ideal -->
20
+
21
+ -
22
+
23
+ ## Scope / Effort Estimate
24
+
25
+ <!-- How big is this? What areas of the codebase would it touch? -->
26
+
27
+ Small / Medium / Large — <!-- explanation -->
28
+
29
+ ## Additional Context
30
+
31
+ <!-- Links to similar features in other tools, relevant discussions, etc. -->