Você está estendendo um sistema de conhecimento existente com um novo domínio. Isso é composição, não substituição. O novo domínio deve coexistir com os domínios existentes, mantendo seu próprio vocabulário, esquema e padrões de processamento. O grafo compartilhado (links wiki, MOC hub, campos de descrição) conecta tudo.
Sua Tarefa
Adicione um novo domínio de conhecimento: $ARGUMENTS
Arquivos de Referência
Leia estes durante as fases de derivação:
Regras de composição:
${CLAUDE_PLUGIN_ROOT}/reference/derivation-validation.md-- O Teste 4 (Composição Multi-Domínio) valida o padrão${CLAUDE_PLUGIN_ROOT}/reference/three-spaces.md-- Arquitetura de três espaços (compartilhada entre domínios)${CLAUDE_PLUGIN_ROOT}/reference/interaction-constraints.md-- Validação de coerência para configuração de domínio
Configuração do domínio:
${CLAUDE_PLUGIN_ROOT}/reference/vocabulary-transforms.md-- Mapeamento de termos nativos do domínio${CLAUDE_PLUGIN_ROOT}/reference/tradition-presets.md-- Configurações de domínio pré-validadas${CLAUDE_PLUGIN_ROOT}/reference/use-case-presets.md-- 3 predefinições com configurações${CLAUDE_PLUGIN_ROOT}/reference/dimension-claim-map.md-- Base de pesquisa para posições de dimensão${CLAUDE_PLUGIN_ROOT}/reference/failure-modes.md-- Matriz de vulnerabilidade do domínio
Validação:
${CLAUDE_PLUGIN_ROOT}/reference/kernel.yaml-- Os 12 primitivos não negociáveis${CLAUDE_PLUGIN_ROOT}/reference/validate-kernel.sh-- Script de validação do kernel
FASE 1: Escanear o Sistema Existente
Automatizado. Entenda o que existe antes de adicionar.
1a. Ler a configuração do sistema
Leia ops/derivation.md para:
- Posições atuais das dimensões
- Mapeamento de vocabulário
- Nível de plataforma e automação
- Blocos de recursos ativos
Leia ops/config.yaml para os valores de configuração ativos.
1b. Inventariar domínios existentes
Identifique todos os domínios de conhecimento atuais:
- Pasta principal de notas e seu vocabulário de domínio
- Quaisquer domínios secundários existentes (pastas, modelos, MOCs)
- Campos de esquema em uso por domínio
1c. Identificar tipos de dimensão
Classifique cada uma das 8 dimensões como de nível de sistema ou ajustável por domínio:
| Dimensão | Tipo | Justificativa |
|---|---|---|
| Organização | nível de sistema | Plano/hierárquico se aplica a todo o espaço de trabalho |
| Automação | nível de sistema | Hooks e habilidades são infraestrutura do espaço de trabalho |
| Profundidade de navegação | nível de sistema | A estrutura do MOC hub é compartilhada |
| Granularidade | ajustável por domínio | Diferentes domínios podem precisar de granularidade diferente |
| Processamento | ajustável por domínio | Pesquisa precisa de pesado, relacionamentos precisam de leve |
| Manutenção | ajustável por domínio | Limites de condição diferentes por taxa de crescimento do domínio |
| Esquema | ajustável por domínio | Campos específicos do domínio variam |
| Vinculação | ajustável por domínio | Alguns domínios precisam de busca semântica, outros não |
Dimensões de nível de sistema são fixas pelo sistema existente. Dimensões ajustáveis por domínio podem variar para o novo domínio.
FASE 2: Conversa
1-3 turnos de conversa para entender o novo domínio. Use AskUserQuestion para cada turno.
Pergunta de abertura
Faça UMA pergunta focada sobre o novo domínio:
"Fale-me sobre [dica de domínio de $ARGUMENTS] -- que tipo de coisas você vai acompanhar, e como isso se relaciona com seu trabalho existente em [vocabulário do domínio atual]?"
A segunda metade é crítica: entender a relação entre os domínios orienta as decisões de composição.
Extração de sinais
Conforme o usuário responde, extraia sinais para dimensões ajustáveis por domínio:
| Sinal | Dimensão | Posição |
|---|---|---|
| "Anotações rápidas sobre pessoas" | Granularidade | moderada |
| "Análise profunda de sessões" | Processamento | pesado |
| "Apenas lembrar momentos-chave" | Processamento | leve |
| "Eu revisito e atualizo com frequência" | Manutenção | limites restritos |
| "Principalmente estático uma vez capturado" | Manutenção | limites flexíveis |
| "Preciso encontrar padrões entre entradas" | Vinculação | explícita+implícita |
Extraia também:
- Estimativa de volume -- quantas notas por lote de processamento
- Dinâmica temporal -- quão rápido o conteúdo muda
- Vocabulário -- as próprias palavras do usuário para notas, processos, organização
- Relação entre domínios -- como isso se conecta ao(s) domínio(s) existente(s)
Estratégia de acompanhamento
Após a resposta inicial, faça 1-2 perguntas de acompanhamento visando:
- Confirmação de vocabulário -- "Quando você diz [palavra do usuário], você quer dizer insights individuais ou entradas mais longas?"
- Padrões de conexão entre domínios -- "As notas do [novo domínio] vão se conectar às suas notas do [domínio existente]? Como?"
NÃO pergunte diretamente sobre dimensões. Ouça por elas na conversa natural.
FASE 3: Derivar Configuração do Domínio
3a. Mapear sinais para dimensões ajustáveis por domínio
Para cada dimensão ajustável, determine a posição para o novo domínio:
- Sinais do usuário (prioridade mais alta)
- Predefinição de caso de uso mais próxima de
${CLAUDE_PLUGIN_ROOT}/reference/use-case-presets.md - Cascata a partir de dimensões de nível de sistema
3b. Construir mapeamento de vocabulário
Leia ${CLAUDE_PLUGIN_ROOT}/reference/vocabulary-transforms.md para a tabela de transformação.
Ordem de prioridade:
- Palavras do próprio usuário da conversa
- Vocabulário da predefinição de caso de uso
- Combinação do domínio de referência mais próximo
Construa o mapeamento completo para o novo domínio:
| Termo Universal | Termo do Novo Domínio | Fonte |
|---|---|---|
| nota | [termo] | [usuário / predefinição / combinação] |
| extrair / reduzir | [termo] | [usuário / predefinição / combinação] |
| conectar / refletir | [termo] | [usuário / predefinição / combinação] |
| MOC | [termo] | [usuário / predefinição / combinação] |
| descrição | [termo] | [usuário / predefinição / combinação] |
| tópicos | [termo] | [usuário / predefinição / combinação] |
| caixa de entrada | [termo] | [usuário / predefinição / combinação] |
3c. Projetar esquema específico do domínio
Comece a partir do esquema base da nota (descrição, tópicos) e adicione campos específicos do domínio:
_esquema:
tipo_entidade: "[domínio]-note"
aplica_a: "[pasta-domínio]/*.md"
obrigatório:
- descrição
- tópicos
opcional:
- [campos específicos do domínio baseados em sinais da conversa]
enumerações:
[campo]:
- [valores relevantes do domínio]
3d. Verificação de colisão
Isso é crítico para a composição multi-domínio. Verifique:
-
Unicidade de nomes de arquivo -- os títulos das notas do novo domínio não colidirão com notas existentes. Links wiki são resolvidos pelo nome do arquivo em todo o espaço de trabalho, então cada nome de arquivo deve ser único.
-
Nomes de campos de esquema -- campos do novo domínio não conflitam com campos de domínio existentes. Se ambos os domínios usarem um nome de campo (ex.:
tipo), os valores de enumeração devem ser mutuamente exclusivos ou o campo deve ter semântica compatível. -
Nomes de modelos -- modelos do novo domínio têm nomes distintos dos modelos existentes.
-
Nomes de pastas -- pastas do novo domínio não colidem com pastas existentes.
Se alguma colisão for detectada, resolva-a antes de prosseguir.
FASE 4: Verificar Regras de Composição
Leia ${CLAUDE_PLUGIN_ROOT}/reference/derivation-validation.md (Teste 4: Composição Multi-Domínio) para o padrão de composição validado.
Verifique cada regra de composição:
Regra 1: Links wiki resolvem-se sem ambiguidade no namespace compartilhado
Todos os nomes de arquivos de notas devem ser únicos em todos os domínios. As convenções de nomenclatura do novo domínio devem ser compatíveis com as existentes.
Regra 2: Hub MOC se conecta a todos os MOCs de domínio
O hub MOC existente (index.md ou equivalente) deve ser atualizado para incluir o MOC de ponto de entrada do novo domínio. A hierarquia se torna:
hub -> MOCs de domínio existentes
-> MOC do novo domínio
Regra 3: Reflect entre domínios pesquisa todas as pastas de notas
Se a busca de conexão (reflect) estiver ativa, ela deve pesquisar em todos os domínios -- uma nota no novo domínio pode se conectar a uma nota no domínio existente. Coleções de busca semântica devem incluir a pasta do novo domínio.
Regra 4: Processamento específico de domínio pode coexistir
Se o novo domínio precisar de intensidade de processamento diferente do domínio existente, o pipeline deve rotear por tipo de nota. Processamento pesado para notas de pesquisa, processamento leve para notas de relacionamento, etc.
Regra 5: Carregamento de arquivos de contexto é progressivo
O guia de metodologia do novo domínio deve ser carregado apenas quando trabalhando nesse domínio, não a cada início de sessão. Isso evita inchaço de contexto à medida que os domínios se acumulam.
Verificação de coerência
Execute a configuração do novo domínio através de ${CLAUDE_PLUGIN_ROOT}/reference/interaction-constraints.md:
- Violações de restrições rígidas entre a configuração do novo domínio e dimensões de nível de sistema
- Avisos de restrições flexíveis específicos ao novo domínio
- Efeitos em cascata no(s) domínio(s) existente(s)
FASE 5: Apresentar Proposta
Mostre ao usuário exatamente o que será criado e como se conecta ao que existe.
Formato de saída:
=== PROPOSTA DE ADIÇÃO DE DOMÍNIO ===
Novo domínio: [nome do domínio]
Vocabulário: [mapeamentos de termos-chave]
--- O que será criado ---
Estrutura de pastas:
[pasta-domínio]/ <- [descrição]
index.md <- MOC hub do domínio
[caixa-entrada-domínio]/ <- zona de captura (se processamento >= moderado)
modelos/[domínio]-note.md <- modelo de nota com esquema do domínio
--- Conexões com o sistema existente ---
- Hub MOC (index.md): adicionar seção [novo domínio] com link para [[domínio-index]]
- Links entre domínios: notas do [novo domínio] podem se conectar a notas do [domínio existente] e vice-versa
- Infraestrutura compartilhada: self/, ops/, modelos/ permanecem compartilhados
- Busca semântica: [nova coleção adicionada / não necessária no volume atual]
--- O que NÃO muda ---
- Pasta [domínio existente]: intocada
- Modelos existentes: intocados
- Hierarquia MOC existente: intocada (hub ganha um novo link)
- Espaço self/: compartilhado (methodology.md atualizado com padrões multi-domínio)
- Espaço ops/: compartilhado (derivation.md atualizado com a adição do domínio)
--- Configuração do Domínio ---
| Dimensão | Posição | Justificativa |
|-----------|----------|---------------|
| Granularidade | [valor] | [motivo] |
| Processamento | [valor] | [motivo] |
| Manutenção | [valor] | [motivo] |
| Esquema | [valor] | [motivo] |
| Vinculação | [valor] | [motivo] |
| (dimensões de nível de sistema herdadas do sistema existente) |
--- Pré-visualização do Esquema ---
[Mostrar o bloco _esquema para o modelo do novo domínio]
--- Mapeamento de Vocabulário ---
| Universal | Novo Domínio | Domínio Existente |
|-----------|--------------|-------------------|
| nota | [termo] | [termo existente] |
| ... | ... | ... |
Gostaria de criar isso? Posso ajustar qualquer coisa antes de gerar.
=== FIM DA PROPOSTA ===
Aguarde a aprovação do usuário antes de prosseguir.
FASE 6: Gerar
Crie a infraestrutura do novo domínio. A ordem importa -- artefatos posteriores referenciam os anteriores.
Passo 1: Estrutura de pastas do domínio
Crie a pasta de notas do domínio e a pasta de caixa de entrada opcional:
mkdir -p [pasta-domínio]
mkdir -p [caixa-entrada-domínio] # se processamento >= moderado
Passo 2: Modelo de nota do domínio
Crie modelos/[domínio]-note.md com o bloco _esquema derivado, campos obrigatórios e opcionais, e vocabulário do domínio em comentários e exemplos.
Passo 3: MOC hub do domínio
Crie [pasta-domínio]/index.md:
---
descrição: [descrição do ponto de entrada em vocabulário do domínio]
tipo: moc
---
# index
[Parágrafo de orientação em vocabulário do domínio]
## [domínio:Tópicos]
(os tópicos emergirão à medida que as notas se acumularem)
## Primeiros Passos
1. Capture sua primeira [domínio:nota]
2. Conecte-a a este hub
Passo 4: Guia do domínio
Crie um documento de metodologia específico do domínio que carrega ao trabalhar neste domínio. Para Claude Code: .claude/skills/[domínio]-guide/SKILL.md ou uma seção no arquivo de contexto. Para outras plataformas: um arquivo de guia independente.
O guia cobre:
- Como capturar neste domínio
- Como processar (na intensidade derivada)
- Quando conectar entre domínios
- Padrões de qualidade específicos do domínio
- Referência de vocabulário do domínio
Passo 5: Atualizar hub MOC
Adicione o novo domínio ao hub MOC existente (index.md):
## [Nome do Novo Domínio]
- [[domínio-index]] -- [descrição do que este domínio acompanha]
Passo 6: Atualizar arquivo de contexto
Adicione ao arquivo de contexto:
- Roteamento de domínio: ao trabalhar em [domínio], carregar [guia do domínio]
- Vocabulário: termos do novo domínio adicionados à referência de vocabulário
- Processamento: se intensidade de processamento diferente, documentar o roteamento
- Vinculação entre domínios: quando e como conectar entre domínios
Passo 7: Atualizar self/methodology.md
Adicione padrões de trabalho multi-domínio:
- Como alternar entre domínios
- Quando criar conexões entre domínios
- Disparadores de processamento por domínio
Passo 8: Atualizar ops/derivation.md
Documente a adição do domínio:
- Nome e vocabulário do novo domínio
- Posições de dimensão ajustáveis por domínio com justificativa
- Regras de composição verificadas
- Padrões de conexão entre domínios
- Data e contexto da adição
Passo 9: Atualizar busca semântica (se configurada)
Se qmd ou equivalente estiver configurado:
# Adicionar nova coleção para a pasta do domínio
qmd update
qmd embed
Atualize .mcp.json ou configuração equivalente para incluir a nova coleção.
Passo 10: Habilidades de processamento do domínio (se processamento >= moderado)
Se o novo domínio precisar de suas próprias habilidades de processamento (porque a intensidade de processamento ou vocabulário difere do domínio existente), gere versões adaptadas ao domínio das habilidades reduce/reflect/verify.
Se as habilidades existentes puderem lidar com roteamento multi-domínio por tipo de nota, atualize-as em vez de criar duplicatas.
FASE 7: Validar
Verificações de kernel para novos arquivos do domínio
Execute a validação do kernel contra os arquivos do novo domínio:
- Frontmatter YAML válido em todos os novos arquivos
- Links wiki de novos arquivos resolvem (incluindo links entre domínios)
- MOC do novo domínio é acessível a partir do hub
- Campos de descrição presentes
- Rodapés de tópicos referenciam o MOC do domínio
Validação de composição
- Nenhum conflito de campo -- grepe todos os modelos por nomes de campos, verifique nenhum conflito semântico
- Acessibilidade do hub -- hub MOC se conecta a todos os MOCs de domínio, todos os MOCs de domínio se conectam às suas notas
- Teste de link entre domínios -- crie um link de teste do novo domínio para o domínio existente, verifique se resolve
- Unicidade de nomes de arquivo -- verifique nenhum nome de arquivo duplicado entre domínios:
find . -name "*.md" -type f|sed 's|.*/||'|sort|uniq -d