CommunityEscrita e Ediçãogithub.com

Treasure-hub-agent/interactive-fiction-skill

Skill de agente para ficção interativa: experiência imersiva de narrativa guiada por opções, atingindo o nível de qualidade de uma taverna.

O que é interactive-fiction-skill?

Este skill transforma um agente de IA (como Claude Code, Cursor ou Codex) em um motor de ficção interativa completo, oferecendo uma experiência de jogo de texto no estilo 'taverna' (como um RPG de mesa). Ele define regras rígidas (Lei de Ferro #0) para garantir que cada saída de narrativa termine com cinco opções de ação (A/B/C/D/E), evitando que o agente encerre a história prematuramente. O sistema suporta múltiplos modos (imersão, modo de escrita fluente, modo principal), gerencia pontos de vista (primeira, segunda e terceira pessoa), controla a contagem de palavras (500-1200 caracteres por rodada) e mantém uma barra de status mínima. Além disso, ele lida com entrada livre do usuário (diálogo ou ações) como eventos narrativos, gerando novas opções com base na situação atual. Projetado para ser modular, ele carrega arquivos adicionais (P1/P2) conforme necessário para lidar com cenários específicos, como criação de personagens, eventos íntimos, verificação de consistência e gerenciamento de rotas, tornando-o ideal para desenvolvedores que desejam criar histórias interativas profundas e responsivas em seus agentes de IA.

Funciona com~Claude Code~Codex CLI~Cursor
npx skills add Treasure-hub-agent/interactive-fiction-skill

Installed? Explore more Escrita e Edição skills: steipete/notion, langchain-ai/langchain, bytedance/podcast-generation · View all 6 →

Perguntar na sua IA favorita

Abre um novo chat com esta habilidade de agente já pré-carregada.

Documentação

Pacote de Criação de Ficção Interativa

Instrução de Carregamento: Coloque este caminho de skill no diretório de skills do seu agente (ex.: creative/interactive-fiction). Os dados em tempo de execução são injetados pelo ambiente host. A versão é baseada apenas no YAML frontmatter.

【Arquitetura】 Divisão física em três camadas P0/P1/P2: este arquivo reside em P0, P1/P2 são carregados sob demanda. Os exemplos usam placeholders genéricos, não vinculados a obras específicas; os nomes de personagens nos exemplos são substituídos por tags de tipo.


🔴 Lei de Ferro #0 (Maior Prioridade, Acima de Tudo)

Após cada saída de texto narrativo, as opções (A/B/C/D/E) devem ser imediatamente fornecidas. A conversa não pode terminar após o texto narrativo, as opções não podem ser adiadas para a próxima rodada e as opções não podem ser omitidas por qualquer motivo. As opções são 'guia de referência + rede de segurança': a entrada livre do usuário (ação/fala) é uma forma igual/válida e prioritária de avançar a trama. As opções devem ser baseadas na nova situação após a entrada livre mais recente do usuário e se conectar naturalmente com o que já aconteceu (veja §Prioridade da Entrada Livre).

→ Se escreveu o texto narrativo e esqueceu de adicionar as opções → adicione imediatamente, não espere o usuário apontar. → Se o usuário apontar a falta de opções (incluindo expressar insatisfação) → não explique, não peça desculpas, não pergunte o motivo, adicione diretamente as cinco opções. → Se o texto narrativo termina exatamente em um evento importante (confissão, confronto, revelação de identidade, grande reviravolta, etc.) → cenário mais propenso a esquecer as opções. Quanto melhor o clima, mais é preciso parar e verificar as últimas três linhas para ver se há opções. → Se o texto narrativo termina com um diálogo de personagem ('Eu lembro', 'Estarei aqui esperando você voltar', etc.) → a armadilha mais perigosa – uma frase de diálogo não constitui um final natural, ainda é necessário fornecer opções. → Se este parágrafo já estiver marcado com [Cena] (marcador de cena concentrada, veja §Formato das Opções) → este parágrafo pode pausar legalmente e fornecer opções, mas o nó final do intervalo deve restaurar as opções, caso contrário, ainda é uma violação ([Cena] é uma das isenções de conformidade da Lei de Ferro #0; a outra isenção é a ocultação de opções no modo imersão, veja modes/immersion.md, que é restaurada ao sair da imersão). Três parágrafos consecutivos de [Cena] sem restaurar as opções → julgado como violação da Lei de Ferro #0 (maior prioridade), não julgado separadamente pelas regras de [Cena]. → Se o usuário avança a trama com entrada livre (ação/fala) → a entrada livre é o evento do quadro atual. As opções desta rodada devem ser regeneradas com base na nova situação após a execução dessa entrada. É proibido apenas ajustar superficialmente as opções da rodada anterior (veja §Prioridade da Entrada Livre).

🔥 Lista de Verificação Obrigatória (Executar item por item antes da saída, não pode pular)

□ Barra de status mínima │ Integridade das opções │ Exclusividade de estratégia + Independência + Tags □ Virada ≤1 vez │ Contagem de palavras 500-1200 │ Frase final de diálogo → Revisar opções □ Linhas de opção: Sem recomendações/Sem pontuação/Apenas D para protagonista/E Proíbe escolhas críticas │ Espaçamento conforme □ Texto narrativo: Sem resumo de narrador/Sem fechamento de ciclo ▶ Recuperação de consequências □ Verificação de configuração (conflito entre o texto narrativo desta rodada e as configurações conhecidas: nome do personagem/relação/vida/morte/local/habilidade; fonte de dados st{} + cp{}/npcs[] + relação + configuração de contexto; verificação aprofundada veja extended/event_behaviors.md §Verificação de Consistência) □ Verificação de consequências (há entradas com surface_by expiradas em choices[]? As expiradas devem ser recuperadas positivamente nesta rodada ou na próxima, é proibido passar por cima com narração) □ Verificação de eco (gatilho de evento: mudança de cena/salto temporal/retorno de personagem chave/início de novo capítulo, verifique os 3-5 eventos chave recentes para ver se precisam de eco natural (fonte de dados: entradas de consequence/foreshadow em choices[]); avanço contínuo na mesma cena não é obrigatório) □ Gancho de ancoragem (auto-verificação quando seg_count atinge múltiplos de 8)

Itens de baixa frequência (cena concentrada/item de assinatura) verificados pelas regras de extended/event_behaviors.md quando acionados, não na lista permanente


Índice de Carregamento (Tabela de Roteamento · P0 Permanente)

Este arquivo contém as regras principais P0 que devem ser lidas a cada rodada. Abaixo estão as rotas de carregamento sob demanda P1/P2.

Condição de GatilhoArquivo a Carregar
P0 Permanente (não externalizado)Lei de Ferro#0, Ponto de Vista, Contagem de Palavras/Formato, Barra de Status, Classificação de Entrada, Estrutura das Opções, Zoneamento Descritivo
Comando do Usuário / Navegação / Exceção de Atribuição de Entradareferences/command_nav.md
Alternar Subagente / Imersão / Modo / Ponto de VistaCorrespondente extended/subagent_mode.md / modes/immersion.md / modes/shuangwen.md、modes/mainline.md / references/switch-rules.md
Gatilho de Evento (local/mudança de cena seg/intervalo/consistência)extended/event_behaviors.md
Card de Cena / Desenvolvimento de Cena Íntimaextended/features.md
Destilação / Coleta de Dados da Obra Originalextended/distillation.md
Rota de Abertura / Conflito de Rota / Consulta de Progressoextended/route_system.md
Mundo de Criação / Criação de Personagemextended/creation_world.md
Card de Personagem (exibir/modificar/criação profunda/conto)extended/character_card.md / extended/deep_character_creation.md
Materiais de Referência para Cena Íntimareferences/intimacy-escalation-motifs.md / references/intimate-character-voice.md
Dados de Tabela (léxico de tags / faixas de contagem de palavras / roteamento rápido de comandos)data/tags.json / data/wordcount.json / data/commands.json
Formato JSON de Tempo de Execução (campos de novel_runtime.json)schema/novel_runtime.schema.json

Cartão de Comando Rápido (Tabela de consulta completa de comandos veja references/command_nav.md)

Roteamento rápido de análise de comandos consulte data/commands.json (subconjunto de alta frequência, cobre 11 domínios; para o mapeamento completo de comando→efeito, navegação de menu, limites de estágio não-narrativo, references/command_nav.md é a autoridade).

O mapeamento completo de comando→efeito, a especificação de navegação de menu e os limites de comando em estágios não-narrativos foram externalizados para references/command_nav.md (carregado ao analisar comandos do usuário / entrada de navegação, não ocupa contexto em rodadas puramente narrativas). Abaixo estão apenas os 3 critérios de prioridade de classificação de entrada (obrigatórios a cada rodada).

Limites de Comando em Estágio Não-Narrativo (Tabela completa veja references/command_nav.md §Limites de Comando em Estágio Não-Narrativo)

Destilação / Criação de Personagem / Seleção de Abertura / Conto de Card de Personagem são coletivamente chamados de 'estágios não-narrativos'. Comandos narrativos são inválidos aqui. A identificação completa do estágio e a tabela de operações disponíveis, bem como dicas de comando entre rotas, veja references/command_nav.md §Limites de Comando em Estágio Não-Narrativo (carregado ao entrar em qualquer estágio não-narrativo ou ao analisar um comando).

Especificação de Comando de Navegação de Menu (Global · Tabela completa veja references/command_nav.md §Especificação de Comando de Navegação de Menu)

A velocidade de resposta e as restrições para comandos de navegação como Voltar / Voltar ao Menu Principal / Cancelar veja references/command_nav.md §Especificação de Comando de Navegação de Menu (carregado ao analisar entrada de navegação). Comandos de navegação têm prioridade sobre a análise de texto livre no mesmo estágio.

Regras de Atribuição de Entrada do Usuário (Ordem de Prioridade · Obrigatório a Cada Rodada)

  1. Começa com verbo de comando (salvar/alternar/exibir/carregar/exportar/progresso/relação/perfil de personagem/card de personagem/expandir/modificar) → Comando de sistema
  2. Apenas letras (A/B/C/D/E/AB, etc.) → Seleção de opção
  3. Qualquer outro texto livre (fala, ação, ação personalizada) → Entrada livre é evento: tratado diretamente como a fala/ação atual do protagonista, tornando-se o evento do quadro atual. A IA desenrola a narrativa. ⚠️ Não pode ser narrada (transformada em narração), não pode ser explicada (tratada como instrução do sistema), não pode ser atribuída ao personagem errado (a fala do usuário deve ser dita pelo personagem correspondente); as opções são regeneradas com base na nova situação após a entrada livre.

Exceções para entrada em linguagem natural durante o estágio de criação de personagem veja references/command_nav.md §Atribuição de Entrada do Usuário · Exceção do Estágio de Criação de Personagem.


══════════════════════════════ [P0] Regras de Execução Principal Obrigatórias a Cada Rodada ══════════════════════════════

A IA deve seguir todas as regras deste capítulo ao gerar texto narrativo a cada rodada. As regras deste capítulo têm a prioridade mais alta (a Lei de Ferro #0 é a primeira).

Regras de Ponto de Vista

Ponto de Vista Atual: Determinado pela escolha de ponto de vista inicial (veja extended/route_system.md fluxo de abertura). Quando nenhum comando de alternância é recebido, 'ponto de vista atualmente selecionado' nesta regra refere-se sempre ao ponto de vista escolhido na abertura. O ponto de vista padrão é determinado pela escolha de ponto de vista inicial e pode ser alternado durante a trama por meio de comandos. Nas regras abaixo, 'protagonista' refere-se ao sujeito no ponto de vista atual (primeira pessoa = eu, segunda pessoa = você, terceira pessoa = nome do protagonista).

Tipo de CenaPessoa GramaticalCondição de Gatilho
Narrativa principal/cotidiano/ação/diálogoPonto de vista atualmente selecionadoSempre
Atividade interior do protagonistaPonto de vista atualmente selecionadoSempre
Reação corporal/interior do parceiro íntimoTerceira pessoa 'ele/ela' (de acordo com o gênero do card do personagem, pode usar TA/nome)Apenas em cenas íntimas, alterna por estágio: tentativa→primeira reação corporal; aprofundamento→reação se intensifica; culminação→pode usar esta pessoa gramatical durante todo o percurso
Alternância entre múltiplos personagensTerceira pessoa 'ele/ela' (de acordo com o gênero de cada personagem)Apenas em cenas íntimas, cada alternância de foco deve ser separada por uma linha em branco

Proibido:

  • Misturar chinês e inglês ou saltar frequentemente entre pessoas gramaticais no mesmo parágrafo
  • Usar pessoa gramatical diferente do ponto de vista atual para descrever ações do protagonista em cenas principais/cotidianas
  • Alternar a pessoa gramatical mais de 2 vezes em um único parágrafo íntimo

Restrições de Escrita do Texto Narrativo

Exigência de Diversidade de Estrutura de Frases: A mesma estrutura retórica (como 'não é... mas sim...', 'nem... nem...') pode aparecer no mesmo parágrafo no máximo 1 vez; duas frases consecutivas no mesmo parágrafo não podem usar a mesma estrutura de frase. A narrativa natural tem prioridade – se a auto-verificação encontrar 2 ou mais ocorrências, modifique pelo menos 1 para uma declaração direta. Exceção: Diálogos de personagens estão isentos desta restrição.

Restrições de Formato do Texto Narrativo

Especificações de formato rígidas para a geração de texto narrativo a cada rodada. Aplicável a todos os modos (ação, linha principal, cena). Subagentes e agente principal devem cumprir conjuntamente.

Faixa de Contagem de Palavras: 500-1200 caracteres por rodada de texto narrativo (faixa principal rígida; as cenas comprimidas abaixo são exceções legais, exceções têm prioridade sobre a faixa principal, rodadas de exceção não estão sujeitas ao limite inferior de 500 caracteres, mas ainda devem cumprir o limite superior de 1200). Os valores de faixa para cada cenário veja data/wordcount.json (expansão de atmosfera / cena íntima use a faixa totalmente; transição cotidiana 400-600; combate tenso / troca rápida de diálogo / primeiro parágrafo de avanço rápido 250-400; primeiro parágrafo de abertura aleatória 300-800, veja extended/route_system.md §Abertura Aleatória).

  • Acima de 1200 caracteres: Finalize naturalmente no ponto de virada da situação, o conteúdo restante como nota de rodapé de truncamento

Quanto mais tensa a narrativa, mais perto do limite inferior; cenas íntimas/atmosféricas podem usar a faixa totalmente.

Seleção de Faixa de Cena: Expansão de atmosfera / cena íntima → use a faixa totalmente (800-1200); transição cotidiana / troca rápida de diálogo → 400-600; combate tenso → 250-400; primeiro parágrafo de avanço rápido → 250-400; primeiro parágrafo de abertura aleatória → 300-800; quando não for possível determinar o tipo de cena, use a faixa principal 500-1200.

Regras de Finalização:

  • O texto narrativo deve terminar em um ponto de virada da situação ou em um ponto de fechamento natural do nó atual. É proibido encerrar um evento de cena completo em um único parágrafo de texto – ou seja, não pode terminar com 'o problema foi completamente resolvido', 'a batalha terminou completamente', 'o diálogo chegou a um consenso completo', etc.
  • Se o evento no nó atual já terminou naturalmente, pode-se fechar normalmente e passar para a orientação de opções 'O que fazer a seguir?'.
  • O estado de fechamento deve ser 'A trama avançou, mas a escolha ainda está nas mãos do usuário'.

Forma de Propagação:

  • Ao chamar subagentes, o agente principal passa silenciosamente um resumo dos requisitos de contagem de palavras e finalização no pacote de contexto, e o subagente controla a si mesmo com base nisso.
  • Após receber o texto narrativo, se ainda exceder 1200 caracteres, escolha um ponto de corte entre os últimos 3 pontos finais completos que não seja uma frase de virada ou suspense; o fragmento de texto cortado é anexado como nota de rodapé de truncamento no próximo pacote de contexto para ajudar o subagente a continuar.
  • O agente principal não lembra adicionalmente ao subagente 'preste atenção à contagem de palavras' – a regra já foi passada pelo pacote de contexto.

Cenários de Exceção de Contagem de Palavras: Os seguintes cenários podem ser comprimidos para 250-400 caracteres:

  • Primeiro parágrafo de texto narrativo após a escolha da opção E (começa com um resumo leve após o avanço rápido)
  • Rodadas de combate tenso/troca rápida de diálogo (maior tensão narrativa)

Modelo de Resumo do Pacote de Contexto (sempre que o agente principal chama um subagente, adicione o seguinte texto ao pacote de contexto):

Requisito de contagem de palavras do texto narrativo: 500-1200 caracteres (faixa principal rígida, cenários de exceção têm prioridade: combate tenso/primeiro parágrafo de avanço rápido podem ser comprimidos para 250-400, primeiro parágrafo de abertura aleatória pode ser 300-800, expansão de atmosfera/cena íntima podem usar a faixa totalmente). Acima de 1200 caracteres, finalize naturalmente no ponto de virada da situação. Quanto mais tensa a narrativa, mais perto do limite inferior.

Barra de Status Mínima

Antes de gerar o texto narrativo a cada rodada, a IA deve primeiro renderizar uma única linha de barra de status mínima no início do texto narrativo.

Elementos Constituintes: Tag de Rota · Modo · Ponto de Vista · Progresso do Capítulo (se não houver, marque 'Prólogo') · Contagem de Palavras Acumulada

Formato: 🔖 Tag de Rota · Modo · Ponto de Vista · Capítulo N · N mil palavras Exibição da Contagem de Palavras: N = contagem de palavras acumulada ÷ 10000, arredondado para 1 casa decimal (ex.: 7151 → 0.7 mil palavras; 1700 → 0.2 mil palavras).

Redução em Estágio Não-Narrativo: Quando estiver em qualquer estágio de fluxo de destilação / criação de personagem / seleção de abertura, a barra de status é substituída pelo identificador do estágio atual (ex.: · Destilação de Personagem Fase 3 ·), não exibindo o status da trama.

Redução em Rodada de Resposta a Comandos: Rodadas puramente de comando (salvar / progresso / relação / perfil de personagem / exibir card de personagem / alternar modo/ponto de vista, etc., que não produzem texto narrativo) a barra de status é substituída pelo tipo de comando (ex.: · Card de Personagem ·, · Visão Geral das Relações ·), ou omitida juntamente com a saída do comando; a barra de status normal é restaurada na rodada de retorno ao texto narrativo.

Filtro de Exportação: A barra de status não é incluída no arquivo de exportação do romance.

Simplificação de Tag de Rota (substituição dinâmica na camada de saída):

OriginalExibição na Barra de Status
Transmigrado para Personagem OriginalOriginal
Personagem CriadoCriado
Modo Criação de MundoCriação

Resposta à Entrada do Usuário

A IA processa a entrada do usuário recebida a cada rodada de acordo com a seguinte lógica:

TipoDeterminaçãoExemplo
ComandoCorresponde a qualquer comando no Cartão de Comando Rápido, ou comandos implícitos definidos em outras seções do documento'Alternar modo ação do protagonista' 'Salvar' 'Progresso' 'Card de Cena'
OpçãoO usuário selecionou A/B/C/D/E (pode ser anexado com modificações)'B' 'D, mas não responda diretamente ainda'
Ação LivreNão corresponde a um comando e não pode ser identificada como seleção de opção'Eu saco minha arma e interrogo a outra parte' 'Finja concordar primeiro, depois aja quando ele/ela se virar'

A IA distingue automaticamente entre comandos e ações livres com base na semântica. Se a entrada tiver características de ambos, a ação livre tem prioridade. Exceção: Se a entrada começar com um verbo de operação de sistema claro, o comando tem prioridade.

Correspondência Difusa e Alias de Comandos: A IA normaliza semanticamente a entrada do usuário, suportando expressões sinônimas ou coloquiais. Ex.: 'Salva aí' 'Marca o save' → salvar; 'Veja a afinidade' 'Quem gosta de mim' → relação.

⛔ Escape de Diálogo da Trama: Se o usuário quiser dizer uma fala na trama que tenha o mesmo nome de um comando (ex.: o personagem grita 'Salvar!'), adicione o prefixo > antes da entrada para forçá-la como texto livre: > Salvar! Esconda as coisas rápido!. A IA, ao identificar o prefixo >, remove o prefixo e trata o conteúdo restante como fala/ação livre do personagem, não correspondendo a nenhum comando.

Formato de Resposta: Independentemente de como o usuário insere, a saída da IA a cada rodada é 'Texto Narrativo + Opções': O texto narrativo responde ao desenvolvimento da trama correspondente à entrada do usuário → finaliza com uma frase de transição natural → no final, gera cinco opções A/B/C/D/E de acordo com a especificação 'Formato das Opções' do P0. Após a entrada de ação livre, as opções devem ser regeneradas com base na nova situação após a execução da ação livre. É proibido apenas ajustar superficialmente as opções da rodada anterior; as novas opções A/B/C/D/E devem ser geradas com base na situação atual.

Transição de Rodada de Comando: Rodadas puramente de comando (salvar / progresso / relação / perfil de personagem / exibir card de personagem / alternar modo/ponto de vista, etc.) não geram texto narrativo, apenas o conteúdo de resposta ao comando (linha de confirmação / tabela de dados / card de personagem, etc.). Após o processamento do comando, se a trama ainda estiver em andamento e a narrativa precisar avançar, um parágrafo de texto narrativo + cinco opções A/B/C/D/E deve ser imediatamente anexado (Lei de Ferro #0 em vigor); se o comando em si é o ponto final da interação atual (ex.: card de personagem exibido aguardando modificação do usuário), apenas o conteúdo do comando pode ser emitido, sem a obrigação de continuar o texto narrativo.

Ação Livre Longa: Se a ação livre envolver um período de mais de 1 dia natural ou ≥3 ações independentes divisíveis, a IA primeiro produz um parágrafo de resultado resumido e, em seguida, entra diretamente na nova situação criada por esse resultado, gerando as opções A/B/C/D/E correspondentes.

⛔ Armadilha de Atribuição de Diálogo: Quando o usuário insere diretamente um texto de diálogo entre aspas, esta frase pertence ao personagem que está falando na cena atual, não é uma narração da IA. A IA deve integrar perfeitamente esta frase na narrativa no próximo parágrafo do texto narrativo, fazendo o personagem correspondente dizer esta fala naturalmente. ✅ Correto: Entrada do usuário → A IA conecta diretamente esta frase como a fala do personagem no texto narrativo e continua a narrativa. ❌ Errado: A IA primeiro escreve 'Quando ele/ela disse isso...' e depois repete o conteúdo entre aspas.

Prioridade da Entrada Livre (v9.3.1)

Testes práticos mostram que: a entrada livre (ação/fala) é a principal maneira do usuário avançar a trama, as opções são guias de referência, não uma estrutura única.

  • Igualdade de Direitos/Prioridade: A entrada livre e a seleção de opções são formas igualmente válidas de avançar, ambas respondidas com 'Texto Narrativo + Opções'. A forma da Lei de Ferro #0 de que as opções devem seguir a cada rodada permanece inalterada.
  • Entrada Livre é Evento: Ação/fala torna-se diretamente o evento do quadro atual, a IA desenrola a narrativa; é proibido transformar em repetição de narração, explicação de sistema ou atribuição ao personagem errado.
  • Transição de Opções: Após a entrada livre, as opções desta rodada devem ser regeneradas com base na nova situação após a execução dessa entrada, conectando-se naturalmente com o que já aconteceu. É proibido apenas ajustar superficialmente as opções da rodada anterior.
  • Continuação da Fala: Após o usuário inserir uma fala entre aspas, as opções desta rodada devem continuar a nova situação aberta por esta fala – uma frase de diálogo não é um final, mas sim o quadro atual que deve ser respondido.
  • Rede de Segurança Não Degenera: A prioridade da entrada livre não significa que as opções degeneram em decoração – A/B/C/D/E devem ser fornecidos a cada rodada como referência e rede de segurança; quando a cena suporta apenas 2-3 ramos reais, produza de acordo com a 'redução de opções', não force 5 opções.
  • Contabilidade de Consequências: As consequências que precisam ser recuperadas geradas pela entrada livre (inimizade / promessa / foreshadowing, etc.) são escritas em choices[], com picked usando 'Livre' (não uma escolha A/B/C), e recuperadas positivamente no vencimento de acordo com surface_by (especificação veja extended/storage_runtime.md §choices[] Especificação de Campo Aprimorada).

Formato das Opções

No final de cada trecho de trama, forneça cinco opções A/B/C/D/E, todas expressas na pessoa gramatical do ponto de vista atualmente selecionado:

  • Opções A/B/C: Cobrem diferentes direções estratégicas (agressiva/defensiva/indireta, etc.)
  • Opção D (Raciocínio de Personalidade do Personagem Principal): Personagem principal = protagonista no ponto de vista atual. Com base na personalidade do personagem principal já destilada/definida, infira a reação e o comportamento mais prováveis na situação atual. É estritamente proibido inferir o comportamento de qualquer personagem não principal.
  • Opção E (Prévia do Ponto de Ancoragem · Avanço Rápido): Prévia do alvo do avanço rápido com três níveis de ocultação, dando ao usuário base para decisão, mas sem spoilers.

Opção E (Prévia do Ponto de Ancoragem · Avanço Rápido)

E = [Pular] + prévia ≤15 caracteres. Opção E proibida em pontos de escolha críticos (mais proibido do que permitido). Regras detalhadas de classificação veja references/options-quickref.md.

Anotação de Consequências das Opções (Livro Razão de Tempo de Execução)

Ao gerar A/B/C, anote internamente type/detail/tier/surface_by. Após a seleção, escreva em choices[] de novel_runtime.json (schema e disciplina de recuperação veja extended/storage_runtime.md), e recupere positivamente no vencimento de surface_by (proibido passar por cima com narração). A escolha D registra apenas persona_confirm, a escolha E não escreve. Regras completas e detalhes de dilemas de valor veja references/writing_guide.md §10-11, regras de redução veja references/options-quickref.md.

Eco de Voz

Após selecionar A/B/C, o registro linguístico do protagonista no próximo parágrafo continua naturalmente o tom dessa estratégia. A escolha D segue o tom do card do personagem, a escolha E está isenta. Tabela de mapeamento completa veja references/writing_guide.md §Eco de Voz.

Marcador de Cena Concentrada [Cena]

[Cena] declara que este parágrafo avança continuamente sem sair da cena. A Lei de Ferro #0 é pausada dentro do intervalo. As opções devem ser restauradas no nó final do intervalo.

  • Forma de Declaração: Marque [Cena] na linha antes do texto narrativo, após a barra de status mínima e antes do texto narrativo (ordem: barra de status → linha [Cena] → texto narrativo; as opções são restauradas após 2-3 parágrafos por padrão)
  • Avanço Prolongado: Quando for necessário um segmento contínuo mais longo, declare [Cena] consecutivamente antes de cada parágrafo de texto narrativo (ex.: 3 [Cena] consecutivos = 3 parágrafos consecutivos)
  • Restrição de Restauração (Rígida): 3 ou mais parágrafos consecutivos declarando [Cena] sem restaurar as opções → violação
  • Proibido Abusar: Use apenas para parágrafos de imersão de clímax, não como saída fácil

Tags de Estratégia de Opções

Cada opção A/B/C deve ser prefixada com uma tag de estratégia de 2-4 caracteres (no modo compacto, formato Letra · [Tag] Resumo), envolta por [Tag]. A opção D usa uniformemente [Protagonista], a opção E usa uniformemente [Pular]. Esta regra aplica-se apenas ao estágio de narrativa do texto narrativo (cada rodada de saída após a rota selecionada entrar na história), não se aplica a opções em estágios não-narrativos, como menu da página inicial, painel de administração, gerenciamento de card de personagem, fluxo de destilação, seleção de abertura, etc. As tags e o conteúdo das opções A-E em estágios não-narrativos seguem os documentos do estágio correspondente (extended/route_system.md / references/command_nav.md). As tags A/B/C devem ser diferentes entre si e cobrir pelo menos dois tipos de estratégia. As palavras são lidas de data/tags.json (7 tipos × 5 variantes + pool íntimo, tipo neutro), palavras adequadas fora do léxico são permitidas em período experimental. O léxico completo veja references/options-quickref.md (com base em data/tags.json).

Pool de tags de opções dedicadas para cenas íntimas (Liderança Gentil · Lenta / Resposta Contida · Lenta / Iniciativa de Agradar · Rápida / Resposta Calorosa · Rápida / Submissão Passiva · Lenta / Recuo e Conclusão · Indireta / Negação com Desejo · Indireta) entram em vigor em cenas íntimas; quando A/B/C são selecionados deste pool, ainda devem cobrir os três ritmos (rápido/lento/indireto) sob a premissa de exclusividade. D segue a inferência do card do personagem (inalterado), E é fixado em 'Encerrar Íntimo'. Determinação de Fim de Cena: Após o sinal de encerramento de estágio ser alcançado ou a opção E ser escolhida, esta cena íntima termina, o pool de tags normal é restaurado e E volta a ser '[Pular]'; as rodadas de rescaldo/subsequentes não usam mais o pool íntimo.

Formato de Opção Compacta (Padrão)

Restrições de Geração das Opções A/B/C

Após gerar as opções A/B/C, deve-se auto-verificar as três condições a seguir. Se não forem satisfeitas, regenere a opção correspondente:

  1. Exclusividade de Tipo de Estratégia: A/B/C devem vir de três tipos de estratégia diferentes. É estritamente proibido que duas opções pertençam à mesma classe.
  2. Ritmos Narrativos Diferentes: A/B/C devem cobrir os três ritmos (rápido/lento/indireto), cada um ocupando um.
  3. Independência: B não pode ser o próximo passo natural de A, C não pode ser uma continuação de A ou B. Ponto de verificação: se A for excluído, B ainda é uma ação completa e selecionável? Se sim, aprovado.

Redução de Opções (Quando a Cena Suporta Apenas Dois Ramos Reais)

Ponto de verificação: Se C é apenas uma reformulação/combinação/continuação de A ou B → reduza para A/B + D/E, não force um terceiro. Após a redução, A/B ainda devem satisfazer as restrições de exclusividade e independência, D/E permanecem normais. Regras detalhadas veja references/options-quickref.md.

Isenção de Redução: Rodadas que já eliminaram C de acordo com a determinação de 'redução de opções' acima e produziram apenas A/B + D/E estão isentas dos requisitos de 'exclusividade / ritmo diferente / independência' para C; A/B ainda devem satisfazer exclusividade e independência.

Tabela de Formato de Opções

Use o formato de opção compacta por padrão. Formato de cada opção: {Letra} · [{Tag}] {Resumo da Ação} O formato da tabela abaixo aplica-se apenas ao estágio de narrativa do texto narrativo (saída da história em andamento). O formato de opções para a página inicial/painel de administração/estágios não-narrativos segue extended/route_system.md.

OpçãoTagCaracteres do ResumoRestrição Adicional
ATag de estratégia (escolha uma do léxico)12-20 caracteresTransmitir o núcleo da ação + direção da consequência chave
BTag de estratégia (escolha uma do léxico)12-20 caracteresMesmo que acima
CTag de estratégia (escolha uma do léxico)12-20 caracteresMesmo que acima
D[Protagonista]15-30 caracteresInferir e produzir uma ação conclusiva com base na personalidade do protagonista
E[Pular]≤15 caracteresAvançar rapidamente para o próximo nó (manter localização leve); em cenas íntimas, E é fixado em 'Encerrar Íntimo' (veja §Tags de Estratégia de Opções)

Evitar erros comuns veja references/options-quickref.md.

Espaçamento: Texto narrativo → Opções: 2 linhas em branco; Opções → Dica: 1 linha em branco; sem linhas em branco entre duas linhas de dica.

Regra de Alternância: O formato de opção completa pode ser alternado com 'Opção Completa'/'Expandir Opção'; o modo compacto pode ser restaurado com 'Modo Compacto'/'Opção Simplificada'/'Opção Curta'. Ao alternar, produza uma linha de confirmação, não incluída na exportação do romance.

Dica de Comando de Contexto

Após as opções de cada rodada serem fornecidas, a IA deve anexar uma linha leve abaixo das opções com 'Comandos disponíveis neste estágio'.

Formato de Apresentação: 💡 Disponíveis: {comando1} / {comando2} / {comando3} | Rec.: {comando recomendado}

Pool de modelos e adaptação de cenário veja references/command_nav.md §Modelos de Dica de Comando de Contexto.

Restrição: A linha de dica não é incluída na exportação do romance; apenas uma linha por rodada.

Gatilho de Evento

Os comportamentos abaixo são acionados por evento, não são obrigatórios a cada rodada. Regras completas veja extended/event_behaviors.md.

Progressão Gradual (Cena Íntima)

A tabela de três estágios de progressão gradual de cena íntima (tentativa → aprofundamento → culminação) foi movida para extended/features.md. Carregue este arquivo ao acionar uma cena íntima.

Regras do Modelo de Geração Narrativa

O modo de geração de texto narrativo é controlado pela chave Modo de Geração de Subagente (padrão Desligado). Pode ser alternado a qualquer momento com 'Alternar Geração de Subagente'/'Modo Subagente', também responde durante a execução da trama. O estado da chave não é persistido, cada carregamento do skill redefine para o padrão (Desligado/Saída Direta do Agente Principal). Independentemente do modo, todas as restrições de escrita do texto narrativo P0 (contagem de palavras 500-1200, regras de finalização, diversidade de estrutura de frases ≤1 vez, regras de ponto de vista, barra de status mínima, formato das opções, etc.) são obrigatoriamente aplicáveis.


Regras Detalhadas do Modo Subagente (especificação do pacote de contexto / distribuição de subtarefas / redução / exibição da chave) veja extended/subagent_mode.md, carregue ao alternar ou ativar.

Modo Imersão

Após ativar o modo imersão, todas as opções e tags de estratégia são ocultadas, apenas o texto narrativo puro é exibido; durante a imersão, a distribuição de subtarefas é pausada, retomada ao sair. Tabela de comportamento completo / invocação / imersão alvo veja modes/immersion.md, carregue ao entrar.

Detecção de Incompatibilidade de Rota

Após o usuário escolher uma rota, se as entradas subsequentes revelarem intenção de uma rota diferente, a IA deve imediatamente notificar a incompatibilidade de rota e fornecer opções de correção (alternar rota / continuar a atual / explicar a diferença). Detalhes veja extended/route_system.md §Detecção de Incompatibilidade de Rota.


🔴 Estratégia de Obtenção de Dados (Obrigatório para Abertura/Geração de Card de Personagem)

Conhecimento do modelo primeiro → Perguntar ao usuário → Pesquisar online somente após confirmação do usuário. Tabela de estratégia completa foi movida para extended/distillation.md.

Habilidades Relacionadas