Back to list
arbgjr

session-analyzer

by arbgjr

Sistema de desenvolvimento de software orientado por agentes de IA que automatiza e coordena todo o ciclo de vida do desenvolvimento.

1🍴 0📅 Jan 25, 2026

SKILL.md


name: session-analyzer description: | Analisa sessoes do Claude Code para extrair learnings e persistir conhecimento. Le arquivos de sessao em ~/.claude/projects/ e extrai decisoes, bloqueios e resolucoes. Invocado automaticamente pelo gate-check e orchestrator. Use quando: fim de fase, retrospectiva, analise de progresso. allowed-tools:

  • Read
  • Write
  • Bash
  • Glob user-invocable: true version: "1.1.0"

Session Analyzer Skill

Proposito

Esta skill analisa sessoes do Claude Code para:

  1. Extrair decisoes - Identificar escolhas feitas durante a sessao
  2. Capturar bloqueios - Registrar problemas encontrados e como foram resolvidos
  3. Persistir learnings - Salvar conhecimento em .agentic_sdlc/sessions/
  4. Alimentar RAG - Adicionar ao corpus para consultas futuras

Scripts Disponíveis

analyze.sh (wrapper)

# Analisar sessão mais recente
.claude/skills/session-analyzer/scripts/analyze.sh

# Analisar e persistir
.claude/skills/session-analyzer/scripts/analyze.sh --persist

# Extrair learnings para RAG corpus
.claude/skills/session-analyzer/scripts/analyze.sh --extract-learnings

# Especificar projeto
.claude/skills/session-analyzer/scripts/analyze.sh --project /path/to/project

extract_learnings.py

# Uso direto do Python
python3 .claude/skills/session-analyzer/scripts/extract_learnings.py

# Com opções
python3 .claude/skills/session-analyzer/scripts/extract_learnings.py \
  --session-id <uuid> \
  --persist \
  --project /path/to/project

Integração Automática

Com gate-check

O gate-check invoca session-analyzer automaticamente após aprovação:

# Em gate-check.md
if [ $RESULT -eq 0 ]; then
    # Extrair learnings
    python3 .claude/skills/session-analyzer/scripts/analyze.py --extract-learnings
fi

Com orchestrator

O orchestrator invoca ao fim de cada fase:

on_phase_complete:
  - call: session-analyzer
    when: phase_completed
    persist: true

Com memory-manager

Learnings são persistidos automaticamente:

on_learning_found:
  - persist_to: .agentic_sdlc/corpus/learnings/
  - update: rag_index

Localizacao das Sessoes

Claude Code armazena sessoes em:

~/.claude/projects/{path-encoded}/{session-uuid}.jsonl

Onde {path-encoded} e o path do projeto com / substituido por -.

Exemplo:

  • Projeto: /home/user/source/repos/meu-projeto
  • Encoded: -home-user-source-repos-meu-projeto

Formato dos Arquivos de Sessao

Arquivos JSONL (uma linha JSON por evento):

{"type": "user", "content": "mensagem do usuario"}
{"type": "assistant", "content": "resposta do Claude"}
{"type": "tool_use", "name": "Bash", "params": {...}}
{"type": "tool_result", "output": "..."}
{"type": "thinking", "content": "raciocinio interno"}

Tipos de Eventos Relevantes

TipoO que Extrair
userRequisitos, perguntas, contexto
assistantDecisoes, explicacoes, sugestoes
tool_useComandos executados, arquivos criados
thinkingRaciocinio, trade-offs considerados

Processo de Analise

session_analysis_process:
  1_locate_session:
    - Encontrar diretorio do projeto em ~/.claude/projects/
    - Listar arquivos .jsonl
    - Ordenar por data de modificacao

  2_parse_session:
    - Ler arquivo JSONL linha por linha
    - Extrair eventos relevantes
    - Agrupar por tipo

  3_identify_patterns:
    - Buscar decisoes (palavras-chave: "decidi", "escolhi", "vou usar")
    - Buscar bloqueios (palavras-chave: "erro", "falhou", "problema")
    - Buscar resolucoes (palavras-chave: "resolvido", "funcionou", "corrigido")

  4_generate_summary:
    - Criar resumo da sessao
    - Listar decisoes tomadas
    - Listar learnings identificados

  5_persist_results:
    - Salvar em .agentic_sdlc/sessions/
    - Atualizar RAG corpus se relevante
    - Vincular ao projeto/fase

Formato de Output

# .agentic_sdlc/sessions/session-{date}-{uuid-short}.yml
session_analysis:
  id: string
  analyzed_at: datetime
  source_file: string
  project_path: string

  summary:
    duration_estimate: string
    messages_count: number
    tools_used: list[string]

  decisions:
    - type: [architectural | technical | process]
      description: string
      context: string
      confidence: [high | medium | low]

  blockers:
    - description: string
      resolution: string
      time_to_resolve: string (estimated)

  learnings:
    - type: [pattern | anti-pattern | best-practice | gotcha]
      description: string
      applicable_to: list[string]

  artifacts_created:
    - path: string
      type: string

  next_steps:
    - description: string
      priority: [high | medium | low]

Palavras-chave para Deteccao

Decisoes

DECISION_KEYWORDS = [
    "decidi", "escolhi", "vou usar", "optei por",
    "a melhor opcao", "faz mais sentido", "vamos com",
    "prefiro", "recomendo", "sugiro"
]

Bloqueios

BLOCKER_KEYWORDS = [
    "erro", "falhou", "problema", "nao funcionou",
    "bug", "issue", "bloqueado", "travado",
    "nao consegui", "impossivel"
]

Resolucoes

RESOLUTION_KEYWORDS = [
    "resolvido", "funcionou", "corrigido", "sucesso",
    "consegui", "pronto", "finalizado", "ok"
]

Learnings

LEARNING_KEYWORDS = [
    "aprendi", "descobri", "percebi", "entendi",
    "importante notar", "lembre-se", "dica",
    "evite", "sempre", "nunca"
]

Integracao

Com Orchestrator

on_phase_complete:
  - call: session-analyzer
    when: phase_completed
    persist: true

Com Memory Manager

on_learning_found:
  - persist_to: .agentic_sdlc/corpus/learnings/
  - update: rag_index

Com Gate Evaluator

on_gate_pass:
  - analyze_session: true
  - extract_learnings: true

Script Python

O script extract_learnings.py implementa a logica de extracao.

Uso Manual

# Analisar sessao mais recente do projeto atual
python3 .claude/skills/session-analyzer/extract_learnings.py

# Analisar sessao especifica
python3 .claude/skills/session-analyzer/extract_learnings.py --session-id <uuid>

# Analisar e persistir
python3 .claude/skills/session-analyzer/extract_learnings.py --persist

Limitacoes

  • Sessoes grandes podem demorar para analisar
  • Deteccao de patterns e heuristica, nao 100% precisa
  • Informacoes sensiveis devem ser filtradas antes de persistir

Session Handoff Summaries (v2.0)

Propósito

Gera resumos estruturados ao fim de cada sessão para facilitar continuidade entre sessões. Adaptado do claude-orchestrator para o SDLC Agêntico.

Uso

# Gerar handoff da sessão mais recente
python3 .claude/skills/session-analyzer/scripts/handoff.py

# Especificar projeto
python3 .claude/skills/session-analyzer/scripts/handoff.py --project /path/to/project

# Especificar arquivo de saída
python3 .claude/skills/session-analyzer/scripts/handoff.py --output custom-summary.md

# Modo silencioso (sem preview)
python3 .claude/skills/session-analyzer/scripts/handoff.py --quiet

Estrutura do Handoff

# Session Summary: YYYY-MM-DD - repository

## Session Metadata
- Date, session file, repo, phase

## Completed
- [tasks that were completed]

## Pending
- [tasks still pending]

## Context for Next Session
- Current phase
- Files modified
- Tools used
- Decisions made
- Blockers
- Notes

Integração Automática

O handoff é gerado automaticamente:

  • Hook: session-analyzer.sh invoca handoff.py após gate-check
  • Timing: Ao fim de cada fase (gate passage)
  • Output: .agentic_sdlc/sessions/YYYYMMDD-HHMMSS-{repo}.md

Exemplo

Ver .claude/skills/session-analyzer/templates/handoff-example.md

Checklist

Antes da Analise

  • Verificar se sessao existe
  • Confirmar projeto correto
  • Verificar espaco em disco para output

Apos a Analise

  • Revisar learnings extraidos
  • Validar decisoes identificadas
  • Adicionar ao RAG se relevante
  • Revisar handoff summary para proxima sessao

Score

Total Score

70/100

Based on repository quality metrics

SKILL.md

SKILL.mdファイルが含まれている

+20
LICENSE

ライセンスが設定されている

+10
説明文

100文字以上の説明がある

+10
人気

GitHub Stars 100以上

0/15
最近の活動

1ヶ月以内に更新

+10
フォーク

10回以上フォークされている

0/5
Issue管理

オープンIssueが50未満

0/5
言語

プログラミング言語が設定されている

+5
タグ

1つ以上のタグが設定されている

+5

Reviews

💬

Reviews coming soon