Communitygithub.com

Akuko, du récit au film

Passe d’une nouvelle, d’un traitement ou d’un scénario à un court métrage, étape relue après étape : scénario, plans, boards, images clés, mouvement, son et export.

Qu'est-ce que Akuko, du récit au film ?

Akuko est un atelier récit-vers-film par étapes. Une personne valide chaque palier, les générations payantes sont budgétées d’abord, et le fichier projet permet de reconstruire le film.

Compatible avec✓Claude Code~Codex CLI~Cursor
npx skills add https://github.com/ikenga-hq/akuko/tree/HEAD/skills/akuko

Demander à votre IA préférée

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

Documentation

akuko — de l'histoire au film, une étape examinée à la fois

Ce fichier est un routeur. Chaque action vit dans son propre fichier sous actions/ ; chargez-la à la demande et suivez-la. N'intégrez pas ici le comportement des actions. Les règles partagées se trouvent dans lib/ :

  • lib/state.md — le fichier projet, les étapes, les transitions d'état, le pliage des décisions. Lisez-le avant toute écriture.
  • lib/hosts.md — détection de l'hôte, capacités de chaque hôte, adaptateur d'hôte.
  • lib/spend.md — la barrière de dépenses et le registre des coûts (WP-03). lib/providers.md — fournisseurs (WP-03).

Le format du projet est schema/akuko-project.ts (akuko.json, schéma JSON dans schema/akuko-project.schema.json).


Chaque action commence de la même manière

  1. Détectez l'hôte (lib/hosts.md §Détection) : A claude-artifact · B local · C ikenga. Exécutez node --experimental-strip-types hosts/detect.ts --tools <votre liste COMPLÈTE d'outils — chaque nom d'outil chargé et différé>. Si la sortie contient un warning, ou si vous avez un doute, considérez l'hôte comme A (BD d'artefacts) et ne créez jamais de dossier de projet. Enregistrez le résultat dans akuko.json.host.
  2. Lisez le projet via l'adaptateur d'hôte (readState()) ; s'il n'y en a pas, acheminez vers intake (ou setup si la personne souhaite d'abord configurer).
  3. Pliez les décisions prises depuis la dernière exécution (readDecisions() → lib/state.md §Pliage des décisions) avant toute autre action.
  4. Chargez le fichier d'action et suivez-le. Écrivez le projet uniquement via writeState() ; stockez les fichiers uniquement via storeAsset().

Routage

Si l'utilisateur dit…Chargez ceciPropriétaire
"configure akuko", "configurer", "définir un budget", "ajouter mes clés"actions/setup.mdWP-08
"vérifier ma configuration", "que manque-t-il", "diagnostic"actions/doctor.mdWP-08
"faire un film à partir de cette histoire / ce script", "commencer un projet", "intake"actions/intake.mdWP-04
"décomposer", "liste des plans", "breakdown", "importer une liste de plans"actions/breakdown.mdWP-04
"personnages", "lieux", "look / style", "bible"actions/bible.mdWP-05
"storyboard", "croquis de planches", "planches de séquence", "board"actions/board.mdWP-21
"images clés", "panneaux finaux", "keyframes", "vérification de continuité"actions/keyframes.mdWP-22
"animer", "créer les clips", "mouvement", "traitement", "mouvements de caméra"actions/motion.mdWP-10 · WP-11 · WP-27
"synchronisation labiale", "faire dire le texte", "lipsync"actions/lipsync.mdWP-28b
"voix off", "musique", "effets sonores", "son"actions/sound.mdWP-12
"animatique", "prévisualiser le film", "laisser-moi regarder", "montage brut", "assembler"actions/assemble.mdB-11 (preview construit) · WP-13 (montage brut, verrouillage d'image : stub)
"exporter", "envoyer à Resolve", "donner une timeline"actions/export.mdWP-23 (remise Resolve)
"j'ai examiné", "appliquer mes notes", "examiner"actions/review.mdWP-07a
"montre-moi …", "ouvrir la planche", "voir"actions/view.mdWP-07c
"où en sommes-nous", "quelle est la prochaine étape", "statut", "combien ça coûtera", "estimation"actions/status.mdWP-30 (estimation complète du film)

Export remet le film approuvé à DaVinci Resolve sous forme de timeline et de médias. Les masters MP4, les versions raccourcies et un deck Canva sont réservés (plan Round 7) : si on vous demande un MP4, dites-le et proposez la remise.

Si rien ne correspond, exécutez status et proposez la prochaine action suggérée. Si un fichier d'action (ou la route demandée) indique encore Stub (WP-02), dites à la personne que ce n'est pas encore construit et arrêtez — n'improvisez pas. Une animatique ne s'improvise pas non plus : assemble preview est la route construite et gratuite pour une (images clés approuvées chronométrées aux plans, jamais une unité de révision, jamais sauvegardée dans le projet).

Étapes

intake → breakdown → sketch → bible → keyframes → motion → sound → assemble → export (0–8, schema/akuko-project.ts#STAGES ; le profil du film est profiles/film/profile.json). Une étape s'ouvre uniquement lorsque les étapes précédentes sont approuvées (lib/state.md §Étapes).

Règles de révision

Elles s'appliquent sur tous les hôtes et dans chaque action et vue :

  1. Seule une personne approuve. Les actions déplacent les unités vers pending-review ; seule la décision d'une personne déplace une unité vers approved. Aucune action ou vue n'auto-approuve, ne pré-coche ou n'approuve en masse.
  2. Ne jamais passer automatiquement la révision. Chaque étape se termine par une porte de révision (Atelier ux_mode: approve) : exécutez, puis faites une pause sur ce qui a été produit.
  3. Une unité à la fois au sein d'une étape : produisez, montrez, attendez — ne régénérez pas toute l'étape parce qu'un plan a été renvoyé.
  4. Les décisions passent par le format de décision (Decision dans le schéma), écrit par une surface de révision dans le stockage de l'hôte. Une vue ne modifie jamais akuko.json et n'appelle jamais writeState().
  5. Les modifications demandées sont honorées, puis marquées : révisez l'unité, ajoutez un commentaire "Révisé : …", remettez-la dans pending-review.

Règles de dépenses

  1. Pas d'appel payant sans accord. Chaque travail payant (image, vidéo, TTS) passe par la barrière de dépenses (lib/spend.md) : montrez l'estimation, le plafond, ce qui est dépensé et ce qui reste si vous approuvez, puis attendez une approbation explicite pour ce travail.
  2. Pas de plafond, pas de dépense. Si akuko.json.budget est nul, refusez les travaux payants et dirigez vers setup.
  3. Ne jamais dépasser le plafond ou le approved_max d'un travail ; arrêtez et demandez plutôt.
  4. L'argent n'est jamais caché ou arrondi. Chaque appel payant est enregistré dans ledger[], succès ou échec.
  5. Les clés restent dans l'environnement (ou le magasin de secrets de l'hôte) — jamais dans akuko.json, une vue, la base de données d'artefacts, le registre ou un fichier que la planche peut lire, et jamais répété. Sur claude.ai (hôte A), une clé est collée par chat, et seulement lorsqu'un appel direct payant est sur le point d'être exécuté : sondez d'abord le réseau (scripts/probe.ts), dites à la personne que la clé sera visible dans l'historique de ce chat, qu'elle est utilisée uniquement pour ce chat et n'est jamais écrite nulle part, obtenez "utilise ma clé pour ce chat", puis définissez-la uniquement sur l'environnement de cette commande, réservez, sauvegardez sur la planche, envoyez (lib/spend.md §Hôte A, R-11).
  6. Les règles internes passent avant l'argent. Lorsque le projet a des rules, chaque travail est vérifié par rapport à elles avant la barrière de dépenses, et une infraction est refusée (rules-breach), nommant la règle et le texte ou fichier incriminé. Signalez-le et arrêtez ; ne reformulez jamais, ne supprimez pas de référence et ne modifiez pas les règles pour contourner. Exécutez rules/cli.ts check pour un précontrôle gratuit (lib/state.md §"Barrière règles (WP-26)").
  7. Une allocation de plan est aussi une dépense. Un outil connecté qui utilise l'allocation personnelle du plan au lieu d'argent (limite mensuelle d'IA Canva sur claude.ai) nécessite un accord pour chaque vague : le nombre, le service, le fait qu'akuko ne peut pas voir ce qui reste, et la réponse exacte approve <n> <service> generations. Chaque génération va dans le registre avec zéro argent et un compteur d'unités (lib/spend.md §Allocation).

Hôtes en une ligne chacun

  • A — claude-artifact (claude.ai) : Node et fichiers uniquement dans un workspace distant qui dure un seul chat, donc pas de dossier de projet durable. Le projet vit dans la base de données de l'artefact de la planche ; l'agent le lit et l'écrit avec des appels d'outils et exécute les commandes d'étape sur une copie de travail. Génération via des MCP connectés (ex. Canva), des packages de prompts manuels et des API directes payantes avec une clé collée pour ce chat (R-11, après un sondage réseau) ; rendus MP4 localement.
  • B — local (Claude Code) : akuko.json sur le disque, fichiers dans le dossier du projet, tous les fournisseurs via des clés d'environnement, HyperFrames + FFmpeg.
  • C — ikenga : B plus le pont Ikenga (et Studio lorsque son MCP est connecté) ; Studio possède l'état de rendu.

Détails et preuves de capacités : lib/hosts.md.

Fichiers

SKILL.md              ce routeur
actions/*.md          un fichier par action (frontmatter Atelier)
lib/state.md          règles du fichier projet, étapes, transitions, pliage des décisions
lib/hosts.md          détection de l'hôte, capacités, vérification manuelle de l'hôte
hosts/types.ts        contrat HostAdapter (G-HOST)
hosts/{claude-artifact,local,ikenga}.ts   un adaptateur par hôte
profiles/film/        le profil du film
schema/               le format akuko.json (G-SCHEMA)

Skills associés