learned-lesson

Captura e armazena licoes tecnicas de bug fixes ou decisoes arquiteturais

16 stars

Best use case

learned-lesson is best used when you need a repeatable AI agent workflow instead of a one-off prompt.

Captura e armazena licoes tecnicas de bug fixes ou decisoes arquiteturais

Teams using learned-lesson should expect a more consistent output, faster repeated execution, less prompt rewriting.

When to use this skill

  • You want a reusable workflow that can be run more than once with consistent structure.

When not to use this skill

  • You only need a quick one-off answer and do not need a reusable workflow.
  • You cannot install or maintain the underlying files, dependencies, or repository context.

Installation

Claude Code / Cursor / Codex

$curl -o ~/.claude/skills/learned-lesson/SKILL.md --create-dirs "https://raw.githubusercontent.com/diegosouzapw/awesome-omni-skill/main/skills/data-ai/learned-lesson/SKILL.md"

Manual Installation

  1. Download SKILL.md from GitHub
  2. Place it in .claude/skills/learned-lesson/SKILL.md inside your project
  3. Restart your AI agent — it will auto-discover the skill

How learned-lesson Compares

Feature / Agentlearned-lessonStandard Approach
Platform SupportNot specifiedLimited / Varies
Context Awareness High Baseline
Installation ComplexityUnknownN/A

Frequently Asked Questions

What does this skill do?

Captura e armazena licoes tecnicas de bug fixes ou decisoes arquiteturais

Where can I find the source code?

You can find the source code on GitHub using the link provided at the top of the page.

SKILL.md Source

# Learned Lesson Skill

## Metadata
- **Total de Steps**: 4
- **Tempo Estimado**: 10-15 minutos
- **Prerequisito**: Conclusao de tarefa complexa, bug fix ou decisao arquitetural
- **Artefato Final**: `.aidev/memory/kb/YYYY-MM-DD-<topic>.md`

## Quando Usar
Ativa apos a conclusao de uma tarefa complexa, correcao de bug, **implementacao de um padrao de sucesso** ou decisao arquitetural importante. O objetivo e economizar tokens e tempo em sessoes futuras ao reutilizar solucoes de excelencia ou evitar erros repetidos.

## Proposito
Capturar conhecimento tacito (como resolvemos algo ou por que algo funcionou tao bem) e transforma-lo em conhecimento explicito reutilizavel.

---

## Step 1: Capturar Contexto
**Checkpoint**: `context_captured`

### Acoes
Documentar o contexto do aprendizado:

1. Qual erro, excecao, desafio ou **padrao de excelencia** foi identificado?
2. Qual era o comportamento esperado vs observado (para bugs) ou qual a vantagem competitiva (para padroes)?
3. Qual a stack/tecnologia envolvida?
4. Qual a frequencia/impacto ou potencial de reuso?

### Formato de Captura

```markdown
## Contexto

**Stack**: [Ex: Laravel 10 + PHP 8.2]
**Ambiente**: [Ex: Producao, Docker]
**Frequencia**: [Ex: Intermitente, sempre]
**Impacto**: [Ex: Critico, Alto, Medio, Baixo]

### Sintoma Observado
[Descricao do comportamento errado]

### Comportamento Esperado
[Descricao do comportamento correto]

### Evidencia
[Stack trace, log, screenshot]
```

### Criterios de Validacao
- [ ] Contexto claramente descrito
- [ ] Stack/tecnologia identificada
- [ ] Sintoma documentado com evidencia
- [ ] Impacto avaliado

---

## Step 2: Identificar Causa Raiz
**Checkpoint**: `root_cause_identified`

### Acoes
Aplicar tecnica dos 5 Porques:

1. Por que o erro ocorreu?
2. Por que essa condicao existia?
3. Por que nao foi detectado antes?
4. Por que o sistema permitiu?
5. Por que nao havia protecao?

### Formato

```markdown
## Causa Raiz

### Analise (5 Whys)
1. **Por que falhou?** [Resposta]
2. **Por que?** [Resposta]
3. **Por que?** [Resposta]
4. **Por que?** [Resposta]
5. **Por que?** [Causa raiz]

### Causa Raiz Identificada
[Explicacao tecnica clara e concisa]

### Tipo de Problema / Padrao
- [ ] Bug de codigo
- [ ] Configuracao incorreta
- [ ] Padrao de Codificacao (Sucesso)
- [ ] Decisao Arquitetural
- [ ] Otimizacao de Performance
- [ ] Falta de validacao
- [ ] Outro: ___
```

### Criterios de Validacao
- [ ] 5 Whys aplicados
- [ ] Causa raiz tecnica identificada
- [ ] Tipo de problema classificado
- [ ] Nao confunde sintoma com causa

---

## Step 3: Documentar Solucao
**Checkpoint**: `solution_documented`

### Acoes
Documentar a correcao de forma reproduzivel:

1. O que foi mudado (diff/codigo)
2. Por que essa solucao funciona
3. Alternativas consideradas
4. Testes que validam a correcao

### Formato

```markdown
## Solucao

### Correcao Aplicada
```[linguagem]
// Codigo que resolveu o problema
```

### Por Que Funciona
[Explicacao tecnica de por que essa solucao resolve a causa raiz]

### Alternativas Consideradas
| Alternativa | Por que nao escolhida |
|-------------|----------------------|
| ... | ... |

### Validacao
- Teste adicionado: `path/to/test.spec.ts`
- Comando de verificacao: `npm test -- --grep "..."`
```

### Criterios de Validacao
- [ ] Codigo/mudanca documentado
- [ ] Explicacao do porque funciona
- [ ] Teste de regressao adicionado
- [ ] Comando de verificacao funciona

---

## Step 4: Armazenar Licao
**Checkpoint**: `lesson_stored`

### Acoes

#### Memoria Local (Projeto)
Salvar em `.aidev/memory/kb/`:

```bash
# Nome do arquivo
YYYY-MM-DD-<slug-do-problema>.md
```

#### Memoria Global (Cross-Project)
Se aplicavel a outros projetos:

```bash
# Usar basic-memory MCP
mcp__basic-memory__write_note
```

### Template Final da Licao

```markdown
# Licao: [Titulo Curto e Descritivo]

**Data**: YYYY-MM-DD
**Stack**: [Tecnologias envolvidas]
**Tags**: [bug, success-pattern, arch-decision, performance, security, etc]

## Contexto
[Resumo do contexto - do Step 1]

## Problema
[Sintoma e evidencia - do Step 1]

## Causa Raiz
[Explicacao tecnica - do Step 2]

## Solucao
[Codigo/mudanca - do Step 3]

## Prevencao
Como evitar no futuro:
- [ ] Checklist item 1
- [ ] Checklist item 2

## Referencias
- [Link para PR/commit]
- [Link para documentacao]
```

### Criterios de Validacao
- [ ] Arquivo salvo no path correto
- [ ] Todas as secoes preenchidas
- [ ] Tags apropriadas adicionadas
- [ ] Memoria global atualizada (se aplicavel)

---

## Categorias de Licoes

| Categoria | Descricao | Exemplo |
|-----------|-----------|---------|
| `bug` | Correcao de erro | NPE em campo nullable |
| `success-pattern` | Padrao de Excelencia | Implementacao limpa de Repository |
| `arch-decision` | Decisao Arquitetural | Uso de Event Sourcing |
| `config` | Configuracao | Timeout de conexao |
| `performance` | Otimizacao | N+1 query |
| `security` | Vulnerabilidade | SQL injection |
| `integration` | Integracao | API externa |
| `deployment` | Deploy/infra | Docker/K8s |

---

## Transicoes

### Ao Completar com Sucesso
```bash
skill_add_artifact "learned-lesson" ".aidev/memory/kb/YYYY-MM-DD-<topic>.md" "lesson"
skill_complete "learned-lesson"
# Licao disponivel para consulta futura
```

### Em Caso de Falha
```bash
skill_fail "learned-lesson" "Motivo da falha"
# Salvar estado parcial para retomar depois
```

---

## Exemplo de Uso com Orquestrador

```bash
skill_init "learned-lesson"
skill_set_steps "learned-lesson" 4

# Step 1: Capturar contexto
skill_advance "learned-lesson" "Capturar contexto"
# ... documentar contexto, sintoma, evidencia ...
skill_validate_checkpoint "learned-lesson"

# Step 2: Identificar causa raiz
skill_advance "learned-lesson" "Identificar causa raiz"
# ... aplicar 5 whys, classificar problema ...
skill_validate_checkpoint "learned-lesson"

# Step 3: Documentar solucao
skill_advance "learned-lesson" "Documentar solucao"
# ... registrar correcao, validar com teste ...
skill_validate_checkpoint "learned-lesson"

# Step 4: Armazenar licao
skill_advance "learned-lesson" "Armazenar licao"
# ... salvar arquivo, atualizar memoria ...
skill_add_artifact "learned-lesson" ".aidev/memory/kb/2024-01-15-timeout-api.md" "lesson"
skill_validate_checkpoint "learned-lesson"

skill_complete "learned-lesson"
```

---

## Recuperacao de Licoes

Para consultar licoes em sessoes futuras:

```bash
# Listar e buscar (CLI Otimizado)
aidev lessons
aidev lessons --search "termo"
aidev lessons --read "nome-arquivo"

# Busca global (basic-memory)
mcp__basic-memory__search_notes query="palavra-chave"
```

---

## Principios

1. **Capture Imediatamente** - Conhecimento tacito se perde rapido
2. **Seja Especifico** - Detalhes tecnicos importam
3. **Inclua Codigo** - Exemplos concretos sao mais uteis
4. **Adicione Teste** - Previna regressoes
5. **Categorize Bem** - Facilita busca futura

Related Skills

extracting-learned-skills

16
from diegosouzapw/awesome-omni-skill

Extracts reusable skills and decision-making heuristics from debugging sessions. Use after solving tricky bugs, discovering non-obvious workarounds, or finding hidden gotchas specific to a codebase. Triggers include "save this as a skill", "learn from this", or after significant debugging effort.

add-lesson

16
from diegosouzapw/awesome-omni-skill

Add a new lesson learned to shared rules and sync to context files.

bgo

10
from diegosouzapw/awesome-omni-skill

Automates the complete Blender build-go workflow, from building and packaging your extension/add-on to removing old versions, installing, enabling, and launching Blender for quick testing and iteration.

Coding & Development

nosql-expert

16
from diegosouzapw/awesome-omni-skill

Expert guidance for distributed NoSQL databases (Cassandra, DynamoDB). Focuses on mental models, query-first modeling, single-table design, and avoiding hot partitions in high-scale systems.

nosql-databases

16
from diegosouzapw/awesome-omni-skill

Apply NoSQL best practices for MongoDB, Convex, and document databases. Use when designing schemas, writing queries, optimizing performance, or building applications with non-relational databases. Use with database-expert for query optimization and DBA-level tuning (20+ years experience).

nodejs-javascript-vitest

16
from diegosouzapw/awesome-omni-skill

Guidelines for writing Node.js and JavaScript code with Vitest testing Triggers on: **/*.js, **/*.mjs, **/*.cjs

nodejs-best-practices

16
from diegosouzapw/awesome-omni-skill

Node.js development principles and decision-making. Framework selection, async patterns, security, and architecture. Teaches thinking, not copying.

nodejs-backend-typescript

16
from diegosouzapw/awesome-omni-skill

Node.js backend development with TypeScript, Express/Fastify servers, routing, middleware, and database integration

nodejs-backend-patterns

16
from diegosouzapw/awesome-omni-skill

Build production-ready Node.js backend services with Express/Fastify, implementing middleware patterns, error handling, authentication, database integration, and API design best practices. Use when creating Node.js servers, REST APIs, GraphQL backends, or microservices architectures.

Node Tuning Helper Scripts

16
from diegosouzapw/awesome-omni-skill

Generate tuned manifests and evaluate node tuning snapshots

nock-interpreter-engineer-assistant

16
from diegosouzapw/awesome-omni-skill

Expert Nock interpreter builder for implementing virtual machines in C, Python, Rust, Haskell, or JavaScript. Use when building Nock interpreters, porting between languages, implementing evaluation loops, or understanding Nock runtime behavior.

nix-workspace

16
from diegosouzapw/awesome-omni-skill

Node.js dashboard for Nix agents - task management with comments, agent status, action log, and task routing. Start with `node server.js`. Access at http://localhost:5050 or https://nixbot.auromations.com