Pular para o conteúdo principal

Skills

Skills são arquivos SKILL.md que o OpenCode carrega quando necessário. Cada skill resolve uma classe específica de problema no workflow. As skills do repositório estão organizadas abaixo por área; a lista acompanha o repositório e não tem contagem fixa (ela deriva dos diretórios reais em skills/).

O OpenCode carrega uma skill de forma preguiçosa (lazy-loading), apenas quando a task combina com a descrição dela.

Harness — ciclo de vida e workflow​

SkillQuando usar
prevc-workflowControlar o ciclo de vida de trabalho significativo (Plan → Review → Execute → Validate → Judge → Confirm → Handoff)
harness-session-startInício de toda sessão: descobre instruções, estado e task ativa
harness-clean-handoffFim de toda sessão: fecha o estado com evidência e handoff
harness-session-handoffRegistrar o handoff entre sessões
harness-continuityTrabalho multi-sessão: state machine WIP=1 e protocolo de blocked
harness-wip-controlAntes de um prompt multi-step: decompõe em WIP=1, define AC e non-goals
harness-progress-logManter o log de progresso durável
harness-feature-stateAntes do Execute: audita o feature_list.json
harness-role-separationTarefas complexas ou de UI: separa Planner → Generator → Evaluator
harness-startup-pathDescobrir o comando de startup do projeto
harness-root-instructionsLocalizar e ler as instruções raiz do repo
harness-runtime-feedbackCapturar feedback de runtime durante o trabalho
harness-readable-workspaceSessão que não orienta: fresh-session test e mapeamento de gaps
harness-context-layerDecisões inconsistentes: audita ARCHITECTURE, PRODUCT, RELIABILITY
harness-refineFase Refine depois do Judge: dispara o refiner read-only sobre a janela de trajetória, roteia propostas por blast radius e registra notas do operador

Harness — setup, portabilidade e stack​

SkillQuando usar
harness-initializerPrimeira vez no projeto: auditoria não-mutatória das camadas
harness-bootstrapInstalar o pacote completo do harness com confirmação
harness-stack-routerDetectar o stack a partir dos arquivos
harness-standards-routerRotear standards de projeto e globais aplicáveis
harness-agent-os-specsCriar specs Agent OS a partir dos templates
harness-agent-permissionsDefinir e auditar a matriz de permissão de agentes
harness-portabilityGarantir portabilidade do harness entre projetos
harness-cursor-parityManter paridade de configuração com o Cursor

Harness — verificação, qualidade e diagnóstico​

SkillQuando usar
harness-termination-checkAntes de declarar "pronto": check em 3 camadas (static → runtime → system)
harness-evaluator-rubricAntes do Judge: constrói a rubrica task-specific
harness-eval-contractDefinir o contrato de avaliação do trabalho
harness-architecture-checksChecar aderência arquitetural
harness-quality-snapshotCapturar um snapshot de qualidade do código
harness-capstone-auditAuditoria abrangente de fechamento
harness-benchmarkMedir/benchmark do harness
harness-cleanup-scannerEscanear resíduos e arquivos a limpar
harness-security-scanAuditar secrets e supply-chain sem expor valores
harness-mcp-inventoryInventariar MCPs e detectar drift
harness-context-budgetAuditar carga de contexto e recomendar lazy-loading
harness-statusReportar readiness de git, PREVC, goal, handoff, contexto e segurança
harness-worktree-lifecycleSegurança do ciclo de vida de worktrees em agentes paralelos
harness-quality-gateRoda o quality gate medido e o risk router; exit 1 = corrigir a métrica (nunca relaxar o threshold), exit 2 = blocker do harness; métrica indisponível ou relatório ausente/desatualizado = gap nomeado, não pass
harness-project-calibrationDerivar thresholds de qualidade e high-risk paths do próprio projeto a partir das medições e do histórico dele
harness-rule-enforcePromover uma regra em prosa aprovada pelo operador a regra aplicada (lint | test | gate_metric) como lane normal despachável

Planejamento e specs​

SkillQuando usar
writing-plansAntes de mexer no código, com uma spec ou requisitos de tarefa multi-step
to-specTransformar uma ideia ou nota em uma spec
to-ticketsQuebrar uma spec em tickets acionáveis
researchInvestigar um tema ou domínio antes de decidir
grill-meSer questionado com rigor sobre um plano ou design até haver entendimento comum
grill-with-docsFazer perguntas apoiadas na documentação existente
grillingQuestionar com rigor o operador sobre um plano, decisão ou ideia até endurecer o pensamento (stress-test)
wayfinderOrientar-se em um codebase ou domínio desconhecido
domain-modelingModelar o domínio antes de projetar a solução
codebase-designProjetar a estrutura do codebase
improve-codebase-architectureMelhorar a arquitetura de um codebase existente
prototypeConstruir um protótipo rápido para validar uma ideia
implementImplementar uma peça de trabalho a partir de uma spec ou conjunto de tickets

Frontend e UI​

SkillQuando usar
frontend-designCriar interfaces com estética intencional e alto craft
interface-designDesign de interface: dashboards, apps, ferramentas (não sites de marketing)
emil-design-engPolimento de UI, animação e detalhes invisíveis de design
ui-ux-designerWireframes, design systems, pesquisa de usuário e acessibilidade
frontend-dev-guidelinesStandards de React + TypeScript (Suspense-first, feature-based)
frontend-developerConstruir componentes React (React 19, Next.js 15)
frontend-mobile-development-component-scaffoldScaffolding de componentes prontos, acessíveis e performáticos
frontend-slidesApresentações HTML ricas em animação ou conversão de PPT
frontend-ui-dark-tsApps React dark-theme com Tailwind, glassmorphism e Framer Motion
reactBoas práticas de React/Next.js para apps modernos
nextjs-app-router-patternsServer Components, streaming e data fetching no App Router
nextjs-best-practicesPrincípios do Next.js App Router
shadcn-uiPadrões de componentes shadcn/ui em Next.js + TypeScript

Backend e arquitetura​

SkillQuando usar
backend-architectDesign de API escalável, microserviços e sistemas distribuídos
backend-dev-guidelinesStandards de Node.js + Express + TypeScript (layered, DI, Prisma, Zod)
nodejs-developmentInternals e práticas de produção do Node.js (event loop, streams, workers)
modular-monolithArquitetura de monolito modular com fronteiras de módulo
software-architectureArquitetura de software focada em qualidade
software-engineeringPrincípios centrais de engenharia para código sustentável

Python​

SkillQuando usar
python-proPython 3.12+ moderno com async e otimização de performance
python-patternsDecisões de framework, async e estrutura de projeto
python-development-python-scaffoldScaffolding de projetos Python de produção (uv, FastAPI, Django)
python-fastapi-developmentBackend FastAPI com async, SQLAlchemy, Pydantic e auth
async-python-patternsAsyncio, programação concorrente e async/await
python-packagingEmpacotar bibliotecas e publicar no PyPI
python-performance-optimizationProfiling e otimização de código Python lento
python-testing-patternsTestes com pytest, fixtures, mocking e TDD
uv-package-managerGerenciamento de dependências e ambientes com uv

TypeScript​

SkillQuando usar
typescriptBoas práticas gerais de TypeScript
typescript-proTypeScript avançado em produção
typescript-advanced-typesSistema de tipos avançado (generics, conditional, mapped types)

Banco de dados e autenticação​

SkillQuando usar
nextjs-supabase-authIntegrar Supabase Auth com Next.js App Router (login, middleware, rotas protegidas)

Testes, debug e code review​

SkillQuando usar
tddDesenvolvimento orientado a testes: red-green-refactor e testes de integração
test-driven-developmentEscrever testes antes do código, em disciplina TDD
systematic-debuggingDiante de qualquer bug, falha de teste ou comportamento inesperado, antes de propor fixes
verification-before-completionAntes de declarar trabalho concluído
reviewing-codeRevisar PRs, commits ou diffs contra standards
code-reviewRevisar as mudanças desde um ponto fixo (commit, branch, tag ou merge-base) nos eixos Standards e Spec, em subagentes paralelos
requesting-code-reviewPreparar e solicitar code review
receiving-code-reviewReceber feedback de review com rigor técnico, sem concordância performática

Segurança e WSTG​

SkillQuando usar
frontend-security-coderPráticas seguras no frontend (XSS, sanitização, segurança client-side)
backend-security-coderPráticas seguras no backend (input validation, auth, segurança de API)
frontend-mobile-security-xss-scanDetectar XSS em React, Vue, Angular e JS puro
wstg-information-gatheringWSTG: coleta de informação
wstg-configuration-managementWSTG: gestão de configuração e deployment
wstg-identity-managementWSTG: gestão de identidade
wstg-authenticationWSTG: testes de autenticação
wstg-authorizationWSTG: testes de autorização
wstg-session-managementWSTG: gestão de sessão
wstg-input-validationWSTG: validação de entrada
wstg-error-handlingWSTG: tratamento de erros
wstg-weak-cryptographyWSTG: criptografia fraca
wstg-business-logicWSTG: lógica de negócio
wstg-client-sideWSTG: testes client-side
wstg-api-testingWSTG: testes de API

Meta e ferramentas​

SkillQuando usar
writing-skillsCriar, editar ou verificar skills
writingEscrever texto claro e bem estruturado
prompt-engineeringMelhorar prompts e depurar comportamento de agentes
dispatching-parallel-agentsDiante de 2+ tarefas independentes sem estado compartilhado
using-git-worktreesIsolar trabalho de feature em um worktree dedicado
resolving-merge-conflictsResolver conflitos de merge
playwright-cliAutomação de browser, scraping e testes E2E com Playwright