@andespindola/crow-skills 0.23.0 → 0.25.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (85) hide show
  1. package/LICENSE +32 -4
  2. package/THIRD-PARTY-NOTICES.md +43 -0
  3. package/catalog.json +148 -38
  4. package/crow_skills/__init__.py +1 -1
  5. package/crow_skills/autoupdate.py +6 -1
  6. package/crow_skills/cli.py +189 -1
  7. package/crow_skills/guide.py +3 -0
  8. package/crow_skills/integrations.py +105 -1
  9. package/crow_skills/storage.py +4 -0
  10. package/crow_skills/trust.py +73 -0
  11. package/docs/cli.md +63 -1
  12. package/package.json +2 -1
  13. package/release.json +202 -57
  14. package/skills/crow-accessibility/SKILL.md +7 -5
  15. package/skills/crow-accessibility/references/verificacao.md +102 -0
  16. package/skills/crow-agent-security/SKILL.md +8 -4
  17. package/skills/crow-agent-security/references/limites-agente.md +17 -0
  18. package/skills/crow-api-test/SKILL.md +2 -0
  19. package/skills/crow-api-test/references/casos-negativos.md +16 -0
  20. package/skills/crow-architecture/SKILL.md +2 -0
  21. package/skills/crow-architecture/references/modulos-profundos.md +18 -0
  22. package/skills/crow-backend/SKILL.md +3 -1
  23. package/skills/crow-backend/references/servico-backend.md +13 -0
  24. package/skills/crow-be-human/SKILL.md +2 -1
  25. package/skills/crow-be-human/references/voz-e-registro.md +35 -0
  26. package/skills/crow-behaviour/SKILL.md +21 -7
  27. package/skills/crow-behaviour/references/briefing-executavel.md +65 -0
  28. package/skills/crow-behaviour/references/ciclo-de-revisao.md +104 -0
  29. package/skills/crow-behaviour/references/micro-agents.md +52 -5
  30. package/skills/crow-behaviour/references/progress-ledger.md +3 -1
  31. package/skills/crow-behaviour/scripts/crow_micro.py +45 -0
  32. package/skills/crow-behaviour/scripts/micro_agent_instructions.md +15 -3
  33. package/skills/crow-browser/SKILL.md +45 -3
  34. package/skills/crow-browser/references/mecanismo-de-browser.md +24 -0
  35. package/skills/crow-browser/references/pagina.md +43 -0
  36. package/skills/crow-debug/SKILL.md +1 -1
  37. package/skills/crow-design/SKILL.md +6 -6
  38. package/skills/crow-design/references/contrato.md +84 -0
  39. package/skills/crow-discovery/SKILL.md +5 -4
  40. package/skills/crow-discovery/references/pesquisa-sem-vies.md +33 -0
  41. package/skills/crow-documents/SKILL.md +9 -3
  42. package/skills/crow-documents/references/ooxml.md +43 -0
  43. package/skills/crow-documents/references/pdf.md +31 -0
  44. package/skills/crow-documents/references/planilha.md +35 -0
  45. package/skills/crow-domain/SKILL.md +2 -0
  46. package/skills/crow-domain/references/invariante-e-identidade.md +11 -0
  47. package/skills/crow-frontend/SKILL.md +6 -5
  48. package/skills/crow-growth/SKILL.md +2 -1
  49. package/skills/crow-growth/references/experimento-e-metrica.md +39 -0
  50. package/skills/crow-infra/SKILL.md +6 -5
  51. package/skills/crow-infra/references/kubernetes.md +6 -0
  52. package/skills/crow-interface/SKILL.md +1 -1
  53. package/skills/crow-interface/reference/adapt.md +8 -0
  54. package/skills/crow-interface/reference/layout.md +4 -1
  55. package/skills/crow-interface/reference/workflow.md +2 -0
  56. package/skills/crow-media/SKILL.md +5 -5
  57. package/skills/crow-media/references/producao.md +63 -0
  58. package/skills/crow-native-mobile/SKILL.md +1 -1
  59. package/skills/crow-observe/SKILL.md +8 -4
  60. package/skills/crow-observe/references/cardinalidade.md +11 -0
  61. package/skills/crow-performance/SKILL.md +5 -5
  62. package/skills/crow-performance/references/measurement.md +6 -0
  63. package/skills/crow-platform/SKILL.md +4 -4
  64. package/skills/crow-postgres/SKILL.md +3 -0
  65. package/skills/crow-postgres/references/migracao-online.md +17 -0
  66. package/skills/crow-product-leadership/SKILL.md +4 -3
  67. package/skills/crow-product-leadership/references/decisao-e-pessoas.md +35 -0
  68. package/skills/crow-qa/SKILL.md +1 -1
  69. package/skills/crow-release/SKILL.md +10 -5
  70. package/skills/crow-release/references/transicao.md +13 -0
  71. package/skills/crow-reverse/SKILL.md +1 -1
  72. package/skills/crow-secrets/SKILL.md +2 -2
  73. package/skills/crow-security-review/SKILL.md +12 -5
  74. package/skills/crow-security-scan/SKILL.md +8 -3
  75. package/skills/crow-security-scan/references/evidencia-scan.md +17 -0
  76. package/skills/crow-security-test/SKILL.md +5 -1
  77. package/skills/crow-security-test/references/prova-dinamica.md +24 -0
  78. package/skills/crow-seo/SKILL.md +6 -4
  79. package/skills/crow-seo/references/saida-tecnica.md +78 -0
  80. package/skills/crow-skill-author/SKILL.md +10 -6
  81. package/skills/crow-skill-author/references/medicao.md +85 -0
  82. package/skills/crow-spec/SKILL.md +4 -3
  83. package/skills/crow-spec/references/criterio-e-fatia.md +27 -0
  84. package/skills/crow-threat-model/SKILL.md +5 -1
  85. package/skills/crow-threat-model/references/ciclo-ameaca.md +15 -0
package/LICENSE CHANGED
@@ -4,6 +4,30 @@ Software proprietário. Este pacote é distribuído publicamente para uso, não
4
4
  cópia. O código-fonte não é aberto: a sua presença no pacote é uma necessidade de
5
5
  execução, não uma concessão de direitos sobre ele.
6
6
 
7
+ ## Componentes de terceiros
8
+
9
+ Este pacote inclui software de terceiros sob licenças próprias. Todo ele está dentro de
10
+ `skills/crow-interface/`:
11
+
12
+ 1. **Impeccable**, Copyright 2025 Paul Bakaus — Apache License 2.0, em
13
+ `skills/crow-interface/licenses/Apache-2.0.txt`, com o aviso original preservado em
14
+ `skills/crow-interface/licenses/Impeccable-NOTICE.md`. A proveniência e as
15
+ modificações estão em `skills/crow-interface/NOTICE.md`.
16
+ 2. **platform-design-skills** — MIT, em
17
+ `skills/crow-interface/licenses/platform-design-MIT.txt`.
18
+ 3. **modern-screenshot**, Copyright (c) 2021-present wxm — MIT, em
19
+ `skills/crow-interface/licenses/modern-screenshot-MIT.txt`.
20
+
21
+ Para esses componentes e para as obras deles derivadas, **a licença de terceiros
22
+ prevalece sobre esta**. Nada nesta licença restringe, condiciona ou revoga os direitos
23
+ que a Apache-2.0 e a MIT concedem a você sobre esses arquivos, inclusive os de
24
+ redistribuir, modificar e criar obra derivada, observadas as obrigações de atribuição e
25
+ de aviso dessas mesmas licenças. As restrições de "O que você não pode fazer" abaixo
26
+ alcançam somente o conteúdo próprio do Crow.
27
+
28
+ Quando um arquivo trouxer aviso de licença próprio, é esse aviso que governa aquele
29
+ arquivo. O inventário consolidado está em `THIRD-PARTY-NOTICES.md`.
30
+
7
31
  ## O que você pode fazer
8
32
 
9
33
  1. Instalar e executar o `crow-skills` nos seus próprios computadores, sem limite de
@@ -45,7 +69,11 @@ Qualquer uso fora do permitido acima depende de autorização escrita do titular
45
69
 
46
70
  ---
47
71
 
48
- Proprietary software, all rights reserved. Published for use, not for copying:
49
- installing and running it is permitted; redistribution, derivative works, extracting
50
- its content into another product or dataset, and reverse engineering are not. No
51
- warranty. See the Portuguese text above for the governing terms.
72
+ Proprietary software, all rights reserved, EXCEPT for the third-party components
73
+ bundled under `skills/crow-interface/` (Impeccable, Apache-2.0; platform-design-skills
74
+ and modern-screenshot, MIT), for which the third-party licence prevails over this one:
75
+ nothing here restricts the rights those licences grant you over those files. See
76
+ `THIRD-PARTY-NOTICES.md`. For Crow's own content, publication is for use, not for
77
+ copying: installing and running it is permitted; redistribution, derivative works,
78
+ extracting its content into another product or dataset, and reverse engineering are
79
+ not. No warranty. See the Portuguese text above for the governing terms.
@@ -0,0 +1,43 @@
1
+ # Avisos de terceiros
2
+
3
+ Inventário do software de terceiros distribuído dentro deste pacote. Para cada item, a
4
+ licença indicada **prevalece** sobre o `LICENSE` da raiz, conforme a seção "Componentes
5
+ de terceiros" dele.
6
+
7
+ Todo o conteúdo de terceiros está sob `skills/crow-interface/`. As demais 34 skills e o
8
+ CLI são conteúdo próprio do Crow.
9
+
10
+ ## Impeccable — Apache License 2.0
11
+
12
+ - Titular: Copyright 2025 Paul Bakaus
13
+ - Upstream: https://github.com/pbakaus/impeccable
14
+ - Licença: `skills/crow-interface/licenses/Apache-2.0.txt`
15
+ - Aviso original preservado: `skills/crow-interface/licenses/Impeccable-NOTICE.md`
16
+ - Proveniência, snapshot e modificações Crow: `skills/crow-interface/NOTICE.md`
17
+ - Escopo: a skill `crow-interface` é reconstrução derivada da Impeccable. Arquivos
18
+ derivados trazem cabeçalho "Derived from Impeccable".
19
+
20
+ ## platform-design-skills — MIT
21
+
22
+ - Licença: `skills/crow-interface/licenses/platform-design-MIT.txt`. O arquivo MIT
23
+ distribuído traz "Copyright (c) 2026" sem titular nomeado; a atribuição a
24
+ ehmo/platform-design-skills vem do NOTICE upstream, conforme registrado em
25
+ `skills/crow-interface/NOTICE.md`.
26
+ - Escopo, segundo esse mesmo NOTICE: `skills/crow-interface/reference/ios.md` e
27
+ `skills/crow-interface/reference/android.md`.
28
+
29
+ ## modern-screenshot — MIT
30
+
31
+ - Titular: Copyright (c) 2021-present wxm (projeto qq15725/modern-screenshot)
32
+ - Licença: `skills/crow-interface/licenses/modern-screenshot-MIT.txt`
33
+ - Escopo: `skills/crow-interface/scripts/modern-screenshot.umd.js`, bundle distribuído
34
+ sem modificação
35
+
36
+ ---
37
+
38
+ # Third-party notices
39
+
40
+ Inventory of third-party software redistributed inside this package. For each item, the
41
+ stated licence **prevails** over the root `LICENSE`, per its "Componentes de terceiros"
42
+ section. All third-party content lives under `skills/crow-interface/`; the other 34
43
+ skills and the CLI are Crow's own content.
package/catalog.json CHANGED
@@ -4,39 +4,139 @@
4
4
  "overlays": [
5
5
  {
6
6
  "skill": "crow-behaviour",
7
- "roles": ["coordinator", "specialist", "reviewer"]
7
+ "roles": [
8
+ "coordinator",
9
+ "specialist",
10
+ "reviewer"
11
+ ]
8
12
  }
9
13
  ]
10
14
  },
11
15
  "groups": [
12
- {"name": "essencial", "title": "Essencial", "description": "Coordenação e o que serve a quase todo projeto: arquitetura, especificação, depuração, testes e revisão de segurança",
13
- "skills": ["crow-behaviour", "crow-architecture", "crow-spec", "crow-debug", "crow-qa", "crow-security-review"]},
14
- {"name": "web", "title": "Web", "description": "Interfaces web: direção visual, implementação, acessibilidade, navegador e SEO",
15
- "skills": ["crow-frontend", "crow-interface", "crow-design", "crow-accessibility", "crow-browser", "crow-seo"]},
16
- {"name": "backend", "title": "Backend", "description": "Serviços, APIs, dados e domínio",
17
- "skills": ["crow-backend", "crow-api-test", "crow-postgres", "crow-domain", "crow-architecture"]},
18
- {"name": "qualidade", "title": "Qualidade", "description": "Testes, defeitos, desempenho e observabilidade",
19
- "skills": ["crow-qa", "crow-debug", "crow-performance", "crow-observe"]},
20
- {"name": "seguranca", "title": "Segurança", "description": "Revisão, varredura, prova, modelagem de ameaças, credenciais e apps com LLM",
21
- "skills": ["crow-security-review", "crow-security-scan", "crow-security-test", "crow-threat-model", "crow-secrets", "crow-agent-security"]},
22
- {"name": "infra", "title": "Infra e entrega", "description": "Infraestrutura, release e coordenação de plataforma",
23
- "skills": ["crow-infra", "crow-release", "crow-platform"]},
24
- {"name": "mobile", "title": "Mobile", "description": "Apps nativos e mobile",
25
- "skills": ["crow-native-mobile"]},
26
- {"name": "produto", "title": "Produto", "description": "Descoberta, especificação, crescimento, liderança e coordenação de plataforma",
27
- "skills": ["crow-discovery", "crow-spec", "crow-growth", "crow-product-leadership", "crow-platform"]},
28
- {"name": "midia-docs", "title": "Mídia e documentos", "description": "Mídia, documentos, planilhas, apresentações e experiência de conversa",
29
- "skills": ["crow-media", "crow-documents", "crow-be-human"]},
30
- {"name": "reverse", "title": "Engenharia reversa", "description": "Análise de código, binário ou protocolo",
31
- "skills": ["crow-reverse"]},
32
- {"name": "autoria", "title": "Autoria de skills", "description": "Criar ou revisar skills",
33
- "skills": ["crow-skill-author"]}
16
+ {
17
+ "name": "essencial",
18
+ "title": "Essencial",
19
+ "description": "Coordenação e o que serve a quase todo projeto: arquitetura, especificação, depuração, testes e revisão de segurança",
20
+ "skills": [
21
+ "crow-behaviour",
22
+ "crow-architecture",
23
+ "crow-spec",
24
+ "crow-debug",
25
+ "crow-qa",
26
+ "crow-security-review"
27
+ ]
28
+ },
29
+ {
30
+ "name": "web",
31
+ "title": "Web",
32
+ "description": "Interfaces web: direção visual, implementação, acessibilidade, navegador e SEO",
33
+ "skills": [
34
+ "crow-frontend",
35
+ "crow-interface",
36
+ "crow-design",
37
+ "crow-accessibility",
38
+ "crow-browser",
39
+ "crow-seo"
40
+ ]
41
+ },
42
+ {
43
+ "name": "backend",
44
+ "title": "Backend",
45
+ "description": "Serviços, APIs, dados e domínio",
46
+ "skills": [
47
+ "crow-backend",
48
+ "crow-api-test",
49
+ "crow-postgres",
50
+ "crow-domain",
51
+ "crow-architecture"
52
+ ]
53
+ },
54
+ {
55
+ "name": "qualidade",
56
+ "title": "Qualidade",
57
+ "description": "Testes, defeitos, desempenho e observabilidade",
58
+ "skills": [
59
+ "crow-qa",
60
+ "crow-debug",
61
+ "crow-performance",
62
+ "crow-observe"
63
+ ]
64
+ },
65
+ {
66
+ "name": "seguranca",
67
+ "title": "Segurança",
68
+ "description": "Revisão, varredura, prova, modelagem de ameaças, credenciais e apps com LLM",
69
+ "skills": [
70
+ "crow-security-review",
71
+ "crow-security-scan",
72
+ "crow-security-test",
73
+ "crow-threat-model",
74
+ "crow-secrets",
75
+ "crow-agent-security"
76
+ ]
77
+ },
78
+ {
79
+ "name": "infra",
80
+ "title": "Infra e entrega",
81
+ "description": "Infraestrutura, release e coordenação de plataforma",
82
+ "skills": [
83
+ "crow-infra",
84
+ "crow-release",
85
+ "crow-platform"
86
+ ]
87
+ },
88
+ {
89
+ "name": "mobile",
90
+ "title": "Mobile",
91
+ "description": "Apps nativos e mobile",
92
+ "skills": [
93
+ "crow-native-mobile"
94
+ ]
95
+ },
96
+ {
97
+ "name": "produto",
98
+ "title": "Produto",
99
+ "description": "Descoberta, especificação, crescimento, liderança e coordenação de plataforma",
100
+ "skills": [
101
+ "crow-discovery",
102
+ "crow-spec",
103
+ "crow-growth",
104
+ "crow-product-leadership",
105
+ "crow-platform"
106
+ ]
107
+ },
108
+ {
109
+ "name": "midia-docs",
110
+ "title": "Mídia e documentos",
111
+ "description": "Mídia, documentos, planilhas, apresentações e experiência de conversa",
112
+ "skills": [
113
+ "crow-media",
114
+ "crow-documents",
115
+ "crow-be-human"
116
+ ]
117
+ },
118
+ {
119
+ "name": "reverse",
120
+ "title": "Engenharia reversa",
121
+ "description": "Análise de código, binário ou protocolo",
122
+ "skills": [
123
+ "crow-reverse"
124
+ ]
125
+ },
126
+ {
127
+ "name": "autoria",
128
+ "title": "Autoria de skills",
129
+ "description": "Criar ou revisar skills",
130
+ "skills": [
131
+ "crow-skill-author"
132
+ ]
133
+ }
34
134
  ],
35
135
  "skills": [
36
136
  {
37
137
  "name": "crow-behaviour",
38
138
  "title": "Atuação coordenada",
39
- "description": "Use PROATIVAMENTE, sem o usuário pedir, em QUALQUER pedido que não seja conversa pura, pergunta factual curta ou ajuste trivial e local — inclusive quando é um arquivo só, uma decisão só ou só um plano: implementar uma feature, refatorar, depurar, auditar, revisar, migrar, planejar, pesquisar a fundo, tarefa multi-etapa, com exploração e decisões, ou que exija verificação antes de entregar. Carregue-a ANTES de começar; na dúvida, carregue. Nunca pergunte ao usuário se deve usá-la nem ofereça um critério mais estreito: com o modo crow ON a decisão já está tomada. Uma vez ativa, segue em uso nos prompts seguintes da sessão — mesmo plano, mesmo ledger e mesma validação por fases, retomados por conta própria quando faltarem. Ao ativar: decomponha o trabalho, delegue com as capacidades reais do runtime, verifique de forma adversarial e sintetize evidências. Não simule agentes nem altere permissões.",
139
+ "description": "Use PROATIVAMENTE, sem o usuário pedir, em QUALQUER pedido que não seja conversa pura, pergunta factual curta ou ajuste trivial e local — inclusive quando é um arquivo só, uma decisão só ou só um plano: implementar uma feature, refatorar, depurar, auditar, revisar, migrar, planejar, pesquisar a fundo, tarefa multi-etapa, com exploração e decisões, ou que exija verificação antes de entregar. Carregue-a ANTES de começar; na dúvida, carregue. Nunca pergunte ao usuário se deve usá-la nem ofereça critério mais estreito: com o modo crow ON a decisão já está tomada. Uma vez ativa, segue em uso nos prompts seguintes da sessão — mesmo plano, mesmo ledger e mesma validação por fases, retomados por conta própria quando faltarem. Ao ativar: decomponha, delegue o braçal a micro-agents de escopo mínimo com as capacidades reais do runtime, verifique de forma adversarial e sintetize evidências. Planejar, decidir, verificar e registrar são seus; o executor informa, você registra. Não simule agentes nem altere permissões.",
40
140
  "role": "coordinator",
41
141
  "owns": "execution-ledger",
42
142
  "next": []
@@ -44,7 +144,7 @@
44
144
  {
45
145
  "name": "crow-platform",
46
146
  "title": "Entrega de plataforma",
47
- "description": "Coordene uma plataforma ou iniciativa que atravessa produto, design, engenharia e operação. Não use para um bug ou ajuste isolado.",
147
+ "description": "Coordene uma plataforma ou iniciativa que atravessa produto, design, engenharia e operação, mapeando as etapas que faltam e o contrato entre elas. Não use para um bug ou ajuste isolado; a coordenação da execução e a delegação são de crow-behaviour.",
48
148
  "role": "coordinator",
49
149
  "owns": "delivery-map",
50
150
  "next": [
@@ -57,7 +157,7 @@
57
157
  {
58
158
  "name": "crow-discovery",
59
159
  "title": "Problema e decisão de produto",
60
- "description": "Investigue um problema de produto, segmento e hipótese antes de comprometer uma solução. Não reabra discovery para um bug conhecido.",
160
+ "description": "Investigue um problema de produto, segmento e hipótese antes de comprometer uma solução. Não reabra discovery para um bug conhecido. Especificação, fatia de release e critério de aceite são de crow-spec; preço, canal e retenção são de crow-growth.",
61
161
  "role": "specialist",
62
162
  "owns": "problem-brief",
63
163
  "next": [
@@ -68,7 +168,7 @@
68
168
  {
69
169
  "name": "crow-spec",
70
170
  "title": "Escopo e critérios de aceite",
71
- "description": "Transforme uma decisão de produto em uma especificação enxuta, fatias de release e critérios testáveis. Não conduz pesquisa de mercado.",
171
+ "description": "Transforme uma decisão de produto em uma especificação enxuta, fatias de release e critérios testáveis. Não conduz pesquisa de mercado: investigar o problema é de crow-discovery, e escrever ou rodar a suíte a partir do critério é de crow-qa.",
72
172
  "role": "specialist",
73
173
  "owns": "feature-spec",
74
174
  "next": [
@@ -105,7 +205,7 @@
105
205
  {
106
206
  "name": "crow-design",
107
207
  "title": "Direção visual e contrato de UI",
108
- "description": "Defina o contrato de experiência visual, fluxos, tokens e estados para implementação. Entrega brief/decisões, sem editar a interface nem repetir discovery resolvido.",
208
+ "description": "Use quando a decisão visual ainda não existe e precisa ser fixada antes de alguém implementar: direção, tokens, hierarquia, estados, vocabulário de interface e regras de adaptação de uma superfície. Entra também quando telas divergiram e falta uma fonte única. Não é para executar, refinar ou criticar interface já construída, que é de crow-interface, nem para integrar dados e comportamento da aplicação, que é de crow-frontend: aqui se decide, lá se constrói.",
109
209
  "role": "specialist",
110
210
  "owns": "design-contract",
111
211
  "next": [
@@ -176,7 +276,7 @@
176
276
  {
177
277
  "name": "crow-security-scan",
178
278
  "title": "Scans e evidência estática",
179
- "description": "Execute ou analise SAST, dependências, imagens e IaC conforme o alvo; normalize e compare resultados. Não confirma explorabilidade nem faz autofix.",
279
+ "description": "Use para rodar ou analisar scanner (SAST, dependências/SCA, imagem, IaC) e normalizar, deduplicar e comparar o resultado com a baseline. Achado é alegação: entrega candidatos com evidência, não confirma explorabilidade nem faz autofix — isso é de crow-security-review (julga a mudança) e crow-security-test (prova dinâmica). Diferente delas, aqui a saída é evidência de ferramenta sobre o alvo estático.",
180
280
  "role": "specialist",
181
281
  "owns": "scan-evidence",
182
282
  "next": [
@@ -186,7 +286,7 @@
186
286
  {
187
287
  "name": "crow-agent-security",
188
288
  "title": "Limites de agentes e LLMs",
189
- "description": "Revise apps com LLM, ferramentas, fontes externas e memória para injeção, autoridade excessiva e efeitos inseguros. Não tenta contornar controles de terceiros.",
289
+ "description": "Revise apps com LLM, ferramentas, MCP, fontes externas e memória quando um agente age com autoridade real: injeção indireta, autoridade excessiva, vínculo de ação, exfiltração por canal lateral e efeitos inseguros. Diferente de crow-threat-model, que modela o desenho, e de crow-security-review, que revisa a mudança de código: aqui o alvo são as fronteiras do agente em execução. Não contorna controles de terceiros nem roda exploits.",
190
290
  "role": "reviewer",
191
291
  "owns": "agent-controls",
192
292
  "next": [
@@ -232,7 +332,7 @@
232
332
  {
233
333
  "name": "crow-accessibility",
234
334
  "title": "Uso acessível da jornada",
235
- "description": "Valide e corrija semântica, teclado, foco, leitura assistiva e autenticação de uma interface real. Não certifica conformidade completa por scanner.",
335
+ "description": "Use quando a pergunta é se uma jornada real pode ser usada sem mouse, sem visão e sem memorização: semântica, teclado, foco, leitura assistiva, contraste medido, zoom e reflow, movimento e autenticação acessível. Entra depois de implementada, ou para julgar achado de varredura. Não certifica conformidade de nível por scanner, não substitui a verificação de comportamento de crow-qa e não é refinamento estético, que é de crow-interface.",
236
336
  "role": "specialist",
237
337
  "owns": "a11y-evidence",
238
338
  "next": [
@@ -303,7 +403,7 @@
303
403
  {
304
404
  "name": "crow-seo",
305
405
  "title": "Saída pública e descoberta",
306
- "description": "Revise conteúdo e saída técnica de páginas públicas para busca, coerência e indexação. Não otimiza área logada nem promete ranking.",
406
+ "description": "Use quando páginas públicas precisam ser encontráveis e a saída que o indexador recebe precisa ser conferida: status, metadado, canonical, robots, sitemap, dados estruturados, links internos, hreflang e renderização. Entra também quando uma rota saiu do índice, aparece sem descrição ou duplica outra. Não promete posição nem tráfego, não otimiza área logada e não é aquisição paga ou experimento de crescimento, que é de crow-growth.",
307
407
  "role": "specialist",
308
408
  "owns": "seo-change",
309
409
  "next": [
@@ -314,7 +414,7 @@
314
414
  {
315
415
  "name": "crow-media",
316
416
  "title": "Artefatos de imagem, áudio e vídeo",
317
- "description": "Crie ou edite mídia a partir de brief e assets autorizados, preservando fontes e validando o arquivo final. Não exige um fornecedor específico.",
417
+ "description": "Use quando o entregável é um arquivo de imagem, áudio ou vídeo a criar ou editar a partir de brief e assets autorizados, e quando o resultado precisa ser medido antes de ser entregue. Entra também para diagnosticar perda de qualidade, dessincronismo, legenda ausente ou arquivo que não abre no destino. Não exige fornecedor, modelo ou CLI específico, não produz o documento que a mídia ilustra, que é de crow-documents, e não decide a direção visual, que é de crow-design.",
318
418
  "role": "specialist",
319
419
  "owns": "media-artifact",
320
420
  "next": [
@@ -325,7 +425,7 @@
325
425
  {
326
426
  "name": "crow-documents",
327
427
  "title": "Documentos e entregáveis",
328
- "description": "Crie ou edite documentos, planilhas, apresentações ou HTML a partir de conteúdo real, validando conteúdo e formato final. Não usa exportadores irrelevantes.",
428
+ "description": "Use quando o entregável é um arquivo de documento, planilha, apresentação ou HTML a criar ou editar a partir de conteúdo real, e quando o formato final precisa ser conferido antes da entrega. Quando o pedido não nomeia formato de arquivo e a sessão tem ferramenta nativa de documento ou slide, é dela. A mídia que o documento contém é de crow-media, e a direção visual é de crow-design.",
329
429
  "role": "specialist",
330
430
  "owns": "document-artifact",
331
431
  "next": [
@@ -336,7 +436,7 @@
336
436
  {
337
437
  "name": "crow-skill-author",
338
438
  "title": "Manutenção de skills",
339
- "description": "Crie ou revise uma skill com escopo único, descoberta precisa e validação de uso isolado e em composição. Não instala automaticamente pacotes de terceiros.",
439
+ "description": "Use quando o pedido é criar, revisar, corrigir ou preparar para publicação uma skill deste repositório, inclusive quando o sintoma é uma skill que não dispara, dispara fora de hora ou colide com uma irmã. Entra também para julgar a description e o contrato de uma skill existente. Não instala automaticamente pacotes de terceiros e não substitui a especialista do domínio que a skill descreve.",
340
440
  "role": "specialist",
341
441
  "owns": "skill-package",
342
442
  "next": [
@@ -416,15 +516,25 @@
416
516
  "description": "Projete, implemente ou avalie a conversa de um agente de IA por chat ou voz, inclusive somente por voz, para que seja natural e contínua. Jornada não visual é de crow-accessibility, conduta do próprio agente é de crow-behaviour. Não substitui identidade do produto, segurança ou implementação de áudio.",
417
517
  "role": "specialist",
418
518
  "owns": "conversation-experience",
419
- "next": ["crow-media", "crow-accessibility", "crow-agent-security", "crow-qa"]
519
+ "next": [
520
+ "crow-media",
521
+ "crow-accessibility",
522
+ "crow-agent-security",
523
+ "crow-qa"
524
+ ]
420
525
  },
421
526
  {
422
527
  "name": "crow-interface",
423
528
  "title": "Experiência de interface",
424
- "description": "Crie, revise ou refine a experiência visual de interfaces web e nativas, com modos distintos de planejamento, crítica, auditoria, implementação e variantes live. Não implementa backend nem integração de dados por efeito colateral.",
529
+ "description": "Use quando há interface web ou nativa para construir, revisar, criticar, auditar, refinar ou explorar em variantes interativas, com brief pronto ou sem brief. Não é para fixar do zero o contrato visual que ainda não existe, que é de crow-design, nem para implementar backend ou integração de dados da aplicação, que é de crow-frontend: crow-design decide, esta constrói e julga o construído.",
425
530
  "role": "specialist",
426
531
  "owns": "interface-result",
427
- "next": ["crow-design", "crow-frontend", "crow-accessibility", "crow-performance"]
532
+ "next": [
533
+ "crow-design",
534
+ "crow-frontend",
535
+ "crow-accessibility",
536
+ "crow-performance"
537
+ ]
428
538
  }
429
539
  ]
430
540
  }
@@ -1,3 +1,3 @@
1
1
  """Portable, local-first installer for the crow-skills catalogue."""
2
2
 
3
- __version__ = "0.23.0"
3
+ __version__ = "0.25.0"
@@ -88,7 +88,12 @@ def detect(source_root=None):
88
88
  prefix = Path(npm.group(1))
89
89
  tool = prefix / "bin" / "npm"
90
90
  return {"kind": "npm", "root": text, "version": __version__, "launcher": str(prefix / "bin" / "crow-skills"),
91
- "upgrade": [str(tool) if tool.exists() else (shutil.which("npm") or "npm"), "install", "-g", PACKAGE + "@latest"]}
91
+ # --prefer-online: medido em 2026-11-09, o self-upgrade falhou com ETARGET ("No matching
92
+ # version found") logo após a publicação porque o metadado da versão nova estava em
93
+ # cache local, enquanto o registry já servia o dist-tag novo. Sem isso, o upgrade
94
+ # depende de quando o cache do npm expira.
95
+ "upgrade": [str(tool) if tool.exists() else (shutil.which("npm") or "npm"),
96
+ "install", "-g", "--prefer-online", PACKAGE + "@latest"]}
92
97
  if (base / ".git").exists():
93
98
  return {"kind": "git", "root": text, "version": __version__, "launcher": str(base / "bin" / "crow-skills"),
94
99
  "upgrade": None}