@_brenosiqueira/claude-skills 1.0.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.
@@ -0,0 +1,120 @@
1
+ ---
2
+ name: project-docs
3
+ description: >
4
+ Generates and maintains standardized documentation for software projects.
5
+ Use this skill whenever the user wants to create, update or improve project
6
+ documentation — including project vision, architecture decisions, sprint plans,
7
+ API contracts, README, or onboarding guides. Triggers on phrases like "create
8
+ documentation", "write the README", "document the architecture", "create a
9
+ project doc", "document this project", "what docs are missing", "generate
10
+ onboarding guide", or any request to produce structured written documentation
11
+ for a software project. Always use this skill when the conversation has enough
12
+ project context to produce a meaningful document — even if the user doesn't
13
+ say "documentation" explicitly.
14
+ ---
15
+
16
+ # Project Docs Skill
17
+
18
+ Generates standardized, consistent documentation for software projects.
19
+ Asks for format (Markdown or Word), produces the first document, then
20
+ proactively suggests what to create next based on what's missing.
21
+
22
+ ---
23
+
24
+ ## Document catalog
25
+
26
+ | ID | File | Purpose |
27
+ |---|---|---|
28
+ | `project` | `PROJETO.md` | Product vision, roadmap, business model |
29
+ | `architecture` | `ARQUITETURA.md` | Stack, ADRs, system diagrams, repos |
30
+ | `sprints` | `SPRINTS.md` | Sprint history and planning |
31
+ | `readme` | `README.md` | Overview, how to run, how to contribute |
32
+ | `api` | `API.md` | Endpoint contracts, request/response examples |
33
+ | `onboarding` | `ONBOARDING.md` | Guide for new developers joining the project |
34
+
35
+ ---
36
+
37
+ ## Workflow
38
+
39
+ ### Step 1 — Understand context
40
+
41
+ Extract from the conversation what is already known about the project:
42
+ - Project name, type, purpose
43
+ - Stack and architecture decisions
44
+ - Team size and stage (MVP, growth, etc.)
45
+ - What has already been built or decided
46
+
47
+ Do NOT ask for information that can be inferred from the conversation.
48
+ If key information is missing for the requested document, ask one focused
49
+ question — not a list.
50
+
51
+ ### Step 2 — Ask for format
52
+
53
+ Ask the user which format they want:
54
+
55
+ > "Prefere **Markdown** (`.md`, ideal para manter no repositório junto com o código)
56
+ > ou **Word** (`.docx`, ideal para compartilhar com stakeholders não-técnicos)?"
57
+
58
+ - If Markdown: generate `.md` file, save to `/mnt/user-data/outputs/`
59
+ - If Word: read the `docx` skill at `/mnt/skills/public/docx/SKILL.md` before generating
60
+
61
+ ### Step 3 — Generate the document
62
+
63
+ Read the reference template for the requested document type:
64
+ - `references/project.md` → for PROJETO.md
65
+ - `references/architecture.md` → for ARQUITETURA.md
66
+ - `references/sprints.md` → for SPRINTS.md
67
+ - `references/readme.md` → for README.md
68
+ - `references/api.md` → for API.md
69
+ - `references/onboarding.md` → for ONBOARDING.md
70
+
71
+ Follow the template structure exactly. Populate with real project information
72
+ from the conversation. Never leave placeholder text like "[INSERT HERE]" in
73
+ the output — if information is missing, write a sensible default or omit the
74
+ section with a comment explaining what should go there.
75
+
76
+ ### Step 4 — Present and suggest next
77
+
78
+ After presenting the file, show the user what docs exist and what's missing:
79
+
80
+ ```
81
+ ✅ PROJETO.md — gerado agora
82
+ ✅ ARQUITETURA.md — gerado anteriormente (se aplicável)
83
+ ⬜ README.md — visão geral e como rodar o projeto
84
+ ⬜ API.md — contratos dos endpoints
85
+ ⬜ ONBOARDING.md — guia para novos devs
86
+ ⬜ SPRINTS.md — histórico de sprints
87
+
88
+ Quer que eu gere o README.md agora?
89
+ ```
90
+
91
+ Only suggest documents that make sense for the project stage. A solo MVP
92
+ project in week 1 doesn't need ONBOARDING.md yet — suggest it later.
93
+
94
+ ---
95
+
96
+ ## Quality rules (apply to every document)
97
+
98
+ - **No placeholder text.** Every section has real content or is omitted.
99
+ - **No filler.** Every sentence earns its place. Cut generic advice.
100
+ - **Consistent tone.** Technical but direct. No corporate language.
101
+ - **ADRs always have:** decision, alternatives considered, reason for choice.
102
+ - **API contracts always have:** method, path, headers, body, all response codes.
103
+ - **Onboarding always ends with:** "first task" — something concrete the new dev can do.
104
+ - **README always has:** one-command setup that actually works.
105
+
106
+ ---
107
+
108
+ ## Updating existing documents
109
+
110
+ When the user asks to update a doc (e.g. "update the architecture doc with
111
+ this new decision"):
112
+
113
+ 1. Ask for the existing file if not already in context
114
+ 2. Identify what changed
115
+ 3. Make targeted updates — do not rewrite sections that haven't changed
116
+ 4. Add a changelog entry at the top of the file if the change is significant:
117
+
118
+ ```markdown
119
+ > **Atualizado em [data]:** [o que mudou em uma linha]
120
+ ```
@@ -0,0 +1,119 @@
1
+ # Template — ARQUITETURA.md
2
+
3
+ ## Structure
4
+
5
+ ```markdown
6
+ # Arquitetura Técnica — [Nome do Projeto]
7
+
8
+ > Documento de alto nível com decisões de arquitetura, estrutura de
9
+ > repositórios e contratos entre sistemas.
10
+ > Para detalhes de implementação, consultar o README de cada serviço/app.
11
+
12
+ ---
13
+
14
+ ## Sumário
15
+ [numbered list with anchor links]
16
+
17
+ ---
18
+
19
+ ## 1. Visão Geral do Sistema
20
+ [ASCII diagram showing all components and their connections]
21
+ [Brief explanation of each component]
22
+
23
+ ### Fluxo principal
24
+ [Step-by-step of the most important user journey through the system]
25
+
26
+ ---
27
+
28
+ ## 2. Repositórios / Estrutura de Código
29
+ [repo structure with explanation of each folder/app]
30
+ [monorepo OR multi-repo decision explained]
31
+
32
+ ### Convenções comuns
33
+ [language, lint, env vars, commit format, branch strategy]
34
+
35
+ ---
36
+
37
+ ## 3. [Shared Package / Core Library]
38
+ [if applicable: what goes here, what doesn't, import path]
39
+ [code example of key shared types]
40
+
41
+ ---
42
+
43
+ ## 4. [Service/App 1]
44
+ [path, runtime, framework, key libraries]
45
+ [folder structure]
46
+ [main endpoint groups or responsibilities]
47
+ [key algorithms or business logic]
48
+
49
+ ---
50
+
51
+ ## 5. [Service/App 2]
52
+ [same structure]
53
+
54
+ ---
55
+
56
+ [repeat for each app/service]
57
+
58
+ ---
59
+
60
+ ## [N-2]. Comunicação em Tempo Real
61
+ [technology choice and why]
62
+ [rooms/channels structure]
63
+ [event catalog: event name | direction | payload]
64
+ [fallback strategy]
65
+
66
+ ---
67
+
68
+ ## [N-1]. Integrações Externas
69
+ [table: service | purpose | SDK/lib | notes]
70
+ [auth strategy for each]
71
+ [webhook security approach]
72
+
73
+ ---
74
+
75
+ ## [N]. Banco de Dados
76
+ [SGBD, ORM/query strategy]
77
+ [schema of main tables]
78
+ [key indexes]
79
+ [any special extensions (PostGIS, etc.)]
80
+
81
+ ---
82
+
83
+ ## [N+1]. Infraestrutura e Deploy
84
+ [environments: local, staging, production]
85
+ [production stack with justification]
86
+ [environment variables list]
87
+ [CI/CD approach]
88
+
89
+ ---
90
+
91
+ ## [N+2]. Decisões de Arquitetura (ADRs)
92
+
93
+ ### ADR-001: [Title]
94
+ **Decisão:** [what was decided]
95
+ **Motivo:** [why — specific to this project, not generic]
96
+ **Alternativas consideradas:** [what else was evaluated and why rejected]
97
+
98
+ [repeat for each ADR]
99
+
100
+ ---
101
+
102
+ ## [N+3]. Estratégia de Crescimento do Time
103
+ [how the architecture evolves as team grows]
104
+ [what stays the same, what changes at each stage]
105
+
106
+ ---
107
+ *[footer]*
108
+ ```
109
+
110
+ ## Rules specific to ARQUITETURA.md
111
+
112
+ - Every ADR must have: decision, reason, AND alternatives considered
113
+ - Alternatives must explain WHY they were rejected — not just listed
114
+ - ASCII diagrams must be accurate — don't draw connections that don't exist
115
+ - Environment variables section must be complete — the list should be enough
116
+ to write a real `.env` file
117
+ - No ADR without a "why" that is specific to this project's context
118
+ - When a decision was reversed or updated, add a note to the original ADR
119
+ rather than deleting it — the history of thinking is valuable
@@ -0,0 +1,295 @@
1
+ # Template — README.md
2
+
3
+ ## Structure
4
+
5
+ ```markdown
6
+ # [Project Name]
7
+
8
+ > [One sentence: what this is and what problem it solves]
9
+
10
+ ---
11
+
12
+ ## O que é
13
+ [2-3 sentences expanding on the tagline. What it does, who it's for.]
14
+
15
+ ## Stack
16
+ [list of main technologies — keep it short, link to ARQUITETURA.md for details]
17
+
18
+ ## Pré-requisitos
19
+ [exact versions required: Node 20+, Docker, etc.]
20
+
21
+ ## Como rodar localmente
22
+
23
+ \`\`\`bash
24
+ # 1. Clone
25
+ git clone [url]
26
+ cd [project]
27
+
28
+ # 2. Instalar dependências
29
+ [exact command]
30
+
31
+ # 3. Configurar variáveis de ambiente
32
+ cp .env.example .env
33
+ # Editar .env com suas credenciais
34
+
35
+ # 4. Subir serviços (banco, redis, etc.)
36
+ [exact command]
37
+
38
+ # 5. Rodar migrations
39
+ [exact command]
40
+
41
+ # 6. Iniciar
42
+ [exact command]
43
+ \`\`\`
44
+
45
+ > Abrir [URL] no browser / ou rodar o app com `npx expo start`
46
+
47
+ ## Estrutura do repositório
48
+ [tree of top-level folders with one-line description each]
49
+
50
+ ## Documentação
51
+ | Documento | Descrição |
52
+ |---|---|
53
+ | [PROJETO.md](./PROJETO.md) | Visão de produto e roadmap |
54
+ | [ARQUITETURA.md](./ARQUITETURA.md) | Decisões técnicas e stack |
55
+ | [API.md](./API.md) | Contratos dos endpoints |
56
+ | [ONBOARDING.md](./ONBOARDING.md) | Guia para novos devs |
57
+
58
+ ## Como contribuir
59
+ [branch naming, PR process, commit format]
60
+
61
+ ## Licença
62
+ [license type]
63
+ ```
64
+
65
+ ## Rules specific to README.md
66
+
67
+ - "Como rodar localmente" must work — test every command mentally
68
+ - No step can be "configure X" without saying exactly how
69
+ - Keep it short — link to other docs for detail
70
+ - First heading after title must be visible without scrolling
71
+
72
+ ---
73
+
74
+ # Template — API.md
75
+
76
+ ## Structure
77
+
78
+ ```markdown
79
+ # API Reference — [Project Name]
80
+
81
+ > Base URL: `https://api.[domain].com.br`
82
+ > Auth: Bearer JWT em todas as rotas (exceto `/auth/*`)
83
+
84
+ ---
85
+
86
+ ## Autenticação
87
+
88
+ [explain JWT flow briefly, link to auth endpoints]
89
+
90
+ ---
91
+
92
+ ## [Module 1 — e.g. Auth]
93
+
94
+ ### POST /auth/send-otp
95
+ [description: one sentence]
96
+
97
+ **Request**
98
+ \`\`\`json
99
+ {
100
+ "phone": "+5511999999999"
101
+ }
102
+ \`\`\`
103
+
104
+ **Responses**
105
+
106
+ | Status | Descrição | Body |
107
+ |---|---|---|
108
+ | 200 | Código enviado | `{ "message": "Código enviado" }` |
109
+ | 400 | Telefone inválido | `{ "error": "Formato inválido" }` |
110
+ | 429 | Rate limit | `{ "error": "Muitas tentativas" }` |
111
+
112
+ ---
113
+
114
+ [repeat for each endpoint, grouped by module]
115
+
116
+ ---
117
+
118
+ ## Erros comuns
119
+
120
+ | Código | Significado | O que fazer |
121
+ |---|---|---|
122
+ | 401 | Token inválido ou expirado | Renovar via /auth/refresh |
123
+ | 403 | Sem permissão | Verificar role do usuário |
124
+ | 422 | Dados inválidos | Ver campo `error` na resposta |
125
+ | 429 | Rate limit atingido | Aguardar e tentar novamente |
126
+ ```
127
+
128
+ ## Rules specific to API.md
129
+
130
+ - Every endpoint must show ALL possible response status codes
131
+ - Request body must show exact field names and types
132
+ - Authentication requirement must be explicit for each endpoint
133
+ - Group endpoints by domain/module, not alphabetically
134
+ - Include at least one curl example per module
135
+
136
+ ---
137
+
138
+ # Template — ONBOARDING.md
139
+
140
+ ## Structure
141
+
142
+ ```markdown
143
+ # Onboarding — [Project Name]
144
+
145
+ > Guia para novos desenvolvedores. Tempo estimado para estar rodando: **[X horas]**.
146
+
147
+ ---
148
+
149
+ ## O que é esse projeto
150
+ [2-3 sentences — assume zero context]
151
+
152
+ ## Arquitetura em 5 minutos
153
+ [high-level overview: what are the apps, how do they connect]
154
+ [link to ARQUITETURA.md for depth]
155
+
156
+ ## Setup do ambiente
157
+ [link to README.md — don't duplicate the setup steps]
158
+
159
+ ## Estrutura do código
160
+
161
+ ### Como o código está organizado
162
+ [explain the main patterns: modules, services, stores, etc.]
163
+
164
+ ### Onde encontrar o quê
165
+ | O que você precisa | Onde está |
166
+ |---|---|
167
+ | Lógica de corridas | `apps/api/src/modules/rides/` |
168
+ | Telas do passageiro | `apps/passenger/app/` |
169
+ | Tipos compartilhados | `packages/shared/` |
170
+
171
+ ---
172
+
173
+ ## Fluxo principal (passo a passo no código)
174
+ [walk through the most important feature end-to-end, with file paths]
175
+ [e.g.: "Uma corrida começa em RideController.ts linha 42, passa por..."]
176
+
177
+ ---
178
+
179
+ ## Padrões do projeto
180
+
181
+ ### Git
182
+ [branch naming, commit format, PR process]
183
+
184
+ ### TypeScript
185
+ [key conventions used in this codebase]
186
+
187
+ ### Testes
188
+ [how to run, where they live, what's expected to be tested]
189
+
190
+ ---
191
+
192
+ ## Decisões que podem surpreender
193
+ [list of non-obvious decisions with brief explanation]
194
+ [e.g.: "Usamos $queryRaw para queries de localização porque PostGIS..."]
195
+
196
+ ---
197
+
198
+ ## Primeira tarefa
199
+ [a concrete, small, self-contained task the new dev can do on day 1]
200
+ [e.g.: "Adicione o campo `photoUrl` ao endpoint GET /users/me"]
201
+ [link to a real GitHub issue if possible]
202
+
203
+ ---
204
+
205
+ ## Dúvidas frequentes
206
+ [Q&A format for questions that come up repeatedly]
207
+ ```
208
+
209
+ ## Rules specific to ONBOARDING.md
210
+
211
+ - "Primeira tarefa" is mandatory — onboarding without a concrete task is incomplete
212
+ - "Decisões que podem surpreender" prevents the same questions every time
213
+ - Setup steps must link to README, never duplicate them
214
+ - Time estimate at the top must be honest — don't say 30 min if it takes 3 hours
215
+ - Fluxo principal must include actual file paths, not just module names
216
+
217
+ ---
218
+
219
+ # Template — SPRINTS.md
220
+
221
+ ## Structure
222
+
223
+ ```markdown
224
+ # Planejamento de Sprints — [Project Name]
225
+
226
+ > Histórico e planejamento de sprints. Issues detalhadas no GitHub Milestones.
227
+
228
+ ---
229
+
230
+ ## Status atual
231
+ **Sprint em andamento:** Sprint [N] — [Nome]
232
+ **Período:** [data início] → [data fim]
233
+ **Progresso:** [X/Y issues concluídas]
234
+
235
+ ---
236
+
237
+ ## Sprint [N] — [Nome] (atual)
238
+
239
+ **Objetivo:** [one sentence — what "done" looks like for this sprint]
240
+ **Período:** [datas]
241
+
242
+ ### Por app
243
+ | App | Issues | Concluídas |
244
+ |---|---|---|
245
+ | api | [N] | [N] |
246
+ | passenger | [N] | [N] |
247
+ | driver | [N] | [N] |
248
+ | admin | [N] | [N] |
249
+
250
+ ### Destaques
251
+ [bullet list of most important deliverables]
252
+
253
+ ### Impedimentos
254
+ [anything blocking progress — honest assessment]
255
+
256
+ ---
257
+
258
+ ## Sprint [N-1] — [Nome] (concluído)
259
+
260
+ **Objetivo:** [what was planned]
261
+ **Resultado:** [what actually shipped — be honest about gaps]
262
+ **Retrospectiva:**
263
+ - O que funcionou bem: [...]
264
+ - O que melhorar: [...]
265
+
266
+ ---
267
+
268
+ [repeat for previous sprints, newest first]
269
+
270
+ ---
271
+
272
+ ## Backlog (próximos sprints)
273
+
274
+ ### Sprint [N+1] — [Nome previsto]
275
+ [bullet list of planned items — not detailed yet]
276
+
277
+ ---
278
+
279
+ ## Definição de "Pronto"
280
+ [checklist that every issue must pass before being marked done]
281
+ - [ ] Código revisado (se time > 1 dev)
282
+ - [ ] Testes passando
283
+ - [ ] Sem erros de TypeScript
284
+ - [ ] Testado em staging
285
+ - [ ] Documentação atualizada se necessário
286
+ ```
287
+
288
+ ## Rules specific to SPRINTS.md
289
+
290
+ - Retrospectiva section is mandatory for completed sprints — no sprint is
291
+ "completed" without honest reflection
292
+ - "Resultado" must distinguish what was planned vs what shipped
293
+ - Impedimentos must be honest — this is a working document, not a report
294
+ - Definition of Done must match the actual team process
295
+ - Link to GitHub Milestone for each sprint
@@ -0,0 +1,102 @@
1
+ # Template — PROJETO.md
2
+
3
+ ## Structure
4
+
5
+ ```markdown
6
+ # Plano de Projeto — [Nome do Projeto]
7
+
8
+ > **Status:** [fase atual]
9
+ > **Versão:** [número]
10
+ > **Modelo:** [tipo de negócio, ex: Marketplace B2C]
11
+ > **Contexto:** [uma frase descrevendo o contexto único do projeto]
12
+
13
+ ---
14
+
15
+ ## Sumário
16
+ [numbered list of all sections with anchor links]
17
+
18
+ ---
19
+
20
+ ## 1. Sumário Executivo
21
+ [2-3 paragraphs: what the product is, who it's for, what problem it solves]
22
+
23
+ [info table with: tipo de produto, modelo de receita, fase atual, perfil do time,
24
+ mercado-alvo, prazo estimado para MVP]
25
+
26
+ ---
27
+
28
+ ## 2. Problema & Oportunidade
29
+
30
+ ### 2.1 Problema a resolver
31
+ [bulleted list of real pains — not generic market observations]
32
+
33
+ ### 2.2 Validação necessária
34
+ [alert box: what needs to be validated before building]
35
+
36
+ ---
37
+
38
+ ## 3. Proposta de Valor
39
+
40
+ ### 3.1 Para [primary user]
41
+ [bulleted list of concrete benefits]
42
+
43
+ ### 3.2 Para [secondary user, if marketplace]
44
+ [bulleted list of concrete benefits]
45
+
46
+ ### Diferencial
47
+ [what makes this product different — specific, not generic]
48
+
49
+ ---
50
+
51
+ ## 4. Visão Geral do Produto
52
+
53
+ ### 4.1 Componentes do sistema
54
+ [table: component | description]
55
+
56
+ ### 4.2 Funcionalidades do MVP
57
+ [grouped by user type — only what's needed for first working version]
58
+
59
+ ---
60
+
61
+ ## 5. Roadmap — [N] Fases
62
+ [one section per phase with: name, duration, goals, key deliverables]
63
+ [highlight which phase is current]
64
+
65
+ ---
66
+
67
+ ## 6. Modelo de Negócio
68
+
69
+ ### Fontes de receita
70
+ [table: fonte | descrição | timing]
71
+
72
+ ### Estrutura de custos
73
+ [bulleted list of main cost drivers]
74
+
75
+ ---
76
+
77
+ ## 7. Regulamentação & Compliance
78
+ [only if relevant — legal requirements, certifications, data privacy]
79
+
80
+ ---
81
+
82
+ ## 8. Principais Riscos
83
+ [table: risco | probabilidade | mitigação]
84
+
85
+ ---
86
+
87
+ ## 9. Próximos Passos
88
+ [numbered checklist — concrete actions, not vague goals]
89
+ [each item starts with [ ] for checkbox format]
90
+
91
+ ---
92
+ *[footer: how document is maintained]*
93
+ ```
94
+
95
+ ## Rules specific to PROJETO.md
96
+
97
+ - Roadmap phases should have realistic durations — don't compress timelines
98
+ - Risks table must have mitigation for every risk, not just identification
99
+ - Próximos Passos must be actionable in the next 2 weeks
100
+ - Business model must include a note on benchmark (what competitors charge)
101
+ - Never include features in the MVP section that aren't strictly necessary
102
+ for the core workflow to function end-to-end
package/src/cli.js ADDED
@@ -0,0 +1,55 @@
1
+ #!/usr/bin/env node
2
+
3
+ import { program } from 'commander';
4
+ import chalk from 'chalk';
5
+ import { readFileSync } from 'fs';
6
+ import { fileURLToPath } from 'url';
7
+ import { dirname, join } from 'path';
8
+ import { initCommand } from './commands/init.js';
9
+ import { listCommand } from './commands/list.js';
10
+ import { addCommand } from './commands/add.js';
11
+ import { showCommand } from './commands/show.js';
12
+
13
+ const __dirname = dirname(fileURLToPath(import.meta.url));
14
+ const pkg = JSON.parse(readFileSync(join(__dirname, '../package.json'), 'utf8'));
15
+
16
+ program
17
+ .name('claude-skills')
18
+ .description('Manage Claude AI skills for your projects')
19
+ .version(pkg.version);
20
+
21
+ program
22
+ .command('init')
23
+ .description('Initialize skills in the current project (.claude/skills/)')
24
+ .option('-s, --skill <name>', 'Initialize a specific skill only')
25
+ .action(initCommand);
26
+
27
+ program
28
+ .command('list')
29
+ .description('List all available skills')
30
+ .action(listCommand);
31
+
32
+ program
33
+ .command('add <skill>')
34
+ .description('Add a specific skill to the current project')
35
+ .action(addCommand);
36
+
37
+ program
38
+ .command('show <skill>')
39
+ .description('Print a skill\'s SKILL.md to stdout')
40
+ .action(showCommand);
41
+
42
+ program.addHelpText('after', `
43
+ ${chalk.bold('Examples:')}
44
+ ${chalk.cyan('claude-skills init')} Copy all skills to .claude/skills/
45
+ ${chalk.cyan('claude-skills init -s project-docs')} Copy only project-docs skill
46
+ ${chalk.cyan('claude-skills list')} Show available skills
47
+ ${chalk.cyan('claude-skills add github-sprint')} Add a specific skill
48
+ ${chalk.cyan('claude-skills show project-docs')} Print SKILL.md to stdout
49
+
50
+ ${chalk.bold('Usage with Claude:')}
51
+ After running ${chalk.cyan('init')}, upload the files from ${chalk.cyan('.claude/skills/')}
52
+ in your Claude conversation, or reference them by path.
53
+ `);
54
+
55
+ program.parse();
@@ -0,0 +1 @@
1
+ export { addCommand } from './list.js';