Receber por email
← Voltar para o catálogo

docs-reflect

Collect DOC: notes from session, generalize, and propose repo documentation (.claude/rules/, docs/).

13estrelas
Atualizado há 6 meses

Ver no GitHub ↗ Licença: MIT

Como adicionar

/plugin marketplace add IlyaGorsky/memory-toolkit

O comando exato pode variar conforme o repositório. Confira o README no GitHub.

Para o autor da skill

Cole no README do seu repo

Mostra que sua skill está catalogada na Skillteca, gera backlink e tráfego rastreável.

[![Skillteca](https://www.skillteca.com.br/api/badge/docs-reflect/svg)](https://www.skillteca.com.br/skills/docs-reflect)

Alerta por categoria

Receba novas skills de Escrita e Conteúdo toda segunda

1 email curto, só com as skills novas de Escrita e Conteúdo. 4 minutos de leitura, sem spam, cancela com 1 clique.

Você confirma o email no primeiro envio. Sem spam. Cancela com 1 clique.

Ler descrição completa

/docs-reflect — Session knowledge → repo documentation

Collect DOC: notes accumulated during the session, generalize them into rules, and propose documentation for the repository.

Step 1: Collect findings

Two sources: DOC: notes from the current session, and recurring feedback from memory.

1a: DOC: notes

node "$MEM" --dir="$MEM_DIR" docs

1b: Recurring feedback patterns

node "$MEM" --dir="$MEM_DIR" recurring

This scans feedback/ files for clusters — similar corrections that appeared 2+ times across sessions. Recurring patterns are strong candidates for promotion to .claude/rules/.

Combine

If both sources are empty — tell user "No documentation findings." and stop.

If recurring patterns found (3+ occurrences) — these are project conventions, not personal preferences. Treat them as DOC automatically:

  • Save as DOC note: node "$MEM" --dir="$MEM_DIR" note "DOC: <domain> — <generalized rule from recurring feedback>"
  • Highlight to user: "This feedback appeared N times — promoting to project rule."

Patterns with 2 occurrences — mention as candidates but don't auto-promote.

Step 2: Generalize

For each DOC: note, extract a generalized rule.

Bad (too specific):

"The PaymentService bug was on line 42 in processRefund()"

Good (pattern):

"Refund operations must check transaction state before mutating — stale state causes double-refunds"

Bad (class-level):

"UserService.getProfile() returns null when user is not found"

Good (convention):

"Services return null for missing entities instead of throwing — callers must handle null"

If a note can't be generalized — skip it.

Step 3: Detect documentation structure and route

3a: Detect existing structure

ls .claude/rules/ 2>/dev/null
cat CLAUDE.md 2>/dev/null | head -50
ls docs/ 2>/dev/null

Check memory for saved preference:

node "$MEM" --dir="$MEM_DIR" search "docs_target"

3b: Choose target

If no saved preference and no .claude/rules/ directory — ask:

Where should project rules go?
  1. .claude/rules/ (Claude Code loads these per-directory)
  2. docs/
  3. CLAUDE.md (single file, always loaded — use sparingly)
  4. Other — specify path

Choice? (default: 1)

Save preference:

node "$MEM" --dir="$MEM_DIR" note "CONFIG: docs_target=<chosen path>"

3c: Route by domain

Route using the chosen target directory (default: .claude/rules/):

| Domain | Target | |--------|--------| | testing | <target>/testing.md | | api | <target>/api.md | | architecture | <target>/architecture.md | | state | <target>/state.md | | workflow | <target>/workflow.md | | Other domain | <target>/<domain>.md | | Truly universal (rare) | CLAUDE.md |

If a matching file exists — add to it. If not — create one.

Step 4: Propose changes

## Docs-reflect: <date>

Found N DOC: notes, grouped into M domains:

### <target>/testing.md
- <rule 1>
- <rule 2>

### <target>/api.md
- <rule 3>

### Skipped
- <notes too specific to generalize>

Apply? (all / pick numbers / skip)

Wait for user confirmation.

Step 5: Apply

For each approved rule:

  1. Read target file (or create with header)
  2. Add rule to appropriate section
  3. Format:

For rule files (.claude/rules/, docs/, or custom target):

## <Section>

- <Rule>

Rules

  • Generalize or skip. Can't state it as a reusable rule → don't add it.
  • No class/method API docs. Those belong in code comments.
  • No ticket/branch references. Docs should not mention specific tasks.
  • Right file matters. The main value is routing to the correct .claude/rules/ file.
  • Deduplicate. Read existing docs before adding.
  • User confirms first. Never write without showing what will be added.
  • Respect existing structure. Add to existing files/sections. Don't reorganize.
  • Less is more. 2 good rules is a great outcome. 0 is fine too.
Compartilhar X LinkedIn