@andespindola/crow-skills 0.22.0 → 0.23.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.
- package/LICENSE +51 -0
- package/README.md +7 -7
- package/crow_skills/__init__.py +1 -1
- package/docs/cli-security.md +1 -1
- package/docs/cli.md +2 -2
- package/package.json +4 -3
- package/release.json +12 -7
package/LICENSE
ADDED
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
Copyright (c) 2026 Anderson Espíndola. Todos os direitos reservados.
|
|
2
|
+
|
|
3
|
+
Software proprietário. Este pacote é distribuído publicamente para uso, não para
|
|
4
|
+
cópia. O código-fonte não é aberto: a sua presença no pacote é uma necessidade de
|
|
5
|
+
execução, não uma concessão de direitos sobre ele.
|
|
6
|
+
|
|
7
|
+
## O que você pode fazer
|
|
8
|
+
|
|
9
|
+
1. Instalar e executar o `crow-skills` nos seus próprios computadores, sem limite de
|
|
10
|
+
máquinas, para o seu uso pessoal ou da sua organização.
|
|
11
|
+
2. Deixar que o CLI instale, nos seus computadores, as cópias das skills que ele
|
|
12
|
+
gerencia, e usar essas skills com os seus agentes.
|
|
13
|
+
3. Configurar, adaptar localmente e desinstalar o que o CLI gravou na sua máquina.
|
|
14
|
+
|
|
15
|
+
## O que você não pode fazer
|
|
16
|
+
|
|
17
|
+
1. Redistribuir este pacote, no todo ou em parte, por qualquer meio — incluindo
|
|
18
|
+
republicar em registro de pacotes, espelhar, empacotar dentro de outro produto ou
|
|
19
|
+
disponibilizar para download.
|
|
20
|
+
2. Criar ou distribuir obra derivada, incluindo traduções, adaptações e reescritas das
|
|
21
|
+
skills, do catálogo ou da documentação.
|
|
22
|
+
3. Extrair o conteúdo das skills, do catálogo ou da documentação para treinar, povoar,
|
|
23
|
+
alimentar ou compor outro produto, biblioteca, modelo ou conjunto de dados.
|
|
24
|
+
4. Fazer engenharia reversa, descompilar, desmontar ou de outro modo analisar o pacote
|
|
25
|
+
com o objetivo de reconstruir, reimplementar ou derivar a sua lógica, os seus
|
|
26
|
+
contratos ou o seu conteúdo, salvo na medida em que a lei aplicável proíba essa
|
|
27
|
+
restrição.
|
|
28
|
+
5. Remover, alterar ou ocultar avisos de autoria, de direitos ou esta licença.
|
|
29
|
+
6. Sublicenciar, alugar, vender ou revender o pacote ou o acesso a ele.
|
|
30
|
+
|
|
31
|
+
## Sem garantia
|
|
32
|
+
|
|
33
|
+
O SOFTWARE É FORNECIDO "COMO ESTÁ", SEM GARANTIA DE QUALQUER NATUREZA, EXPRESSA OU
|
|
34
|
+
IMPLÍCITA, INCLUINDO AS DE ADEQUAÇÃO A UM FIM ESPECÍFICO E DE NÃO VIOLAÇÃO. EM NENHUMA
|
|
35
|
+
HIPÓTESE O TITULAR RESPONDE POR QUALQUER DANO DECORRENTE DO USO DO SOFTWARE.
|
|
36
|
+
|
|
37
|
+
## Rescisão
|
|
38
|
+
|
|
39
|
+
Os direitos acima terminam automaticamente com o descumprimento de qualquer item de "O
|
|
40
|
+
que você não pode fazer". Nesse caso, desinstale o pacote e as cópias que ele gravou.
|
|
41
|
+
|
|
42
|
+
## Outros usos
|
|
43
|
+
|
|
44
|
+
Qualquer uso fora do permitido acima depende de autorização escrita do titular.
|
|
45
|
+
|
|
46
|
+
---
|
|
47
|
+
|
|
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.
|
package/README.md
CHANGED
|
@@ -2,9 +2,9 @@
|
|
|
2
2
|
|
|
3
3
|
Skills com escopo explícito, conhecimento especializado preservado e fluxos comuns reutilizáveis.
|
|
4
4
|
|
|
5
|
-
**Versão 0.
|
|
5
|
+
**Versão 0.23.0**: o pacote passa a ser público no npm. A 0.22.0 deu conversa de verdade ao crow-broadcast (thread, resposta endereçada a quem perguntou, recibo de entrega e leitura, e entrega entre chamadas de ferramenta em vez de só no próximo prompt) e trouxe os micro-agents de trabalho braçal com contexto limpo. A 0.12.2 fez o snapshot de cada sessão (`crow-skills events snapshot`) passar a trazer o pid do CLI de agente e o terminal dele (`pid`, `tty`), para o crow-term achar o painel de cada sessão. A 0.12.1 corrigiu a proteção de processos registrados e um teste instável; a 0.12.0 fez a crow-behaviour passar a encerrar a árvore inteira de todo processo que a execução inicia (com timeout, registro no ledger e verificação no fim) e `crow-skills resources --orphans` encontra e, com `--kill`, encerra só o que ficou órfão de ferramentas de agente. A 0.11.1 fez o Codex deixar de mostrar em dobro as skills que o Uniflow já projeta em `~/.codex/skills`. A 0.11.0 trouxe `crow-skills setup --yes`, que configura de uma vez todos os CLIs de agente da máquina, e `crow-skills upgrade --yes`, que atualiza tudo numa só passada; os hooks que o crow-skills grava já saem habilitados (no Codex, aprovados pelo próprio `codex app-server`, só os do crow-skills; `--no-trust` desliga) e `status`/`doctor` mostram se cada CLI vai rodá-los; a ajuda ficou curta e organizada por tarefa. A 0.10.1 passou a tratar swap e CPU como eixos de pressão no controle de recursos (swap quase cheio e carga alta reduzem agentes, jobs e workers; nenhuma recomendação cresce com a pressão), mostrou a CPU% dos CLIs de agente, trouxe `crow-skills resources --exec-prefix` para rodar jobs pesados em prioridade baixa e as regras da crow-behaviour sob pressão (reduzir já, um job pesado por vez, não repetir verificação, validação ampla no CI); os hooks do Codex vão para o `config.toml` quando o `hooks.json` é symlink. A 0.10.0 trouxe o crow-broadcast, que compartilha, de forma passiva, o que cada sessão e cada CLI (Claude Code, Codex, Gemini CLI, Antigravity, Devin, inclusive dentro do Uniflow) está fazendo nesta máquina: repositório, clone, branch, execução crow em andamento e arquivos em edição; o prompt recebe em toda mensagem um bloco com as sessões vivas que afetam este trabalho (ou uma linha dizendo que não há nenhuma), editar um arquivo que outra sessão tocou ou trocar de branch num clone em uso gera aviso (ou bloqueio, se configurado), e `crow-skills broadcast claim` reserva áreas; a crow-behaviour consulta isso antes de planejar e reserva as áreas que delega (crow-broadcast). A 0.9.0 trouxe o controle de memória da máquina: `crow-skills resources` mede memória, pressão e os CLIs de agente em execução e recomenda quantos agentes, jobs pesados e workers rodar em paralelo; a crow-behaviour consulta essa recomendação antes de cada fan-out (sob `warn` reduz, sob `critical` segue sequencial), limita workers de builds e testes, reutiliza um dev server por projeto e encerra o que abriu, e 15 especialistas que sobem processos pesados ganharam a regra correspondente; o hook de prompt e as status lines só avisam quando a máquina está sob pressão. A 0.8.0 trouxe `crow-skills mode on|off`, que liga e desliga a crow-behaviour em todas as sessões e CLIs (Claude Code, Codex, Gemini CLI, Antigravity, Devin) a partir do próximo prompt, com `/crow on|off` dentro da sessão e o indicador `▸▸ crow on` na status line; a crow-behaviour mostra o progresso como a lista de agentes do host (`● main`, `○ dono atividade`); `crow-skills events` publica um barramento de eventos dos hooks para terminais; `crow-skills autoupdate on` atualiza o CLI e as skills gerenciadas todo dia e no login. A 0.7.1 trouxe as correções da revalidação no Codex às skills especialistas; a 0.7.0 tornou o Uniflow agente de instalação (`--agents uniflow`); a 0.6.1 passou a mostrar o progresso da crow-behaviour na própria conversa; a 0.6.0 trouxe as regras de entrega das 32 skills especialistas, a partir da validação no Codex.
|
|
6
6
|
|
|
7
|
-
**Reconstrução em andamento.** A primeira versão com 32 contratos genéricos não atende à preservação de capacidades solicitada. Não use esse número nem o mapeamento por categoria como prova de substituição das originais. A revisão passa a abranger cada definição e seus recursos, modos e dependências, sem número fixo de skills ou limite artificial de linhas. Veja
|
|
7
|
+
**Reconstrução em andamento.** A primeira versão com 32 contratos genéricos não atende à preservação de capacidades solicitada. Não use esse número nem o mapeamento por categoria como prova de substituição das originais. A revisão passa a abranger cada definição e seus recursos, modos e dependências, sem número fixo de skills ou limite artificial de linhas. Veja critérios e progresso.
|
|
8
8
|
|
|
9
9
|
## Começar
|
|
10
10
|
|
|
@@ -14,7 +14,7 @@ Uma linha configura todos os CLIs de agente da máquina (Claude Code, Codex, Gem
|
|
|
14
14
|
npm install -g @andespindola/crow-skills && crow-skills setup --yes
|
|
15
15
|
```
|
|
16
16
|
|
|
17
|
-
O pacote é
|
|
17
|
+
O pacote é público no npm desde a 0.23.0: instala sem autenticação e sem `~/.npmrc` no escopo. O código-fonte não é aberto — o repositório é privado e o pacote é distribuído sob os termos de `LICENSE`. O tap do Homebrew foi aposentado na 0.16.1 e está congelado nessa versão — quem instalou por lá troca com `brew uninstall crow-skills` seguido da linha acima.
|
|
18
18
|
|
|
19
19
|
`setup` detecta cada CLI (binário no PATH ou diretório de configuração), instala todas as skills, o guia, as integrações e os hooks do modo crow já habilitados, liga o modo crow e o autoupdate, e termina com uma tabela por CLI e o doctor. `crow-skills setup --dry-run` mostra o plano sem gravar nada; rodar de novo só corrige o que mudou. Para atualizar tudo depois: `crow-skills upgrade --yes`. `crow-skills` sozinho mostra a ajuda curta e o estado atual; `crow-skills help <comando>` detalha cada comando. Detalhes em [setup, upgrade e ajuda](docs/cli.md#configurar-a-máquina-setup).
|
|
20
20
|
|
|
@@ -35,11 +35,11 @@ Exemplos:
|
|
|
35
35
|
- Dados Postgres: `crow-postgres` + teste do efeito real; não precisa carregar toda a biblioteca.
|
|
36
36
|
- Revisão: `crow-security-review` não modifica ou executa o alvo. Implementação é outra tarefa.
|
|
37
37
|
|
|
38
|
-
|
|
38
|
+
Catálogo e ownership · Playbooks · Contrato de composição
|
|
39
39
|
|
|
40
40
|
## Instalação e portabilidade
|
|
41
41
|
|
|
42
|
-
O pacote de cada skill é somente sua pasta em `skills/`. O [CLI crow-skills](docs/cli.md) instala cópias completas e versionadas em agentes/escopos explícitos, com preview, saída JSON, detecção de conflitos e recuperação. Requer Python 3.10+; Git para fontes em clone, Node 18+ para o launcher npm; mutações em macOS/Linux. A distribuição npm
|
|
42
|
+
O pacote de cada skill é somente sua pasta em `skills/`. O [CLI crow-skills](docs/cli.md) instala cópias completas e versionadas em agentes/escopos explícitos, com preview, saída JSON, detecção de conflitos e recuperação. Requer Python 3.10+; Git para fontes em clone, Node 18+ para o launcher npm; mutações em macOS/Linux. A distribuição npm pública `@andespindola/crow-skills` inclui um snapshot completo das skills, sem clone ou hooks que as instalem automaticamente. No [Uniflow](docs/cli.md#uniflow), `--agents uniflow --global` grava as skills no store dele (`~/.config/uniflow/skills`), sem tocar no resto da configuração. Em `--global`, instalar a crow-behaviour também grava o guia aditivo do agente (claude, codex, gemini, devin) para usar as skills; `--no-guide` desliga. As integrações de interface (status lines do Claude Code, do Codex e do Antigravity, hooks do modo crow em cada CLI, comando `/crow`, segmento tmux) seguem o mesmo fluxo, preservando a configuração existente; `--no-integrations` desliga. O barramento de eventos e a atualização automática (`crow-skills autoupdate on`) estão no [CLI](docs/cli.md).
|
|
43
43
|
|
|
44
44
|
```sh
|
|
45
45
|
npm install -g @andespindola/crow-skills@0.12.2
|
|
@@ -72,10 +72,10 @@ python3 -m unittest discover -s tests -v
|
|
|
72
72
|
|
|
73
73
|
O checker verifica frontmatter no subconjunto YAML simples usado aqui, catálogo, owners únicos, referências locais autocontidas, handoffs válidos, placeholders e exposição de caminhos privados/credenciais. Não impõe limites artificiais ao corpo, não interpreta instruções das skills nem chama ferramentas externas.
|
|
74
74
|
|
|
75
|
-
Os testes incluem mutações do pacote e invariantes de composição. Não medem a qualidade das respostas de um modelo. Avaliações comportamentais observadas, quando disponíveis, ficam
|
|
75
|
+
Os testes incluem mutações do pacote e invariantes de composição. Não medem a qualidade das respostas de um modelo. Avaliações comportamentais observadas, quando disponíveis, ficam no repositório, fora do pacote distribuído; não confundir texto esperado de fixture com teste executado por agente.
|
|
76
76
|
|
|
77
77
|
## Manutenção
|
|
78
78
|
|
|
79
79
|
Fonte canônica: SKILL.md para instruções, catalog.json para papel/ownership/handoffs. O checker exige sincronismo de nome, descrição e saída. Altere o menor escopo que resolve a falha demonstrada. Veja [CONTRIBUTING.md](CONTRIBUTING.md).
|
|
80
80
|
|
|
81
|
-
Sem alegação de ganho percentual ou auditoria integral da biblioteca anterior.
|
|
81
|
+
Sem alegação de ganho percentual ou auditoria integral da biblioteca anterior. Proveniência e limites.
|
package/crow_skills/__init__.py
CHANGED
package/docs/cli-security.md
CHANGED
|
@@ -30,6 +30,6 @@ Esta tabela define ameaça/controle, não é um certificado de segurança. Resul
|
|
|
30
30
|
|
|
31
31
|
## Snapshot npm
|
|
32
32
|
|
|
33
|
-
O launcher usa spawn sem shell e Python isolado (`-I`), evitando import do cwd/PYTHONPATH. Não há dependências npm nem hooks de instalação. Prepack verifica bytes commitados e rejeita arquivos extras nas globs de publicação; caches Python são explicitamente excluídos. O smoke valida o tarball inteiro contra allowlist/hashes antes de instalar em perfil isolado. Checksums não provam autoria: distribuição depende da integridade/autorização do registro npm. Publicação deve ser escopada e
|
|
33
|
+
O launcher usa spawn sem shell e Python isolado (`-I`), evitando import do cwd/PYTHONPATH. Não há dependências npm nem hooks de instalação. Prepack verifica bytes commitados e rejeita arquivos extras nas globs de publicação; caches Python são explicitamente excluídos. O smoke valida o tarball inteiro contra allowlist/hashes antes de instalar em perfil isolado. Checksums não provam autoria: distribuição depende da integridade/autorização do registro npm. Publicação deve ser escopada e pública (0.23.0), sem volta silenciosa para restricted: o prepack e o smoke reprovam. O smoke também varre o payload publicado em busca de caminho para ferramenta externa de engenharia reversa (invocação, verificação de presença no PATH, instalação por gerenciador de pacotes ou identificador de evidência dela) e reprova a publicação se encontrar, inclusive em documentação. Varredura não prova ausência de toda referência possível.
|
|
34
34
|
|
|
35
35
|
Resultados, falhas corrigidas e limites: [avaliação do CLI](evaluations/2026-10-20-cli.md).
|
package/docs/cli.md
CHANGED
|
@@ -63,9 +63,9 @@ python3 -m crow_skills list
|
|
|
63
63
|
|
|
64
64
|
O launcher do checkout pode ser referenciado por um symlink em um diretório já presente no PATH. Ele depende do caminho do checkout. Usar Git em um clone existente preserva a autenticação Git já configurada, inclusive para este repositório privado.
|
|
65
65
|
|
|
66
|
-
### Pacote npm
|
|
66
|
+
### Pacote npm público, repositório fechado
|
|
67
67
|
|
|
68
|
-
Nome: `@andespindola/crow-skills`; `publishConfig.access` é `
|
|
68
|
+
Nome: `@andespindola/crow-skills`; `publishConfig.access` é `public` desde a 0.23.0, por decisão do dono: instalar não exige autenticação nem `~/.npmrc` no escopo. O repositório continua privado e o pacote não é código aberto — os termos estão em `LICENSE` (uso permitido; redistribuição, obra derivada, extração do conteúdo para outro produto e engenharia reversa não). O inverso da trava antiga continua existindo: o `prepack` e o smoke do tarball **reprovam** uma publicação `restricted`, para que ninguém volte atrás sem decidir.
|
|
69
69
|
|
|
70
70
|
A publicação é feita pelo workflow `.github/workflows/publish.yml` ao empurrar uma tag `vX.Y.Z` igual à `version` do `package.json` (ou por `workflow_dispatch` em `main`). Ele autentica por Trusted Publishing (OIDC), sem token npm em secret, e roda check, testes e o teste de instalação isolada antes de `npm publish`. O trusted publisher do pacote no npmjs.com deve apontar para `andersonflima/crow-skills` e `publish.yml`.
|
|
71
71
|
|
package/package.json
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@andespindola/crow-skills",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.23.0",
|
|
4
4
|
"description": "Versioned, complementary agent skills with a protected multi-agent installer",
|
|
5
|
-
"license": "
|
|
5
|
+
"license": "SEE LICENSE IN LICENSE",
|
|
6
6
|
"repository": {
|
|
7
7
|
"type": "git",
|
|
8
8
|
"url": "git+ssh://git@github.com/andersonflima/crow-skills.git"
|
|
@@ -11,6 +11,7 @@
|
|
|
11
11
|
"crow-skills": "bin/npm-crow-skills.cjs"
|
|
12
12
|
},
|
|
13
13
|
"files": [
|
|
14
|
+
"LICENSE",
|
|
14
15
|
"bin/npm-crow-skills.cjs",
|
|
15
16
|
"crow_skills/*.py",
|
|
16
17
|
"catalog.json",
|
|
@@ -29,7 +30,7 @@
|
|
|
29
30
|
"node": ">=18"
|
|
30
31
|
},
|
|
31
32
|
"publishConfig": {
|
|
32
|
-
"access": "
|
|
33
|
+
"access": "public",
|
|
33
34
|
"registry": "https://registry.npmjs.org/"
|
|
34
35
|
}
|
|
35
36
|
}
|
package/release.json
CHANGED
|
@@ -1,9 +1,14 @@
|
|
|
1
1
|
{
|
|
2
2
|
"files": {
|
|
3
|
+
"LICENSE": {
|
|
4
|
+
"executable": false,
|
|
5
|
+
"kind": "file",
|
|
6
|
+
"sha256": "a771a0bbdc03e81e968aa49f1b5049b08782440349f1d5177e3aec54a677dffc"
|
|
7
|
+
},
|
|
3
8
|
"README.md": {
|
|
4
9
|
"executable": false,
|
|
5
10
|
"kind": "file",
|
|
6
|
-
"sha256": "
|
|
11
|
+
"sha256": "dffd92778b157b4d47d66b43c629262f433289259ff74d0f6e516121a2716a0a"
|
|
7
12
|
},
|
|
8
13
|
"bin/npm-crow-skills.cjs": {
|
|
9
14
|
"executable": true,
|
|
@@ -18,7 +23,7 @@
|
|
|
18
23
|
"crow_skills/__init__.py": {
|
|
19
24
|
"executable": false,
|
|
20
25
|
"kind": "file",
|
|
21
|
-
"sha256": "
|
|
26
|
+
"sha256": "226f5d505251679485ee9b453c92125163611d61e6dde843e84bd718eecbd6ae"
|
|
22
27
|
},
|
|
23
28
|
"crow_skills/__main__.py": {
|
|
24
29
|
"executable": false,
|
|
@@ -118,17 +123,17 @@
|
|
|
118
123
|
"docs/cli-security.md": {
|
|
119
124
|
"executable": false,
|
|
120
125
|
"kind": "file",
|
|
121
|
-
"sha256": "
|
|
126
|
+
"sha256": "8436d5f89d5fd413b2734a66e7f709cb7364b0b50dab35d1f7d81714b6db3760"
|
|
122
127
|
},
|
|
123
128
|
"docs/cli.md": {
|
|
124
129
|
"executable": false,
|
|
125
130
|
"kind": "file",
|
|
126
|
-
"sha256": "
|
|
131
|
+
"sha256": "2ef158acdb37cc01f33bf4106586d4da4438d2779885c8fd14c7e0266b7468d4"
|
|
127
132
|
},
|
|
128
133
|
"package.json": {
|
|
129
134
|
"executable": false,
|
|
130
135
|
"kind": "file",
|
|
131
|
-
"sha256": "
|
|
136
|
+
"sha256": "04d02322372b7bbf1965ddcf8834c97b7e24aa385e3d2abe3bb3d559472c6187"
|
|
132
137
|
},
|
|
133
138
|
"skills/crow-accessibility/SKILL.md": {
|
|
134
139
|
"executable": false,
|
|
@@ -736,7 +741,7 @@
|
|
|
736
741
|
"sha256": "e37132ef8b060548191fbf14a5a18a9dd3acd84ea9a35e802174455b9e374d3d"
|
|
737
742
|
}
|
|
738
743
|
},
|
|
739
|
-
"revision": "
|
|
744
|
+
"revision": "7934bf274cb194ab86a20ee7a8d6c6377d475c3b",
|
|
740
745
|
"schema_version": 1,
|
|
741
|
-
"version": "0.
|
|
746
|
+
"version": "0.23.0"
|
|
742
747
|
}
|