Skills CLI 1.0: empacote e distribua skills de agentes de IA para seus pacotes
Inclua skills oficiais de agentes de IA diretamente nos seus pacotes para melhorar a descoberta.
Desde o final de 2025, as Agent Skills vêm mudando a forma como os usuários dão mais contexto aos seus agentes de IA. Elas são fáceis de criar e usam tokens de forma eficiente por meio de divulgação progressiva. Juntas, essas vantagens reduzem a lacuna do corte de conhecimento, permitindo que os agentes trabalhem melhor em bases de código, dependências e ferramentas desconhecidas ou atualizadas.
Hoje, as skills costumam ser compartilhadas por repositórios Git,
o que exige que o desenvolvedor clone e copie os arquivos manualmente
ou use ferramentas como npx skills.
Embora o npx skills funcione bem, para um fanático por Dart como eu,
exigir Node.js só para rodar uma única ferramenta de linha de comando parece deslocado.
O Dart sempre adotou uma abordagem "batteries-included",
com tudo o que você precisa já incluído no SDK.
Gerenciar skills de IA deveria parecer igualmente nativo.
Mesmo para desenvolvedores que já têm Node.js e npx instalados,
ainda há falta de descoberta e de suporte a versões de pacotes.
Como garantir que as skills que você usa
correspondam exatamente à versão do pacote no seu projeto?
Conheça a CLI de skills
#
Para resolver esses dois problemas,
a equipe da Serverpod
criou a CLI skills.
Temos o prazer de anunciar a versão 1.0,
agora mantida e publicada diretamente pela equipe do Dart.
Essa ferramenta é muito mais do que um substituto para o npx skills.
A grande novidade é que ela permite que autores de pacotes distribuam skills
diretamente com o seu pacote.
Tudo o que eles precisam fazer é colocá-las em um diretório skills/
de primeiro nível:
my-project/
├── src/
├── skills/ <--- skills
├── pubspec.yaml
└── README.md
Recomendamos executar essa ferramenta com a nova sintaxe dart run skills@,
que sempre roda a versão mais recente da CLI como uma ferramenta global.
Como alternativa, você pode instalar a ferramenta com dart install
(só lembre de atualizá-la periodicamente!).
Para consumidores de pacotes: instalando skills
#
Para obter skills diretamente das dependências no seu pubspec.yaml,
execute o comando get:
# Scans immediate dependencies and discovers available skills.
dart run skills@ get
A CLI skills analisa as dependências do seu projeto
em busca de diretórios skills/ empacotados.
Em seguida, ela lista as skills disponíveis
e deixa você escolher quais quer instalar.
As execuções seguintes são incrementais, mostrando apenas as skills novas, atualizadas, removidas
ou ignoradas anteriormente.
Você também pode passar a flag --all para instalar todas as skills das dependências de uma vez.
Para autores de pacotes: distribuindo uma skill
#
Autores de pacotes já podem distribuir skills junto com o código.
Para criar uma skill, adicione um diretório dentro de skills/
com o prefixo do nome do seu pacote (para evitar colisões),
e inclua um arquivo de instruções SKILL.md.
Isso segue o layout padrão do Agent Skills.
Por exemplo, um pacote chamado networking pode impor o uso correto da API
com a seguinte estrutura:
---
name: networking-error-handling
description: >-
Use when the user is making network requests using the networking APIs
to ensure safe patterns.
---
# Networking Error Handling
## Guidelines
- Operations must always be wrapped in a try/catch block.
- You must catch `NetworkException` specifically
to handle retries and log diagnostics.
- Provide fallback UI state in the event of a timeout.
## Examples
```dart
try {
final response = await NetworkingClient.fetchData();
} on NetworkException catch (e) {
Logger.log(e.context);
return FallbackData();
}
```
Instalando a partir do git com o comando add
#
Embora puxar skills diretamente das suas dependências seja prático,
já existe um ecossistema inteiro
de compartilhamento de skills por repositórios do GitHub.
Eles podem nem estar associados diretamente a pacotes Dart ou Flutter.
A CLI skills também oferece suporte à instalação explícita de skills de qualquer repositório Git
pelo comando add:
# Install universally applicable skills from a Git repository
dart run skills@ add https://github.com/my-org/custom-ai-skills.git
Você pode instalar qualquer skill encontrada em skills.sh,
um agregador popular de skills,
simplesmente substituindo o comando npx skills por dart run skills@.
Isso permite que equipes componham suas instruções a partir de várias fontes, incluindo dependências Dart e repositórios externos, tudo gerenciado por uma única ferramenta.
Experimente as skills hoje
#
Estamos animados para ver como a CLI skills
simplifica o desenvolvimento de Dart e Flutter com IA!
Aqui está um resumo rápido:
-
Autores de pacotes:
adicionem arquivos
skills/<package_name>-<skill-name>/SKILL.mdao repositório do seu pacote. -
Consumidores de pacotes:
rodem
dart run skills@ getna raiz do projeto para descobrir e instalar as skills disponíveis nas suas dependências.
Um enorme obrigado à Serverpod pela implementação inicial, e a todos os primeiros adotantes que estão moldando esses fluxos de trabalho agentic conosco! Se você tiver feedback ou encontrar algum problema, avise abrindo uma issue no repositório dart-lang/ai.
Para saber mais e explorar skills em ação:
- Documentação: leia o guia de skills de pacotes ou a documentação de skills de pacotes do Flutter.
- Autores de pacotes: siga nosso guia sobre como distribuir skills com pacotes.
- Ferramenta de CLI: veja o package:skills no pub.dev.
- Exemplos: veja skills já distribuídas em pacotes como Jaspr, Serverpod, Flutter Scene e GenUI.
Mais do Dart
Anunciando o Genkit Dart 1.0: crie apps agênticos prontos para produção com Dart e Flutter
Anunciando a versão estável 1.0 do Genkit Dart, um framework open source para criar apps agênticos e recursos de IA prontos para produção em Dart.
O elo perdido do Flutter: por que o Dart full-stack muda tudo
Com o suporte do Cloud Functions for Firebase ao Dart, podemos tratar a stack inteira como um único app unificado.