LogoSkills

session-followup-suggester

Suggests follow-up tasks after session analysis. Used for identifying incomplete TODOs and technical debt

ํ•ญ๋ชฉ๋‚ด์šฉ
ToolsRead, Glob, Grep
Modelhaiku

session-followup-suggester โ€” ๋๋‚˜๊ณ  "์ด๊ฑด ์ฑ™๊ฒจ์•ผ ํ•ด์š”" ์ •๋ฆฌ ๋„์šฐ๋ฏธ#

ํ•œ๋งˆ๋””๋กœ#

์ž‘์—… ํ•œ ํŒ(์„ธ์…˜)์ด ๋๋‚œ ๋’ค, "์•„์ง ์•ˆ ๋๋‚œ ์ผยท๋‚˜์ค‘์— ์†๋ด์•ผ ํ•  ์ผยท๋‹ค์Œ์— ํ•˜๋ฉด ์ข‹์„ ์ผ"์„ ๋ชจ์•„ ์ค‘์š”๋„ ์ˆœ์œผ๋กœ ์ •๋ฆฌํ•ด ์ฃผ๋Š” ๋„์šฐ๋ฏธ์ž…๋‹ˆ๋‹ค. ํšŒ์˜๊ฐ€ ๋๋‚˜๊ณ  "๊ทธ๋ž˜์„œ ๋ˆ„๊ฐ€ ๋ญ˜ ์–ธ์ œ๊นŒ์ง€ ํ•˜๊ธฐ๋กœ ํ–ˆ์ฃ ?"๋ฅผ ๊น”๋”ํ•˜๊ฒŒ ์ ์–ด ์ฃผ๋Š” ์„œ๊ธฐ ๊ฐ™์€ ์—ญํ• ์ด์—์š”.

๋ˆ„๊ฐ€ยท์–ธ์ œ ์“ฐ๋‚˜์š”#

  • ํ•œ ์ฐจ๋ก€ ๊ฐœ๋ฐœ ์ž‘์—…(์„ธ์…˜)์„ ๋งˆ์นœ ๋’ค, ๋น ๋œจ๋ฆฐ ์ผ์ด๋‚˜ ๋ฏธ๋ค„ ๋‘” ์ผ์ด ์—†๋Š”์ง€ ์ ๊ฒ€ํ•˜๊ณ  ์‹ถ์„ ๋•Œ
  • "๋‚˜์ค‘์— ํ…Œ์ŠคํŠธ ์ถ”๊ฐ€ํ•˜์ž", "์ด๊ฑด ์ผ๋‹จ ๊ฑด๋„ˆ๋›ฐ์ž" ๊ฐ™์€ ๋ง์ด ์˜ค๊ฐ”๋Š”๋ฐ ๊ทธ๊ฑธ ์žŠ์ง€ ์•Š๊ณ  ๋‹ค์Œ ํ•  ์ผ๋กœ ๋‚จ๊ธฐ๊ณ  ์‹ถ์„ ๋•Œ
  • ์Œ“์—ฌ ๊ฐ€๋Š” ๊ธฐ์ˆ  ๋ถ€์ฑ„(ํ…Œ์ŠคํŠธ ๋ถ€์กฑ, ๋А๋ฆฐ ์‘๋‹ต, ์ค‘๋ณต ์ฝ”๋“œ ๋“ฑ)๋ฅผ ๋†“์น˜์ง€ ์•Š๊ณ  ๋ฐฑ๋กœ๊ทธ๋กœ ์ฑ™๊ธฐ๊ณ  ์‹ถ์„ ๋•Œ

๋ฌด์—‡์„ ํ•ด์ฃผ๋‚˜์š”#

์„ธ์…˜ ๋‚ด์šฉ์„ ํ›‘์–ด์„œ ํ›„์† ์ž‘์—…(follow-up) ๋ชฉ๋ก์„ ๋งŒ๋“ค์–ด ์ค๋‹ˆ๋‹ค. ๊ฐ ํ•ญ๋ชฉ์—๋Š” ๋‹ค์Œ์ด ๋‹ด๊น๋‹ˆ๋‹ค.

  • ๋ฌด์Šจ ์ผ์ธ์ง€(task)์™€ ์™œ ํ•ด์•ผ ํ•˜๋Š”์ง€(reason)
  • ์ง€๊ธˆ ์ƒํƒœ โ†’ ๋ชฉํ‘œ ์ƒํƒœ ๋น„๊ต (์˜ˆ: ํ…Œ์ŠคํŠธ ์ปค๋ฒ„๋ฆฌ์ง€ 45% โ†’ 80%)
  • ์ค‘์š”๋„(priority)ยท๊ธด๊ธ‰๋„(urgency) ์™€ ๋Œ€๋žต์ ์ธ ์ž‘์—…๋Ÿ‰(์Šคํ† ๋ฆฌ ํฌ์ธํŠธ)
  • ๊ด€๋ จ ์ด์Šˆ ๋ฒˆํ˜ธ์™€ ๋‹จ๊ณ„๋ณ„ ์ง„ํ–‰ ๋ฐฉ๋ฒ• ๊ฐ€์ด๋“œ

๊ฒฐ๊ณผ๋Š” ์ค‘์š”๋„ ์ˆœ์œผ๋กœ ์ •๋ ฌ๋œ followups ๋ชฉ๋ก(YAML ํ˜•์‹)์œผ๋กœ ๋‚˜์˜ต๋‹ˆ๋‹ค.

์–ด๋–ป๊ฒŒ ์“ฐ๋‚˜์š”#

์ด ๋„์šฐ๋ฏธ๋Š” ์ง์ ‘ ๋ช…๋ น์œผ๋กœ ํ˜ธ์ถœํ•˜๊ธฐ๋ณด๋‹ค ์„ธ์…˜ ๋งˆ๋ฌด๋ฆฌ ํ๋ฆ„(์˜ˆ: /session:wrap) ์•ˆ์—์„œ ์ž๋™์œผ๋กœ ๋ถˆ๋ ค ๋‚˜์˜ค๋Š” ๋ณด์กฐ ์—์ด์ „ํŠธ์ž…๋‹ˆ๋‹ค. ๋”ฐ๋กœ ์˜ต์…˜์ด๋‚˜ ํ”Œ๋ž˜๊ทธ๋Š” ์—†์Šต๋‹ˆ๋‹ค.

# ๊ฒฐ๊ณผ๋ฌผ ์˜ˆ์‹œ (์‹ค์ œ ์ถœ๋ ฅ ํ˜•ํƒœ)
followups:
  - id:  " followup-001 " 
     priority: high          # ์ค‘์š”๋„: ๋†’์Œ
    urgency: high           # ๊ธด๊ธ‰๋„: ๋†’์Œ
    type:  " incomplete_task "   # ์ข…๋ฅ˜: ๋ฏธ์™„๋ฃŒ ์ž‘์—…
    task:  " console_author_management ํ…Œ์ŠคํŠธ ์ปค๋ฒ„๋ฆฌ์ง€ 80% ๋‹ฌ์„ฑ " 
     current_state:  " 45% coverage "     # ์ง€๊ธˆ ์ƒํƒœ
    target_state:  " 80% coverage "      # ๋ชฉํ‘œ ์ƒํƒœ
    reason:  " ํ•ต์‹ฌ ๊ธฐ๋Šฅ ํ…Œ์ŠคํŠธ ๋ˆ„๋ฝ์œผ๋กœ ์•ˆ์ •์„ฑ ์œ„ํ—˜ " 
     estimated_effort:  " 3 story points "    # ์˜ˆ์ƒ ์ž‘์—…๋Ÿ‰
    related_issues: [ " #1507 " ]           # ๊ด€๋ จ ์ด์Šˆ

์•ˆ์—์„œ ๋ฌด์Šจ ์ผ์ด ๋ฒŒ์–ด์ง€๋‚˜์š”#

ํฌ๊ฒŒ ๋‹ค์„ฏ ๋‹จ๊ณ„๋กœ ์ง„ํ–‰๋ฉ๋‹ˆ๋‹ค.

  1. ์„ธ์…˜ ํ›‘์–ด๋ณด๊ธฐ โ€” ์ฝ”๋“œ ์† TODO ๋ฉ”๋ชจ, ๊ฑด๋„ˆ๋›ด ์ž‘์—…, ์–ธ๊ธ‰๋œ ๊ฐœ์„ ์ , ์—๋Ÿฌยท๊ฒฝ๊ณ ๋ฅผ ๊ธ์–ด๋ชจ์๋‹ˆ๋‹ค.
  2. ์—ฐ๊ด€์„ฑ ๋”ฐ์ ธ๋ณด๊ธฐ โ€” ์ง€๊ธˆ ํ•˜๋˜ ์ผ๊ณผ ์–ผ๋งˆ๋‚˜ ๊ด€๋ จ ์žˆ๋Š”์ง€, ๊ธฐ์กด ์ด์Šˆ์™€ ์ด์–ด์ง€๋Š”์ง€, ์„ ํ–‰ ์ž‘์—…์ด ์žˆ๋Š”์ง€ ํ™•์ธํ•ฉ๋‹ˆ๋‹ค.
  3. ์šฐ์„ ์ˆœ์œ„ ๊ณ„์‚ฐ โ€” ์ค‘์š”๋„ยท๊ธด๊ธ‰๋„๋ฅผ ๋งค๊ธฐ๊ณ  ์ž‘์—…๋Ÿ‰์„ ๊ฐ€๋Š ํ•ด, ์šฐ์„ ์ˆœ์œ„ ํ‘œ์— ๋”ฐ๋ผ P0~P4๋กœ ์ค„์„ ์„ธ์›๋‹ˆ๋‹ค.
  4. ์ง„ํ–‰ ๋ฐฉ๋ฒ• ์ œ์•ˆ โ€” ๊ฐ ํ•ญ๋ชฉ๋งˆ๋‹ค ๋‹จ๊ณ„๋ณ„๋กœ ์–ด๋–ป๊ฒŒ ํ•˜๋ฉด ๋˜๋Š”์ง€ ๊ฐ€์ด๋“œ๋ฅผ ๋ถ™์ž…๋‹ˆ๋‹ค.
  5. ๊ฒฐ๊ณผ ์ •๋ฆฌ โ€” ์ค‘์š”๋„ ์ˆœ์œผ๋กœ ์ •๋ ฌํ•œ ํ›„์† ์ž‘์—… ๋ชฉ๋ก(YAML)์„ ๋‚ด๋†“์Šต๋‹ˆ๋‹ค.

โš™๏ธ ์ƒ์„ธ ์˜ต์…˜ยท์‹คํ–‰ ๋ช…์„ธ (๊ฐœ๋ฐœ์ž / AI ์—์ด์ „ํŠธ์šฉ)

Role#

  1. Incomplete Tasks: Identify unfinished TODOs
  2. Technical Debt: Improvements found needing attention
  3. Next Steps: Suggest logical follow-up tasks
  4. Prioritization: Sort by importance/urgency

Suggestion Types#

1. Incomplete Tasks#

Tasks mentioned during session but not completed

SignalExample
"Need to do later""Need to add tests later"
TODO comments// TODO: add caching
Skipped steps"--skip-tests option used"

2. Technical Debt#

Improvements found needing attention

TypeExample
Performance"API response takes 2+ seconds"
Testing"Coverage at 45%"
Code quality"Duplicate code found"
Security"Auth logic needs review"

3. Extension Tasks#

Natural extensions of current work

TypeExample
Related screens"Detail screen after list screen"
Feature completion"D not implemented in CRUD"
Integration"Add caching after API integration"

4. ZenHub ์šด์˜ ํ›„์† (sprint/release ๊ฒฝ๊ณ„์—์„œ)#

์„ธ์…˜์ด ์Šคํ”„๋ฆฐํŠธยท๋ฆด๋ฆฌ์Šค ๊ฒฝ๊ณ„์— ๋‹ฟ์œผ๋ฉด ZenHub ์šด์˜ ์ปค๋งจ๋“œ๋ฅผ ํ›„์†์œผ๋กœ ์ œ์•ˆํ•œ๋‹ค:

์‹ ํ˜ธ์ œ์•ˆ ์ปค๋งจ๋“œ
๋ฆด๋ฆฌ์Šค/ํƒœ๊ทธ ์ง์ „, ์Šคํ”„๋ฆฐํŠธ ์ข…๋ฃŒ/zenhub:changelog --since-tag <last> ๋˜๋Š” --since-sprint current
์Šคํ”„๋ฆฐํŠธ ๊ฒฝ๊ณ„, ๋ฏธ์™„๋ฃŒ ์ด์Šˆ ์ž”์กด/zenhub:sprint-rollover --dry-run
ํ•œ ๋ช…์—๊ฒŒ P0 ๊ณผ๋‹คยท๋ฏธํ• ๋‹น ๊ณ ์šฐ์„  ๊ฐ์ง€/zenhub:team-align (์ฝ๊ธฐ ์ „์šฉ)
๋ฐฑ๋กœ๊ทธ ์šฐ์„ ์ˆœ์œ„๊ฐ€ ํ‘œ๋ฅ˜ํ•จ/zenhub:rerank --dry-run
์™ธ๋ถ€ ํ”ผ๋“œ๋ฐฑ/์ค‘๋ณต ์‹ ๊ณ  ๋ˆ„์ /zenhub:triage --source <channel>

Output Format#

followups:
  - id:  " followup-001 " 
     priority: high
    urgency: high
    type:  " incomplete_task " 
     task:  " Achieve 80% test coverage for console_author_management " 
     current_state:  " 45% coverage " 
     target_state:  " 80% coverage " 
     reason:  " Stability risk due to missing tests for key features " 
     estimated_effort:  " 3 story points " 
     related_issues: [ " #1507 " ]
    suggested_approach: |
      1. Add AuthorBloC tests (8 cases)
      2. Add UseCase tests (5 cases)
      3. Add Widget tests (3 cases)

  - id:  " followup-002 " 
     priority: medium
    urgency: low
    type:  " technical_debt " 
     task:  " Optimize author search API " 
     current_state:  " Takes 2+ seconds for 100+ records " 
     target_state:  " Response within 500ms " 
     reason:  " Degrades user experience " 
     estimated_effort:  " 5 story points " 
     related_issues: []
    suggested_approach: |
      1. Review index optimization
      2. Improve pagination
      3. Add caching layer

  - id:  " followup-003 " 
     priority: low
    urgency: low
    type:  " enhancement " 
     task:  " Add sort options for author list " 
     current_state:  " Only name sorting available " 
     target_state:  " Sort by name/registration date/book count " 
     reason:  " Expected user request " 
     estimated_effort:  " 2 story points " 
     related_issues: []
    suggested_approach: |
      1. Extend SortField enum
      2. Add UI sort dropdown
      3. Add API sort parameter

Priority Matrix#

UrgentNormalLow
ImportantP0: ImmediateP1: Next sprintP2: Backlog
NormalP1: Next sprintP2: BacklogP3: Later
LowP2: BacklogP3: LaterP4: Consider

Priority Determination Criteria#

LevelConditions
highIncomplete feature, critical bug, security issue
mediumMissing tests, performance degradation, code quality
lowImprovements, additional features, refactoring

Urgency Determination Criteria#

LevelConditions
highProduction impact, blocking other work
mediumNeeded for next release, user inconvenience
lowLong-term improvement, internal efficiency

Task Types#

TypeDescriptionDefault Priority
incomplete_taskIncomplete taskhigh
bug_fixBug fixhigh
securitySecurity improvementhigh
technical_debtTechnical debtmedium
test_coverageAdd testsmedium
performancePerformance improvementmedium
enhancementFeature improvementlow
documentationDocumentationlow

Analysis Workflow#

1. Session scan
   โ”œโ”€โ”€ Extract TODO comments
   โ”œโ”€โ”€ Extract skipped tasks
   โ”œโ”€โ”€ Extract mentioned improvements
   โ””โ”€โ”€ Extract errors/warnings

2. Relevance analysis
   โ”œโ”€โ”€ Correlation with current work
   โ”œโ”€โ”€ Link to existing issues
   โ””โ”€โ”€ Identify dependencies

3. Priority calculation
   โ”œโ”€โ”€ Importance evaluation
   โ”œโ”€โ”€ Urgency evaluation
   โ””โ”€โ”€ Effort estimation

4. Approach suggestion
   โ””โ”€โ”€ Step-by-step implementation guide

5. Generate output
   โ””โ”€โ”€ Priority-sorted YAML

Key Rules#

  1. Specific Suggestions: No vague suggestions
  2. Current/Target State: Clear comparison
  3. Effort Estimation: Include implementation difficulty
  4. Approach: Provide step-by-step guide
  5. Link Related Issues: Connect to existing issues