Skip to content

Latest commit

 

History

15 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 

Repository files navigation

skills

Agent skills com os padrões de engenharia da Basis para uso em Claude Code, Cursor, Codex, OpenCode e qualquer agente que consuma o formato SKILL.md.

Skills disponíveis

Skill Quando ativar
basis-ci-gitlab Fluxo de uma mudança, do card do Taiga à imagem promovida: branch TG-xxx, mensagem de commit, flags da MR, ci/pipeline.toml, o template de CI compartilhado, as funções do orchestrator Dagger, e por que a análise do Sonar não rodou/não decorou/não avaliou nada. Traz script.
basis-k8s-deploy Deploy/infra: kustomize base+overlays, ArgoCD + Image Updater, secrets de operators (Postgres/RabbitMQ/Minio/MariaDB/Redis), tags CalVer. Pareada com basis-ci-gitlab — a fronteira é a imagem no registry com a tag de produção.
basis-spring-app Apps Spring: Java LTS + Maven + Spring Modulith, application.* em @ConfigurationProperties, Postgres + Flyway, Spring Cloud Stream RabbitMQ, Thymeleaf + HTMX + Tailwind + DaisyUI, Keycloak OIDC, Actuator, dev local com Docker Compose, banner de startup + logs de DEBUG, testes de estrutura Modulith.
basis-python-app Apps Python: 3.13+ com uv obrigatório, ruff, pytest, Dockerfile multi-stage, workspace só com 2+ components.
basis-web-frontend UI web: Thymeleaf + HTMX + Tailwind v4 + DaisyUI (tema caramellatte), layout com sidebar + header, tabelas com cabeçalho/rodapé fixos, formulários alinhados com utilitários, página de erro padrão (nunca Whitelabel), build de CSS/JS.
basis-multi-tenant Isolamento multi-tenant em tabela única (tenant_id) com Row Level Security do Postgres: role da app não-dona, FORCE ROW LEVEL SECURITY, forma missing_ok da policy, contexto transaction-local, ordem das migrations e chave primária composta (tenant_id, id). Traz script de verificação.
basis-java-code-standards Código Java: formatação e nomes, Java moderno (records, sealed, pattern matching), exceções, nulidade/imutabilidade, coleções, java.time/BigDecimal, logging, concorrência, segurança, design de API e testes.
basis-relatorio-incidente Nota de Incidente no padrão da equipe, em Jira wiki markup: estrutura fixa, conteúdo quantitativo, cronologia em UTC e verificação de eficácia. Vale também para incidentes de e-mail, rede e infraestrutura.
basis-skill-de-sessao Extrai skill de diagnóstico do registro de uma sessão de agente: localiza o transcript, monta o dossiê, varre segredo e orienta a redação. Traz scripts.
eks-upgrade Upgrade de versão do Kubernetes em cluster EKS: pré-voo com upgrade insights, control plane, managed node groups, addons e verificação. Cobre troca de família de AMI (AL2→AL2023, exige nodegroup novo) e drain com operator que gerencia PDB. Recebe $CLUSTER_NAME e $EKS_KUBECTL_CONTEXT do ambiente. Traz script de coleta e gerador do relatório final por diferença entre snapshots.

Instalação

Com skills CLI:

# Lista as skills do repo e pergunta qual instalar
npx skills add BasisTI/skills

# Instala uma específica
npx skills add BasisTI/skills --skill basis-spring-app

# Por URL direta
npx skills add https://github.com/BasisTI/skills/tree/main/skills/basis-k8s-deploy

Resolve por padrão pra main. Pra pinar numa versão estável, use a URL com a tag:

npx skills add https://github.com/BasisTI/skills/tree/v2026.04.26/skills/basis-spring-app

Em projetos que usam Claude Code também é possível clonar o repo e referenciar via plugin/skills locais.

Versionamento

CalVer (vYYYY.MM.DD), alinhado com o resto dos releases da Basis:

  • main: cabeça estável, sempre instalável.
  • Tags vYYYY.MM.DD: snapshot pra pinning. Criadas a cada release com mudança relevante de conteúdo.
  • Mudanças menores (correções de redação, links) entram direto em main sem tag nova.

Estrutura de uma skill

skills/<nome>/
├── SKILL.md          # frontmatter (name, description) + corpo
├── references/       # snippets, exemplos, deep dives
│   ├── *.md
│   ├── *.json        # templates prontos pra uso (ex: realm Keycloak de dev)
│   └── assets/       # binários que o padrão exige (ex: logo Basis)
└── scripts/          # opcional: executáveis que a skill invoca

Skill com scripts/ é executável, não só instrucional. Nesses casos: read-only por padrão, mutação só após aprovação explícita, e uma tabela no fim do SKILL.md declarando o que cada script muta. Sem caminho absoluto de máquina — a skill roda no ambiente de quem instalou.

Caminho que depende do ambiente

Algumas skills precisam de um lugar que só existe na máquina de quem instalou: o clone do repo de IaC, uma vault do Obsidian, um diretório de dados. A regra é declarar o nome da variável, nunca o valor:

Esta skill lê `$REPO_IAC` (clone local do repositório de manifests).
Se não estiver configurado, pergunte antes de prosseguir.

O valor vem da configuração de ambiente de quem instalou — no Claude Code, uma seção no CLAUDE.md de usuário; em script, uma variável de ambiente de verdade:

: "${REPO_IAC:?REPO_IAC não configurado — defina antes de rodar}"

Duas consequências que valem mais que a convenção em si:

  • Variável guarda ponteiro, não dado. Se a informação é uma lista que alguém mantém à mão (IDs de projeto, inventário de ambientes), a skill aponta para o arquivo e lê de lá. Copiar a lista para dentro da skill cria uma cópia que envelhece sem avisar.
  • Faltando, pergunte — não descubra. Um find pela vault acha a errada quando existem duas, e acha com confiança. Melhor uma pergunta ("o caminho não está configurado, quer configurar agora?") do que um acerto silencioso na máquina errada.

O name do frontmatter deve ser igual ao nome do diretório — é assim que npx skills add --skill <nome> resolve.

O SKILL.md é o ponto de entrada — descreve quando ativar e link pra referências. As references/*.md ficam dentro da pasta da skill, então o install via npx skills add leva tudo junto.

Origem e contribuição

Estas skills foram extraídas do projeto identity-hub (docs/skills/) durante a consolidação dos padrões de engenharia da Basis. O canônico continua sendo este repo — atualizações entram aqui primeiro e são propagadas pros projetos quando relevante.

Pra propor mudança, abra MR/PR neste repo. Conteúdo deve ser descritivo do padrão Basis atual, não de uma app específica — exemplos genéricos com <projeto>, <app>, etc.

Licença

Apache License 2.0.

About

Skills com padrões Basis para agentes de IA

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages