CommunityImagemgithub.com

hsol/irasutoya

Encontre, baixe e coloque ilustrações gratuitas do いらすとや (irasutoya.com). Use sempre que um slide, documento, post de blog, página web ou canvas de design ficar melhor com uma ilustração ou ícone.

O que é irasutoya?

Esta skill permite que agentes de IA (como Claude Code, Cursor ou Codex) busquem, classifiquem e baixem ilustrações gratuitas do banco japonês いらすとや, que contém cerca de 25.000 imagens em estilo flat. A operação principal é feita em uma única chamada de shell rapida (~1,5s), que pesquisa por termos em japonês, faz o download dos PNGs com fundo transparente e os coloca no diretório de saída configurado. A skill suporta modos como `find` (apenas busca), `get` (busca + download do melhor resultado), `browse` (navegar por categorias/labels), `random` (ilustrações aleatórias) e `labels` (listar todas as categorias). O usuário pode controlar o tamanho da imagem (`--size`), filtrar por label (`--label`), e redefinir o diretório de saída (`IRASUTOYA_OUT`). A skill detecta automaticamente se o shell tem acesso à internet e, caso esteja em um sandbox restrito (ex: Claude Cowork), orienta o uso de ferramentas do host (como `start_process` do Desktop Commander) para executar os comandos no ambiente real. É ideal para enriquecer slides, documentos, posts, páginas web e designs com ilustrações contextuais sem sobrecarregar o fluxo de trabalho.

Funciona com✓Claude Code~Codex CLI~Cursor
npx skills add https://github.com/hsol/irasutoya/tree/main

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

Ilustrações いらすとや

いらすとや é uma biblioteca japonesa com cerca de 25.000 ilustrações planas gratuitas. Esta skill pesquisa, baixa os PNGs transparentes e os coloca no que você estiver construindo.

0. Uma única chamada faz tudo

A busca, classificação e download acontecem em uma única chamada de shell (~1,5s). Resolva o caminho do script e o shell uma vez por sessão primeiro (§0.1), depois:

python3 scripts/irasutoya.py get "バナナを持ったサル"
tried: バナナを持ったサル | バナナ サル | ばなな 猿 | バナナ   (10 hits)
 1* バナナを持った猿のイラスト(申年・干支) | eto_saru_banana2.png | 動物キャラ,干支
     saved ~/Downloads/irasutoya/eto_saru_banana2.png (389KB 776x800)  src https://...
 2  頭にバナナを乗せた猿のイラスト | eto_saru_banana.png | 動物キャラ,干支
ComandoO que faz
find "<japones>" [n]apenas busca, 10 candidatos
get "<japones>" [n]busca + download dos top n (padrão 1)
browse "<rotulo>" [n]lista tudo sob um label
random [n]n ilustrações aleatórias das ~25.000
labels ["<substr>"]lista os 239 labels do site
`b64 <consultacaminho> [px]`
Flags--label "<nome>" mantém só resultados com esse label / --get também baixa o que foi listado / --open --urls --json
  • Precisa de várias? get "..." 3 baixa em uma chamada. Nunca repita uma por uma.
  • Os downloads vão para ~/Downloads/irasutoya/. Sobrescreva com IRASUTOYA_OUT=/algum/dir ou --out.
  • O padrão é o upload original — geralmente ~1100×1160 e perto de 1 MB. Esse é o padrão correto (pedir um tamanho fixo faz o Blogger reduzir silenciosamente), mas raramente é o tamanho ideal. Escolha um conforme §3 antes de baixar.
  • Requer acesso de rede a www.irasutoya.com e blogger.googleusercontent.com. Sandboxes de agente geralmente negam ambos — §0.1 antes de assumir que o site está fora.

0.1 Qual shell, qual script

Esta skill funciona em dois tipos de host: um onde o shell padrão alcança a internet (Claude Code, a maioria das configurações locais) e outro onde não alcança (sandboxes de agente como Claude Cowork). Resolva as duas questões uma vez por sessão, antes da primeira chamada, e não teste novamente depois.

Encontre o script. O primeiro caminho que existir vence:

  1. scripts/irasutoya.py ao lado deste SKILL.md — instalações empacotadas e de plugin
  2. ~/.claude/skills/irasutoya/scripts/irasutoya.py — instalação global do host
  3. nenhum — inicialize-o e use esse caminho:
    curl -fsSL https://raw.githubusercontent.com/hsol/irasutoya/main/scripts/irasutoya.py \
      -o /tmp/irasutoya.py
    

Escolha o shell. O site precisa estar acessível a partir do shell que realmente executa o comando. Um sandbox negado falha com curl: (56) CONNECT tunnel failed, response 403 ou um simples 000, o que parece que o site está fora e não é. Teste uma vez:

curl -sS -o /dev/null -w "%{http_code}\n" --max-time 8 \
  "https://www.irasutoya.com/feeds/posts/summary?q=%E7%8C%AB&alt=json&max-results=1"
Resultado do testeRota
200Use o shell padrão. Nada mais a fazer
403 / 000 / timeout, e existe uma ferramenta de processo do lado do hostExecute cada chamada através dessa ferramenta. No Claude Cowork é o start_process do Desktop Commander, que executa na máquina real fora do sandbox
403 / 000, sem ferramenta do lado do host§7

Duas regras na rota do lado do host, ambas falham silenciosamente se você as pular:

  • Apenas caminhos absolutos, para o script e para --out. O shell do host não compartilha o diretório de trabalho do sandbox, e um caminho relativo cai em algum lugar que você não pode ler.
  • Baixe em uma pasta que a sessão possa ver — uma pasta conectada ou compartilhada — não ~/Downloads. A sessão não pode abrir caminhos do host fora dela. §4 cobre o resto.

1. Quando usar

Adicione uma ilustração sem ser solicitado ao construir:

  • canvases de design e artboards, páginas web de artefato, landing pages, pôsteres
  • decks de slides (slides HTML, .pptx)
  • relatórios, guias, manuais (.docx, PDF)
  • posts de blog, newsletters, posts sociais

Pule para arquivos de código e configuração, saída apenas de tabela de dados, quando o usuário disse "sem imagens", e para documentos solenes ou legalmente vinculativos (contratos, registros oficiais, petições jurídicas). Se o tom for ambíguo, adicione e diga isso em uma linha.

Densidade: 0–1 por slide, no máximo 1 por seção de documento, aproximadamente 1 por subtítulo de blog. Nunca adicione uma só para preencher espaço.

2. Escolhendo a consulta

As consultas devem ser em japonês, mas o script tenta as variantes ortográficas para você, em paralelo:

  • remoção de partículas (をのがにはでへと) — apenas após um substantivo, então のり mantém seu の
  • katakana ↔ hiragana (リンゴ ↔ りんご)
  • kanji ↔ sinônimos katakana (猿↔サル, 眼鏡↔メガネ, 卵↔タマゴ) — os títulos usam apenas um dos dois, e qual é imprevisível
  • remoção de terminação verbal (持ったサル → サル)

A classificação rebaixa correspondências de substring, então pesquisar サル não traz mais アンドリューサルクス (um mamífero pré-histórico).

Portanto, basta escolher a palavra do conceito. Se não houver resultados, não tente novamente com grafias diferentes — chame mais uma vez com um único substantivo mais amplo.

ConceitoConsultaConceitoConsulta
reunião会議 / ミーティングpreocupação, problema悩む / 困る / トラブル
chamada de vídeoビデオ会議 / オンラインaviso注意 / 警告 / びっくり
apresentarプレゼン / 発表pergunta質問 / はてな
trabalho de mesa, remotoパソコン / テレワークsucesso, celebração喜ぶ / 成功 / 万歳
programaçãoプログラマー / プログラミングerro, desculpaミス / 謝る
IA, robôsAI / 人工知能 / ロボットprazo, tempo締め切り / 時計 / 急ぐ
dados, gráficosグラフ / データ / 分析checklist, concluídoチェック / リスト
crescimento, declínio上昇 / 成長 / 下降explicar, guiar説明 / 案内 / 指差し
dinheiro, orçamentoお金 / 予算 / 費用compras, pagamento買い物 / キャッシュレス
contratos, papelada契約 / 書類 / サインentrega宅配
lei弁護士 / 裁判 / 法律saúde, hospital病院 / 医者 / 健康 / 運動
segurançaセキュリティ / ハッカーestudo, escola勉強 / 学校 / 学生
vendas, suporte営業 / 接客 / 相談 / 電話esgotamento疲れる / 過労
e-mail, notificaçãoメール / 通知estações, feriados桜 / 花火 / 紅葉 / 雪 / 正月
trabalho em equipe協力 / チームワーク / 握手molduras, decoração枠 / 吹き出し / 矢印 / 飾り罫線
contratação, entrevistas採用 / 面接 / 就職ideiasひらめき / アイデア
  • Identifique a pessoa adicionando uma palavra: 会議 会社員, 勉強 女性, プレゼン 子供
  • Escolha a expressão pelo sufixo no título do resultado: (笑顔) (真剣) (困った顔)
  • O nome do arquivo é a descrição. kaigi_hakui_shinken.png = reunião · jaleco branco (médico) · rosto sério
  • Dentro de uma entrega, fique em uma família de prefixo de nome de arquivo para que o conjunto pareça coerente. --label é a versão direta da mesma ideia: find "会議" --label 会社 mantém o corte de trabalhador de escritório e descarta médicos e operários da construção. labels lista o que está disponível, browse "<rotulo>" percorre uma categoria inteira quando você precisa de um conjunto correspondente. (Não coloque o label no caminho do feed junto com q — o Blogger não faz AND dos dois, e você obtém resultados que não têm o label. Filtre no lado do cliente, que é o que --label faz.)
  • Transforme verbos abstratos em o objeto que os representa: copiar → コピー機, colar → テープのり / 接着剤, pesquisar → 虫眼鏡

3. Posicionando o arquivo

Escolha o tamanho de onde ele vai. Passe no momento do download — buscar novamente depois custa outro round trip, e redimensionar um PNG localmente custa qualidade que você não precisava perder.

Onde vai--sizePor quê
Impressão, pôster, qualquer coisa que preencha o quadro(omitir — original)Você não pode recuperar os pixels depois
Deck de slides, corpo de documento, página web800Metade dos bytes, sem diferença visível
Ícone inline, marcador de lista, avatar320~40 KB em vez de ~1 MB
base64 em um artefato240 ou menosVeja §4 — cada byte cruza a conversa

Um deck de dez imagens tem ~10 MB no original e ~4 MB com --size 800. Quando você acerta o tamanho desde o início, economiza largura de banda e evita re-baixar.

Habilidades Relacionadas