Instalar, listar e atualizar cápsulas de conhecimento (skills) que ensinam agentes de IA a trabalhar corretamente num projeto iGRP.
O comando igrp skill (alias sk) gere skills num projeto iGRP — cápsulas de conhecimento em formato Anthropic que vivem em <projeto>/.agents/skills/<nome>/ e são consumidas por agentes de IA (Claude Code, Cursor, o Prototype builder do Studio). Cada skill cobre um único framework (Next.js, Spring, .NET, Process) ou é uma meta que agrega outras via dependencies.
Uma skill é uma pasta com SKILL.md (frontmatter name + description), ficheiros companheiros carregados sob demanda (subpastas como references/, assets/ ou scripts/ são preservadas na instalação) e um skill.json — o manifesto com version, framework, tags, dependencies e a lista exata de files. As skills publicadas vivem em studio/_skills/ no workspace.
Não é o mesmo layout do Claude Code
As skills do iGRP usam o mesmo formato SKILL.md das skills do Claude Code, mas instalam-se em .agents/skills/<nome>/, não em .claude/skills/. É um formato-ponte pensado para ser lido por vários agentes diferentes, não só pelo Claude Code.
Subcomandos
igrp skill add <name> --project <path> [--version <semver>] [--source <url>] [--force] [--dry-run]
igrp skill list --project <path> [--json]
igrp skill remove <name> --project <path> --yes [--force]
igrp skill update [<name>] --project <path> [--allow-major] [--source <url>]
igrp skill search [<query>] [--framework <fw>] [--tag <a,b>] [--source <url>] [--json]
igrp skill info <name> [--version <semver|range>] [--source <url>] [--json]
igrp skill init --project <path> [--type <type>] [--source <url>] --yes| Flag | Onde se aplica | Efeito |
|---|---|---|
--project <path> | todos | Raiz do projeto. Default: cwd. As skills instalam-se em <projeto>/.agents/skills/<nome>/. |
--source <url> | add, search, info, update, init | URL base do registry. Default: env IGRP_SKILL_REGISTRY, senão https://sonatype.nosi.cv/repository/igrp-templates/@igrp/skills/. |
--version <semver> | add, info | Versão exata ou range (^1.2.0); default latest — a maior versão estável (pre-releases só se as pedires). |
--force | add, remove | add: sobrepõe uma skill já instalada e reinstala as dependências. remove: remove mesmo havendo skills que dependem dela. |
--yes | remove, init | Confirma a operação. Sem esta flag, remove só mostra o que faria (dry-print) — é não-interativo por design. |
--allow-major | update | Permite saltos MAJOR. Por omissão só MINOR/PATCH atualizam automaticamente. |
--framework <fw> | search | Filtra por nextjs, spring, dotnet, process ou meta. |
--tag <a,b> | search | Filtra por tags (separadas por vírgula; todas obrigatórias). Os termos da query têm de casar todos com nome, descrição ou tags. |
--type <type> | init | Tipo do projeto (nextjs, springboot-api, web). Default: lê .igrpstudio/baseApp.json (Studio) ou igrp.project.json. |
--quiet | add, remove, update, init | Suprime os logs de sucesso. |
--json | list, search, info | Saída machine-readable. |
--dry-run | add, remove | Valida e mostra o plano sem instalar / apagar. |
Dependências
add, init e update resolvem as dependencies de forma recursiva:
- Para cada range escolhem a maior versão que o satisfaz e instalam as dependências antes de quem as pede.
- Uma dependência já instalada numa versão dentro do range é mantida (
= <nome>@x.y.z já instalada). Fora do range, a instalação pára com exit3até correresigrp skill update <dep>ou repetires com--force. - Duas skills a pedir ranges incompatíveis da mesma dependência → exit
1(Conflito de versões). Ciclos de dependências também dão exit1. - Antes de pôr a pasta no lugar, o tarball é verificado (sha256 e conteúdo exatamente igual a
files); se falhar, nada é escrito.
Uma skill meta não tem ficheiros próprios — só um skill.json com dependências. É o caso de igrp-spring-backend, que instala de uma vez as skills Spring Boot:
igrp skill add igrp-spring-backend --project .
ls .agents/skills/spring-data-jpa/ # SKILL.md, skill.json, references/, assets/Exemplo ponta a ponta
# Descobre o que existe
igrp skill search --json | jq '.skills[].name'
igrp skill search --framework nextjs
# Instala a skill canónica de metadata do Studio (Next.js) no projeto atual
igrp skill add igrp-studio-metadata --project .
# Verifica
ls .agents/skills/igrp-studio-metadata/ # SKILL.md, *.md, skill.json
cat .agents/skills/.installed.json
igrp skill list --project .
igrp skill info igrp-studio-metadata
# Mantém atualizada
igrp skill update --project .
# Num projeto novo, instala as recomendadas para o tipo de projeto
igrp skill init --project . --yes # lê igrp.project.json.type
# Remove
igrp skill remove igrp-studio-metadata --project . --yes.agents/skills/.installed.json é o registo local do que está instalado:
{
"skills": {
"igrp-studio-metadata": {
"version": "1.5.3",
"framework": "nextjs",
"source": "https://sonatype.nosi.cv/repository/igrp-templates/@igrp/skills/",
"dependencies": {},
"installedAt": "2026-05-13T10:00:00.000Z"
}
}
}Override do registry via variável de ambiente:
export IGRP_SKILL_REGISTRY=https://sonatype.nosi.cv/repository/igrp-templates/@igrp/skills/igrp skill init
Lê .igrpstudio/baseApp.json (projetos Studio) ou igrp.project.json (criado por igrp new) para saber o tipo de projeto e instala as skills recomendadas para esse tipo — ver a tabela de recomendações. Sem --yes, só mostra o plano:
igrp skill init --project .
# Tipo do projecto: nextjs (via .igrpstudio/baseApp.json)
# Skills recomendadas: igrp-studio-metadata
# Re-corre com --yes para instalar.A skill igrp-studio-metadata
A skill de referência para o lado Next.js: ensina um agente a escrever os ficheiros JSON de metadata do Studio (.igrpstudio/pages/, components/, process/) que compilam corretamente através do engine — e a fazer troubleshooting do código gerado em src/app/(igrp)/(generated)/.
Ficheiros companheiros, carregados sob demanda (não pré-carregados de uma vez):
| Ficheiro | Quando carregar |
|---|---|
patterns.md | Ao começar uma página nova — templates prontos a adaptar (listagens, formulários, modais, filtros, cartões de estatísticas). |
component-reference.md | Ao escolher que componente usar — catálogo completo com propriedades típicas. |
process-steps.md | Ao escrever ou editar qualquer coisa em .igrpstudio/process/ — as regras de página/componente sozinhas não chegam para passos de processo. |
troubleshooting.md | Ao corrigir um erro — mapeia mensagens de erro para causas no JSON. |
project-conventions.md | Referência de convenções do projeto (hooks, funções auxiliares, cores de estado). |
Já cobre permission rules
A versão 1.5.x desta skill (a mais recente é a 1.5.3) ensina o agente a gerar regras de permissão (type: "permission" — hide/disable/replace/assert) nos ficheiros de metadata — o mesmo mecanismo declarativo do painel Permission rule do Page Builder (Hide/Disable/Replace with…/Assert). Requer engine ≥0.2.0-beta.28.
Códigos de saída
| Código | Significado |
|---|---|
0 | Sucesso. |
1 | Validação — nome inválido, frontmatter mal-formado, path traversal, dependentes bloqueiam a remoção, ciclo ou conflito de dependências, range sem versão disponível em info. |
2 | Registry/rede/integridade — 404, host inalcançável, sha256 não corresponde, tarball com ficheiros em falta ou não declarados. |
3 | Skill já instalada, ou dependência instalada fora do range (sem --force). |
A seguir
- Generate — o comando que a skill
igrp-studio-metadataensina a preparar corretamente.
Última atualização:
