# Create MORPH Feature Proposal

Crie uma nova proposta de feature seguindo o workflow MORPH.

## Contexto

Leia os seguintes arquivos para entender o projeto:
- `.morph/project/context/README.md` - Contexto do projeto
- `framework/standards/` e `.morph/project/standards/` - Padrões técnicos
- `.morph/config/agents.json` - Agentes disponíveis

## Workflow

1. **Detecte agentes automaticamente**:
   ```bash
   node bin/detect-agents.js "$ARGUMENTS"
   ```
   Isso retorna quais agentes devem ser ativados baseado em keywords.

2. **Invoque skills dos agentes detectados**:
   - Para agentes com `skillPath` em agents.json, invoque o Skill correspondente
   - Exemplo: Se detectou `uiux-designer`, consulte `.claude/skills/specialists/ui-ux-designer.md`
   - Skills contêm conhecimento especializado, workflows e prompts detalhados
   - Use conhecimento dos skills para enriquecer a proposta

3. **Analise a solicitação** e identifique:
   - Problema a resolver
   - Usuários afetados
   - Impacto esperado

4. **Crie a estrutura da feature**:
   ```
   .morph/project/outputs/{feature-name}/
   ├── proposal.md    # Proposta inicial
   ├── spec.md        # Especificação técnica (iniciar)
   └── tasks.json     # Lista de tasks (iniciar)
   ```

5. **Preencha `proposal.md`** baseado em `framework/templates/proposal.md`:
   - Problem Statement
   - Proposed Solution
   - Success Metrics
   - Scope (In/Out)
   - Estimated Effort
   - Cost Impact
   - **Agents Activated** (lista dos agentes detectados)

6. **Inicie `spec.md`** com:
   - User Stories principais
   - Arquitetura proposta
   - Data Model inicial

7. **Inicie `tasks.json`** com:
   - Tasks de alto nível identificadas (formato JSON)
   - Checkpoints sugeridos

## State Management

Após criar o proposal, **SEMPRE** registre a feature no state.json:

```bash
# Criar entrada no state
node bin/state-manager.js set {feature-name} status draft
node bin/state-manager.js set {feature-name} phase proposal

# Marcar output como criado
node bin/state-manager.js mark-output {feature-name} proposal

# Adicionar agentes ativados (todos os detectados)
# Parsear output do detect-agents.js e adicionar cada um:
for agent in $(node bin/detect-agents.js --ids-only "$ARGUMENTS"); do
  node bin/state-manager.js add-agent {feature-name} $agent
done
```

**Exemplo completo:**
```bash
# Detectar e registrar agentes
AGENTS=$(node bin/detect-agents.js --ids-only "implementar dashboard com charts")
# Retorna: standards-architect, azure-architect, ..., uiux-designer

# Para cada agente
echo "$AGENTS" | while read agent; do
  node bin/state-manager.js add-agent my-feature "$agent"
done
```

## Output

Ao final, apresente:
1. Resumo da proposta
2. Agentes ativados (e registrados no state)
3. Custo estimado
4. Perguntas de clarificação (se houver)
5. Solicitar aprovação para prosseguir para DESIGN

**IMPORTANTE:** Confirme que a feature foi registrada no state.json executando `node bin/state-manager.js list`.

---

**Feature solicitada:** $ARGUMENTS
