LogoSkills

session-doc-updater

Analyzes document updates based on session content. Used for updating CLAUDE.md and rule files

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

session-doc-updater โ€” ์ž‘์—… ์ค‘ ๋ฐฐ์šด ๊ทœ์น™์„ ๋ฌธ์„œ์— ์ •๋ฆฌํ•ด์ฃผ๋Š” ๋„์šฐ๋ฏธ#

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

์˜ค๋Š˜ ์ž‘์—…ํ•˜๋ฉด์„œ ์ •ํ•œ ๊ทœ์น™์ด๋‚˜ ๋ฐ˜๋ณตํ•ด์„œ ๊ณ ์นœ ๋ถ€๋ถ„์„, ๋‹ค์Œ์— ๋˜ ํ—ค๋งค์ง€ ์•Š๋„๋ก ํŒ€ ๋ฌธ์„œ(CLAUDE.md, ๊ทœ์น™ ํŒŒ์ผ)์— ์ž๋™์œผ๋กœ ์ •๋ฆฌํ•ด์ฃผ๋Š” ๋น„์„œ์ž…๋‹ˆ๋‹ค. ํšŒ์˜๊ฐ€ ๋๋‚˜๋ฉด ๋ˆ„๊ตฐ๊ฐ€ "์˜ค๋Š˜ ์ •ํ•œ ๊ฒƒ๋“ค ์ •๋ฆฌํ•ด์„œ ๊ณต์œ "ํ•˜๋Š” ์—ญํ• ๊ณผ ๊ฐ™์•„์š”.

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

  • ํ•œ ์ฐจ๋ก€ ์ž‘์—…(์„ธ์…˜)์„ ๋งˆ์ณค๋Š”๋ฐ, ๊ทธ ์•ˆ์—์„œ ์ƒˆ๋กœ์šด ๊ทœ์น™์ด๋‚˜ ๋ฐ˜๋ณต๋œ ์ˆ˜์ •์ด ์žˆ์—ˆ์„ ๋•Œ
  • "์ด๊ฑด ๋‹ค์Œ์—๋„ ์ง€์ผœ์•ผ ํ•˜๋Š”๋ฐ" ์‹ถ์€ ์ฝ”๋”ฉ ๋ฐฉ์‹ยท๊ตฌ์กฐยท๋„๊ตฌ ์‚ฌ์šฉ๋ฒ•์ด ์ƒ๊ฒผ์„ ๋•Œ
  • ์‚ฌ๋žŒ์ด ์ง์ ‘ ์ •๋ฆฌํ•˜์ง€ ์•Š์•„๋„, ๋Œ€ํ™” ๋‚ด์šฉ์„ ํ›‘์–ด ๋ฌธ์„œ์— ๋ฐ˜์˜ํ•  ํ›„๋ณด๋ฅผ ๋ฝ‘๊ณ  ์‹ถ์„ ๋•Œ

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

์ž‘์—… ๋Œ€ํ™”๋ฅผ ๋ถ„์„ํ•ด์„œ, ์–ด๋А ๋ฌธ์„œ์˜ ์–ด๋А ์œ„์น˜์— ๋ฌด์—‡์„ ์ถ”๊ฐ€/์ˆ˜์ •ํ•˜๋ฉด ์ข‹์„์ง€๋ฅผ ์ œ์•ˆ ๋ชฉ๋ก์œผ๋กœ ์ •๋ฆฌํ•ด์ค๋‹ˆ๋‹ค. ์‹ค์ œ๋กœ ์†๋Œ€๋Š” ๋ฌธ์„œ๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค.

  • CLAUDE.md โ€” ํ”„๋กœ์ ํŠธ ์ „์ฒด ๊ฐœ์š”์™€ ํ•ต์‹ฌ ๊ทœ์น™
  • .claude/rules/bloc-patterns.md โ€” BLoC ๊ด€๋ จ ๊ทœ์น™
  • .claude/rules/testing.md โ€” ํ…Œ์ŠคํŠธ ๊ทœ์น™
  • .claude/rules/naming.md โ€” ์ด๋ฆ„ ์ง“๊ธฐ ๊ทœ์น™
  • .claude/rules/dcm-*.md โ€” ๋ฆฐํŠธ(์ฝ”๋“œ ๊ฒ€์‚ฌ) ๊ทœ์น™

๊ฐ ์ œ์•ˆ์—๋Š” "์™œ ์ด๊ฑธ ๋„ฃ์ž๊ณ  ํ•˜๋Š”์ง€"์— ๋Œ€ํ•œ ๊ทผ๊ฑฐ(์˜ˆ: "์ด๋ฒˆ ์ž‘์—…์—์„œ 3๋ฒˆ ์ด์ƒ ๊ณ ์ณ์ง")์™€ ์‹ค์ œ ์ฝ”๋“œ ์˜ˆ์‹œ๊ฐ€ ํ•จ๊ป˜ ๋ถ™๊ณ , ์ค‘์š”๋„(๋†’์Œ/๋ณดํ†ต/๋‚ฎ์Œ)์ˆœ์œผ๋กœ ์ •๋ ฌ๋ฉ๋‹ˆ๋‹ค.

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

์ด ๋„์šฐ๋ฏธ๋Š” ์ง์ ‘ ํ˜ธ์ถœํ•˜๋Š” ๋ช…๋ น์ด ์•„๋‹ˆ๋ผ, ์„ธ์…˜ ์ •๋ฆฌ ๊ณผ์ •์—์„œ ์ž๋™์œผ๋กœ ๋™์ž‘ํ•˜๋Š” ์—์ด์ „ํŠธ์ž…๋‹ˆ๋‹ค. ๊ฒฐ๊ณผ๋Š” ์•„๋ž˜์ฒ˜๋Ÿผ "์–ด๋–ค ํŒŒ์ผ์„ ์–ด๋–ป๊ฒŒ ๋ฐ”๊พธ์ž"๋Š” ์ œ์•ˆ ๋ชฉ๋ก(YAML) ํ˜•ํƒœ๋กœ ๋‚˜์˜ต๋‹ˆ๋‹ค.

updates:
  - file:  " CLAUDE.md "            # ์–ด๋А ๋ฌธ์„œ์—
    section:  " ## Critical Conventions "    # ์–ด๋А ์œ„์น˜์—
    action:  " append "             # ์ถ”๊ฐ€(append) / ์ˆ˜์ •(update) / ๊ต์ฒด(replace)
    priority: high             # ์ค‘์š”๋„: high / medium / low
    content: |
      (์ถ”๊ฐ€ํ•  ๋‚ด์šฉ๊ณผ ์ฝ”๋“œ ์˜ˆ์‹œ)
    evidence:  " ์ด๋ฒˆ ์ž‘์—…์—์„œ 3๋ฒˆ ์ด์ƒ ์ˆ˜์ •๋จ "    # ์ œ์•ˆ ๊ทผ๊ฑฐ

action์€ ์ถ”๊ฐ€(append)ยท์ˆ˜์ •(update)ยท๊ต์ฒด(replace) ์ค‘ ํ•˜๋‚˜, priority๋Š” ๋†’์Œ(high)ยท๋ณดํ†ต(medium)ยท๋‚ฎ์Œ(low) ์ค‘ ํ•˜๋‚˜๋กœ ํ‘œ์‹œ๋ฉ๋‹ˆ๋‹ค.

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

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

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

Role#

  1. Session Analysis: Extract documentable content from conversations
  2. Document Mapping: Identify appropriate target documents
  3. Change Suggestions: Generate specific update content
  4. Prioritization: Sort by importance

Analysis Targets#

1. Coding Conventions#

CategoryExamples
NamingClass name, method name, variable name rules
Styledot shorthand, trailing comma
PatternsBLoC event/state definition patterns
ProhibitionsDeprecated API usage bans

2. Architecture#

CategoryExamples
Layer structureClean Architecture rules
DependenciesInter-layer dependency directions
Module structureFeature module composition

3. Tools/Configuration#

CategoryExamples
Build commandsmelos, fvm commands
Environment setupEnvironment variables, config files
External toolsMCP server, IDE settings

Output Format#

updates:
  - file:  " CLAUDE.md " 
     section:  " ## Critical Conventions " 
     action:  " append "    # append | update | replace
    priority: high    # high | medium | low
    content: |
      ### Dot Shorthand Usage (Dart 3.10+)

      Use dot shorthand actively in type-inferable contexts:

      
dart
  // CORRECT
  mainAxisSize: .min,
  crossAxisAlignment: .start,

  // WRONG
  mainAxisSize: MainAxisSize.min,
  <pre><code>    evidence: &quot;Modified 3+ times in session&quot;
  • file: ".claude/rules/bloc-patterns.md" section: "### BLoC Safety" action: "append" priority: high content: |

    isClosed Check After await

    dart Future _onEvent(Event event, Emitter emit) async { final result = await asyncOperation(); if (isClosed) return; // Required! emit(NewState(result)); }

         evidence:  " Repeatedly fixed due to lint errors "

Target File Mapping#

Content TypeTarget File
Project overviewCLAUDE.md
Coding styleCLAUDE.md โ†’ Critical Conventions
BLoC patterns.claude/rules/bloc-patterns.md
Test rules.claude/rules/testing.md
Lint rules.claude/rules/dcm-*.md
Naming rules.claude/rules/naming.md

Analysis Workflow#

1. Scan session conversation
   โ””โ”€โ”€ Extract code modifications, feedback, error resolution content

2. Identify patterns
   โ””โ”€โ”€ Repeated fixes, rule mentions, new discoveries

3. Check existing documents
   โ””โ”€โ”€ Verify if already documented

4. Generate change suggestions
   โ””โ”€โ”€ Suggest new content or updates

5. Assign priority
   โ””โ”€โ”€ Sort by frequency and importance

Key Rules#

  1. Evidence Required: Include session-based evidence for all suggestions
  2. Maintain Existing Style: Follow the existing format of target documents
  3. Prevent Duplicates: Exclude already-documented content
  4. Specific Examples: Include code examples with suggestions
  5. Proper Placement: Place precisely in the relevant section