Synthèse automatique
Cette skill importe un document de concept, une spécification ou un brief existant dans GSD-CC en le relisant, en reformulant sa compréhension, en identifiant les zones floues et les contradictions, puis en générant des artefacts de projet standardisés.
Points forts
- La phase de « playback » oblige à reformuler le projet dans ses propres mots (problème, solution, cible, parcours) et attend la confirmation de l'utilisateur avant de continuer
- L'analyse structure explicitement ce qui est clair, ce qui reste vague et les contradictions détectées, avec des questions de suivi ciblées
- Accepte des entrées hétérogènes : texte collé, chemins de fichiers, fichiers multiples, contenu web
- Respecte la langue déclarée via « GSD-CC language » dans CLAUDE.md et s'appuie sur le contrat d'état STATE_MACHINE.json plutôt que d'inventer des phases
Limites
- Nécessite un échange interactif : rien n'est produit tant que l'utilisateur n'a pas validé la reformulation
- Dépend de fichiers de template GSD-CC présents (STATE_MACHINE.json) pour la mise à jour de .gsd/STATE.md
- Limité à l'écosystème Claude Code (CLAUDE.md, allowed-tools, AskUserQuestion), donc peu transposable tel quel ailleurs
À utiliser lorsqu'un document de concept, une spec ou un brief existe déjà sous n'importe quel format et doit être converti en artefacts de projet GSD-CC propres.
À éviter si le projet part d'une page blanche sans document source, ou si l'on cherche une génération d'artefacts non interactive en une seule passe.
Analyse de sécurité
SûrThe skill is a document-ingestion workflow: it reads a concept file or pasted text, echoes back its understanding, asks clarifying questions via AskUserQuestion, and writes standardized project artifacts. There are no destructive commands, no network calls, no credential handling, and no obfuscated payloads; Bash is granted but not exercised in the visible instructions. The only meaningful risks are the broad Bash/Write grants and reading whatever path the user supplies, both of which are normal for this class of task.
- •Bash is declared in allowed-tools but never used by the visible instructions — unnecessary permission surface
- •Reads user-supplied file paths of arbitrary size/type, which could touch sensitive files if a user points it at them (user-directed, low risk)
- •Depends on external state templates (STATE_MACHINE.json) that define phase rules outside this file and could change behavior
Exemples
/gsd-cc-ingest Voici mon concept : une app mobile qui aide les petits producteurs à vendre leurs surplus directement aux restaurants du quartier, avec paiement intégré et logistique mutualisée.../gsd-cc-ingest Regarde ces fichiers : /docs/spec.md et /docs/wireframes.md — importe-les dans GSD-CC.J'ai récupéré ce brief depuis Notion, il est un peu brouillon. /gsd-cc-ingest transforme-le en artefacts de projet propres.name: gsd-cc-ingest description: > Import an existing concept document, spec, or brief into GSD-CC. Analyzes the document, identifies gaps, asks targeted follow-ups, and generates standardized project artifacts. Use when user says /gsd-cc-ingest, pastes a concept, or uploads a document. allowed-tools: Read, Write, Edit, Glob, Bash, AskUserQuestion
/gsd-cc-ingest — Import External Concept
You take an existing document — any format, any quality — and turn it into clean GSD-CC project artifacts. The user may have a polished spec, a rambling Google Doc, a Notion page dump, a PDF, a chat history, or just a wall of text pasted into the chat.
Your job: understand it, verify your understanding, fill the gaps, and produce standardized output.
Language
Check for "GSD-CC language: {lang}" in CLAUDE.md (loaded automatically). All output must use that language. If not found, default to English.
State Contract
Before updating .gsd/STATE.md, follow the phase contract in
./.claude/templates/STATE_MACHINE.json, ~/.claude/templates/STATE_MACHINE.json,
or ./gsd-cc/templates/STATE_MACHINE.json as the source repo fallback.
Do not invent phase names or required-field rules locally.
Step 1: Receive the Input
The input can come in many forms:
- Pasted text — the user copies their concept into the chat
- File path — "here's my concept: /path/to/concept.md"
- Multiple files — "look at these files: /docs/spec.md, /docs/wireframes.md"
- Web content — the user might copy-paste content from a web page into the chat
Read whatever they provide. If it's a file path, use Read. If it's multiple files, read all of them.
Say:
Got it. Let me read through this carefully.
Step 2: Playback — "Here's What I Understood"
Read the entire document. Then explain IN YOUR OWN WORDS what you understood — as a coherent narrative, not a bullet list. This is like telling a friend what the project is about after reading the spec.
OK, I've read through everything. Let me tell you what I understood —
correct me wherever I'm wrong.
Then explain in your own words, structured into clear sections:
THE PROBLEM
{What pain point or need does this address? Why does this project
exist? What's the current situation that's not good enough?}
THE SOLUTION
{What are we building? One paragraph, plain language, no jargon.}
WHO IT'S FOR
{Who uses this? What's their situation? What do they care about?}
HOW IT WORKS
{The core workflow or experience — what happens step by step when
someone uses it? Walk through the main journey.}
HOW IT LOOKS & FEELS
{Design direction, vibe, personality — if the document mentions this.
Skip if the document is purely technical.}
WHAT MAKES IT DIFFERENT
{Why not use an existing solution? What's the unique angle?
Skip if not apparent from the document.}
Did I get that right, or did I misunderstand something?
This is the most important step. Write it like you're explaining the project to someone new. Use simple language. Don't parrot the document back — rephrase it to show you actually understood the intent. Not every section needs to be long — if the document doesn't cover "how it looks", write one sentence or skip it. But the structure helps the user quickly spot where you got it wrong.
Wait for the user's response. They might say:
- "Yes, exactly!" → proceed to Step 3
- "Almost, but X is wrong..." → correct your understanding, rephrase the relevant part, confirm again
- "No, that's not what I meant at all..." → ask what they actually mean, update your understanding, try the playback again
Do NOT proceed until the user confirms you understood correctly. Iterate as many times as needed.
Step 3: Analysis — Clear, Vague, Contradictions
Once the user confirms your understanding, show the structured analysis:
Great. Here's what's clearly defined, what's still vague, and where
I found contradictions:
CLEAR:
✓ {Area 1} — {brief summary}
✓ {Area 2} — {brief summary}
...
VAGUE OR MISSING:
? {Area 1} — {what's unclear}
? {Area 2} — {what's missing}
...
CONTRADICTIONS (if any):
⚠ {Description — "Section 2 says X but section 5 says Y"}
...
I'd like to go through the unclear points with you one by one.
Ready?
Wait for confirmation.
Step 4: Guided Gap-Filling
Go through each vague/missing point ONE AT A TIME. Never ask multiple questions at once. Always use AskUserQuestion for every question — never output a question as plain text.
Use AskUserQuestion with a clear question and, where possible, predefined options to make it easy for the user to respond:
AskUserQuestion:
Question: "{What's unclear, in plain language}"
Header: "{Topic}"
Options:
- label: "{Option A}"
description: "{brief explanation}"
- label: "{Option B}"
description: "{brief explanation}"
- label: "Something else"
description: "I'll explain"
Context: "{Why it matters — one sentence explaining why this affects the project}"
If the question is too open-ended for predefined options, use AskUserQuestion without options (free-text input).
Wait for the answer. Then move to the next point:
Got it. Next one:
{Topic}: ...
Adapt the content of your questions to the user's level (same as /gsd-cc-profile — read the room from how the document is written). Examples of question content by level:
For a technical spec:
- Question content: "Your spec covers the API endpoints but doesn't mention authentication. What's the plan?"
For a non-technical brief:
- Question content: "You described what the dashboard shows, but what happens when someone clicks a number?"
For a vague concept:
- Question content: "You mention 'user management' — what does that mean to you? Just login/signup, or more?"
These are examples of what to ask — the delivery format is always AskUserQuestion.
If the user says "I don't know" or "you decide" — note it as an open question for later phases. Don't push.
After resolving contradictions and filling gaps, summarize what changed:
OK, here's what we clarified:
• {Point 1}: {decision}
• {Point 2}: {decision}
• {Point 3}: left open for later
{Remaining open points} will be addressed during planning.
Step 5: Assess Coverage
After filling gaps, check which GSD-CC artifacts you have enough information for:
| Artifact | Can generate? | Why / why not | |----------|--------------|---------------| | PLANNING.md | Yes/Partial/No | {explanation} | | VISION.md | Yes/Partial/No | {explanation} | | PROJECT.md | Yes/No | {explanation} | | type.json | Yes/No | {explanation} |
Tell the user:
Based on your document and our conversation, I can generate:
✓ PLANNING.md — full project brief
✓ PROJECT.md — elevator pitch
✓ type.json — {type} / {rigor}
◐ VISION.md — partial (you described the core experience in detail
but not the look & feel — want to add that now or later?)
Generate these now?
Step 6: Generate Artifacts
On confirmation, create the .gsd/ directory and write:
.gsd/PLANNING.md
Use the first template path that exists as reference for structure and frontmatter:
./.claude/templates/PLANNING.md~/.claude/templates/PLANNING.md./gsd-cc/templates/PLANNING.md(source repo fallback)
Map the document's content to the standard sections:
- Vision (from the document's intro/summary)
- Users (from any user descriptions, personas, or target audience sections)
- Requirements v1, v2, Out of Scope (from feature lists, must-haves, nice-to-haves)
- Tech Stack (from any technical decisions in the document, or leave for Seed to fill)
- Architecture Decisions (from any technical choices mentioned)
- Open Questions (from remaining gaps)
Source everything. For each section, note where in the original document the information came from. This lets the user verify the mapping.
.gsd/VISION.md (if enough detail)
Only generate this if the document contains detailed descriptions of how things should look, feel, or work from the user's perspective. If it's a dry technical spec, skip VISION.md — the user can create it later with /gsd-cc-vision.
.gsd/PROJECT.md
3-5 sentence elevator pitch, distilled from the document.
.gsd/type.json
Detect project type and rigor from the document content, same logic as
/gsd-cc-seed (see the active seed skill file, preferring
./.claude/skills/seed/SKILL.md, then ~/.claude/skills/seed/SKILL.md, then
./gsd-cc/skills/seed/SKILL.md as a source repo fallback).
.gsd/STATE.md
Use the first template path that exists as reference:
./.claude/templates/STATE.md~/.claude/templates/STATE.md./gsd-cc/templates/STATE.md(source repo fallback)
Initialize with phase: seed-complete (since we're replacing the Seed step).
.gsd/DECISIONS.md
Log any decisions that were already made in the original document:
# Decisions
<!-- Append-only register. Never delete entries, only add. -->
## From Original Concept
- {Decision from document} (source: original concept, section X)
- {Decision from document} (source: original concept, section Y)
## From Ingest Conversation
- {Decision from gap-filling conversation} (reason: {rationale})
.gsd/INGEST-SOURCE.md
Keep a reference to what was ingested:
# Ingest Source
Ingested on: {date}
Source: {file path(s) or "pasted text"}
Original length: ~{word count} words
Gaps identified: {count}
Gaps resolved: {count}
Gaps remaining: {count — these are in PLANNING.md Open Questions}
Step 7: What's Still Missing?
After generating artifacts, honestly assess what wasn't in the document and wasn't covered in the conversation:
✓ Artifacts generated.
Still open — you might want to address these later:
• {Open question 1} — consider /gsd-cc-discuss during planning
• {Open question 2} — could be covered in /gsd-cc-vision
...
These are also listed in PLANNING.md under "Open Questions".
Step 8: Hand Off
✓ Ingest complete.
.gsd/PLANNING.md — project brief (from your document)
.gsd/PROJECT.md — elevator pitch
.gsd/type.json — {type} / {rigor}
.gsd/STATE.md — initialized
.gsd/DECISIONS.md — {n} decisions from your document
.gsd/INGEST-SOURCE.md — reference to source
{.gsd/VISION.md — if generated}
┌─────────────────────────────────────────────┐
│ Start a fresh session to continue: │
│ │
│ 1. Exit this session │
│ 2. Run: claude │
│ 3. Type: /gsd-cc │
│ │
│ Next: roadmap creation. │
│ Optional: /gsd-cc-vision for more detail │
└─────────────────────────────────────────────┘
Do NOT continue in this session. Reading and analyzing the document, the back-and-forth conversation, and generating all artifacts has used a large portion of the available context window. Continuing in this session risks degraded quality in later steps. A fresh session starts with full capacity.
Rules
- Don't assume. If the document says "user management" without detail, ask. Don't invent features.
- Respect the document. The user spent time writing it. Don't dismiss parts of it. If something seems wrong, ask — don't silently fix it.
- Preserve specificity. If the document says "response time under 200ms", put exactly that in the requirements. Don't generalize to "should be fast."
- Flag contradictions, don't resolve them. "Your document says X in section 2 but Y in section 5. Which one is correct?" Don't pick one silently.
- Don't over-generate. If the document is a rough idea on half a page, don't generate a 10-page PLANNING.md full of assumptions. Generate what you have, mark the rest as Open Questions.
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/external-concept-import-mryiqgqm/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/external-concept-import-mryiqgqm' && curl --fail --show-error --location 'https://skills-guides.com/api/skills/external-concept-import-mryiqgqm/download' --output '.skill-downloads/external-concept-import-mryiqgqm/SKILL.md.part' && mv '.skill-downloads/external-concept-import-mryiqgqm/SKILL.md.part' '.skill-downloads/external-concept-import-mryiqgqm/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.
Outils déclarés par l’auteur (à vérifier dans votre agent) : Read, Write, Edit, Glob, Bash, AskUserQuestion
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
Après vérification, copiez le dossier complet dans le projet avec l’une des commandes ci-dessous, puis ouvrez une nouvelle session de l’outil. La commande s’arrête si un dossier du même nom existe déjà : comparez les fichiers avant de le remplacer.
Claude Code
test -f '.skill-downloads/external-concept-import-mryiqgqm/SKILL.md' && test -s '.skill-downloads/external-concept-import-mryiqgqm/SKILL.md' && mkdir -p '.claude/skills' && test ! -e '.claude/skills/gsd-cc-ingest' && cp -R '.skill-downloads/external-concept-import-mryiqgqm' '.claude/skills/gsd-cc-ingest'OpenSkills
OpenSkills doit déjà être installé. La procédure locale install/read est contrôlée avec OpenSkills 1.5.0, qui exige Node.js ≥ 20.6.0. Aucun slug du catalogue n’est résolu automatiquement.
Installation officielle d’OpenSkillsopenskills install './.skill-downloads/external-concept-import-mryiqgqm'openskills read 'external-concept-import-mryiqgqm'La lecture doit afficher le contenu du fichier installé et son dossier de base. Elle ne lance ni la skill ni ses dépendances.
Pour un agent qui lit AGENTS.md, synchronisez ensuite l’index. Cette commande modifie AGENTS.md : relisez le diff avant de l’utiliser.
openskills syncMode 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/external-concept-import-mryiqgqm/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.
Bonnes pratiques React Hook Form
Developpement
Maîtrisez React Hook Form : évitez les anti-patterns, gérez les abonnements, et traitez correctement reset, dirty state et entrées contrôlées.
Migration Emotion vers Mantine
Developpement
Migrer les styled-components Emotion vers des composants Mantine avec style props et modules CSS. Pour convertir .styled.tsx ou supprimer les imports @emotion.
Détecteur de dérive de périmètre
Developpement
Analyse les diffs git par rapport à une intention pour détecter la dérive de périmètre, fichiers non liés et PR trop larges, puis suggère de garder, diviser ou justifier.