Synthèse automatique
Rédige ou corrige les textes sociaux (X, LinkedIn, Bluesky) dans le bloc `social:` du frontmatter d'un article de blog, avec une boucle d'autocritique jusqu'à validation.
Points forts
- Distingue trois cas par plateforme : rédaction complète, réparation minimale d'une règle enfreinte, ou conservation d'un texte déjà bon
- Vérifie chaque chiffre, nom et attribution dans le corps de l'article plutôt que dans le titre, le slug ou le meta_desc
- Contrôle réellement les limites de caractères (X 255, LinkedIn 2950, Bluesky 300) via un comptage Python avant la critique
- Boucle de critique plafonnée à 3 tours avec sous-agent dédié, plus une passe consultative séparée sur les textes conservés
Limites
- Dépend de fichiers de référence externes (writing-guide.md, critique-rubric.md, suggestions-rubric.md) non fournis avec le skill
- Ne couvre que X, LinkedIn et Bluesky, et s'appuie sur les sous-agents et les chemins `.claude/commands/` propres à Claude Code
- La résolution automatique du fichier via `git status` échoue dès qu'il y a zéro ou plusieurs articles modifiés, et demande alors une intervention
À utiliser quand un article de blog est prêt et qu'il faut produire ou nettoyer rapidement les textes sociaux de son frontmatter sans réécrire ce qui fonctionne déjà.
À éviter si les fichiers de référence de critique ne sont pas présents dans le dépôt ou si vous ciblez des plateformes autres que X, LinkedIn et Bluesky.
Analyse de sécurité
SûrThe skill only reads a blog post, performs local git status and character counting via python3, spawns internal sub-agents for critique, and edits frontmatter in the repo. It does not execute destructive commands, exfiltrate data, or disable safety features. The use of python3 and git is for legitimate local file inspection and validation.
Aucun point d'attention détecté
Comment cette analyse est faiteExemples
Draft the social copy for content/blog/why-we-moved-off-kubernetes/index.md — fill in the social block for X, LinkedIn and Bluesky.Write the social copy for the blog post I just changed (pick it from git status).Review the social copy in content/blog/observability-costs/index.md and repair anything that breaks the rules — don't rewrite what already reads well.user-invocable: true
description: Draft (or revise) the X / LinkedIn / Bluesky social copy in a blog post's frontmatter, looping with self-critique until it would pass review.
argument: optional file path to a blog post (e.g., content/blog/my-post/index.md). If omitted, picks the blog file currently changed in git status.
Draft social post
Read a blog post, write or revise social copy into its frontmatter social: block, and loop with self-critique until each platform passes review. Preserve existing copy that already works — only repair or draft fresh when there's a real problem.
Flow
-
Resolve the target file.
- If the user passed a path, use it.
- Otherwise: run
git status --porcelainand pick the single modifiedcontent/blog/*/index.md. If zero or more than one match, ask the user which file.
-
Read the blog post in full and any existing
social:block. The blog body is the source of truth for every specific you'll use — read it before drafting, not after. Title, URL slug,meta_desc, and tags are not authoritative; the body is. -
Per-platform: classify and act. For each of X, LinkedIn, Bluesky:
-
Empty (
""), missing key, or LLM-fill junk — draft fresh from the blog body using.claude/commands/social-media-review/references/writing-guide.md(see "Drafting from a blanksocial:block" — it includes the verify-specifics-against-body checklist). Honor platform structure: X = 2 paragraphs, LinkedIn = multiple short paragraphs, Bluesky = 2 paragraphs. Voice: if a single named author wrote a personal-experience post, name them in third person; otherwise corporate "we". -
Existing copy that breaks a hard rule (banned phrases, "I" voice, URL in body, hashtags, markdown, paragraph structure, char limits — see
.claude/commands/social-media-review/references/critique-rubric.md) — minimum-change repair. Drop the hashtag, swap the "I" to "we", trim the over-limit tail. Don't recast paragraphs or "improve" the voice. The original specifics and structure stay. -
Existing copy that passes hard rules and reads naturally — leave it. Do not rewrite for taste.
For LLM-fill recognition (staccato fragments as drama, em-dash chains, generic openers like "In today's cloud landscape…", buzzword stacks), see
.claude/commands/social-media-review/references/writing-guide.md"Spotting and replacing LLM-fill copy". Don't try to patch around LLM patterns; throw them out and draft fresh from the article.For any platform you draft fresh, verify each specific against the blog body before moving on. Every number, name, and attribution must appear in the body — not the title, slug, or
meta_desc. If a claim doesn't trace, drop it or replace it. -
-
Verify character counts before critique. Pipe each draft into
python3 -c "import sys; print(len(sys.stdin.read().rstrip('\n')))"(avoids quoting/escaping problems with apostrophes or triple quotes in copy). Body limits: X = 255, LinkedIn = 2950, Bluesky = 300. Revise any over-limit copy here. -
Critique loop. Spawn a sub-agent (Agent tool,
general-purposesubagent_type) with a clean slate. Brief: read.claude/commands/social-media-review/references/critique-rubric.md, evaluate the copy only (not the blog post), return PASS or FAIL per platform. Default verdict is PASS — only FAIL on hard-rule breaks.- All three PASS → go to step 6.
- Any FAIL → repair based on the cited reasons (minimum-change semantics from step 3), repeat from step 4.
- Cap at 3 critique rounds. If still failing, keep the most recent draft and note the open issues in the report.
-
Advisory pass — only on
keptplatforms. For each platform whose existing copy passed hard rules and you left untouched, spawn a sub-agent against.claude/commands/social-media-review/references/suggestions-rubric.mdto surface stylistic notes (weak opener, summarizes article, missing pointer, etc.). Do NOT modify the kept copy — surface the notes in step 8's report so the user can decide whether to apply them. PASS stays PASS. Skip this pass on platforms you repaired or drafted — the new copy is the actionable feedback already; layering advisory notes on top is noise. -
Write the final copy into the frontmatter. Use the Edit tool to replace (or insert) the
social:block. Use 4-space indent and|block-literal style for multi-line copy — seecontent/blog/neo-integration-catalog/index.mdfor a well-formatted example. Only touch platforms whose copy actually changed. -
Report. Show the path written to and per-platform status using paired verdict + action tokens (verdict from the critic, action you took):
PASS, kept— critic passed the original; preserved as-isFAIL, repaired (N chars changed)— critic failed the original; minimum-change fixmissing, drafted— no original (or unsalvageable LLM-fill); wrote fresh- Final character counts for each platform
- Iteration count ("converged in N rounds" or "stopped at 3, X open issue")
- For each
PASS, keptplatform with advisory notes, list them under "Suggestions for kept platforms (advisory — not applied)" so the user can decide whether to address them in a follow-up. Omit the section if all kept platforms returned "no suggestions".
Edge cases
- If the blog post has no body content yet (only frontmatter), tell the user — drafting against an empty post produces generic copy.
- If the user wants the existing copy preserved verbatim regardless of issues, they should say so in the invocation; otherwise this skill applies the classification above.
- If all three platforms classify as
kept, report that and exit without writing — no edit is needed.
Du fichier au premier essai
Le téléchargement contient exactement le contenu affiché sur cette fiche. Cette copie peut différer de la dernière version du dépôt source.
Consulter la source et ses fichiers annexesCe téléchargement contient uniquement SKILL.md. Les scripts, références, modèles et dépendances éventuels ne sont pas inclus. Récupérez les fichiers nécessaires depuis la source en conservant leur arborescence avant de poursuivre.
1. Télécharger le fichier
Télécharger SKILL.mdDepuis la racine d’un projet de test, enregistrez le fichier sous .skill-downloads/draft-social-posts-for-blog-posts-ms9wnyrw/SKILL.md, ou utilisez la commande suivante. Ce dossier sert à examiner la skill avant son installation.
Commande pour macOS/Linux ou WSL : un shell POSIX et curl sont nécessaires. Sous Windows sans WSL, utilisez le bouton de téléchargement et créez le dossier manuellement.
mkdir -p '.skill-downloads/draft-social-posts-for-blog-posts-ms9wnyrw' && curl --fail --show-error --location 'https://skills-guides.com/api/skills/draft-social-posts-for-blog-posts-ms9wnyrw/download' --output '.skill-downloads/draft-social-posts-for-blog-posts-ms9wnyrw/SKILL.md.part' && mv '.skill-downloads/draft-social-posts-for-blog-posts-ms9wnyrw/SKILL.md.part' '.skill-downloads/draft-social-posts-for-blog-posts-ms9wnyrw/SKILL.md'2. Vérifier les prérequis
Lisez SKILL.md avant de l’utiliser. Si le fichier cite des scripts ou services externes, examinez-les et préparez les accès nécessaires dans votre environnement de test.
Aucune section de prérequis reconnue dans ce fichier. Cela ne signifie pas qu’il est autonome : les bibliothèques, outils et accès peuvent être cités ailleurs dans le contenu ou dans le dépôt source.
Les plateformes de la fiche sont des indications du catalogue. Les chemins ci-dessous suivent la documentation des outils ; ils ne prouvent pas que cette skill y a été exécutée. Aucune version minimale de ces outils n’est attestée pour cette fiche.
3. Charger la skill
Le fichier ne fournit pas un en-tête name/description exploitable pour cette procédure native. Le téléchargement reste disponible pour lecture ; utilisez le mode manuel ci-dessous.
Mode manuel ou autre outil : joignez SKILL.md à une conversation, ou ouvrez-le dans un agent capable de lire les fichiers. Ajoutez les ressources annexes nécessaires. Il n’existe pas de dossier universel reconnu par tous les outils.
4. Faire un premier essai
Utilisez une entrée courte et fictive : un endpoint d’API, un petit document ou un brief d’interface. Dans une nouvelle conversation, joignez le fichier ou donnez son chemin à l’agent, puis adaptez cette demande :
Lis .skill-downloads/draft-social-posts-for-blog-posts-ms9wnyrw/SKILL.md et applique ses instructions à cet exemple : [décrire une entrée de test]. Indique les fichiers, dépendances ou accès qui manquent. Produis le résultat demandé par la skill sans inventer de données ni exécuter de script non examiné.Résultat attendu : une sortie correspondant aux instructions de la skill, ou une liste précise des prérequis manquants. Une simple confirmation de lecture ne valide pas le premier usage. Si une ressource externe est indisponible, ce parcours reste à tester.
Fragments d'écriture
Contenu
Extrayez des fragments d'écriture bruts via un entretien intensif, sans imposer de structure. Capturez idées, citations et mots porteurs pour une utilisation ultérieure.
Rédaction UI et audit
Contenu
Rédigez ou auditez les textes d'interface (boutons, erreurs, états vides, infobulles) dans le monorepo, en suivant la source de vérité du design system.
Extraction MIDI/score
Contenu
Extrait le MIDI ou la partition d'une production musicale existante via l'outil MCP CogMusic et confirme la disponibilité du fichier.