kilaslab/kilas-content

Planifier et créer du contenu social de bout en bout pour n'importe quelle marque : un plan mensuel avec piliers, séries et calendrier ; des articles documentés avec un accroche qui attire l'attention ; des carrousels Instagram et des publications uniques construits dans Figma ou rendus de HTML à PNG ; des scripts et storyboards pour Reels/TikTok ; des posts et threads X ; des posts et documents LinkedIn ; Threads ; et des articles longs qui les alimentent.

Qu'est-ce que kilas-content ?

Cette compétence permet aux agents IA de gérer l'ensemble du processus de création de contenu social pour une marque, de la planification à la publication. Elle est conçue pour des plateformes d'agents comme Claude Code, Cursor ou Codex, et s'appuie sur un ensemble structuré de scripts, modèles et références. L'agent commence par lire un « pack de marque » (voix, piliers, design) puis choisit entre plusieurs modes : Planification (calendrier mensuel), Création (carrousel, post, thread, script Reels, article), Réaffectation (découper un contenu long en plusieurs formats), ou Révision (analyser les performances). La création détaillée implique une recherche approfondie, l'écriture d'un accroche et d'un texte sans artefacts IA, la construction des visuels dans Figma ou via du HTML rendu en PNG, et la génération d'une fiche de publication. La compétence insiste sur la qualité : des vérifications automatisées (lint, validation de plan), des règles d'écriture strictes (métaphores, transitions, appels à l'action) et une variété de design pour éviter la monotonie. Elle inclut également des outils pour la recherche, la génération d'images et l'export, et demande une confirmation explicite avant de publier quoi que ce soit.

Compatible avec✓Claude Code✓Codex CLI~Cursor✓Antigravity✓Gemini CLI
npx skills add https://github.com/kilaslab/kilas-content/tree/main/skills/kilas-content

Installed? Explore more Productivité et collaboration skills: steipete/gemini, steipete/gh-issues, steipete/skill-creator · 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

Contenu : planifier et créer

Planifier le contenu d'une marque et le produire de bout en bout : une histoire documentée, une accroche qui attire l'attention, un texte sans artefacts IA, une construction dans le design de la marque et une fiche de publication par canal. Tout ce qui est spécifique à la marque vit dans un pack de marque ; la méthode ici fonctionne pour n'importe quelle marque. Les trames sont construites dans Figma ou écrites en HTML et rendues en PNG, selon le choix de la marque lors de la configuration.

Les mots décident si quelqu'un s'arrête. La majeure partie de l'effort va dans la recherche et l'écriture, avant Figma ou une caméra. Lisez references/writing-craft.md et les deux exemples travaillés avant d'écrire quoi que ce soit : references/examples/linux-7.4-carousel.md (un article d'actualité) et references/examples/ai-cost-js-carousel.md (l'expérience de quelqu'un d'autre). Chacun liste les brouillons qui ont perdu et pourquoi ; imitez les mouvements, pas les phrases.

Commencez ici, à chaque exécution

Les chemins vers scripts/, references/, templates/ et brands/ se trouvent dans le dossier de cette compétence ; content/ est dans le projet sur lequel vous travaillez. Exécutez les commandes depuis la racine du projet avec le chemin de la compétence, par exemple python3 <skill>/scripts/new_item.py content ... (<skill> est le dossier où se trouve ce fichier). Les scripts qui utilisent Pillow (contact_sheet.py, slides_to_pdf.py, artefact_marks.py, ref_sheets.py) s'exécutent sans python3 -I.

  1. Vérification de la configuration. Lisez content/setup.md dans le projet. S'il n'existe pas, c'est la première exécution : exécutez la compétence setup-content (installée à côté ; dans ce dépôt à ../setup-content/SKILL.md ; invoquez-la, ou suivez-la manuellement) avant toute autre chose. Elle demande quelle marque, collecte les propres assets de la marque sur son site et ses profils avec autorisation, choisit le moteur de rendu (Figma ou HTML → PNG) et écrit le pack de marque.
  2. Trouvez le pack de marque (brands/README.md) : content/brand/ dans le projet, sinon brands/<name>/ dans cette compétence. Lisez brand.md, design.md et content/brand/assets/README.md s'il existe (les propres photos et logos de la marque priment sur les images libres de droit). Tout ce qui est marqué (proposé) n'est pas définitif ; demandez avant de fonder un plan là-dessus.
  3. Faites l'inventaire des outils et utilisez tous ceux qui aident (references/research-tools.md) : recherche web, récupération de page, un vrai navigateur (ego-browser), des MCP de réseaux sociaux ou un accès X intégré, Figma MCP et génération d'images : votre propre outil d'image si vous en avez un (Grok Bot's Grok Imagine, Codex, ChatGPT, Antigravity), puis python3 <skill>/scripts/gen_image.py detect (agy, OpenAI, Gemini, clés xAI). Notez ce qui manque.
  4. Trouvez l'espace de travail (templates/workspace.md) : content/ avec plan/, items/, reviews/, ideas.md, design-log.md. Créez-le la première fois.
  5. Choisissez le mode ci-dessous.
L'utilisateur veutMode
un plan, un calendrier, "rencana konten bulan ini"Planification
une pièce : carrousel, publication unique, thread, script Reels, post LinkedIn, articleCréation
plusieurs pièces à partir d'une seule sourceRéaffectation
savoir ce qui a fonctionné et quoi changerRévision
configurer une nouvelle marque, changer le moteur de rendu ou rafraîchir les assetsConfiguration (la compétence setup-content)

Planification

  1. Lisez les entrées (references/planning.md section 1) : pack de marque, dernière révision, ideas.md, les moments du mois (vérifiez les dates), la capacité, l'objectif du propriétaire.
  2. Écrivez content/plan/YYYY-MM.md à partir de templates/plan-month.md : piliers avec leurs parts, séries à leur cadence, environ un quart des créneaux réactifs, chaque élément fort découpé en 3 à 5 formats sur différents jours.
  3. python3 <skill>/scripts/check_plan.py content/plan/YYYY-MM.md --brand <pack>/brand.md jusqu'à ce qu'il n'y ait plus d'échec ; expliquez tout avertissement que vous conservez dans les notes du plan.
  4. Rapportez : le mois en trois lignes, ce qui est proposé et nécessite un accord, les lacunes.

Création

  1. Dossier de l'élément : python3 <skill>/scripts/new_item.py content <date> <slug> <format>.
  2. Recherche (research-tools.md) : source primaire, un lien en profondeur, corrections depuis la publication, les propres mots des personnes nommées, l'angle local, une deuxième source par chiffre.
  3. Histoire dans brief.md (writing-craft.md sections 1–4) : cinq questions, le tournant, l'échelle (berita, uji coba, daftar referensi, ou une rubrique de copy-playbook.md), la diapositive ou publication qui vaut la peine d'être conservée, cinq accroches dans au moins trois formes passées par les portails et les duels, une famille de métaphores avec sa ligne Verbs :.
  4. Texte dans copy.md pour le format (references/formats/ : carousel.md, single-post.md, x.md, threads.md, linkedin.md, reels-tiktok.md, long-form.md), une note source > sous chaque chiffre, nom et citation. Chaque titre passe "lalu kenapa?" et la métaphore est dans au moins trois d'entre eux ; les mises en garde vont là où writing-craft.md 7b les place ; l'action passe "qui, avec quoi, quand". Ensuite, python3 <skill>/scripts/lint_copy.py <item>/copy.md --format <format> --brand <pack>/brand.md doit sortir avec le code 0 (new_item.py imprime le bon --format : thread est linté comme x, document comme linkedin). Lisez ses avertissements et sa lecture uniquement des titres ; écrivez cette lecture dans brief.md et lisez le texte à voix haute une fois.
  5. Images (image-sourcing.md) : artefacts réels sur les trames de preuve ; pour les trames de métaphore, les propres photos de la marque, puis une image générée automatiquement quand rien ne convient (votre propre outil d'image d'abord, puis agy, puis une API payante uniquement si content/setup.md le permet), puis Unsplash ; un fil visuel, les crédits conservés depuis le manifeste. Le propriétaire peut changer l'outil d'image ou arrêter la génération à tout moment.
  6. Choisissez le thème et les mises en page (design-variety.md) : le thème de couleurs de la série, ou pour une pièce unique un thème que les pièces précédentes n'ont pas utilisé ; puis une variante par diapositive selon son travail et selon ce que content/design-log.md dit avoir été utilisé récemment, afin que deux pièces ne se ressemblent pas. Écrivez-les dans le tableau "Design" de brief.md, avec un style de marque de titre et une diapositive qui brise le motif. Les pages de galerie du pack de marque (Figma) ou content/setup-gallery/*.jpg (HTML), et refs/ quand le pack en a, montrent les options.
  7. Construisez avec le moteur de rendu dans content/setup.md (design-system.md) ; quand il dit les deux, suivez sa règle pour savoir quelles pièces vont où, sinon demandez :
    • Figma (figma-mechanics.md) : les fonctions de mise en page dans scripts/figma-helpers.js, regroupées avec le bloc BRAND du pack par scripts/figma_bundle.py --brand <pack>/design.md --page "<name>" --scheme <scheme> --n <frames> (l'outil prend 50 000 caractères), sur une nouvelle page du fichier Figma de la marque ; ne touchez jamais aux autres pages. Téléchargez les images, puis tonifiez-les dans un deuxième appel avec les paires du thème (duotone(id, 'light' | 'dark')).
    • HTML → PNG (html-render.md) : scripts/new_html.py configure le dossier html/ de l'élément avec le kit et le CSS de la marque ; écrivez slides.html avec les mises en page du kit, avec les photos choisies et les images générées copiées dans html/img/ ; scripts/render_slides.py rend un PNG par diapositive. Reels : storyboard.md + une trame de couverture 1080×1920 (Figma, ou une page HTML séparée comme le dit html-render.md section 4).
  8. Vérifiez à moindre coût : d'abord la vérification de la mise en page (layoutCheck() dans Figma, les problèmes que render_slides.py imprime en HTML) et corrigez ce qu'elle rapporte ; puis regardez la couverture, la trame de données et ce qui a changé (captures d'écran une par une dans Figma ; les PNG en HTML). Si l'utilisateur arrête les captures d'écran, arrêtez-vous et dites quelles trames sont restées non vérifiées.
  9. Fiche de publication : publish.md avec le texte par canal, hashtags dans les limites, texte alternatif, heure, liens, crédits ; ajoutez une ligne à content/design-log.md. La publication est l'étape du propriétaire, sauf s'il vous demande explicitement de publier une pièce spécifique via un outil connecté ; confirmez d'abord.
  10. Rapportez : où elle se trouve, la direction en deux lignes, les mises en page choisies, ce qui a et n'a pas été vérifié, quels outils de recherche vous aviez et lesquels vous manquaient, et la légende.

Réaffectation

Planifiez les découpes ensemble (planning.md section 6), un dossier d'élément, une ligne par découpe dans le plan. Chaque découpe est réécrite pour son format (references/formats/), dit quelque chose de complet par elle-même et renvoie. Les trames du carrousel servent également de document LinkedIn (scripts/slides_to_pdf.py) et de publication photo Threads/TikTok.

Révision

Écrivez content/reviews/YYYY-MM.md à partir de templates/review-month.md : chiffres provenant uniquement de la plateforme ou du propriétaire, datés ; comparez chaque pièce avec la médiane propre à la marque pour son format ; décidez conserver, corriger ou arrêter par série ; reportez les décisions dans le plan du mois suivant. Aucun chiffre partagé : listez ce qu'il faut collecter et arrêtez-vous.

Règles d'écriture qui ont le plus de poids

Méthode complète dans writing-craft.md, règles dans copy-playbook.md, langue dans language/<lang>.md.

  • Accroche = chiffre exact + scène + enjeux, ou une des six formes dans writing-craft.md section 3b. Écrivez-en cinq dans trois formes, passez-les par les portails (≤30 mots, simple, sans mise en garde, honnête, la réponse retenue, tension), duellez les survivants et écrivez pourquoi chaque perdant a perdu. Ne les notez pas : les auto-notes font match nul.
  • Les titres sont des affirmations avec une conséquence : chacun passe "lalu kenapa?". Les mots-clés du sujet vont dans le sourcil. Marquez le ou les deux mots qui portent l'affirmation.
  • Une famille de métaphores, dite une fois, puis portée dans les verbes d'au moins trois titres.
  • Un tournant tard dans l'histoire ; une trame ou publication qui vaut la peine d'être conservée.
  • Ramenez-le à la maison : le propre prix, date, lieu, entreprise ou action du public.
  • Les chiffres comparent équitablement, les graphiques commencent à zéro, les atténuations sont copiées de la source, la première personne seulement pour ce que la marque a fait.
  • Les atténuations restent dans la phrase ; les mises en garde ont un budget : aucune sur la couverture ou dans un titre, une sur la diapositive de données, une sur la diapositive d'opinion, le reste dans la légende.
  • L'opinion est étiquetée et se termine par une action qui passe "qui, avec quoi, quand".
  • Un seul appel à l'action issu du pack de marque ; la promesse décrit ce que la pièce vient de faire.
  • Langue du pack de marque ; une autre langue uniquement lorsque l'utilisateur le demande explicitement pour cette pièce.
  • Pas d'ouverture standard, pas d'artefacts IA ; le lint attrape la plupart.

Porte de qualité

  • Pack de marque lu ; rien de (proposé) utilisé comme définitif sans demander.
  • Chaque outil de recherche disponible a été utilisé là où il aide ; lacunes signalées.
  • Cinq questions d'histoire répondues avec l'angle local ; le tournant placé.
  • Atelier d'accroche réalisé avec portails et duels ; la couverture fait ≤30 mots sans mise en garde et fonctionne seule.
  • Lecture uniquement des titres écrite dans brief.md et raconte l'histoire ; la métaphore est dans au moins trois titres ; une pièce qui vaut la peine d'être conservée, nommée.
  • L'action passe "qui, avec quoi, quand".
  • lint_copy.py sort avec le code 0 pour le format ; chaque chiffre, nom et citation a une note.
  • Limites de la plateforme respectées (formats/specs.md) : hashtags, caractères, zones de sécurité.
  • Mises en page choisies par diapositive dans brief.md ; la couverture et la marque de titre diffèrent de la pièce précédente dans content/design-log.md ; une diapositive brise le motif.
  • Un thème appliqué ; les propres photos de la marque utilisées là où elles conviennent ; photos tonifiées ; captures d'écran en couleur, non modifiées, créditées, marquées avec des marques de surligneur.
  • Vérification de la mise en page propre (layoutCheck() dans Figma, render_slides.py en HTML) ou chaque note expliquée ; couverture et trame de données vues (ou l'écart signalé).
  • Fermeture : un appel à l'action, toutes les sources et crédits ; les images générées étiquetées comme illustrations.
  • publish.md complet et une ligne ajoutée à content/design-log.md ; rien n'est publié, aimé ou suivi sans consentement explicite.
  • Les plans passent check_plan.py.

Carte des fichiers

FichierÀ lire quand
brands/README.md, brands/<brand>/brand.md, design.mdchaque exécution
../setup-content/SKILL.md, references/brand-onboarding.mdpremière exécution (pas de content/setup.md), une nouvelle marque, un nouveau moteur de rendu
references/planning.mdplanification, réaffectation, révision
references/writing-craft.md, references/examples/*.md (deux carrousels travaillés avec des brouillons rejetés)avant d'écrire quoi que ce soit
references/copy-playbook.mdframeworks, format copy.md, appel à l'action, légende
references/language/id.md, en.mdla langue de la marque
references/formats/*.mdle format en cours de création ; specs.md pour les limites
references/design-system.md, design-variety.md, design-references.mdavant de construire les trames : rôles, variantes de mise en page et comment les choisir, motifs d'autres comptes
references/figma-mechanics.mdavant la première use_figma ; téléchargement, duotone, captures d'écran
references/html-render.md, templates/html/le moteur de rendu HTML → PNG : configuration, référence de classe, rendu, vérification
references/image-sourcing.md, research-tools.mdrecherche et images
references/patterns-from-data.mdpourquoi les règles sont ce qu'elles sont
references/prerequisites.mdinstallation des compagnons et outils optionnels
templates/espace de travail, configuration, plan, brief, publication, révision, idées, journal de design ; html/ (kit de diapositives et exemple)
scripts/lint_copy.py, check_plan.py, new_item.py, figma-helpers.js (mises en page, thèmes), figma_bundle.py, figma-gallery.js + figma-gallery-2.js, figma-gallery-schemes.js, brand_css.py, new_html.py, render_slides.py, crawl_site.py, capture_profile.sh, artefact_marks.py, ref_sheets.py, slides_to_pdf.py, capture_artefact.sh, x_post.py, scan_site_tokens.sh, unsplash_search.py, gen_image.py, agy_image.sh, contact_sheet.py, export_oss.sh

Quand ne pas utiliser ceci

Pas pour un diaporama ou une présentation (utilisez une compétence de diapositives), pas pour construire un site web, et pas pour une correction d'un mot dans un post existant (modifiez-le directement).

Skills associés