CommunityImagegithub.com

hsol/irasutoya

Recherchez, téléchargez et placez des illustrations gratuites d'いらすとや (irasutoya.com). Utilisez dès qu'un diaporama, document, article de blog, page web ou canevas de conception gagnerait à avoir une illustration ou une icône.

Qu'est-ce que irasutoya ?

Cette compétence permet aux agents IA d'accéder à la vaste bibliothèque japonaise いらすとや, qui contient environ 25 000 illustrations vectorielles libres de droits. Elle automatise la recherche, le classement et le téléchargement d'images PNG transparentes en un seul appel shell (environ 1,5 seconde), ce qui est idéal pour enrichir rapidement des présentations, des documents, des pages web ou des maquettes de conception sans intervention manuelle. La compétence prend en charge plusieurs commandes comme `find`, `get`, `browse`, `random` et `labels`, et s'adapte aux environnements sandbox (ex. Claude Code, Claude Cowork) en détectant automatiquement le shell approprié pour les appels réseau. Elle gère les requêtes en japonais (hiragana, katakana, kanji) avec une logique de désambiguïsation et de classement intégrée.

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

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

Demander à votre IA préférée

Ouvre une nouvelle conversation avec cette compétence d'agent déjà préchargée.

Documentation

Illustrations いらすとや

いらすとや est une bibliothèque japonaise d'environ 25 000 illustrations plates gratuites. Cette compétence les recherche, télécharge les PNG transparents et les place dans ce que vous construisez.

0. Tout en un seul appel

La recherche, le classement et le téléchargement se font en un seul appel shell (~1,5 s). Résolvez d'abord le chemin du script et le shell une fois par session (§0.1), puis :

python3 scripts/irasutoya.py get "バナナを持ったサル"
tried: バナナを持ったサル | バナナ サル | ばなな 猿 | バナナ   (10 hits)
 1* バナナを持った猿のイラスト(申年・干支) | eto_saru_banana2.png | 動物キャラ,干支
     sauvegardé ~/Downloads/irasutoya/eto_saru_banana2.png (389KB 776x800)  src https://...
 2  頭にバナナを乗せた猿のイラスト | eto_saru_banana.png | 動物キャラ,干支
CommandeCe qu'elle fait
find "<japonais>" [n]recherche uniquement, 10 candidats
get "<japonais>" [n]recherche + téléchargement des n premiers (défaut 1)
browse "<label>" [n]liste tout ce qui se trouve sous un label
random [n]n illustrations aléatoires parmi ~25 000
labels ["<sous-chaîne>"]liste les 239 labels du site
`b64 <requêtechemin> [px]`
Drapeaux--label "<nom>" garde seulement les résultats avec ce label / --get télécharge également ce qui a été listé / --open --urls --json
  • Vous en voulez plusieurs ? get "..." 3 les télécharge en un seul appel. Ne bouclez jamais un par un.
  • Les téléchargements atterrissent dans ~/Downloads/irasutoya/. Remplacez avec IRASUTOYA_OUT=/some/dir ou --out.
  • La valeur par défaut est l'original — souvent ~1100×1160 et près de 1 Mo. C'est le bon défaut (demander une taille fixe fait que Blogger réduit silencieusement), mais ce n'est rarement la bonne taille. Choisissez-en une selon §3 avant de télécharger.
  • Nécessite l'accès réseau à www.irasutoya.com et blogger.googleusercontent.com. Les sandbox d'agents refusent souvent les deux — §0.1 avant de supposer que le site est indisponible.

0.1 Quel shell, quel script

Cette compétence fonctionne dans deux types d'hôtes : celui où le shell par défaut atteint Internet (Claude Code, la plupart des configurations locales) et celui où ce n'est pas le cas (sandbox d'agents comme Claude Cowork). Résolvez les deux questions une fois par session, avant le premier appel, et ne re-sondez pas ensuite.

Trouvez le script. Le premier chemin qui existe gagne :

  1. scripts/irasutoya.py à côté de ce SKILL.md — installations groupées et plugins
  2. ~/.claude/skills/irasutoya/scripts/irasutoya.py — installation à l'échelle de l'hôte
  3. ni l'un ni l'autre — amorcez-le, puis utilisez ce chemin :
    curl -fsSL https://raw.githubusercontent.com/hsol/irasutoya/main/scripts/irasutoya.py \
      -o /tmp/irasutoya.py
    

Choisissez le shell. Le site doit être accessible depuis le shell qui exécute réellement la commande. Un sandbox refusé échoue avec curl: (56) CONNECT tunnel failed, response 403 ou un simple 000, ce qui ressemble à une indisponibilité du site et ne l'est pas. Sondez une fois :

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"
Résultat de la sondeChemin
200Utilisez le shell par défaut. Rien d'autre à faire
403 / 000 / timeout, et un outil de processus côté hôte existeExécutez chaque appel via cet outil. Dans Claude Cowork, c'est Desktop Commander start_process, qui s'exécute sur la machine réelle en dehors du sandbox
403 / 000, pas d'outil côté hôte§7

Deux règles pour le chemin côté hôte, qui échouent silencieusement si vous les ignorez :

  • Chemins absolus uniquement, pour le script et pour --out. Le shell hôte ne partage pas le répertoire de travail du sandbox, et un chemin relatif atterrit quelque part où vous ne pouvez pas lire.
  • Téléchargez dans un dossier que la session peut voir — un dossier connecté ou partagé — pas ~/Downloads. La session ne peut pas ouvrir les chemins hôtes en dehors. §4 couvre le reste.

1. Quand l'utiliser

Ajoutez une illustration sans qu'on vous le demande lors de la construction de :

  • canevas de conception et plans de travail, pages web sous forme d'artefact, pages d'accueil, affiches
  • diaporamas (diapositives HTML, .pptx)
  • rapports, guides, manuels (.docx, PDF)
  • articles de blog, newsletters, publications sociales

Ignorez pour les fichiers de code et de configuration, les sorties de tableaux de données uniquement, lorsque l'utilisateur a dit "pas d'images", et pour les documents solennels ou juridiquement contraignants (contrats, déclarations officielles, mémoires juridiques). Si le ton est ambigu, ajoutez-le et dites-le en une ligne.

Densité : 0–1 par diapositive, au maximum 1 par section de document, environ 1 par sous-titre de blog. N'en ajoutez jamais une simplement pour remplir l'espace.

2. Choisir la requête

Les requêtes doivent être en japonais, mais le script essaie les variantes orthographiques pour vous, en parallèle :

  • suppression des particules (をのがにはでへと) — seulement après un nom, donc のり garde son の
  • katakana ↔ hiragana (リンゴ ↔ りんご)
  • kanji ↔ synonymes katakana (猿↔サル, 眼鏡↔メガネ, 卵↔タマゴ) — les titres n'utilisent qu'un des deux, et lequel est imprévisible
  • suppression de la terminaison verbale (持ったサル → サル)

Le classement rétrograde les correspondances de sous-chaînes, donc chercher サル ne remonte plus アンドリューサルクス (un mammifère préhistorique).

Choisissez donc simplement le mot concept. Si vous obtenez 0 résultat, ne réessayez pas avec différentes orthographes — appelez une fois de plus avec un nom unique plus large.

ConceptRequêteConceptRequête
réunion会議 / ミーティングsouci, problème悩む / 困る / トラブル
appel vidéoビデオ会議 / オンラインavertissement注意 / 警告 / びっくり
présenterプレゼン / 発表question質問 / はてな
travail de bureau, télétravailパソコン / テレワークsuccès, célébration喜ぶ / 成功 / 万歳
programmationプログラマー / プログラミングerreur, excusesミス / 謝る
IA, robotsAI / 人工知能 / ロボットdélai, heure締め切り / 時計 / 急ぐ
données, graphiquesグラフ / データ / 分析liste de contrôle, terminéチェック / リスト
croissance, déclin上昇 / 成長 / 下降expliquer, guider説明 / 案内 / 指差し
argent, budgetお金 / 予算 / 費用shopping, paiement買い物 / キャッシュレス
contrats, paperasse契約 / 書類 / サインlivraison宅配
droit弁護士 / 裁判 / 法律santé, hôpital病院 / 医者 / 健康 / 運動
sécuritéセキュリティ / ハッカーétudes, école勉強 / 学校 / 学生
vente, support営業 / 接客 / 相談 / 電話épuisement疲れる / 過労
email, notificationメール / 通知saisons, vacances桜 / 花火 / 紅葉 / 雪 / 正月
travail d'équipe協力 / チームワーク / 握手cadres, décoration枠 / 吹き出し / 矢印 / 飾り罫線
recrutement, entretiens採用 / 面接 / 就職idéesひらめき / アイデア
  • Précisez la personne en ajoutant un mot : 会議 会社員, 勉強 女性, プレゼン 子供
  • Choisissez l'expression à partir du suffixe dans le titre du résultat : (笑顔) (真剣) (困った顔)
  • Le nom de fichier est la description. kaigi_hakui_shinken.png = réunion · blouse blanche (médecin) · visage sérieux
  • Dans un même livrable, restez dans une famille de préfixes de noms de fichiers pour que l'ensemble paraisse cohérent. --label est la version grossière de la même idée : find "会議" --label 会社 garde les employés de bureau et élimine les médecins et les ouvriers du bâtiment. labels liste ce qui est disponible, browse "<label>" parcourt toute une catégorie lorsque vous avez besoin d'un ensemble assorti. (Ne mettez pas le label dans le chemin du flux avec q — Blogger ne fait pas ET des deux, et vous obtenez des résultats qui manquent totalement le label. Filtrez côté client, ce que fait --label.)
  • Transformez les verbes abstraits en l'objet qui les représente : copier → コピー機, coller → テープのり / 接着剤, chercher → 虫眼鏡

3. Placer le fichier

Choisissez la taille en fonction de la destination. Transmettez-la au moment du téléchargement — le récupérer plus tard coûte un autre aller-retour, et redimensionner un PNG localement fait perdre en qualité que vous n'aviez pas besoin de perdre.

Destination--sizePourquoi
Impression, affiche, tout ce qui remplit le cadre(omettre — original)Vous ne pouvez pas récupérer les pixels plus tard
Diaporama, corps de document, page web800Moitié des octets, aucune différence visible
Icône en ligne, puce de liste, avatar320~40 Ko au lieu de ~1 Mo
base64 dans un artefact240 ou moinsVoir §4 — chaque octet traverse la conversation

Un diaporama de dix images fait ~10 Mo en taille originale et ~4 Mo avec --size 800. Lorsque vous

Skills associés