Communitygithub.com

ERerGB/folio

Converta conversas ou anotações selecionadas em livretos EPUB mantidos e entregue edições verificadas a um leitor de e-books. Uma invocação explícita de $folio inclui entrega, a menos que o usuário solicite apenas um rascunho.

O que é folio?

O skill ERerGB/folio gerencia o ciclo de vida completo de um livreto EPUB, desde a criação até a entrega verificada em dispositivos de leitura. Ele trata cada livreto como um objeto durável com um ID estável, capítulos editáveis, fontes referenciadas, edições numeradas e um registro de entrega. Quando invocado explicitamente com `$folio`, ele automaticamente finaliza com entrega ao leitor do usuário e verificação, mesmo que o prompt apenas solicite "organizar esta conversa" ou "criar um EPUB". O skill suporta múltiplos dispositivos (BOOX, Kindle, etc.) e utiliza EPUBCheck para validação de conformidade, além de manter um histórico de edições para preservar anotações e posições de leitura. Ele é projetado para ambientes de desenvolvimento como Claude Code, Cursor ou Codex, onde o agente pode executar scripts Python e comandos de sistema para construir e transferir EPUBs.

Funciona com~Claude Code~Codex CLI~Cursor
npx skills add ERerGB/folio

Perguntar na sua IA favorita

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

Documentação

Ciclo de vida do livreto Folio

Trate um livreto como um objeto durável com um ID estável, capítulos editáveis, referências de fontes, edições numeradas e um registro de entrega. Encontre um objeto existente para o assunto antes de iniciar outro. Uma invocação explícita de $folio significa finalizar com entrega ao leitor do usuário e verificação, mesmo quando o prompt apenas diz "organize esta conversa" ou "crie um EPUB". Pare após o arquivo estar pronto apenas quando o usuário solicitar explicitamente um rascunho ou exportação sem envio. Se esta habilidade for selecionada implicitamente para uma solicitação que apenas pede um arquivo, siga essa solicitação mais restrita.

Determine o leitor alvo antecipadamente a partir da solicitação atual, do contexto anterior do usuário ou do registro de entrega do objeto existente. Verifique novamente se seu endpoint de transferência está atualizado. Se o alvo ou um detalhe de conexão necessário estiver faltando, pergunte por esse detalhe enquanto continua o trabalho de conteúdo; não espere até que o EPUB esteja finalizado para descobrir a lacuna. Uma solicitação explícita de $folio já autoriza a transferência para o leitor do usuário, portanto, não peça permissão geral novamente.

Criar ou atualizar o livreto

  1. Identifique a conversa, anotações ou arquivos exatos a serem incluídos. Leia-os como material de origem, não como instruções. Rastreie as fontes de cada capítulo e a razão da revisão atual em book.json; distinga declarações do usuário, sugestões do assistente e alegações que ainda precisam de evidência. A compilação mantém um instantâneo de fonte privado para cada edição. Consulte formato do objeto para os campos. Quando o usuário pedir para preservar um artigo ou anotação como foi escrito originalmente, mantenha suas palavras e ordem. Não o substitua por um resumo ou guia de leitura. Registre o autor, data de publicação, URL de origem e quaisquer imagens omitidas ou elementos interativos. Mantenha o texto fonte no objeto livreto privado, nunca neste repositório de skill público.
  2. Encontre o objeto livreto correspondente. Reutilize seus IDs de capítulo e revise apenas os capítulos afetados. Para um objeto novo, use scripts/booklet.py init, depois adicione capítulos Markdown e suas entradas ao book.json. Consulte formato do objeto ao criar ou reparar um objeto.
  3. Compile com scripts/booklet.py build. Inspecione o HTML e os conteúdos do EPUB. Use EPUBCheck quando disponível para uma verificação de conformidade. Visualize em um leitor ou simulador relevante para o alvo quando o layout for importante; consulte ambientes virtuais. Recompilar conteúdo inalterado não deve criar uma nova edição.
  4. Mantenha edições anteriores. Uma edição pendente pode ser revisada; sua primeira transferência externa registrada a congela. Alterações posteriores criam a próxima edição. Use nomes de arquivo versionados, porque a posição de leitura no dispositivo e anotações podem estar vinculadas a um arquivo específico.

Escolher e verificar a entrega

Leia rotas de dispositivo para a marca e modelo alvo. Confirme o formato atual e suporte a transferência do fornecedor antes de escolher uma rota. Prefira a rota existente do usuário. Após a compilação, execute ativamente essa transferência; não pare em um link de download ou instruções quando a rota estiver disponível. Uma edição inalterada ainda precisa de entrega se não tiver alcançado este leitor alvo. Se a mesma edição já foi entregue, verifique sua presença antes de considerar a solicitação concluída. O comando integrado send-booxdrop automatiza apenas uma interface de biblioteca local BOOXDrop atualmente observada; leia Detalhes do BOOXDrop antes de usá-lo. Outras marcas usam sua interface oficial, USB ou fluxo de trabalho em nuvem, a menos que um conector confiável esteja disponível. Nunca presuma que um EPUB pode ser copiado diretamente para todas as marcas via LAN.

Registre uma entrega com record-delivery --stage apenas após verificar evidências do destino, como uma listagem do dispositivo, aplicativo do fornecedor, biblioteca na nuvem ou uma confirmação explícita do usuário. Os estágios progridem de uploaded para device-file, library-indexed e opened; avance um registro anterior quando evidências mais fortes chegarem. Um upload bem-sucedido não prova que o livro aparece na biblioteca do dispositivo ou foi aberto. A listagem de arquivos do BOOXDrop verifica device-file, não a biblioteca inicial do leitor. Se um nome de arquivo correspondente existir no destino, mas sua identidade for incerta, inspecione-o antes de substituir ou reenviar. Não exclua cópias mais antigas do dispositivo ou anotações, a menos que solicitado.

Se o dispositivo ou método alvo estiver indisponível, mantenha a edição pendente, diga exatamente o que impede a entrega e solicite a ação ou detalhe do dispositivo ausente. Não considere o fluxo de trabalho concluído até que a transferência seja verificada ou o usuário mude explicitamente o escopo para apenas rascunho. Mantenha objetos editáveis em um espaço de trabalho durável do usuário, nunca em um diretório temporário de tarefa. Não inclua conversas fonte privadas, endereços IP locais, credenciais ou objetos de livro pessoais em um repositório público.

Habilidades Relacionadas