Merge remote-tracking branch 'origin/main'

# Conflicts:
#	.claude-plugin/marketplace.json
#	.gitignore
#	acidaos/skills/devops/SKILL.md
#	acidaos/skills/docs/SKILL.md
#	acidaos/skills/rust-dev/SKILL.md
#	acidaos/skills/spoke-dev/SKILL.md
#	automacao/agents/automation-lead.md
#	automacao/agents/mcp-protocol-developer.md
#	automacao/agents/n8n-automation-expert.md
#	automacao/skills/moloni-api/SKILL.md
#	automacao/skills/n8n/SKILL.md
#	core-tools/skills/_core/SKILL.md
#	core-tools/skills/agent-context-injector/SKILL.md
#	core-tools/skills/component-generator/SKILL.md
#	core-tools/skills/db-maintenance-manager/SKILL.md
#	core-tools/skills/infrastructure-manager/SKILL.md
#	core-tools/skills/metrics/SKILL.md
#	core-tools/skills/plugin-curator/SKILL.md
#	core-tools/skills/plugin-manager/SKILL.md
#	core-tools/skills/plugin-manager/profiles.json
#	core-tools/skills/quality-validator/SKILL.md
#	core-tools/skills/relationship-manager/SKILL.md
#	crm-ops/.claude-plugin/plugin.json
#	crm-ops/CHANGELOG.md
#	crm-ops/agents/budget-proposal-specialist.md
#	crm-ops/agents/lead-approach-strategist.md
#	crm-ops/agents/lead-qualifier.md
#	crm-ops/agents/sales-manager.md
#	crm-ops/agents/support-specialist.md
#	crm-ops/skills/auto-expense/SKILL.md
#	crm-ops/skills/billing-check/SKILL.md
#	crm-ops/skills/crm-admin/SKILL.md
#	crm-ops/skills/crm/SKILL.md
#	crm-ops/skills/desk/SKILL.md
#	crm-ops/skills/estrategia-marca/SKILL.md
#	crm-ops/skills/estrategia-marca/references/metodologia-acida.md
#	crm-ops/skills/estrategia-marca/references/template-documento.md
#	crm-ops/skills/expense/SKILL.md
#	crm-ops/skills/invoice/SKILL.md
#	crm-ops/skills/orcamento/SKILL-light.md
#	crm-ops/skills/orcamento/SKILL.md
#	crm-ops/skills/proposal-deck/SKILL.md
#	crm-ops/skills/proposta-visual/SKILL.md
#	crm-ops/skills/ticket-manage/SKILL.md
#	crm-ops/skills/ticket-triage/SKILL.md
#	crm-ops/skills/ticket/SKILL.md
#	design-media/agents/design-critic.md
#	design-media/agents/design-generator.md
#	design-media/agents/design-lead.md
#	design-media/agents/design-prompt-architect.md
#	design-media/agents/design-researcher.md
#	design-media/agents/ui-designer.md
#	design-media/agents/video-production-specialist.md
#	design-media/agents/web-designer.md
#	design-media/skills/brand-guidelines/SKILL.md
#	design-media/skills/brand-guidelines/references/descomplicar-theme.md
#	design-media/skills/cinematic-site/SKILL.md
#	design-media/skills/clone-style/SKILL.md
#	design-media/skills/design-b2b/SKILL.md
#	design-media/skills/design-ecommerce/SKILL.md
#	design-media/skills/design-saude/SKILL.md
#	design-media/skills/design-solar/SKILL.md
#	design-media/skills/design/SKILL.md
#	design-media/skills/design/references/premium-proposals.md
#	dev-tools/agents/database-design-specialist.md
#	dev-tools/agents/dev-helper.md
#	dev-tools/agents/development-lead.md
#	dev-tools/agents/javascript-fullstack-specialist.md
#	dev-tools/agents/nextjs-specialist.md
#	dev-tools/agents/php-fullstack-engineer.md
#	dev-tools/skills/benchmark/SKILL.md
#	dev-tools/skills/canary/SKILL.md
#	dev-tools/skills/chrome/SKILL.md
#	dev-tools/skills/db-design/SKILL.md
#	dev-tools/skills/dep-audit/SKILL.md
#	dev-tools/skills/diagrama/SKILL.md
#	dev-tools/skills/docx/SKILL-light.md
#	dev-tools/skills/docx/SKILL.md
#	dev-tools/skills/docx/scripts/__init__.py
#	dev-tools/skills/docx/scripts/office/pack.py
#	dev-tools/skills/docx/scripts/office/unpack.py
#	dev-tools/skills/docx/scripts/office/validate.py
#	dev-tools/skills/nextjs/SKILL.md
#	dev-tools/skills/pdf/SKILL-light.md
#	dev-tools/skills/pdf/SKILL.md
#	dev-tools/skills/php-dev/SKILL.md
#	dev-tools/skills/prompt-refine/SKILL.md
#	dev-tools/skills/react-patterns/SKILL.md
#	dev-tools/skills/skill-creator/SKILL.md
#	dev-tools/skills/skill-creator/references/descomplicar-standards.md
#	dev-tools/skills/webapp-testing/SKILL.md
#	dev-tools/skills/webapp-testing/scripts/with_server.py
#	dev-tools/skills/xlsx/SKILL.md
#	dev-tools/skills/xlsx/scripts/office/pack.py
#	dev-tools/skills/xlsx/scripts/office/unpack.py
#	dev-tools/skills/xlsx/scripts/office/validate.py
#	dev-tools/skills/youtube-extract/SKILL.md
#	gestao/.claude-plugin/plugin.json
#	gestao/agents/analytics-insights-agent.md
#	gestao/agents/compliance-auditor.md
#	gestao/agents/project-manager.md
#	gestao/agents/reflect-agent.md
#	gestao/agents/software-project-planner.md
#	gestao/agents/time-management-agent.md
#	gestao/agents/wiki-knowledge-agent.md
#	gestao/skills/aiktop-tasks/SKILL.md
#	gestao/skills/archive/SKILL.md
#	gestao/skills/calendar-manager/SKILL.md
#	gestao/skills/cleanup-downloads/SKILL.md
#	gestao/skills/clip-agent/SKILL.md
#	gestao/skills/clip-health/SKILL.md
#	gestao/skills/clip-instructions/SKILL.md
#	gestao/skills/clip-issue/SKILL.md
#	gestao/skills/clip-org/SKILL.md
#	gestao/skills/clip-routine/SKILL.md
#	gestao/skills/clip-skill/SKILL.md
#	gestao/skills/clip-vision/SKILL.md
#	gestao/skills/clip/SKILL.md
#	gestao/skills/daily-digest/SKILL.md
#	gestao/skills/deep-research/SKILL.md
#	gestao/skills/delegate/SKILL.md
#	gestao/skills/doc-coauthoring/SKILL.md
#	gestao/skills/dual-review/SKILL.md
#	gestao/skills/hub-compile/SKILL.md
#	gestao/skills/hub-search/SKILL.md
#	gestao/skills/imap-triage/SKILL.md
#	gestao/skills/index-update/SKILL.md
#	gestao/skills/knowledge/SKILL.md
#	gestao/skills/knowledge/docs/workflow.md
#	gestao/skills/knowledge/references/routing-guide.md
#	gestao/skills/mindmap/SKILL.md
#	gestao/skills/monday-briefing/SKILL.md
#	gestao/skills/notebooklm/SKILL.md
#	gestao/skills/office-hours/SKILL.md
#	gestao/skills/onboarding/SKILL.md
#	gestao/skills/proc-creator/SKILL.md
#	gestao/skills/reflect/SKILL.md
#	gestao/skills/report-templates/SKILL.md
#	gestao/skills/report/SKILL.md
#	gestao/skills/research-pipeline/SKILL.md
#	gestao/skills/review-corrections/SKILL.md
#	gestao/skills/spec-coauthor/SKILL.md
#	gestao/skills/task-state/SKILL.md
#	gestao/skills/tasks-overview/SKILL.md
#	gestao/skills/time/SKILL.md
#	gestao/skills/today/SETUP_MCPS.md
#	gestao/skills/today/SKILL.md
#	gestao/skills/today/prompts/execute.md
#	gestao/skills/today/templates/daily-report.md
#	gestao/skills/validate-component/SKILL.md
#	gestao/skills/worklog/SKILL.md
#	infraestrutura/.claude-plugin/plugin.json
#	infraestrutura/agents/backup-specialist.md
#	infraestrutura/agents/cwp-server-manager.md
#	infraestrutura/agents/easypanel-specialist.md
#	infraestrutura/agents/infrastructure-orchestrator.md
#	infraestrutura/agents/proxmox-specialist.md
#	infraestrutura/agents/security-compliance-specialist.md
#	infraestrutura/skills/authentik/SKILL.md
#	infraestrutura/skills/backup-strategies/SKILL.md
#	infraestrutura/skills/backup-strategies/references/scripts.md
#	infraestrutura/skills/cwp/SKILL.md
#	infraestrutura/skills/easypanel-api/SKILL.md
#	infraestrutura/skills/easypanel-cicd/SKILL.md
#	infraestrutura/skills/easypanel-deploy/SKILL.md
#	infraestrutura/skills/easypanel-init/SKILL.md
#	infraestrutura/skills/easypanel-monitor/SKILL.md
#	infraestrutura/skills/easypanel-rollback/SKILL.md
#	infraestrutura/skills/easypanel-troubleshoot/SKILL.md
#	infraestrutura/skills/easypanel-validate/SKILL.md
#	infraestrutura/skills/gateway-check/SKILL.md
#	infraestrutura/skills/infra-check/SKILL.md
#	infraestrutura/skills/mcp-dev/SKILL.md
#	infraestrutura/skills/mcp-dev/references/best-practices.md
#	infraestrutura/skills/mcp-dev/references/evaluation-guide.md
#	infraestrutura/skills/mcp-dev/references/templates.md
#	infraestrutura/skills/pbs-config/SKILL.md
#	infraestrutura/skills/proxmox-cluster/SKILL.md
#	infraestrutura/skills/proxmox-ha/SKILL.md
#	infraestrutura/skills/proxmox-setup/SKILL.md
#	infraestrutura/skills/security-audit/SKILL.md
#	infraestrutura/skills/security-check/SKILL.md
#	infraestrutura/skills/server-health/SKILL.md
#	infraestrutura/skills/vm-migration/SKILL.md
#	marketing/.claude-plugin/plugin.json
#	marketing/CHANGELOG.md
#	marketing/agents/content-manager.md
#	marketing/agents/copywriter.md
#	marketing/agents/marketing-planning-expert.md
#	marketing/agents/ppc-specialist.md
#	marketing/agents/seo-specialist.md
#	marketing/agents/social-media-manager.md
#	marketing/agents/video-production-specialist.md
#	marketing/agents/youtube-specialist.md
#	marketing/skills/ads/SKILL.md
#	marketing/skills/content-marketing-pt/SKILL.md
#	marketing/skills/lead-approach/SKILL.md
#	marketing/skills/marketing-strategy/SKILL.md
#	marketing/skills/seo-audit/SKILL.md
#	marketing/skills/seo-audit/references/ferramentas-api.md
#	marketing/skills/seo-audit/references/template-relatorio-auditoria.md
#	marketing/skills/seo-content-optimization/SKILL.md
#	marketing/skills/seo-content-optimization/references/structured-data.md
#	marketing/skills/seo-report/SKILL.md
#	marketing/skills/seo-report/references/implementacao-tecnica.md
#	marketing/skills/seo-report/references/template-relatorio.md
#	marketing/skills/social-media/SKILL.md
#	marketing/skills/trend-signal/SKILL.md
#	marketing/skills/video/SKILL.md
#	marketing/skills/video/rules/3d.md
#	marketing/skills/video/rules/animations.md
#	marketing/skills/video/rules/assets.md
#	marketing/skills/video/rules/audio.md
#	marketing/skills/video/rules/calculate-metadata.md
#	marketing/skills/video/rules/can-decode.md
#	marketing/skills/video/rules/charts.md
#	marketing/skills/video/rules/compositions.md
#	marketing/skills/video/rules/display-captions.md
#	marketing/skills/video/rules/extract-frames.md
#	marketing/skills/video/rules/fonts.md
#	marketing/skills/video/rules/get-audio-duration.md
#	marketing/skills/video/rules/get-video-dimensions.md
#	marketing/skills/video/rules/get-video-duration.md
#	marketing/skills/video/rules/gifs.md
#	marketing/skills/video/rules/images.md
#	marketing/skills/video/rules/import-srt-captions.md
#	marketing/skills/video/rules/lottie.md
#	marketing/skills/video/rules/maps.md
#	marketing/skills/video/rules/measuring-dom-nodes.md
#	marketing/skills/video/rules/measuring-text.md
#	marketing/skills/video/rules/parameters.md
#	marketing/skills/video/rules/sequencing.md
#	marketing/skills/video/rules/tailwind.md
#	marketing/skills/video/rules/text-animations.md
#	marketing/skills/video/rules/timing.md
#	marketing/skills/video/rules/transcribe-captions.md
#	marketing/skills/video/rules/transitions.md
#	marketing/skills/video/rules/trimming.md
#	marketing/skills/video/rules/videos.md
#	marketing/skills/youtube/SKILL.md
#	metabase/agents/metabase-analyst.md
#	metabase/skills/dashboard/SKILL.md
#	metabase/skills/metabase/SKILL.md
#	metabase/skills/query/SKILL.md
#	negocio/agents/ecommerce-architect.md
#	negocio/agents/finance-manager.md
#	negocio/agents/research-analyst.md
#	negocio/agents/saas-architect.md
#	negocio/skills/ecommerce/SKILL.md
#	negocio/skills/interview/SKILL.md
#	negocio/skills/product/SKILL.md
#	negocio/skills/research/SKILL.md
#	negocio/skills/saas/SKILL.md
#	perfex-dev/agents/perfex-crm-module-developer.md
#	perfex-dev/skills/perfex-controllers/SKILL.md
#	perfex-dev/skills/perfex-database/SKILL.md
#	perfex-dev/skills/perfex-forms/SKILL.md
#	perfex-dev/skills/perfex-hooks/SKILL.md
#	perfex-dev/skills/perfex-menus/SKILL.md
#	perfex-dev/skills/perfex-migrations/SKILL.md
#	perfex-dev/skills/perfex-module-basics/SKILL.md
#	perfex-dev/skills/perfex-permissions/SKILL.md
#	perfex-dev/skills/perfex-security/SKILL.md
#	perfex-dev/skills/perfex-views/SKILL.md
#	project-manager/.claude-plugin/plugin.json
#	project-manager/agents/scrum-master.md
#	project-manager/agents/spec-writer.md
#	project-manager/hooks/spec-gate.sh
#	project-manager/skills/brainstorm/SKILL.md
#	project-manager/skills/discover/SKILL.md
#	project-manager/skills/scope/SKILL.md
#	project-manager/skills/spec/SKILL.md
#	project-manager/skills/sprint/SKILL.md
#	project-manager/skills/status/SKILL.md
#	wordpress/.claude-plugin/plugin.json
#	wordpress/agents/elementor-specialist.md
#	wordpress/agents/woocommerce-specialist.md
#	wordpress/agents/wordpress-performance-specialist.md
#	wordpress/agents/wordpress-plugin-developer.md
#	wordpress/skills/branda-menu/SKILL.md
#	wordpress/skills/crocoblock/SKILL.md
#	wordpress/skills/elementor/SKILL.md
#	wordpress/skills/jetengine/SKILL.md
#	wordpress/skills/rank-math/SKILL.md
#	wordpress/skills/rank-math/references/commands.md
#	wordpress/skills/seo-post/SKILL.md
#	wordpress/skills/woocommerce-cli/SKILL.md
#	wordpress/skills/woocommerce/SKILL.md
#	wordpress/skills/wp-cli/SKILL.md
#	wordpress/skills/wp-cli/references/commands.md
#	wordpress/skills/wp-cli/scripts/wp-auto.sh
#	wordpress/skills/wp-dev/SKILL.md
#	wordpress/skills/wp-hardening/SKILL.md
#	wordpress/skills/wp-performance/SKILL.md
#	wordpress/skills/wp-translate/SKILL.md
#	wordpress/skills/wp-update/SKILL.md
This commit is contained in:
2026-10-28 16:11:16 +00:00
377 changed files with 36766 additions and 1824 deletions
+1 -1
View File
@@ -1,7 +1,7 @@
{
"name": "project-manager",
"description": "Spec-driven project management with flexible sprints, scope validation, and NotebookLM-powered discovery. Prevents wasted work by forcing alignment before coding. 7 skills, 2 agents, 1 hook.",
"version": "1.1.0",
"version": "1.2.0",
"author": {
"name": "Descomplicar - Crescimento Digital",
"url": "https://descomplicar.pt"
-1
View File
@@ -31,7 +31,6 @@ compliance:
created: '2026-02-07'
updated: '2026-02-07'
author: Descomplicar®
layer: wiki
---
# Scrum Master Agent
-1
View File
@@ -30,7 +30,6 @@ compliance:
created: '2026-02-07'
updated: '2026-02-07'
author: Descomplicar®
layer: wiki
---
# Spec Writer Agent
+105 -2
View File
@@ -1,7 +1,6 @@
---
name: brainstorm
description: Brainstorming estruturado que explora ideias de múltiplos ângulos antes de criar spec. Consulta NotebookLM para perspectivas de especialistas.
layer: wiki
---
# /brainstorm v1.2 - Ideacao Estruturada
@@ -157,4 +156,108 @@ Para quando ha multiplas opcoes e o utilizador precisa escolher:
## Decisao: [tema]
| Criterio | Opcao A | Opcao B | Opcao C |
|----------|---------|---------|------
|----------|---------|---------|---------|
| Complexidade | Baixa | Media | Alta |
| Valor | Medio | Alto | Alto |
| Tempo | 2h | 8h | 20h |
| Risco | Baixo | Medio | Alto |
**Recomendacao:** Opcao [X] porque [razao]
**Mas se [condicao]:** Opcao [Y]
5. "Qual escolhes? Ou queres explorar mais alguma?"
```
---
## `/brainstorm save`
Guarda o resultado da sessao para uso posterior:
```
1. Compilar resumo da discussao:
- Ideia original
- Angulos explorados
- Decisoes tomadas
- Opcao escolhida (se aplicavel)
- Insights dos datasets
2. Guardar em mem0:
save_memory({
content: "[resumo estruturado]",
tags: ["brainstorm", "ideia", tema, projecto],
metadata: { type: "brainstorm", outcome: "spec_ready|needs_more|parked" }
})
3. "Brainstorm guardado. Usar /spec create para formalizar."
```
---
## Fontes de Conhecimento - Mapeamento
As fontes sao consultadas AUTOMATICAMENTE com base no tema.
O utilizador nao precisa de saber quais existem - o brainstorm descobre.
### NotebookLM (fonte primaria - conhecimento curado)
- 7 notebooks com conteudo profundo (cursos, manuais, docs extensos)
- Respostas via Gemini 2.5 com RAG sobre o conteudo
- Ideal para perguntas especificas e contexto profundo
- Usar `search_notebooks` para descobrir + `ask_question` para perguntar
### Knowledge Sources
**Primario:** NotebookLM
**Fallback:** Dify KB (fonte complementar - boas praticas)
- ~68 datasets com segmentos curtos e frameworks
- Ideal para principios gerais e checklists
- Usar `retrieve_segments` com queries focadas
**Estrategia de query:**
- Usar 2-3 palavras-chave extraidas do tema
- Se primeiro resultado vazio, reformular query
- Apresentar insights como "especialistas sugerem..." (nao como "base de dados diz...")
- Se nao houver resultados relevantes: ser honesto, nao inventar
**Exemplo de apresentacao:**
```
### Perspectiva de Marketing
Com base no conhecimento curado sobre e-commerce PT, recomenda-se [X]
porque [Y]. Complementarmente, boas praticas de marketing digital
sugerem [Z] para este tipo de projecto.
```
---
## Integracao
| Skill | Como integra |
|-------|-------------|
| `/discover` | Findings do discover alimentam perspectivas e argumentos |
| `/spec create` | Brainstorm alimenta o spec com decisoes ja tomadas |
| `/brainstorm save` | Guarda em Supabase para contexto futuro |
| `/knowledge` | Pode ser invocado durante brainstorm para pesquisa adicional |
| NotebookLM | Conhecimento curado via search_notebooks + ask_question |
---
## Regras
1. **NUNCA** cortar o brainstorm curto - deixar o utilizador explorar
2. **SEMPRE** consultar pelo menos 1 notebook NotebookLM + 1 dataset Dify relevante
3. **NUNCA** inventar insights - se dataset nao tem info, dizer
4. Apresentar perspectivas como "especialistas" nao como "base de dados"
5. O brainstorm e livre - nao forcar estrutura prematuramente
6. Sugerir /spec create quando a ideia amadurecer, nao impor
7. Para PHDA: manter cada fase curta, perguntar antes de avancar
8. Alternativas sao valiosas - nao descartar ideias cedo demais
---
## Healing Log
Registo de erros conhecidos e como evitá-los. Lido automaticamente antes de executar.
```jsonl
{"date":"","issue":"","fix":"","source":"user|auto"}
```
*Adicionar nova linha após cada erro corrigido.*
+99 -4
View File
@@ -1,7 +1,6 @@
---
name: discover
description: Pesquisa e discovery de viabilidade, abordagens e estado da arte. Pesquisa NotebookLM, web, codebase e Context7.
layer: wiki
---
# /discover v1.2 - Pesquisa e Discovery
@@ -83,8 +82,8 @@ Usa NotebookLM (Gemini 2.5 com RAG sobre conhecimento curado) como fonte primari
- /media/ealmeida/Dados/Dev/
- ~/.claude/plugins/
d. Memória (Mem0) - Experiencias anteriores:
mcp__mem_search_memories({
d. Memory Supabase - Experiencias anteriores:
mcp__mem0__search_memories({
query: "[tema]"
})
@@ -161,4 +160,100 @@ Foco tecnico - ignora mercado, concentra-se em:
5. Documentacao oficial
```
### `/dis
### `/discover market <tema>`
Foco mercado - ignora tecnico, concentra-se em:
```
1. Concorrentes e alternativas (WebSearch)
2. Pricing e modelos de negocio
3. Tendencias e previsoes
4. Datasets de Marketing e Estrategia (Dify KB)
5. Opiniao de mercado
```
### `/discover internal <tema>`
So fontes internas - nao pesquisa web:
```
1. NotebookLM (conhecimento curado - search_notebooks + ask_question)
2. Dify KB (todos os datasets)
3. Memory Supabase (experiencias)
4. Codebase (implementacoes)
5. Projectos Desk (historico)
6. Hub Obsidian (documentacao)
```
---
## `/discover save`
```
1. Compilar todos os findings da sessao
2. Guardar em mem0:
save_memory({
content: "[findings compilados]",
tags: ["discover", tema, "research"],
metadata: {
type: "discovery",
sources_count: N,
approaches_found: M,
outcome: "brainstorm_ready|needs_more|dead_end"
}
})
3. "Discovery guardado. Usar /brainstorm para debater as opcoes."
```
---
## Fontes de Pesquisa (por prioridade)
| # | Fonte | Tool | Quando |
|---|-------|------|--------|
| 1 | **NotebookLM** | mcp__notebooklm | **Sempre** (conhecimento curado + Gemini 2.5 RAG) |
| 2 | Dify KB | mcp__dify-kb | Sempre (boas praticas e datasets tematicos) |
| 3 | Mem0 (Tier 2) | mcp__mem0 | Sempre (experiencia passada) |
| 4 | Codebase local | Grep, Glob | Quando tema e tecnico |
| 5 | Web Search | WebSearch | Quando precisa estado da arte |
| 6 | Context7 | mcp__plugin_context7_context7 | Quando envolve libraries especificas |
| 7 | WebFetch | WebFetch | Para artigos especificos encontrados |
| 8 | Desk CRM | mcp__desk-crm-v3 | Quando tema se relaciona com projecto |
**Regra:** Pesquisa interna PRIMEIRO, externa DEPOIS. O que ja sabemos e mais fiavel.
**NotebookLM vs Dify KB:** NotebookLM tem conhecimento curado com contexto profundo (cursos, manuais, docs extensos). Dify KB tem segmentos curtos e boas praticas gerais. Usar ambos - complementam-se.
---
## Integracao
| Skill | Como integra |
|-------|-------------|
| `/brainstorm` | Findings alimentam perspectivas e argumentos |
| `/spec create` | Decisoes tecnicas informadas pela pesquisa |
| `/knowledge` | Pode ser invocado para pesquisa KB mais profunda |
| `/research` (marketing) | Complementar para analise competitiva formal |
| NotebookLM | Conhecimento curado via search_notebooks + ask_question |
---
## Regras
1. **FACTOS antes de opinioes** - reportar o que encontrou, nao o que acha
2. **SEMPRE** pesquisar internamente antes de ir a web
3. **NUNCA** inventar fontes ou resultados
4. Se nao encontrar nada: dizer "nao encontrei info sobre X"
5. **Lacunas sao valiosas** - saber o que NAO sabemos e importante
6. Manter fontes rastreavies - incluir links quando disponivel
7. Para PHDA: resumos curtos primeiro, detalhes a pedido
8. **NUNCA** fazer pesquisa infinita - max 3-4 queries por fonte, depois compilar
---
## Healing Log
Registo de erros conhecidos e como evitá-los. Lido automaticamente antes de executar.
```jsonl
{"date":"","issue":"","fix":"","source":"user|auto"}
```
*Adicionar nova linha após cada erro corrigido.*
@@ -0,0 +1,215 @@
---
name: project-init
description: Use when starting a new project from scratch — scaffolds .desk-project, CLAUDE.md, README.txt, CHANGELOG.md, initializes git, creates Gitea repo, and makes first commit. Step zero before /brainstorm or /spec.
---
# /project-init v1.0 - Scaffolding de Projecto
Automatiza a criação de toda a estrutura de arranque de um projecto novo.
Passo zero antes de `/brainstorm → /spec → /sprint → código`.
---
## Protocolo
### 1. Recolher dados
Perguntar ao utilizador (em bloco, uma só vez):
```
Para inicializar o projecto preciso de:
1. Nome do projecto (ex: FluxoSEO)
2. Descrição curta (1 linha)
3. ID da tarefa Desk CRM (ex: #2049)
4. ID do projecto Desk CRM (ex: #58)
5. Nome do projecto Desk (ex: DES 360º)
6. Directório local (ex: /media/ealmeida/Dados/Dev/NomeProjecto)
7. Nome do repositório Gitea (ex: fluxo-seo-audit) — deixar vazio para não criar
```
Se o utilizador já estiver numa pasta de projecto, assumir essa pasta como directório.
---
### 2. Criar estrutura de ficheiros
**2.1 `.desk-project`**
```json
{
"project_id": <ID_PROJECTO>,
"project_name": "<NOME_PROJECTO_DESK>",
"client_id": null,
"desk_url": "https://desk.descomplicar.pt/admin/projects/view/<ID_PROJECTO>",
"gdrive_folder": null,
"local_path": "<DIRECTORIO_LOCAL>",
"default_milestone": null,
"default_tags": ["development"],
"changelog_discussion_id": null,
"created_at": "<DATA_HOJE>"
}
```
**2.2 `CLAUDE.md`**
```markdown
# CLAUDE.md — <NOME_PROJECTO>
## Contexto
- **Tarefa Desk:** #<ID_TAREFA>
- **Projecto Desk:** <NOME_PROJECTO_DESK> (#<ID_PROJECTO>)
- **Directório:** <DIRECTORIO_LOCAL>
- **Gitea:** https://git.descomplicar.pt/ealmeida/<REPO_GITEA>
- **Criado:** <DATA_HOJE>
## Descrição
<DESCRICAO_CURTA>
## Stack
(preencher durante o projecto)
## Caminhos Críticos
(preencher durante o projecto)
## Regras do Projecto
- Seguir QR-Sites-CWP.md antes de referenciar paths WordPress
- Deploy paths validados antes de usar
- (adicionar regras específicas do projecto)
## Comandos Frequentes
(preencher durante o projecto)
```
**2.3 `README.txt`**
```
<NOME_PROJECTO>
=====================================
DeskCRM Task: #<ID_TAREFA>
Project: <NOME_PROJECTO_DESK> (#<ID_PROJECTO>)
Description: <DESCRICAO_CURTA>
Created: <DATA_HOJE>
Gitea: https://git.descomplicar.pt/ealmeida/<REPO_GITEA>
Componentes
-----------
(preencher durante o projecto)
Stack
-----
(preencher durante o projecto)
Deploy
------
(preencher durante o projecto)
```
**2.4 `CHANGELOG.md`**
```markdown
# Changelog — <NOME_PROJECTO>
## [Unreleased]
## [0.1.0] — <DATA_HOJE>
### Adicionado
- Scaffolding inicial do projecto
- `.desk-project`, `CLAUDE.md`, `README.txt`, `CHANGELOG.md`
```
---
### 3. Inicializar Git
```bash
cd <DIRECTORIO_LOCAL>
git init
git config user.email "emanuel@descomplicar.pt"
git config user.name "Emanuel Almeida"
git add .desk-project CLAUDE.md README.txt CHANGELOG.md
git commit -m "chore: scaffolding inicial — <NOME_PROJECTO>"
```
---
### 4. Criar repositório Gitea (se pedido)
```
mcp__gitea__create_repo({
name: "<REPO_GITEA>",
description: "<DESCRICAO_CURTA>",
private: true,
auto_init: false
})
```
Depois configurar remote e push:
```bash
git remote add origin https://git.descomplicar.pt/ealmeida/<REPO_GITEA>.git
git push -u origin main
```
> Se o push via HTTPS falhar (SSH bloqueado), usar o workaround Python em `memory/gitea-push-workaround.md`.
---
### 5. Actualizar CLAUDE.md com URL Gitea confirmado
Preencher o campo `Gitea:` no CLAUDE.md após criação bem-sucedida do repo.
---
### 6. Confirmar ao utilizador
```
✅ Projecto inicializado: <NOME_PROJECTO>
📁 Ficheiros criados:
.desk-project (Desk #<ID_PROJECTO>)
CLAUDE.md
README.txt
CHANGELOG.md
🔧 Git inicializado e primeiro commit criado
🔗 Gitea: https://git.descomplicar.pt/ealmeida/<REPO_GITEA>
Próximo passo: /brainstorm ou /spec create
```
---
## Regras
1. **NUNCA** criar ficheiros sem ler o directório primeiro (evitar sobrescrever trabalho existente)
2. Se `.desk-project` já existir → avisar e perguntar se continua
3. Usar sempre `mcp__mcp-time__current_time` para a data (não assumir)
4. Gitea repo sempre `private: true` por omissão
5. Campos "Stack", "Caminhos Críticos" e "Componentes" ficam em branco — serão preenchidos conforme o projecto avança
6. Git config `user.email` e `user.name` obrigatórios antes do commit (evita "unable to auto-detect" error)
---
## Anti-Patterns
- **NÃO** criar repo Gitea público sem confirmação explícita
- **NÃO** assumir o directório — perguntar se não estiver óbvio
- **NÃO** pre-preencher Stack/Deploy sem informação real
- **NÃO** fazer `git add .` — adicionar apenas os 4 ficheiros do scaffolding
---
## Integração
| Skill | Relação |
|-------|---------|
| `/brainstorm` | Passo seguinte — explorar a ideia |
| `/spec create` | Passo seguinte — formalizar arquitectura |
| `/desk` | Usa `.desk-project` criado aqui |
| `/desk init` | Alternativa se o projecton já existir no Desk mas sem `.desk-project` |
---
*Skill v1.0.0 | 2026-04-13 | Descomplicar®*
-1
View File
@@ -1,7 +1,6 @@
---
name: scope
description: Validação de scope que verifica se o trabalho está dentro do spec e detecta scope creep.
layer: wiki
---
# /scope v1.0 - Validacao de Scope
+200 -2
View File
@@ -2,7 +2,6 @@
name: spec
description: Spec-driven development — cria e gere SPEC.md como contrato entre utilizador e Claude. Suporta 3 pesos (light/medium/heavy).
disable-model-invocation: true
layer: wiki
---
# /spec v1.0 - Spec-Driven Development
@@ -242,4 +241,203 @@ scope_changes: 0
4. Determinar peso:
a. Se argumento dado (light/medium/heavy): usar esse
b. Se nao: analisar conversa anterior
- <3 frases de requisitos, sem decisoes tecnicas -> light
- Feature com decisoes -> medium
- Projecto novo / multiplas fases -> heavy
c. CONFIRMAR com utilizador: "Detecto [peso]. Concordas?"
5. EXTRAIR da conversa anterior:
- Problema: o que o utilizador disse que esta mal ou falta
- Solucao: o que foi discutido fazer
- Scope items: accoes concretas mencionadas
- Exclusoes: o que ficou de fora
- Decisoes: escolhas ja feitas
- SE info insuficiente: PERGUNTAR (Regra #9)
"Preciso entender melhor: [pergunta especifica]"
6. GERAR SPEC.md usando template do peso
- Preencher frontmatter com dados do projecto
- NUNCA inventar requisitos
- Se duvida, marcar com "[CONFIRMAR: ...]"
7. APRESENTAR ao utilizador:
- Mostrar SPEC.md completo no chat
- "Este spec captura o que precisa? Que alteracoes?"
PARAR e esperar resposta.
8. ITERAR ate "esta bem" ou "aprovado"
9. Gravar SPEC.md no directorio actual com status: draft
10. "Spec criado como draft. Quando quiser aprovar: /spec approve"
OU se utilizador ja disse "aprova": executar protocolo approve
```
**Anti-patterns na extracao:**
- Pedido vago ("faz bonito") -> PERGUNTAR "bonito como? que resultado visual?"
- Scope infinito ("melhora tudo") -> PERGUNTAR "quais os 3 items mais importantes?"
- Sem criterio de sucesso -> PERGUNTAR "como saberemos que esta feito?"
### `/spec approve`
```
1. Ler SPEC.md do directorio actual
- Se nao existe: "Nenhum spec para aprovar. Use /spec create."
- Se status ja e approved: "Spec ja aprovado em [data]."
2. Verificar status e draft ou review
3. MOSTRAR resumo ao utilizador:
---
## Spec para Aprovacao
**Titulo:** [titulo]
**Peso:** [peso]
**Scope:** [N] items a fazer, [M] exclusoes
**Criterios:** [K] criterios de aceitacao
**Estimativa:** [Xh] (se heavy)
---
4. Usar AskUserQuestion:
"Aprovar este spec? Apos aprovacao, alteracoes serao tracked como scope creep."
Opcoes: "Aprovar" / "Preciso de alteracoes"
5. SO se "Aprovar":
a. mcp__mcp-time__current_time -> data/hora
b. Actualizar frontmatter:
status: approved
approved: YYYY-MM-DD
c. Adicionar no final: <!-- APPROVED: YYYY-MM-DD by Emanuel -->
d. Se .desk-project existe:
- Comentar na task Desk (formato HTML #27):
<h4>Spec Aprovado</h4>
<p><strong>Titulo:</strong> [titulo]</p>
<ul><li>Scope: [N] items</li><li>Peso: [peso]</li></ul>
<hr>
<p><strong>Skill:</strong> /spec | <strong>Data:</strong> YYYY-MM-DD</p>
e. "Spec aprovado. Desenvolvimento pode avancar."
6. Se "Preciso de alteracoes":
"Que alteracoes? Vou actualizar o draft."
```
### `/spec check`
```
1. Ler SPEC.md
- Se nao existe: "Sem spec. A trabalhar sem contrato."
- Se nao aprovado: "Spec em draft. Tratando como guia apenas."
2. Parse SPEC.md:
- Extrair items de Scope (Faz)
- Extrair items Nao Faz
- Extrair Criterios de Aceitacao
3. Analisar trabalho recente:
a. Se git repo: git diff --stat + git log --oneline -10
b. Ficheiros modificados recentemente (Glob + stat)
4. Para cada item de Scope (Faz):
- Avaliar se ha evidencia de trabalho (ficheiros, commits)
- Marcar: done / in_progress / not_started
5. Detectar SCOPE CREEP:
- Ficheiros modificados que NAO correspondem a nenhum item do scope
- Funcionalidades novas nao previstas
- Para cada deteccao: "SCOPE ALERT: [ficheiro/funcao] fora do spec"
6. OUTPUT:
---
## Spec Check: [titulo]
### Progresso: X/Y scope items
- [x] Item 1 (ficheiros: a.php, b.js)
- [ ] Item 2 (nao iniciado)
- [~] Item 3 (em progresso)
### Criterios: X/Y verificaveis
- [x] Criterio 1: verificado
- [ ] Criterio 2: pendente
### Alertas de Scope
- [ficheiro]: modificado mas fora do scope
### Recomendacao
[Continuar / Parar e alinhar / Criar novo spec para extras]
---
```
### `/spec update`
```
1. Ler SPEC.md
2. SE status == approved ou in_progress:
a. AVISAR: "Spec aprovado. Alteracoes serao registadas como scope delta."
b. Perguntar: "O que mudou?"
c. Adicionar seccao Alteracoes:
### [DATA] - [Descricao]
- Adicionado: [item]
- Removido: [item]
- Razao: [porque]
d. Incrementar scope_changes no frontmatter
e. Actualizar status: amended
f. CONFIRMAR com utilizador antes de gravar
3. SE status == draft:
a. Edicao normal, sem tracking de amendments
b. Perguntar o que alterar
c. Aplicar e mostrar resultado
```
### `/spec bypass`
```
1. Criar ficheiro /tmp/claude-spec-gate-bypass com timestamp
2. "Bypass activo por 30 minutos. O hook spec-gate nao bloqueara."
3. "Usar para quick fixes. Para trabalho significativo, criar spec."
```
### `/spec review`
```
1. Ler SPEC.md
2. Verificar status == draft
3. Actualizar status: review
4. "Spec movido para review. Leia e use /spec approve quando pronto."
```
---
## Lifecycle dos Status
```
draft -> review -> approved -> in_progress -> completed
|
v
amended (alteracoes pos-aprovacao)
```
- **draft**: Criado, nao validado
- **review**: Pronto para revisao do Emanuel
- **approved**: Contrato aceite, trabalho pode comecar
- **in_progress**: Trabalho em curso (auto, quando primeiro ficheiro editado)
- **amended**: Aprovado mas com alteracoes (scope creep tracked)
- **completed**: Todos os items de scope e criterios verificados
---
## Integracao Phase Gates
| Gate | Equivalencia |
|------|-------------|
| G1: Scope aprovado | SPEC.md approved |
| G2: Prototipo funcional | Sprint mid-checkpoint |
| G3: Testes passam | /spec check -> todos criterios OK |
| G4: Docs completa | SPEC.md status -> completed |
---
## Regras de Ouro
1. **NUNCA** comecar codigo significativo sem spec (hook garante isto)
2. **NUNCA** auto-aprovar spec - so o Emanuel aprova
3. **NUNCA** inventar requisitos no spec - se falta info, PERGUNTAR
4. **SEMPRE** mostrar spec ao utilizador antes de gravar
5. **SEMPRE** marcar `[CONFIRMAR: ...]` quando ha ambiguidade
6. **SEMPRE** linkar ao Desk CRM quando .desk-project existe
7. Spec e contrato bilateral - ambos comprometem-se
8. Alteracoes apos aprovacao sao legtimas mas devem ser tracked
---
## Healing Log
Registo de erros conhecidos e como evitá-los. Lido automaticamente antes de executar.
```jsonl
{"date":"","issue":"","fix":"","source":"user|auto"}
```
*Adicionar nova linha após cada erro corrigido.*
+101 -2
View File
@@ -2,7 +2,6 @@
name: sprint
description: Sprints flexíveis que lêem tasks do Desk CRM, agrupam em sprints com checkpoints e reviews.
disable-model-invocation: true
layer: wiki
---
# /sprint v1.0 - Sprints Flexiveis
@@ -185,4 +184,104 @@ _Data: [a preencher]_
**Alerta:** [verde/amarelo/vermelho]
### Tasks
| Task | Planeado | A
| Task | Planeado | Actual |
|------|----------|--------|
### Problemas Detectados
- [lista ou "nenhum"]
### Recomendacao
[Continuar como esta / Ajustar scope / Pedir ajuda]
---
8. Perguntar: "Algum ajuste? Notas?"
9. Actualizar SPRINT.md:
- Preencher seccao Checkpoint
- checkpoint_done: true
```
### `/sprint review`
```
1. Ler SPRINT.md
- Se status != active: "Sprint nao activo."
2. mcp__mcp-time__current_time
3. Estado final de todas as tasks:
Para cada task: mcp__desk-crm-v3__get_task({ id })
4. Buscar tempo real:
mcp__desk-crm-v3__get_task_time_logs({ task_id }) para cada task
5. Calcular metricas:
- Completion rate: tasks_done / tasks_total
- Scope creep: tasks_added_after (comparar lista actual vs original)
- Tempo: soma estimativas vs soma real
- Precisao: |estimado - real| / estimado * 100
6. Apresentar review:
---
## Sprint Review: [id]
### Resultado: [X/Y tasks completadas]
| Task | Estimativa | Tempo Real | Status |
|------|-----------|-----------|--------|
### Metricas
- Completion rate: Z%
- Scope changes: N tasks adicionadas/removidas
- Tempo: Xh estimado vs Yh real (precisao: W%)
### Retrospectiva
- O que correu bem?
- O que pode melhorar?
- Accoes para proximo sprint?
---
7. Perguntar retrospectiva ao Emanuel
8. Actualizar SPRINT.md seccao Review
9. Registar metricas:
a. mem0:
save_memory({
content: "Sprint [id] review: [X/Y] tasks, [scope_changes] changes, [Yh] real vs [Xh] estimado",
tags: ["sprint", "metrics", sprint_id, "project-[id]"]
})
b. Se .desk-project existe: comentar na task Desk (formato HTML #27)
10. Perguntar: "Planear proximo sprint? /sprint plan"
### `/sprint close`
```
1. Executar /sprint review se review nao feito
2. Actualizar SPRINT.md: status -> closed
3. "Sprint fechado. Metricas registadas."
```
### `/sprint add <task_id>`
```
1. Ler SPRINT.md activo
2. Verificar se task_id ja esta no sprint
3. Buscar task do Desk: mcp__desk-crm-v3__get_task({ id: task_id })
4. Adicionar a tabela de tasks
5. Incrementar tasks_added_after no frontmatter
6. WARN: "Task adicionada apos planeamento. Isto conta como scope change."
```
---
## Regras
1. **NUNCA** criar sprint sem consultar Desk CRM
2. **SEMPRE** perguntar ao Emanuel que tasks incluir (nao decidir sozinho)
3. Checkpoint e recomendado mas nao obrigatorio
4. Review e obrigatorio antes de fechar sprint
5. Metricas sao factuais - nao ajustar para "parecer bem"
6. Sprint nao tem cadencia fixa - dura o que o projecto precisa
---
## Healing Log
Registo de erros conhecidos e como evitá-los. Lido automaticamente antes de executar.
```jsonl
{"date":"","issue":"","fix":"","source":"user|auto"}
```
*Adicionar nova linha após cada erro corrigido.*
+133
View File
@@ -0,0 +1,133 @@
---
name: start
description: Orquestrador do pipeline de trabalho novo — brainstorm → discover → spec → plan → execute. Use quando iniciar sistema novo, feature grande, ou projecto com múltiplos componentes. Impede saltar para execução sem planeamento.
---
# /start — Pipeline de trabalho novo
Orquestra as 5 fases obrigatórias para qualquer trabalho novo não-trivial.
Anti-pattern que combate: saltar directamente para código sem brainstorm/spec/plan.
---
## Quando usar
**USAR quando:**
- Utilizador pede sistema/pipeline/feature nova com >2 componentes
- Trabalho estimado >1h ou >3 ficheiros
- Projecto novo em `05-Projectos/` ou `Dev/`
- Qualquer tarefa em que a abordagem não está obviamente definida
**NÃO usar quando:**
- Bugfix / correcção pontual
- Operação unitária conhecida
- Continuação de plano já existente
- Admin / manutenção / diagnóstico
---
## Protocolo (5 fases sequenciais)
### Fase 1 — Brainstorming (obrigatório)
Invocar `superpowers:brainstorming` skill OU `project-manager:brainstorm` skill.
Objectivos:
- Explorar 3+ abordagens alternativas
- Identificar requisitos explícitos e implícitos
- Listar trade-offs conhecidos
- Detectar ambiguidades que precisam de clarificação do utilizador
Output: secção "Brainstorming" com alternativas consideradas.
### Fase 2 — Discover / Research (obrigatório)
Invocar `project-manager:discover` skill.
Verificar em paralelo:
- **Codebase actual** — existem componentes reutilizáveis? Glob + Grep
- **NotebookLM** — há notebook relevante? `mcp__notebooklm-mcp__notebook_list` + query
- **Hub** — procedimentos, QRs, decisões anteriores? Grep em `Hub/06-Operacoes/`
- **Memórias** — contexto de sessões anteriores? `mcp__mem0__search_memories`
- **Web** (se externo) — context7, WebSearch para libs/frameworks
- **Desk CRM** — tarefa associada? Projecto relacionado?
Output: secção "Discovery" com fontes consultadas e descobertas relevantes.
### Fase 3 — SPEC (obrigatório)
Invocar `gestao:spec-coauthor` OU `project-manager:spec` (skill `spec create`).
Gerar `SPEC.md` no directório do projecto (Hub/05-Projectos/NOME/ ou Dev/NOME/) com:
- **Porquê** — problema que resolve
- **Escopo** — o que entra
- **Não-escopo** — o que NÃO entra (crítico contra scope creep)
- **Critérios de sucesso** — como saber que está pronto
- **Arquitectura** — diagrama ou descrição dos componentes
- **Riscos** — o que pode correr mal
- **Plano faseado** — divisão em MVPs
Aguardar aprovação do utilizador. Marcar como aprovado com `<!-- APPROVED: YYYY-MM-DD -->` no topo.
### Fase 4 — Plan detalhado (obrigatório)
Invocar `superpowers:writing-plans` skill.
Traduzir SPEC em plano executável:
- Lista numerada de passos concretos
- Cada passo tem: acção, comando/código esperado, critério de validação
- Ordem de execução e dependências
- Checkpoints de revisão humana
Guardar em `Hub/05-Projectos/NOME/PLAN.md` ou `.claude/plans/NOME.md`.
### Fase 5 — Execução (finalmente)
Invocar `superpowers:executing-plans` ou `superpowers:subagent-driven-development`.
Durante execução:
- Seguir PLAN.md passo a passo
- Marcar progresso em TodoWrite
- Validar cada passo antes do seguinte
- Comentar no Desk CRM task associada
- Se desviar do spec → parar e actualizar SPEC.md primeiro (scope creep alert)
---
## Output esperado da skill
Ao invocar `/start "descrição do trabalho"`:
```
/start detectou novo trabalho: "descrição"
Fase actual: 1 — Brainstorming
Próxima: Discovery
[invoca brainstorming skill automaticamente]
```
Skill não salta fases. Se utilizador insistir em saltar, avisa mas aceita override explícito (`/start --skip-to=execute`).
---
## Anti-patterns
- **NUNCA** começar Fase 5 (execução) sem Fases 1-4 completas
- **NUNCA** criar código antes de SPEC.md aprovado
- **NUNCA** inventar decisões arquitecturais sem brainstorming documentado
- **NUNCA** tratar "pareceu boa ideia" como substituto de discovery
- **SEMPRE** criar SPEC.md no repositório do projecto (não em `/tmp` ou inline)
- **SEMPRE** aguardar aprovação explícita entre fases críticas
---
## Integração com spec-gate.sh
O hook `spec-gate.sh` (PreToolUse Write|Edit) valida que existe SPEC.md aprovado antes de permitir edições em `/Dev`. Esta skill garante que esse SPEC é criado via pipeline correcto antes de chegar à execução.
Para bypass temporário (quick fixes, 30min): `/spec bypass`.
---
*Skill v1.0.0 | 2026-04-08 | Descomplicar®*
-1
View File
@@ -1,7 +1,6 @@
---
name: status
description: Dashboard de projecto que agrega spec, sprint, desk, git e timer numa única vista.
layer: wiki
---
# /status v1.0 - Dashboard de Projecto