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.
- Vérification de la configuration. Lisez
content/setup.mddans 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. - Trouvez le pack de marque (
brands/README.md) :content/brand/dans le projet, sinonbrands/<name>/dans cette compétence. Lisezbrand.md,design.mdetcontent/brand/assets/README.mds'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. - 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), puispython3 <skill>/scripts/gen_image.py detect(agy, OpenAI, Gemini, clés xAI). Notez ce qui manque. - Trouvez l'espace de travail (
templates/workspace.md) :content/avecplan/,items/,reviews/,ideas.md,design-log.md. Créez-le la première fois. - Choisissez le mode ci-dessous.
| L'utilisateur veut | Mode |
|---|---|
| un plan, un calendrier, "rencana konten bulan ini" | Planification |
| une pièce : carrousel, publication unique, thread, script Reels, post LinkedIn, article | Création |
| plusieurs pièces à partir d'une seule source | Réaffectation |
| savoir ce qui a fonctionné et quoi changer | Révision |
| configurer une nouvelle marque, changer le moteur de rendu ou rafraîchir les assets | Configuration (la compétence setup-content) |
Planification
- Lisez les entrées (
references/planning.mdsection 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. - Écrivez
content/plan/YYYY-MM.mdà partir detemplates/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. python3 <skill>/scripts/check_plan.py content/plan/YYYY-MM.md --brand <pack>/brand.mdjusqu'à ce qu'il n'y ait plus d'échec ; expliquez tout avertissement que vous conservez dans les notes du plan.- Rapportez : le mois en trois lignes, ce qui est proposé et nécessite un accord, les lacunes.
Création
- Dossier de l'élément :
python3 <skill>/scripts/new_item.py content <date> <slug> <format>. - 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. - Histoire dans
brief.md(writing-craft.mdsections 1–4) : cinq questions, le tournant, l'échelle (berita, uji coba, daftar referensi, ou une rubrique decopy-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 ligneVerbs :. - Texte dans
copy.mdpour 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.md7b les place ; l'action passe "qui, avec quoi, quand". Ensuite,python3 <skill>/scripts/lint_copy.py <item>/copy.md --format <format> --brand <pack>/brand.mddoit sortir avec le code 0 (new_item.pyimprime le bon--format:threadest linté commex,documentcommelinkedin). Lisez ses avertissements et sa lecture uniquement des titres ; écrivez cette lecture dansbrief.mdet lisez le texte à voix haute une fois. - 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, puisagy, puis une API payante uniquement sicontent/setup.mdle 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. - 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 quecontent/design-log.mddit avoir été utilisé récemment, afin que deux pièces ne se ressemblent pas. Écrivez-les dans le tableau "Design" debrief.md, avec un style de marque de titre et une diapositive qui brise le motif. Les pages de galerie du pack de marque (Figma) oucontent/setup-gallery/*.jpg(HTML), etrefs/quand le pack en a, montrent les options. - 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 dansscripts/figma-helpers.js, regroupées avec le blocBRANDdu pack parscripts/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.pyconfigure le dossierhtml/de l'élément avec le kit et le CSS de la marque ; écrivezslides.htmlavec les mises en page du kit, avec les photos choisies et les images générées copiées danshtml/img/;scripts/render_slides.pyrend un PNG par diapositive. Reels :storyboard.md+ une trame de couverture 1080×1920 (Figma, ou une page HTML séparée comme le dithtml-render.mdsection 4).
- Figma (
- Vérifiez à moindre coût : d'abord la vérification de la mise en page (
layoutCheck()dans Figma, les problèmes querender_slides.pyimprime 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. - Fiche de publication :
publish.mdavec 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. - 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.mdsection 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.mdet 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.pysort 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 danscontent/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.pyen 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.mdcomplet 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.md | chaque exécution |
../setup-content/SKILL.md, references/brand-onboarding.md | première exécution (pas de content/setup.md), une nouvelle marque, un nouveau moteur de rendu |
references/planning.md | planification, 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.md | frameworks, format copy.md, appel à l'action, légende |
references/language/id.md, en.md | la langue de la marque |
references/formats/*.md | le format en cours de création ; specs.md pour les limites |
references/design-system.md, design-variety.md, design-references.md | avant de construire les trames : rôles, variantes de mise en page et comment les choisir, motifs d'autres comptes |
references/figma-mechanics.md | avant 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.md | recherche et images |
references/patterns-from-data.md | pourquoi les règles sont ce qu'elles sont |
references/prerequisites.md | installation 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).