| name | plan-from-feedback |
| description | Fetch open feedback tickets from the private TrainLCD/Issues repo via `gh`, filter by triage level and Claude-estimated difficulty, and emit a short implementation plan per ticket in chat. Use when the user wants to pick up work from the feedback backlog â e.g., "ãã£ãŒãããã¯ããçæã§ããããªãã±ãããæ°ä»¶åºããŠå®è£
ãã©ã³ãç«ãŠãŠ" or "P1 ã® easy ãªãã€ã 3 ä»¶èŠç¹ã£ãŠ". |
plan-from-feedback
TrainLCD ã®ãã£ãŒãããã¯çœ®ãå ŽïŒãã©ã€ããŒããªããžã㪠TrainLCD/IssuesïŒãã open issue ãååŸããããªã¢ãŒãžã¬ãã«ãš Claude ãæšå®ãã察å¿é£æåºŠã§çµã蟌ãã äžã§ãåãã±ããã«çãå®è£
ãã©ã³ãä»ããŠãã£ããã«åºåãã èªã¿åãå°çšã¹ãã«ã
æžã蟌ã¿ïŒã³ã¡ã³ãã»ã©ãã«ç·šéã»closeã»pushã»PR äœæïŒã¯äžåè¡ããªããåŸå·¥çšã¯ create-pr ãªã©å¥ã¹ãã«ã«å§ããã
å
¥å
ãã¹ãŠä»»æãkey=value ã®ã¹ããŒã¹åºåãã§åãåãæ³å®ïŒäŸ: /plan-from-feedback triage=P1,P2 difficulty=easy count=3ïŒãæªæå®ããŒã¯æ¢å®å€ã䜿ãã
| é
ç® | æ¢å®å€ | 説æ |
|---|
count | 3 | æçµçã«åºåããåè£æ°ã |
triage | æªæå®ïŒ=å
šãŠïŒ | P0 / P1 / P2 / P3 / untriaged ãåç¬ãŸã㯠CSVãuntriaged 㯠P0-P3 ã©ãã«ã 1 ã€ãä»ããŠããªã issueã |
difficulty | æªæå®ïŒ=å
šãŠïŒ | easy / medium / hard ãåç¬ãŸã㯠CSVãClaude ã®ãã¥ãŒãªã¹ãã£ãã¯è©äŸ¡ã§ãã£ã«ã¿ã |
platform | æªæå® | iOS / Android / iPadOS / Other OS / App Clip ã®ããããïŒCSV å¯ïŒã |
category | æªæå® | Bug / Improvement / Crash / Feedback ãªã©ãFeedback ã¯ã»ãŒå
šä»¶ã«ä»ãã®ã§åç¬æå®ããŠãçµã蟌ã¿å¹æãèãïŒæ³šæäºé
åç
§ïŒã |
exclude_labels | ð© Spam, ð¥ Canary | åžžã«é€å€ããã©ãã«ãæå®ã§äžæžãã |
triage=P1 ã®ããã«çµµæåãªãã®ç¥ç§°ã§åãåããã¹ãã«å
éšã§å®ã©ãã«ïŒð P1 / High ãªã©ïŒã«ç
§åããã
åææ¡ä»¶
gh CLI ãèªèšŒæžã¿ã§ãTrainLCD/Issues ãžã® read æš©éãæã€ã¢ã«ãŠã³ãã«çŽã¥ããŠããããšã
- ã«ã¬ã³ããã£ã¬ã¯ããªã¯ MobileApp ãªããžããªå
ïŒæ¬æã®å®è£
ãã©ã³çæã§
Grep / Glob ã«ãã軜ã確èªãè¡ãããïŒã
- æžã蟌ã¿ç³»ã®æäœã¯ããªãã
gh issue edit / gh issue comment / gh issue close / git commit / git push ã¯åŒã°ãªãã
åè: TrainLCD/Issues ã®ã©ãã«ã¹ããŒã
çµã蟌ã¿åŒæ°ãå®ã©ãã«ã«åœãŠã¯ããéã®å¯Ÿå¿è¡šãIssues åŽã§æ°ããã©ãã«ã远å ãããŠããå¯èœæ§ãããã®ã§ãåè£ã 0 ä»¶ã«ãªãå Žå㯠gh label list --repo TrainLCD/Issues ã§ææ°ã確èªããã
- ããªã¢ãŒãž:
ðŽ P0 / CriticalïŒéçšäžå°æ¥è¿œå ã®å¯èœæ§ããïŒãð P1 / Highãð¡ P2 / Mediumãð¢ P3 / Low
- ã«ããŽãª:
ð Bugãð ïž Improvementãð Feedbackãð£ Crashãâ Unknown Typeãð© Spam
- ãã©ãããã©ãŒã :
ð iOSãð€ Androidãð iPadOSãâ Other OSãð App Clip
- ç°å¢:
ð Productionãð¥ Canary
- æ©èœ:
ð€ Auto Modeãð€ Auto Mode 1.0ãð€ Auto Mode 2.0
- GitHub æšæº:
bug / enhancement / question / documentation / good first issue / help wanted / duplicate / invalid / wontfix
é£æåºŠãã¥ãŒãªã¹ãã£ãã¯
Issues ãªããžããªã«ã¯ difficulty ã©ãã«ãç¡ããããClaude ã issue æ¬æãšè»œã repo 調æ»ãã以äžã®ããã«æšå®ããã
- easy: åäžã³ã³ããŒãã³ãïŒåäžå®æ°ããŒãã«ïŒã¢ã»ããå·®ãæ¿ãã®ã¿ã§å®çµããããäŸ: è·¯ç·ã«ã©ãŒå®æ°ã®èª€ãããã³ããªã³ã°ç»åã®ãã¡ã€ã«å誀ããæèšä¿®æ£ãç¹å®é§
ã®ã¡ã¿ããŒã¿ä¿®æ£ã
- medium: è€æ°ãã¡ã€ã«ã«è·šãããæ¢åãã¿ãŒã³ã®èžè¥²ã§æžãããäŸ: æ¢åããŒãã«æ°è·¯ç·ã远å ãæ¢åèšå®ç»é¢ã«é
ç®è¿œå ãæ¢åã®æŸéãã³ãã¬ã«çš®å¥ã远å ã
- hard: æ°ããæœè±¡ã»ç¶æ
管çã»ãã€ãã£ã飿ºã»å€éš API ãšã®æŽåãå¿
èŠãäŸ: Auto Mode 2.0 ã«æ°ã¢ãŒããOS åŽã®æš©éèšèšãGraphQL ã¹ããŒã倿Žãæ°ãããªã¢ã«ã¿ã€ã åŠçã«ãŒãã®è¿œå ã
å€å®æã®èª¿æ»ã¯ãåœãããä»ãããçšåºŠã§ãããæ¬æãèªãã ãã§å€å®ã§ããªãå Žåã«éãã該åœããããªãã¡ã€ã«åã Grep / Glob ã§ 1 - 2 åã ã確èªãããæ·±è¿œãããªãã
æé
-
åŒæ°ã®è§£éãšæ¢å®å€ã®é©çš
æªæå®ããŒã¯æ¢å®å€ã§åãããtriage / difficulty / platform / category 㯠CSV 察å¿ãåŒæ°ãæž¡ããããç¥ããªãå€ïŒäŸ: triage=P5ïŒã®å Žåã¯ãŠãŒã¶ãŒã«ç¢ºèªããŠããé²ããã
-
issue ååŸ
åè£ããŒã«ã確ä¿ãããã --limit 50 ã§åºãã«åãã
gh issue list \
--repo TrainLCD/Issues \
--state open \
--limit 50 \
--json number,title,labels,body,url,createdAt,updatedAt
ååŸä»¶æ°ãå°ãªãïŒåè£ããŒã«ãç©ããïŒå Žåã«éã --limit 100 ãŸã§åŒãäžããŠããããã以äžã¯åºããªãã
-
ããŒãé€å€ãã£ã«ã¿
exclude_labels ã«å«ãŸããã©ãã«ã 1 ã€ã§ãä»ããŠãã issue ãèœãšããæ¢å®ã¯ ð© Spam ãš ð¥ Canaryã
-
æ¡ä»¶ãã£ã«ã¿
triage æå®æ: æå®å€ãšäžèŽããã©ãã«ã®ã¿æ®ããuntriaged ãå«ãŸããå Žå㯠P0-P3 ã©ãã«ã 1 ã€ãä»ããªã issue ãæ®ãã
platform æå®æ: æå®ãã©ãããã©ãŒã ã©ãã«ã®ã¿æ®ãã
category æå®æ: æå®ã«ããŽãªã©ãã«ã®ã¿æ®ãã
ããã§ããŒã«ã count ã倧ããäžåãïŒäŸ: 0-1 ä»¶ïŒå Žåã¯ããã®æšãå ±åããŠãŠãŒã¶ãŒã«æ¡ä»¶ç·©åãææ¡ãããåæã«æ¡ä»¶ãå€ããªãã
-
é£æåºŠæšå®
æ®å issue ã triageïŒP0 > P1 > P2 > P3 > untriagedïŒãå triage å
ã§ã¯ updatedAtïŒæ°ããé ïŒã§äžæ¬¡ãœãŒãããäžã§ãå
é ãã count * 4 ä»¶ãäžé ã«æ¬æãèªã¿ãeasy / medium / hard ãæšå®ãããå
ã«æ¯éå£ãæ£ãã䞊ã¹ãŠãããªããšãcount * 4 ã®åãåºãã§ P0/P1 ãåãããŒãæããããã®ã§å¿
ããœãŒããå
ã«è¡ãããšã
- æ¬æã«ãã AI èŠçŽïŒ
## AIã«ããèŠçŽ ç¯ãæ§ issue ã§ã¯ ## Geminiã«ããèŠçŽïŒã¯åæåªå
ã»èŠçŽã¯è£å©æ
å ±ãšããŠæ±ããåœãããä»ããããã®ãã³ãã«çããå€æã®æ ¹æ ã«ã¯åæã®ãçç¶ããããã¯ã䜿ãã
- æ¬æã ãã§å€å®ã«è¿·ã£ããã該åœããããªãã¡ã€ã«ã
Grep / Glob ã§ 1 - 2 åã ã軜ã確èªã深远ãã¯ããªãã
- å€å®ãä»ããªãå Žåã¯
unknown ãšããŠæ®ããåŸæ®µã® difficulty ãã£ã«ã¿ã§ã¯é€å€åè£ã«ããã
-
difficulty ãã£ã«ã¿ãšã©ã³ãã³ã°
difficulty æå®æã¯äžèŽããæšå®å€ã®ã¿æ®ãïŒunknown ã¯é€å€ïŒã
- æ®åãã
count ä»¶ãéžã¶ã䞊ã³é ã¯:
- triageïŒ
P0 > P1 > P2 > P3 > untriagedïŒ
- difficultyïŒ
easy > medium > hard > unknownããã ã difficulty æå®æã¯ Line 96 ã®éã unknown ãé€å€ããããããã®ããŒãå¹ãã®ã¯æªæå®æã®ã¿ïŒ
updatedAt ã®æ°ããé
-
ç°¡æå®è£
ãã©ã³çæ
å issue ã«ã€ã以äžã®ãããã¯ãäœããåé·ã«ããªã â 1 ãã±ããããã 10-15 è¡çšåºŠãç®å®ã
### #<çªå·> <ã¿ã€ãã«>
- URL: <url>
- ã©ãã«: triage=<P*|untriaged> / platform=<iOS|Android|iPadOS|...> / category=<Bug|Improvement|Crash|Feedback|...>
- æšå®é£æåºŠ: <easy|medium|hard>ïŒæ ¹æ : <1 è¡>ïŒ
**èŠçŽ**: <çç¶ã»èŠæã® 1-2 è¡ãAI èŠçŽãããã°ãããæµçšã»å§çž®>
**è§Šããããªãã¡ã€ã«**:
- `<path>:<line?>` â <çã説æ>
- `<path>` â <çã説æ>
**ãã£ããæé **:
1. <3-5 è¡ã®ç®æ¡æžã>
2. ...
**æªç¢ºå®**: <ããã° 1-2 è¡ãç¡ããã°ãã®è¡èªäœãçç¥>
æ³šææžã:
- ã¬ããŒãç»åã® URLïŒR2 ãã¹ãïŒãã¹ã¿ãã¯ãã¬ãŒã¹ãã¬ããŒã¿ãŒ UID çã¯åºåã«å«ããªãïŒãã©ã€ãã·ãŒ + ããŒã¯ã³ç¯çŽïŒã
duplicate / wontfix / invalid ã©ãã«ãä»ããŠãã issue ãåè£ã«æ®ã£ãå Žåã¯ãã©ãã«è¡ã®æ«å°Ÿã« â <ã©ãã«>ä»ã ãæ·»ããŠããŠãŒã¶ãŒãæ°ã¥ããããã«ããã
-
ãµããªåºå
äžã§äœã£ãåãããã¯ããã£ããã«çŽæ¥æµããå
é ã«ä»¥äžã®ãããã眮ã:
plan-from-feedback ãµã㪠(åè£ <N> ä»¶ / ããŒã« <M> ä»¶ / æ¡ä»¶: triage=..., difficulty=..., platform=..., category=..., exclude=...)
æ«å°Ÿã« 1 è¡ã ãææ¡ãæ·»ãã:ãå®è£
ã«é²ããå Žåã¯ã察象ãã±ããçªå·ãæå®ã㊠create-pr çãåŒãã§ãã ããããã¹ãã«åŽã§ã¯ãã©ã³ãåãåºãã»PR äœæã»ã³ã¡ã³ãæçš¿ãããªãã
泚æäºé
- æžã蟌ã¿çŠæ¢:
gh issue edit / gh issue comment / gh issue close / gh label / git commit / git push / gh pr create ã®ããããåŒã°ãªãããã®ã¹ãã«ã¯ read-only å¥çŽã
- ããŒã«æ¯æžæã¯åæã«ç·©ããªã: æ¡ä»¶ãç·©ãããã©ããã¯ãŠãŒã¶ãŒå€æãåè£ã 0-1 ä»¶ãªããçŸæ¡ä»¶ã§ã¯ N ä»¶ãã該åœããŸããã
triage ãå€ãïŒåºããçã®ç·©åæ¡ããããŸãããšå ±åããã
- é£æåºŠæšå®ã¯åœãããä»ããçšåºŠã§å¯: 粟床ã«èªä¿¡ãç¡ããã°
unknown ãšããŠæ®ããdifficulty æå®æã«ã¯åŒŸããæ·±æãã§æ¶èããªãããšã
- Feedback ã©ãã«ã®æ±ã:
ð Feedback ã¯ãã£ãŒããã㯠issue ã®ã»ãŒå
šä»¶ã«ä»ãéçšã®ãããcategory=Feedback åç¬æå®ã¯çµã蟌ã¿å¹æãèãããŠãŒã¶ãŒã«ããã®æšãæ¡å
ããã
- P0 ã®æ±ã: çŸç¶ã®ã©ãã«äžèЧã«ã¯
ðŽ P0 / Critical ã芳枬ãããŠããªãããéçšäžå°æ¥ä»ãå¯èœæ§ããããããåŒæ°å€ãšããŠã¯åãå
¥ãããè©²åœ 0 ä»¶ãªã 0 ä»¶ã§ããã
- æ¬æäžã®ç»åã»UID: ã¬ããŒãç»åã® URL(R2 ãã¹ã)ã
Sentry Event IDãã¬ããŒã¿ãŒUID ã¯åºåã«å«ããªãã
- AI èŠçŽã®æ±ã: æ¬æã®
## AIã«ããèŠçŽïŒæ§ issue ã§ã¯ ## Geminiã«ããèŠçŽïŒã¯åæåªå
ã»èŠçŽã¯è£å©æ
å ±ãšããŠæ±ãã倿ã¯åæã®ãçç¶ããããã¯ãåªå
ããèŠçŽã¯åœãããä»ããããã®ãã³ãã«çããïŒèŠçŽãæ¬æããæ¥œèгçãªå Žåã¯èŠçŽãç·©ããŠåºåïŒã
ããããäœ¿ãæ¹
/plan-from-feedback
/plan-from-feedback triage=P0,P1 difficulty=easy count=2
/plan-from-feedback platform=Android count=5
/plan-from-feedback category=Bug,Crash difficulty=medium,hard