一键导入
harvest-asset
案件で作った高コスト・再利用価値の高いオーバーレイ、3D、モーション、テロップ、サムネ構図、音源、B ロールを AKARI Video の assets ライブラリへ素材化するときに発動する。入庫判定、meta.json 下書き、preview、INDEX 更新、検証を行う。
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
菜单
案件で作った高コスト・再利用価値の高いオーバーレイ、3D、モーション、テロップ、サムネ構図、音源、B ロールを AKARI Video の assets ライブラリへ素材化するときに発動する。入庫判定、meta.json 下書き、preview、INDEX 更新、検証を行う。
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
基于 SOC 职业分类
analyze-project が作る分析レポート(interpretation.json + analysis-report.html)を一次証拠として読み、方針・素材計画・実行をチャットの明示承認で確定したうえで edit.json v0 とオーバーレイ HTML へ落とすスキル。複数素材の編集計画、素材ゼロからの生成計画(質問対話 → plan.json の仮枠タイムライン確定)、分析結果からカットや BGM・SFX・B ロールを決める依頼で使う。
原稿テキストから VOICEVOX(ローカル・ゼロ円の既製声)または fal Qwen3-TTS(自声クローン)でナレーション音声を生成し、edit.json の audio.narration[] へ書き込むスキル。ナレーションを作ってほしいと頼まれたとき、仮ナレ(下書き試聴)が欲しいとき、声プロファイルを新規に作りたいとき、または既存のナレーションをエンジンや声で差し替えたいときに使う。
review.json の open チケット(annotation)を edit.json への実対応 → edit-lint → チケット更新まで型どおりに執行するスキル。「a-0002 と a-0003 に対応して」「open チケット全部に対応して」で発動する。状態機械(open → addressed + response 必須・resolved 不可侵・黙殺禁止)を bin/respond.mjs が原子的に守る QA ループの消費側。
動画素材 1 本から 720p プロキシ、ローカル既定の文字起こし(Mac は macOS SpeechAnalyzer / 共通は whisper.cpp・クラウドは承認制)、視認済みキーフレーム、編集イベント、人物関連トラックを作り、analysis.json v0 にまとめるスキル。新しい撮影素材を取り込むとき、素材単体の編集前分析を頼まれたとき、または edit-plan の前処理として素材ごとの分析が必要なときに使う。
プロジェクト内の素材群(analysis.json)と周辺プロジェクト文脈(intake.json・edit.json・planning/・README・過去 PJ)を読み合わせて interpretation.json(解釈層)を作り、事実 + 素材の読みに限定した読み取り専用の分析レポートを描画するスキル。複数素材プロジェクトの内容を素材横断で把握したいとき、analyze-footage が素材ごとの分析を終えたあとの統合、方向性を決める前に一次情報の欠落(取材質問)を洗い出したいときに使う。edit-plan は方針決めの前提としてこのスキルの出力を読む。
承認済み edit.json と edit-lint PASS を入力に、最終 MP4 の計画、明示承認、ローカル書き出し、ffprobe 検証、キーフレーム視認を完了する。編集が承認済みで、納品用動画の書き出しや最終レンダーを求められたときに使う。
| name | harvest-asset |
| description | 案件で作った高コスト・再利用価値の高いオーバーレイ、3D、モーション、テロップ、サムネ構図、音源、B ロールを AKARI Video の assets ライブラリへ素材化するときに発動する。入庫判定、meta.json 下書き、preview、INDEX 更新、検証を行う。 |
Language: Respond in the user's language — 対話・質問・承認確認・レポートはユーザーの使用言語に合わせる(例: 英語で話しかけられたら英語で応答する)。
順序を変えず、導出できる情報を人へ質問しない。
「生成コストが高い、または生成不能なものだけ」を入れる。 次のどちらも満たさなければ収穫を中止し、理由を報告する。
単純字幕、色違いだけ、素朴な fade / slide、案件固有文言を差し替えただけの断片は入れない。既存 asset と本質的に同じ場合も variant を増やさず、既存 asset の knob で表せるかを先に確認する。
meta.json 下書きを作るsource fragment と同階層の依存 asset を読み、作業用一時ディレクトリへ自己完結した package を組む。最終配置前に次を自動抽出する。
knobs--name: value と var(--name, fallback) を列挙する。--x、--y、--scale、--rotate と素材固有 knob を区別する。default field は meta.json へ追加せず、値を発明しない。colorslider。min / max は根拠が抽出できる場合だけ付けるsrc → mediacheckboxdropdowntextgroup と label は variable 名と利用箇所から生成する。曖昧な推論は下書きに注記し、人へ新しい質問を増やさない。requires と同梱対象<script src>、module import、@import、url()、src / href、Three.js addon / decoder、font、model、texture、audio、video を走査する。requires へ、相対 file は copy 対象へ分ける。id: source 名と内容から kebab-case で生成する。category: 3d / motion / telop / audio / broll / font / thumbnail から単一カテゴリを内容から選ぶ。横断軸は tags にする。サムネイルの HTML 文字組テンプレは thumbnail(背景差し替え前提で、文字組レイヤーだけを素材化する)。title / description / tags: 見た目、役割、aspect、scene を source と利用文脈から要約する。provenance: origin project、元 path、生成手、prompt、日時を既存情報から埋める。分からない値を捏造しない。sips、ffprobe、利用可能な GLB inspector などで読める場合だけ確認し、description / tags / preview 判断へ使う。schema にないトップレベル field は追加しない。author は既知の project / git 情報から、price は現行契約どおり null とする。meta.json は docs/contract-2026-07-13-asset-library.md の schema v0 に合わせ、正式 key when_to_use を使う。依頼文中の when_use はこの key の意味と扱う。
自動抽出結果を短く見せ、次の 4 項目を一度に質問する。それ以外は質問しない。
when_to_use: どの scene / 目的で使うか。local(そのプロジェクトのみ)/ shared(上位ディレクトリの .akari/assets/、事業・組織単位)/ user(~/.akari/assets/、全プロジェクト共通の定番)/ builtin(製品リポ。昇格は PR 経路)。目安を添えて聞く: プロジェクト固有の文言・素材が残るなら local、汎用化できたなら user。黙って builtin に入れない。回答を meta.json に反映する。license が確定しない asset はどの層にも入れない。
preview.png を生成するffmpeg で内容を代表する frame を選ぶ。preview は中身を識別するためのものとし、source と違う架空の完成図を生成しない。schema または category INDEX に寸法規約が追加されていたら、それを優先する。
assets/<category>/ へ配置する配置先は登録先スコープ(手順 3 で確定)の assets/<category>/<id>/ とし、階層を増やさない。スコープの実ディレクトリ(local = プロジェクト内 / shared = 上位の .akari/assets/ / user = ~/.akari/assets/)が無ければ category と INDEX.md ごと新設する。層が違っても構造・meta.json v0・validator は同一。最低限、次をそろえる。
meta.jsonpreview.pngfragment.html、ほかは model / media 本体同名 directory が既にあれば上書きしない。内容を比較し、更新か新 ID かの明示判断を得る。採用時は library 外への symlink を残さず、package を自己完結させる。
INDEX.md を更新するassets/<category>/INDEX.md に、ID 順または既存の並び規則を守って 1 行追加する。
<id> — <何で、どんな場面向けかを一文で>
重複行を作らない。新 category のときだけ assets/INDEX.md にもカテゴリ説明を追加する。
まず packages/schemas/bin/validate-asset.mjs と packages/schemas/asset-meta.schema.json の存在、script 内の usage を確認する。現行 usage では、次のように対象 package を渡す。
node packages/schemas/bin/validate-asset.mjs "assets/<category>/<id>"
将来 usage が変わっていれば script を正とし、引数を推測しない。失敗時は meta.json、最小 3 点、category 一致、relative dependency、INDEX を直し、成功するまで再実行する。
script または schema がまだない場合、成功扱いにせず成果報告へ次をそのまま残す。
後で実行: node packages/schemas/bin/validate-asset.mjs(validator / schema 作成後)
when_to_use を when_use という非 schema key で保存する。builtin(製品リポ)へ入庫する。user / builtin へ入れて、他プロジェクトで使えない資産を作る。docs/contract-2026-07-13-asset-library.md