Install
$ agentstack add skill-felvieira-claude-skills-fv-47-pattern-conformity ✓ scanned · ✓ verified — works with Claude Code, Cursor, and more.
Security review
✓ PassedNo issues found. Passed automated security review. · v0.1.0 How review works →
- ✓ Prompt-injection patterns
- ✓ Secret / credential exfiltration
- ✓ Dangerous shell & filesystem operations
- ✓ Untrusted network calls
- ✓ Known-malicious package signatures
What it can access
- ✓ Network access No
- ✓ Filesystem access No
- ✓ Shell / process execution No
- ✓ Environment & secrets No
- ✓ Dynamic code execution No
From automated source analysis of v0.1.0. “Used” means the capability is present in the source — more access means more to trust, not that it’s unsafe.
About
Pattern Conformity — Code Like the Codebase
> Principio: Um agente que ignora as convencoes do projeto existente produz codigo tecnicamente > correto mas arquiteturalmente dissonante — cria divida tecnica suave que se acumula silenciosamente. > Esta skill impoe "codigo com sotaque do projeto".
Quando Usar
- ao iniciar feature em codebase existente com convencoes estabelecidas
- quando usuario diz "coda igual ao resto", "segue o padrao", "nao inventa"
- antes de gerar novo modulo, service, test, hook, componente, CLI command
- quando novo dev ou agente esta sendo integrado a um projeto consolidado
- como prerequisito de skills 01 (feature-development), 02 (frontend-components), 03 (api-design)
Quando NAO Usar
- projeto greenfield sem codigo existente (sem padrao pra detectar)
- task pontual de 1 arquivo onde o contexto local e obvio
- ja existe
memory/patterns.mdatualizado (`) - Classe de erro customizada? (ex:
AppError,DomainException,ApiError) - Try/catch no handler ou no service ou em middleware?
- Logging de erros: onde, como, com que nivel?
- Erros de validacao: Zod / Joi / class-validator / manual?
P5 — Estilo de Testes
- Framework: Jest, Vitest, pytest, go test, etc.
- Setup/teardown:
beforeEach/afterEach? fixtures? factories? - Mocking:
jest.mock,vi.mock,sinon, manual mocks, DI? - Naming de testes: "should ...", "it ...", "given ... when ... then ..."?
- Cobertura por camada: unitario so de domain? integration so de API?
P6 — Injecao de Dependencia e Composicao
- DI container (tsyringe, inversify, NestJS DI) vs manual vs closures?
- Constructor injection vs property vs function parameter?
- Composicao preferida sobre heranca?
P7 — API / Protocolo de Interface (se aplicavel)
- REST com response envelope
{data, error, meta}vs flat? - GraphQL: code-first ou schema-first? mutations nomeadas como?
- Validacao de input: middleware ou no handler?
- Paginacao: cursor ou offset? campo
page/limitvscursor/after?
P8 — Estado e Efeitos Colaterais
- (Frontend) State management: local state, context, Zustand, Redux?
- Side effects em hooks, services, ou handlers?
- Mutacoes: immer, spread, ou direto no state?
Fase 3 — Producao do Code Style Map
Salvar em memory/patterns.md (criar diretorio se necessario):
---
last_extracted: YYYY-MM-DD
source_sample:
confidence: high|medium|low
---
# Code Style Map —
> Gerado por skill 47 (pattern-conformity). Atualizar com `--update` se o projeto evoluir.
## P1 — Naming
- Arquivos:
- Classes:
- Funcoes:
- Tipos:
- Exportacoes:
- **Exemplos canonicos:** ``, ``
## P2 — Estrutura de Modulos
- Organizacao:
- Co-location de testes:
- Imports:
- **Exemplos canonicos:** ``, ``
## P3 — Async
- Padrao:
- Regra:
## P4 — Tratamento de Erros ⚠️
- Mecanismo:
- Classe customizada:
- Camada de captura:
- Logging:
- **Exemplos canonicos:** ``
## P5 — Testes
- Framework:
- Naming:
- Mocking:
- Factories:
- **Exemplos canonicos:** ``
## P6 — Dependencias e Composicao
- DI:
- Composicao:
## P7 — API/Interface (se houver)
- Envelope de resposta:
- Validacao:
- Paginacao:
## P8 — Estado (se frontend)
- State management:
- Efeitos:
## Alertas de Anti-padrao
> Padroes que existem mas devem ser EVITADOS (legado, inconsistencia):
-
-
## Restricoes para Geracao de Novo Codigo
Ao gerar qualquer novo arquivo neste projeto:
1.
2.
3.
...
Nivel de confianca:
high: padrao absolutamente consistente em >90% das amostrasmedium: padrao predominante (>70%) com algumas excecoeslow: padrao sugerido mas com inconsistencias — notar na secao "Alertas"
Fase 4 — Gate de Conformidade (Inline)
Quando esta skill esta ativa E o agente vai gerar codigo, antes de escrever:
- Ler
memory/patterns.md(ou o que foi extraido nesta execucao) - Para cada bloco de codigo a ser escrito, verificar:
- naming segue P1?
- estrutura de arquivo segue P2?
- erros seguem P4?
- se e teste, segue P5?
- Se houver desvio intencional (padrao do projeto e ruim/legado), comentar o desvio com justificativa
Exemplo de comentario de desvio intencional:
// [pattern-conformity] desvio: projeta usa throw AppError mas aqui
// retornamos Result porque esta funcao e usada em contexto de pipeline
// onde propagar excecao quebraria o fluxo. Ver patterns.md P4.
Output Minimo
Ao final da skill, reportar:
Pattern Conformity —
Arquivos analisados:
Padroes extraidos: P1-P8 (ou subset)
Confianca: high|medium|low
Salvo em: memory/patterns.md
Cache valido por: 14 dias
Restricoes ativas para proximo codigo:
1.
2.
3.
Handoffs
- Input pra skill 01 (feature-development): passar
memory/patterns.mdcomo restricao - Input pra skill 02 (frontend-components): estilo de componentes (P2, P8)
- Input pra skill 03 (api-design): envelope de resposta, validacao, paginacao (P7)
- Input pra skill 05 (test-engineer): framework, naming, mocking, factories (P5)
- Input pra skill 09 (orchestrator): orquestrador sabe que patterns.md existe e deve referencia-lo no plano
- Alimentado por skill 18 (repo-auditor): usa
docs/repo-audit/current.mdpra saber onde olhar
Anti-padroes
- ❌ Inventar restricoes "ideais" que nao estao no codigo — so extrair o que EXISTE
- ❌ Reportar tudo que viu em vez de extrair o padrao — patterns.md deve ser conciso (<150 linhas)
- ❌ Ignorar inconsistencias — seccao "Alertas" existe pra isso
- ❌ Reextrair a cada task — verificar cache primeiro (Fase 0)
- ❌ Tratar
patterns.mdcomo substituicao do CLAUDE.md — e complemento; ambos devem ser lidos - ❌ Forcar padrao legado ruim quando usuario quer evolucao — skill descreve o que existe, usuario decide se segue
Source & license
This open-source skill is cataloged on AgentStack and links to its original source — we do not rehost the code.
- Author: felvieira
- Source: felvieira/claude-skills-fv
- License: Apache-2.0
Install and usage instructions live in the source repository linked above.
Reviews
No reviews yet — be the first.
Write a review
Versions
- v0.1.0 Imported from the upstream source.