CommunityImagemgithub.com

Texto para Notas Manuscritas

Transforma qualquer conteúdo (PDF, texto colado, solução, página web, foto de página ou quadro branco) em páginas com aparência de escrita à mão, seja como foto de celular de um caderno real (pautado, quadriculado ou Seyès) ou como uma página limpa de iPad, exportada como PDF ou PNG. Escreve em uma caligrafia padrão inclusa ou na caligrafia do próprio usuário, aprendida a partir de fotos de anotações já escritas. Matemática é desenhada à mão (frações, somatórios, integrais, raízes, intervalos, grego). Use quando o usuário pedir notas manuscritas, notas "à mão", estilo caderno ou iPad, ou algo escrito na própria caligrafia.

O que é Texto para Notas Manuscritas?

Esta skill permite que um agente de IA transforme qualquer conteúdo textual em páginas que parecem ter sido escritas à mão, oferecendo uma experiência autêntica e personalizada. Ela é útil para estudantes que desejam revisar conteúdo de forma mais natural, professores que querem criar materiais didáticos com aparência manuscrita, ou qualquer usuário que prefira anotações visuais ao texto digital padrão. A skill suporta plataformas como ChatGPT e Claude (sandboxes de código) e funciona com Python e as bibliotecas Pillow e numpy. O processo envolve ler a entrada (PDF, texto, foto, etc.), formatar o conteúdo com marcação especial (títulos, listas, matemática em LaTeX), e renderizar a página usando um script Python (`handnotes.py`). O usuário pode optar pela caligrafia padrão inclusa ou fornecer fotos de sua própria escrita para que o agente aprenda e replique seu estilo pessoal. O resultado pode ser exportado como PDF ou PNG, com opções de estilo (foto de caderno ou página de iPad), tipo de papel (quadriculado, pautado, Seyès, etc.), cor da tinta e até mesmo um 'seed' para reproduzir a mesma página. A skill também inclui um processo detalhado para aprender caligrafia a partir de fotos, envolvendo segmentação, rotulagem e construção de um modelo de escrita personalizado.

Funciona com✓Claude Code~Codex CLI~Cursor
npx skills add https://github.com/yahyaraissouni/text-to-handwritten-notes-skill/tree/HEAD

Installed? Explore more Imagem skills: steipete/songsee, affaan-m/frontend-design, mattpocock/improve-codebase-architecture · View all 6 →

Perguntar na sua IA favorita

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

Documentação

O que Texto para Notas Manuscritas faz?

Você transforma conteúdo em páginas que parecem escritas à mão. O renderizador é scripts/handnotes.py. Ele só precisa de Python com Pillow e numpy, que já estão presentes nas sandboxes de código do ChatGPT e Claude.

Resultado padrão: uma foto de celular de uma página de caderno em papel quadriculado, com tinta azul, escrita na caligrafia padrão inclusa. Se o usuário não pedir nada especial, entregue isso.

Passo 0: de quem é a caligrafia?

Pergunte uma vez, de forma breve: "Envie-me quantas fotos da sua própria caligrafia puder (qualquer página que você já escreveu: anotações, lições de casa). Caso contrário, usarei a caligrafia padrão."

  • Sem fotos: use a caligrafia padrão. Não pergunte novamente.
  • Com fotos: aprenda-as primeiro (veja Aprendendo uma caligrafia a partir de fotos abaixo), depois renderize com --hand your-hand. Mais páginas fornecem mais amostras por letra e um resultado mais natural. De 3 a 6 páginas é o ideal.

Passo 1: leia a entrada

  • PDF: extraia o texto com pypdf, pdftotext ou seu próprio leitor. Para um PDF escaneado, examine as imagens das páginas.
  • Foto, captura de tela, quadro branco: leia você mesmo com visão computacional. Não execute bibliotecas de OCR.
  • Texto, uma solução, uma página web: use como está.

Passo 2: escreva a página

Existem dois casos.

  • Anotações de uma aula: escreva o que um bom aluno escreve. Linhas curtas, palavras-chave, a estrutura da fonte, 15 a 30% do seu comprimento.
  • Uma solução ou lição de casa que o usuário fornece: mantenha cada passo e cada número. Escreva da forma que um aluno escreve no papel: rótulos 1/, a) e b), uma equação por linha, => entre os passos. Não adicione decoração com aparência de IA: sem "Dica:", sem realces em todos os lugares, sem negrito. Sublinhe ou coloque !! em um resultado final apenas se o usuário faria isso.

Mantenha o idioma do usuário. Mantenha números, nomes e fórmulas exatos.

Marcação:

# Título                     ## Cabeçalho                ### Subcabeçalho (sublinhado)
- marcador (2 espaços = um nível mais profundo)                1. numerado
-> linha de seta               !! LINHA IMPORTANTE (vermelho)   > nota lateral (tinta de destaque)
[ ] a fazer   [x] feito (marcado)   ---  separador        linha em branco = pular uma linha
em linha: ==destacar==  **negrito**  __sublinhado__  ~~riscado~~  {red}tinta colorida{/}  ->  (seta desenhada)
\$  = um cifrão      $...$ matemática em linha      $$...$$ sozinho em uma linha = fórmula exibida

Matemática. Coloque toda fórmula em $...$, mesmo uma curta como $x^2$ ou $E_2$. Suportado: \frac{a}{b}, \sum_{k=1}^{n}, \prod, \int_a^b, \lim_{n \to +\infty}, \sqrt{x}, \sqrt[3]{x}, x^{n+1}, x_i, \left( ... \right), \binom{n}{k}, \vec{u}, \bar{x}, \mathbb{R}, \text{...}, \mid, letras gregas, \in \subset \cup \cap \emptyset \forall \exists \leq \geq \neq \approx \pm \times \cdot \infty \to \implies \iff, e espaços \, \; \quad.

Escreva decimais como a fonte faz (0,81 ou 0.81), e números grandes como 50\,000 dentro da matemática. Escreva intervalos como são lidos: $[0, 1[$. Coloque fórmulas grandes em sua própria linha $$...$$. Uma fórmula muito larga para a página é reduzida para caber, mas dividir uma longa no sinal de = em duas linhas parece mais natural.

Salve a página como notes.md.

Passo 3: renderize

python scripts/handnotes.py render notes.md -o notes.pdf

Isso dá o padrão: uma foto de caderno, papel quadriculado, tinta azul, caligrafia padrão. Altere apenas o que o usuário pediu:

opçãovalores
--stylenotebook (foto de celular de uma página real: luz irregular, linhas descendo, folha inclinada, tinta esferográfica) · ipad (motor separado: letras retraçadas como sólidas, traços uniformes de Apple Pencil em uma página limpa)
--papersquared (notebook) ou grid (ipad), lines, college, seyes, dots, blank
--handdefault, ou uma pasta criada por build-hand ou learn
--fontuse uma fonte de caligrafia alternativa: caveat, kalam, patrick, gochi, indie, playpen
--inkblue (notebook) ou black (ipad), red, green, purple, pencil
--pagea4, letter, ipad, ipad-landscape
--seed Na mesma página sempre; altere N para uma nova versão

Use -o notes.png para obter imagens (notes-1.png, notes-2.png, e assim por diante) em vez de um PDF.

Passo 4: verifique e entregue

Veja a página 1 (renderize um PNG se não conseguir visualizar PDFs). Verifique se nenhuma linha sai da página ou se sobrepõe a outra, e se cada número corresponde à fonte. Em seguida, entregue o arquivo.

Aprendendo uma caligrafia a partir de fotos

Isso funciona a partir de qualquer página que a pessoa já escreveu. Eles não precisam preencher nada.

  1. Recortar: python scripts/handnotes.py segment p1.jpg p2.jpg p3.jpg -o hand-work Isso remove as linhas impressas do caderno, recorta cada pedaço de tinta e escreve folhas numeradas hand-work/folha-páginaN-K.png.

  2. Rotular: veja cada folha. Você sabe o que as páginas dizem, porque pode ler as fotos originais. Escreva hand-work/labels.json (os números das páginas seguem a ordem das fotos):

    {"1": {"12": "a", "13": "(", "40": "o", "41": "7"}, "2": {"5": "é", "9": "dy"}}
    
    • Rotule apenas os pedaços dos quais tem certeza. Pule qualquer coisa pouco clara, cortada ao meio, grudada a um vizinho, riscada, ou apenas um fragmento de linha.
    • Um pedaço contendo várias letras unidas pode ser rotulado como aquela palavra ou par ("o", "le", "qu"). Ele será reutilizado sempre que essa sequência aparecer, o que parece muito natural.
    • Procure obter pelo menos 2 ou 3 amostras de cada letra minúscula e de cada dígito.
  3. Construir: python scripts/handnotes.py build-hand hand-work hand-work/labels.json -o hand-deles Isso normaliza tamanhos e intensidade da tinta, descarta amostras mal cortadas e constrói letras faltantes a partir dos próprios traços do escritor (u de n, m de dois n, w de dois v, r, q). Os acentos (é è à ê ç ë) são desenhados em sua própria letra simples. Ele imprime as letras que uma fonte ainda substitui.

  4. Verifique uma renderização. Veja uma página e amplie qualquer letra que pareça quebrada ou muito fraca. Encontre suas amostras nos arquivos hand-deles/glyphs listados em hand-deles/hand.json, remova o rótulo ruim e construa novamente.

Mantenha a pasta hand-deles: é a caligrafia deles. Ofereça-se para compactá-la em um zip para que possam reutilizá-la na próxima vez.

Há também uma rota de template (template, depois learn): a pessoa preenche uma grade de 2 páginas com caixas. É mais limpo, mas dá mais trabalho para eles, então ofereça apenas se preferirem.

Habilidades Relacionadas