Skills: Variáveis e Sistema de Templates

Última atualização: 2026-08-31

Variáveis transformam Skills de "templates hardcoded" em "ferramentas flexíveis" — uma definição, mil reutilizações.


1. Tipos de variáveis

(1) Variáveis de entrada do usuário

Parâmetros fornecidos por quem chama:

YAML
variables:
  - name: target_file
    description: "Caminho do arquivo a revisar"
    required: true
  - name: severity_level
    description: "Nível mínimo de severidade"
    default: "warning"
    choices: ["info", "warning", "error", "critical"]

(2) Variáveis de ambiente

Obtidas automaticamente do ambiente de execução:

YAML
variables:
  - name: current_branch
    type: env
    source: "GIT_BRANCH"
  - name: project_root
    type: env
    source: "PROJECT_ROOT"

(3) Variáveis de contexto

Injetadas a partir do contexto da conversa ou do projeto:

YAML
variables:
  - name: tech_stack
    type: context
    source: "project.language"
  - name: changed_files
    type: context
    source: "git.changed_files"

2. Sintaxe de templates

(1) Substituição básica

MARKDOWN
Por favor revise {{target_file}}, focando em problemas de nível {{severity_level}} ou superior.

(2) Renderização condicional

MARKDOWN
## Estratégia de revisão

{{#if tech_stack == "python"}}
Revise pelas convenções Python: type hints, docstrings, PEP 8
{{/if}}

{{#if tech_stack == "typescript"}}
Revise pelas convenções TypeScript: segurança de tipos, detecção de any, definições de interface
{{/if}}

(3) Renderização em loop

MARKDOWN
## Lista de arquivos alterados

{{#each changed_files}}
- {{this}}
{{/each}}

(4) Valores padrão e fallbacks

MARKDOWN
O estilo de código segue {{linter_config || "padrões da indústria"}}.

3. Validação de variáveis

(1) Validação de tipo

YAML
variables:
  - name: max_lines
    type: integer
    min: 10
    max: 500
    default: 100
  - name: output_format
    type: enum
    choices: ["markdown", "json", "table"]
    default: "markdown"

(2) Verificação de campos obrigatórios

TEXT 📖 Somente leitura
Fluxo de validação de variáveis:
1. Verificar se todas as variáveis obrigatórias foram fornecidas
2. Verificar se os tipos correspondem
3. Verificar se os valores estão dentro do intervalo de choices
4. Verificar restrições de min/max
5. Não fornecido mas tem padrão → Usar valor padrão
6. Falha na validação → Solicitar ao usuário que forneça

4. Variáveis na prática

▶ Exemplo: Skill de deploy parametrizado

Alice criou um Skill de deploy flexível:

YAML
---
name: smart-deploy
variables:
  - name: environment
    description: "Ambiente de deploy"
    required: true
    choices: ["staging", "production"]
  - name: skip_tests
    description: "Se deve pular os testes"
    type: boolean
    default: false
  - name: rollback_on_fail
    description: "Se deve reverter em caso de falha"
    type: boolean
    default: true
---
MARKDOWN
# Deploy para {{environment}}

{{#if skip_tests}}
⚠️ Pulando testes, deploy direto
{{/if}}

{{#if !skip_tests}}
1. Execute a suíte completa de testes
2. Confirme que todos os testes passaram
{{/if}}

3. Deploy para {{environment}}
{{#if rollback_on_fail}}
4. Verifique sucesso do deploy, rollback automático em caso de falha
{{/if}}

Bob comentou: "Parametrização faz um Skill valer por dez — staging e production não precisam de Skills separados, uma variável resolve."


❓ Perguntas Frequentes

P: Variáveis demais tornam o Skill complexo? R: Sim. Recomenda-se no máximo 5 variáveis principais e 3 opcionais. Se precisar de mais, considere dividir em múltiplos Skills. P: A sintaxe de template é a mesma em todas as plataformas? R: Não. Claude Code usa {{var}}, Cursor usa $var, Copilot usa ${var}. Este curso usa a sintaxe do Claude Code; os conceitos são universais e multiplataforma. P: Variáveis podem ser computadas dinamicamente em tempo de execução? R: Sim, através de variáveis de contexto e variáveis de ambiente. Mas computação complexa é melhor descrita como lógica em linguagem natural no prompt do Skill, deixando a IA raciocinar.


📖 Resumo


📝 Exercícios

  1. Básico (dificuldade⭐): Adicione uma variável severity_level ao Skill code-review para controlar o nível de saída da revisão.
  2. Intermediário (dificuldade⭐⭐): Crie um Skill de deploy parametrizado com suporte a seleção de ambiente, toggle de pular testes e variável de estratégia de rollback.
  3. Avançado (dificuldade⭐⭐⭐): Projete um sistema de validação de variáveis que trate verificações de tipo, dependências (ex.: produção exige approver) e padrões dinâmicos.
Web-Tutorial.com

Equipe Técnica Web-Tutorial

Uma plataforma de tutoriais mantida por diversos desenvolvedores. Cada tutorial é escrito e revisado por profissionais da área correspondente. Trabalhamos para manter nosso conteúdo preciso e confiável — se encontrar algum problema, avise-nos.

100%