addashboard-cli 0.3.1 → 0.5.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +14 -4
- package/dist/commands/ads.js +29 -1
- package/dist/commands/ads.js.map +1 -1
- package/dist/commands/pl.js +67 -0
- package/dist/commands/pl.js.map +1 -0
- package/dist/commands/review.js +62 -0
- package/dist/commands/review.js.map +1 -0
- package/dist/commands/submission.js +106 -14
- package/dist/commands/submission.js.map +1 -1
- package/dist/index.js +59 -3
- package/dist/index.js.map +1 -1
- package/package.json +1 -1
- package/skills/ad-ops/README.md +11 -1
- package/skills/ad-ops/SKILL.md +171 -28
- package/skills/ad-ops/{yda-planner.html → ad-planner.html} +1785 -632
- package/skills/ad-ops//343/202/242/343/202/253/343/202/246/343/203/263/343/203/210/meta/sample_account.json +36 -0
- package/skills/ad-ops//343/202/242/343/202/253/343/202/246/343/203/263/343/203/210/yda/index.json +5 -0
- package/skills/ad-ops//343/202/265/343/203/263/343/203/227/343/203/253/343/203/227/343/203/251/343/203/263.json +58 -0
- package/skills/ad-ops//343/202/265/343/203/263/343/203/227/343/203/253/343/203/227/343/203/251/343/203/263_meta.json +38 -0
- /package/skills/ad-ops//343/202/242/343/202/253/343/202/246/343/203/263/343/203/210/{index.json" → meta/index.json"} +0 -0
- /package/skills/ad-ops//343/202/242/343/202/253/343/202/246/343/203/263/343/203/210/{sample_account.json" → yda/sample_account.json"} +0 -0
package/dist/index.js
CHANGED
|
@@ -12,7 +12,9 @@ const authGoogle_1 = require("./commands/authGoogle");
|
|
|
12
12
|
const authDevice_1 = require("./commands/authDevice");
|
|
13
13
|
const ads_1 = require("./commands/ads");
|
|
14
14
|
const submission_1 = require("./commands/submission");
|
|
15
|
+
const pl_1 = require("./commands/pl");
|
|
15
16
|
const freee_1 = require("./commands/freee");
|
|
17
|
+
const review_1 = require("./commands/review");
|
|
16
18
|
// 本番エンドポイント: https://macchiato.site (Lightsail 35.73.207.72)
|
|
17
19
|
// ローカル開発時は --endpoint http://localhost:3001 か WEBGRAM_ENDPOINT env で切替。
|
|
18
20
|
const DEFAULT_ENDPOINT = process.env.WEBGRAM_ENDPOINT || 'https://macchiato.site';
|
|
@@ -20,7 +22,7 @@ const program = new commander_1.Command();
|
|
|
20
22
|
program
|
|
21
23
|
.name('webgram')
|
|
22
24
|
.description('webgram CLI — ad-dashboard を Claude Code / Codex CLI から操作する')
|
|
23
|
-
.version('0.
|
|
25
|
+
.version('0.4.0');
|
|
24
26
|
const auth = program.command('auth').description('認証関連コマンド');
|
|
25
27
|
auth
|
|
26
28
|
.command('login')
|
|
@@ -138,7 +140,7 @@ program
|
|
|
138
140
|
.command('list')
|
|
139
141
|
.description('媒体のアカウント・キャンペーン・リソースを取得する (対応: meta, yda, google, smartnews, bytedance)')
|
|
140
142
|
.requiredOption('--platform <platform>', 'meta | yda | google | smartnews | bytedance')
|
|
141
|
-
.requiredOption('--resource <resource>', 'accounts | campaigns | resources | media (smartnews は resources 非対応 / media は yda のみ)')
|
|
143
|
+
.requiredOption('--resource <resource>', 'accounts | campaigns | resources | media | image-library | video-library (smartnews は resources 非対応 / media は yda のみ / image-library・video-library は meta のみ)')
|
|
142
144
|
.option('--account-id <id>', '対象アカウント ID(campaigns / resources で必須)')
|
|
143
145
|
.option('--campaign-id <id>', '対象キャンペーン ID(yda + campaigns で単一CPインポート用)')
|
|
144
146
|
.action(async (opts) => {
|
|
@@ -184,7 +186,7 @@ program
|
|
|
184
186
|
});
|
|
185
187
|
program
|
|
186
188
|
.command('submit-plan')
|
|
187
|
-
.description('入稿計画 JSON を 1 キャンペーンずつ順番に入稿する (
|
|
189
|
+
.description('入稿計画 JSON を 1 キャンペーンずつ順番に入稿する (進捗を計画ファイルに書き戻して再開可能、対応: yda, meta。plan.platform 未記載は yda 扱い)')
|
|
188
190
|
.requiredOption('--plan-file <path>', '入稿計画 JSON のファイルパス (プランナーが書き出したもの)')
|
|
189
191
|
.option('--yes', '本実行を許可する(このフラグなしで dry-run なしの操作は exit 2 で拒否)', false)
|
|
190
192
|
.option('--no-dry-run', '本実行する (--yes も必須)')
|
|
@@ -207,6 +209,60 @@ program
|
|
|
207
209
|
process.exit(result.exitCode);
|
|
208
210
|
}
|
|
209
211
|
});
|
|
212
|
+
// ──────────────────────────── review (チーム週次レビュー) ────────────────────────────
|
|
213
|
+
program
|
|
214
|
+
.command('review')
|
|
215
|
+
.description('チームの週次レビュー(課題・今週のアクションプラン)を案件ごとに取得する')
|
|
216
|
+
.requiredOption('--team <team>', '伊藤T | 松井T')
|
|
217
|
+
.option('--week <YYYY-MM-DD>', '対象週の月曜(省略時は先週の月曜)')
|
|
218
|
+
.action(async (opts) => {
|
|
219
|
+
const store = new credentialStore_1.CredentialStore((0, credentialStore_1.defaultConfigDir)());
|
|
220
|
+
const r = await (0, review_1.runTeamWeeklyReview)({ store, team: opts.team, weekStart: opts.week });
|
|
221
|
+
if (r.ok) {
|
|
222
|
+
console.log(JSON.stringify(r.data, null, 2));
|
|
223
|
+
}
|
|
224
|
+
else {
|
|
225
|
+
console.error(`✗ ${r.error}`);
|
|
226
|
+
process.exit(1);
|
|
227
|
+
}
|
|
228
|
+
});
|
|
229
|
+
// ──────────────────────────── pl (予実管理・案件損益) ────────────────────────────
|
|
230
|
+
const pl = program.command('pl').description('予実管理(案件損益)データを取得する');
|
|
231
|
+
pl.command('summary')
|
|
232
|
+
.description('当月または指定月の予実サマリ(CV/コスト/売上/粗利/日次推移/案件別内訳/着地予測/目標)を取得')
|
|
233
|
+
.option('--month <YYYY-MM>', '対象月(省略時は当月)')
|
|
234
|
+
.action(async (opts) => {
|
|
235
|
+
const store = new credentialStore_1.CredentialStore((0, credentialStore_1.defaultConfigDir)());
|
|
236
|
+
const result = await (0, pl_1.runPlSummary)({ store, month: opts.month });
|
|
237
|
+
if (result.ok) {
|
|
238
|
+
console.log(JSON.stringify(result.data, null, 2));
|
|
239
|
+
}
|
|
240
|
+
else {
|
|
241
|
+
console.error(`✗ ${result.error}`);
|
|
242
|
+
process.exit(1);
|
|
243
|
+
}
|
|
244
|
+
});
|
|
245
|
+
pl.command('projects')
|
|
246
|
+
.description('案件別の予実明細を取得')
|
|
247
|
+
.option('--month <YYYY-MM>', '対象月')
|
|
248
|
+
.option('--status <status>', 'ステータス絞り込み')
|
|
249
|
+
.option('--platform <platform>', '媒体絞り込み')
|
|
250
|
+
.action(async (opts) => {
|
|
251
|
+
const store = new credentialStore_1.CredentialStore((0, credentialStore_1.defaultConfigDir)());
|
|
252
|
+
const result = await (0, pl_1.runPlProjects)({
|
|
253
|
+
store,
|
|
254
|
+
month: opts.month,
|
|
255
|
+
status: opts.status,
|
|
256
|
+
platform: opts.platform,
|
|
257
|
+
});
|
|
258
|
+
if (result.ok) {
|
|
259
|
+
console.log(JSON.stringify(result.data, null, 2));
|
|
260
|
+
}
|
|
261
|
+
else {
|
|
262
|
+
console.error(`✗ ${result.error}`);
|
|
263
|
+
process.exit(1);
|
|
264
|
+
}
|
|
265
|
+
});
|
|
210
266
|
// ──────────────────────────── freee 請求書 ────────────────────────────
|
|
211
267
|
const freee = program.command('freee').description('freee 請求書発行コマンド(allowlist 制限あり)');
|
|
212
268
|
freee
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;AACA,yCAAoC;AACpC,wDAAgC;AAChC,2DAA0E;AAC1E,0CAAiE;AACjE,sDAAuD;AACvD,sDAAuD;AACvD,wCAAuE;AACvE,sDAAiE;AACjE,4CAAmF;AAEnF,6DAA6D;AAC7D,wEAAwE;AACxE,MAAM,gBAAgB,GAAG,OAAO,CAAC,GAAG,CAAC,gBAAgB,IAAI,wBAAwB,CAAC;AAElF,MAAM,OAAO,GAAG,IAAI,mBAAO,EAAE,CAAC;AAC9B,OAAO;KACJ,IAAI,CAAC,SAAS,CAAC;KACf,WAAW,CAAC,6DAA6D,CAAC;KAC1E,OAAO,CAAC,OAAO,CAAC,CAAC;AAEpB,MAAM,IAAI,GAAG,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,WAAW,CAAC,UAAU,CAAC,CAAC;AAE7D,IAAI;KACD,OAAO,CAAC,OAAO,CAAC;KAChB,WAAW,CACV,0DAA0D;IACxD,kEAAkE;IAClE,gEAAgE;IAChE,kDAAkD,CACrD;KACA,MAAM,CAAC,kBAAkB,EAAE,uBAAuB,EAAE,gBAAgB,CAAC;KACrE,MAAM,CAAC,UAAU,EAAE,0BAA0B,CAAC;KAC9C,MAAM,CAAC,UAAU,EAAE,8CAA8C,CAAC;KAClE,MAAM,CAAC,iBAAiB,EAAE,6BAA6B,CAAC;KACxD,MAAM,CACL,uBAAuB,EACvB,qDAAqD,CACtD;KACA,MAAM,CAAC,kBAAkB,EAAE,wDAAwD,CAAC;KACpF,MAAM,CACL,KAAK,EAAE,IAON,EAAE,EAAE;IACH,MAAM,KAAK,GAAG,IAAI,iCAAe,CAAC,IAAA,kCAAgB,GAAE,CAAC,CAAC;IACtD,oDAAoD;IACpD,MAAM,WAAW,GAAG,IAAI,CAAC,QAAQ,KAAK,SAAS,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC;IAEhE,IAAI,CAAC,WAAW,EAAE,CAAC;QACjB,wDAAwD;QACxD,qCAAqC;QACrC,MAAM,SAAS,GAAG,IAAI,CAAC,MAAM,KAAK,IAAI,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC;QAEhE,IAAI,SAAS,EAAE,CAAC;YACd,MAAM,MAAM,GAAG,MAAM,IAAA,2BAAc,EAAC,EAAE,QAAQ,EAAE,IAAI,CAAC,QAAQ,EAAE,KAAK,EAAE,CAAC,CAAC;YACxE,IAAI,MAAM,CAAC,EAAE,EAAE,CAAC;gBACd,MAAM,GAAG,GAAG,MAAM,IAAA,gBAAS,EAAC,EAAE,KAAK,EAAE,CAAC,CAAC;gBACvC,MAAM,KAAK,GAAG,GAAG,CAAC,EAAE,IAAI,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC;gBAC9D,sCAAsC;gBACtC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,kBAAkB,KAAK,EAAE,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC;gBAC/D,sCAAsC;gBACtC,OAAO,CAAC,GAAG,CAAC,cAAc,KAAK,CAAC,GAAG,gCAAgC,CAAC,CAAC;YACvE,CAAC;iBAAM,CAAC;gBACN,sCAAsC;gBACtC,OAAO,CAAC,KAAK,CAAC,mBAAmB,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC;gBACjD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YAClB,CAAC;YACD,OAAO;QACT,CAAC;QAED,sCAAsC;QACtC,OAAO,CAAC,GAAG,CAAC,yBAAyB,CAAC,CAAC;QACvC,MAAM,MAAM,GAAG,MAAM,IAAA,2BAAc,EAAC;YAClC,QAAQ,EAAE,IAAI,CAAC,QAAQ;YACvB,KAAK;YACL,QAAQ,EAAE,IAAI,CAAC,QAAQ;SACxB,CAAC,CAAC;QAEH,IAAI,MAAM,CAAC,EAAE,EAAE,CAAC;YACd,MAAM,GAAG,GAAG,MAAM,IAAA,gBAAS,EAAC,EAAE,KAAK,EAAE,CAAC,CAAC;YACvC,MAAM,KAAK,GAAG,GAAG,CAAC,EAAE,IAAI,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC;YAC9D,sCAAsC;YACtC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,kBAAkB,KAAK,EAAE,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC;YAC/D,sCAAsC;YACtC,OAAO,CAAC,GAAG,CAAC,cAAc,KAAK,CAAC,GAAG,gCAAgC,CAAC,CAAC;QACvE,CAAC;aAAM,CAAC;YACN,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC;gBACnB,sCAAsC;gBACtC,OAAO,CAAC,KAAK,CAAC,yCAAyC,CAAC,CAAC;gBACzD,sCAAsC;gBACtC,OAAO,CAAC,KAAK,CAAC,KAAK,MAAM,CAAC,OAAO,EAAE,CAAC,CAAC;YACvC,CAAC;YACD,sCAAsC;YACtC,OAAO,CAAC,KAAK,CAAC,mBAAmB,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC;YACjD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;QACD,OAAO;IACT,CAAC;IAED,sBAAsB;IACtB,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,IAAI,CAAC,MAAM,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC;IACtD,MAAM,QAAQ,GACZ,OAAO,IAAI,CAAC,QAAQ,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,YAAY,CAAC,YAAY,CAAC,CAAC;IAEvF,MAAM,MAAM,GAAG,MAAM,IAAA,eAAQ,EAAC;QAC5B,QAAQ,EAAE,IAAI,CAAC,QAAQ;QACvB,QAAQ,EAAE,KAAK;QACf,QAAQ;QACR,KAAK;KACN,CAAC,CAAC;IAEH,IAAI,MAAM,CAAC,EAAE,EAAE,CAAC;QACd,sCAAsC;QACtC,OAAO,CAAC,GAAG,CAAC,kBAAkB,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC;QAC9C,sCAAsC;QACtC,OAAO,CAAC,GAAG,CAAC,cAAc,KAAK,CAAC,GAAG,gCAAgC,CAAC,CAAC;IACvE,CAAC;SAAM,CAAC;QACN,sCAAsC;QACtC,OAAO,CAAC,KAAK,CAAC,mBAAmB,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC;QACjD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;AACH,CAAC,CACF,CAAC;AAEJ,IAAI;KACD,OAAO,CAAC,QAAQ,CAAC;KACjB,WAAW,CAAC,kCAAkC,CAAC;KAC/C,MAAM,CAAC,KAAK,IAAI,EAAE;IACjB,MAAM,KAAK,GAAG,IAAI,iCAAe,CAAC,IAAA,kCAAgB,GAAE,CAAC,CAAC;IACtD,MAAM,MAAM,GAAG,MAAM,IAAA,gBAAS,EAAC,EAAE,KAAK,EAAE,CAAC,CAAC;IAE1C,IAAI,MAAM,CAAC,EAAE,IAAI,MAAM,CAAC,IAAI,EAAE,CAAC;QAC7B,sCAAsC;QACtC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;IACpD,CAAC;SAAM,CAAC;QACN,sCAAsC;QACtC,OAAO,CAAC,KAAK,CAAC,KAAK,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC;QACnC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;AACH,CAAC,CAAC,CAAC;AAEL,IAAI;KACD,OAAO,CAAC,QAAQ,CAAC;KACjB,WAAW,CAAC,iDAAiD,CAAC;KAC9D,MAAM,CAAC,KAAK,IAAI,EAAE;IACjB,MAAM,KAAK,GAAG,IAAI,iCAAe,CAAC,IAAA,kCAAgB,GAAE,CAAC,CAAC;IACtD,MAAM,IAAA,gBAAS,EAAC,EAAE,KAAK,EAAE,CAAC,CAAC;IAC3B,sCAAsC;IACtC,OAAO,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;AAC9B,CAAC,CAAC,CAAC;AAEL,+EAA+E;AAE/E,OAAO;KACJ,OAAO,CAAC,MAAM,CAAC;KACf,WAAW,CAAC,yEAAyE,CAAC;KACtF,cAAc,CAAC,uBAAuB,EAAE,6CAA6C,CAAC;KACtF,cAAc,CAAC,uBAAuB,EAAE,uFAAuF,CAAC;KAChI,MAAM,CAAC,mBAAmB,EAAE,uCAAuC,CAAC;KACpE,MAAM,CAAC,oBAAoB,EAAE,0CAA0C,CAAC;KACxE,MAAM,CAAC,KAAK,EAAE,IAAqF,EAAE,EAAE;IACtG,MAAM,KAAK,GAAG,IAAI,iCAAe,CAAC,IAAA,kCAAgB,GAAE,CAAC,CAAC;IACtD,MAAM,MAAM,GAAG,MAAM,IAAA,aAAO,EAAC;QAC3B,KAAK;QACL,QAAQ,EAAE,IAAI,CAAC,QAAoB;QACnC,QAAQ,EAAE,IAAI,CAAC,QAAoB;QACnC,SAAS,EAAE,IAAI,CAAC,SAAS;QACzB,UAAU,EAAE,IAAI,CAAC,UAAU;KAC5B,CAAC,CAAC;IAEH,IAAI,MAAM,CAAC,EAAE,EAAE,CAAC;QACd,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;IACpD,CAAC;SAAM,CAAC;QACN,OAAO,CAAC,KAAK,CAAC,KAAK,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC;QACnC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;AACH,CAAC,CAAC,CAAC;AAEL,OAAO;KACJ,OAAO,CAAC,QAAQ,CAAC;KACjB,WAAW,CAAC,uGAAuG,CAAC;KACpH,cAAc,CAAC,uBAAuB,EAAE,yFAAyF,CAAC;KAClI,cAAc,CAAC,oBAAoB,EAAE,oBAAoB,CAAC;KAC1D,MAAM,CAAC,OAAO,EAAE,8CAA8C,EAAE,KAAK,CAAC;KACtE,MAAM,CAAC,cAAc,EAAE,mBAAmB,CAAC;KAC3C,MAAM,CAAC,KAAK,EAAE,IAA2E,EAAE,EAAE;IAC5F,MAAM,KAAK,GAAG,IAAI,iCAAe,CAAC,IAAA,kCAAgB,GAAE,CAAC,CAAC;IACtD,MAAM,MAAM,GAAG,MAAM,IAAA,sBAAS,EAAC;QAC7B,KAAK;QACL,QAAQ,EAAE,IAAI,CAAC,QAAoB;QACnC,QAAQ,EAAE,IAAI,CAAC,QAAQ;QACvB,MAAM,EAAE,IAAI,CAAC,MAAM,KAAK,KAAK,EAAE,qCAAqC;QACpE,GAAG,EAAE,CAAC,CAAC,IAAI,CAAC,GAAG;KAChB,CAAC,CAAC;IAEH,IAAI,MAAM,CAAC,EAAE,EAAE,CAAC;QACd,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;IACpD,CAAC;SAAM,CAAC;QACN,OAAO,CAAC,KAAK,CAAC,KAAK,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC;QACnC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;IAChC,CAAC;AACH,CAAC,CAAC,CAAC;AAEL,OAAO;KACJ,OAAO,CAAC,aAAa,CAAC;KACtB,WAAW,CAAC,+DAA+D,CAAC;KAC5E,cAAc,CAAC,oBAAoB,EAAE,mCAAmC,CAAC;KACzE,MAAM,CAAC,OAAO,EAAE,8CAA8C,EAAE,KAAK,CAAC;KACtE,MAAM,CAAC,cAAc,EAAE,mBAAmB,CAAC;KAC3C,MAAM,CAAC,KAAK,EAAE,IAAyD,EAAE,EAAE;IAC1E,MAAM,KAAK,GAAG,IAAI,iCAAe,CAAC,IAAA,kCAAgB,GAAE,CAAC,CAAC;IACtD,MAAM,MAAM,GAAG,MAAM,IAAA,0BAAa,EAAC;QACjC,KAAK;QACL,QAAQ,EAAE,IAAI,CAAC,QAAQ;QACvB,MAAM,EAAE,IAAI,CAAC,MAAM,KAAK,KAAK;QAC7B,GAAG,EAAE,CAAC,CAAC,IAAI,CAAC,GAAG;KAChB,CAAC,CAAC;IAEH,IAAI,MAAM,CAAC,EAAE,EAAE,CAAC;QACd,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;IACpD,CAAC;SAAM,CAAC;QACN,IAAI,MAAM,CAAC,IAAI;YAAE,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;QACnE,IAAI,MAAM,CAAC,KAAK;YAAE,OAAO,CAAC,KAAK,CAAC,KAAK,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC;QACrD,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;IAChC,CAAC;AACH,CAAC,CAAC,CAAC;AAEL,sEAAsE;AAEtE,MAAM,KAAK,GAAG,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,WAAW,CAAC,iCAAiC,CAAC,CAAC;AAEtF,KAAK;KACF,OAAO,CAAC,OAAO,CAAC;KAChB,WAAW,CAAC,8DAA8D,CAAC;KAC3E,MAAM,CAAC,KAAK,IAAI,EAAE;IACjB,MAAM,KAAK,GAAG,IAAI,iCAAe,CAAC,IAAA,kCAAgB,GAAE,CAAC,CAAC;IACtD,MAAM,MAAM,GAAG,MAAM,IAAA,qBAAa,EAAC,EAAE,KAAK,EAAE,CAAC,CAAC;IAC9C,IAAI,MAAM,CAAC,EAAE,EAAE,CAAC;QACd,OAAO,CAAC,GAAG,CAAC,4BAA4B,MAAM,CAAC,SAAS,IAAI,KAAK,GAAG,CAAC,CAAC;IACxE,CAAC;SAAM,CAAC;QACN,OAAO,CAAC,KAAK,CAAC,yBAAyB,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC;QACvD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;AACH,CAAC,CAAC,CAAC;AAEL,KAAK;KACF,OAAO,CAAC,WAAW,CAAC;KACpB,WAAW,CAAC,6BAA6B,CAAC;KAC1C,MAAM,CAAC,KAAK,IAAI,EAAE;IACjB,MAAM,KAAK,GAAG,IAAI,iCAAe,CAAC,IAAA,kCAAgB,GAAE,CAAC,CAAC;IACtD,MAAM,MAAM,GAAG,MAAM,IAAA,yBAAiB,EAAC,EAAE,KAAK,EAAE,CAAC,CAAC;IAClD,IAAI,MAAM,CAAC,EAAE,EAAE,CAAC;QACd,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;IACpD,CAAC;SAAM,CAAC;QACN,OAAO,CAAC,KAAK,CAAC,KAAK,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC;QACnC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;AACH,CAAC,CAAC,CAAC;AAEL,KAAK;KACF,OAAO,CAAC,OAAO,CAAC;KAChB,WAAW,CAAC,yDAAyD,CAAC;KACtE,cAAc,CAAC,oBAAoB,EAAE,qBAAqB,CAAC;KAC3D,MAAM,CAAC,OAAO,EAAE,8CAA8C,EAAE,KAAK,CAAC;KACtE,MAAM,CAAC,cAAc,EAAE,mBAAmB,CAAC;KAC3C,MAAM,CAAC,KAAK,EAAE,IAAyD,EAAE,EAAE;IAC1E,MAAM,KAAK,GAAG,IAAI,iCAAe,CAAC,IAAA,kCAAgB,GAAE,CAAC,CAAC;IACtD,MAAM,MAAM,GAAG,MAAM,IAAA,qBAAa,EAAC;QACjC,KAAK;QACL,QAAQ,EAAE,IAAI,CAAC,QAAQ;QACvB,MAAM,EAAE,IAAI,CAAC,MAAM,KAAK,KAAK,EAAE,qCAAqC;QACpE,GAAG,EAAE,CAAC,CAAC,IAAI,CAAC,GAAG;KAChB,CAAC,CAAC;IACH,IAAI,MAAM,CAAC,EAAE,EAAE,CAAC;QACd,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;IACpD,CAAC;SAAM,CAAC;QACN,OAAO,CAAC,KAAK,CAAC,KAAK,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC;QACnC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;IAChC,CAAC;AACH,CAAC,CAAC,CAAC;AAEL,OAAO,CAAC,UAAU,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,CAAC,GAAG,EAAE,EAAE;IAC7C,sCAAsC;IACtC,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IACnB,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAClB,CAAC,CAAC,CAAC;AAEH,2EAA2E;AAE3E,SAAS,MAAM,CAAC,OAAe;IAC7B,MAAM,EAAE,GAAG,kBAAQ,CAAC,eAAe,CAAC,EAAE,KAAK,EAAE,OAAO,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;IACtF,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;QAC7B,EAAE,CAAC,QAAQ,CAAC,OAAO,EAAE,CAAC,MAAM,EAAE,EAAE;YAC9B,EAAE,CAAC,KAAK,EAAE,CAAC;YACX,OAAO,CAAC,MAAM,CAAC,CAAC;QAClB,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC;AAED;;;GAGG;AACH,SAAS,YAAY,CAAC,OAAe;IACnC,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,KAAK;QAAE,OAAO,MAAM,CAAC,OAAO,CAAC,CAAC;IAEjD,MAAM,GAAG,GAAG,GAAG,CAAC,CAAC,SAAS;IAC1B,MAAM,GAAG,GAAG,GAAG,CAAC,CAAC,YAAY;IAC7B,MAAM,EAAE,GAAG,IAAI,CAAC;IAEhB,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;QAC7B,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;QAC9B,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC;QAC5B,KAAK,CAAC,UAAU,EAAE,CAAC,IAAI,CAAC,CAAC;QACzB,KAAK,CAAC,MAAM,EAAE,CAAC;QACf,IAAI,GAAG,GAAG,EAAE,CAAC;QACb,MAAM,MAAM,GAAG,CAAC,KAAa,EAAE,EAAE;YAC/B,MAAM,CAAC,GAAG,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;YACjC,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,KAAK,IAAI,EAAE,CAAC;gBAC7B,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;gBAC3B,KAAK,CAAC,UAAU,EAAE,CAAC,KAAK,CAAC,CAAC;gBAC1B,KAAK,CAAC,KAAK,EAAE,CAAC;gBACd,KAAK,CAAC,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;gBAC1B,OAAO,CAAC,GAAG,CAAC,CAAC;YACf,CAAC;iBAAM,IAAI,CAAC,KAAK,GAAG,EAAE,CAAC;gBACrB,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YACpB,CAAC;iBAAM,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,EAAE,EAAE,CAAC;gBACjC,GAAG,GAAG,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;YACzB,CAAC;iBAAM,CAAC;gBACN,GAAG,IAAI,CAAC,CAAC;YACX,CAAC;QACH,CAAC,CAAC;QACF,KAAK,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC3B,CAAC,CAAC,CAAC;AACL,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
package/skills/ad-ops/README.md
CHANGED
|
@@ -18,6 +18,14 @@ ad-dashboard (`https://macchiato.site`) の webgram CLI を Claude Code / Codex
|
|
|
18
18
|
|
|
19
19
|
対応媒体: YDA / Meta / Google / SmartNews / ByteDance の 5 媒体。
|
|
20
20
|
|
|
21
|
+
### 入稿プランナー (`ad-planner.html`)
|
|
22
|
+
|
|
23
|
+
まとめ入稿を GUI で計画・確認するシングルHTML(依存なし・ローカルで開くだけ)。ヘッダーの媒体セレクタで **YDA / Meta** を切り替える。書き出した入稿計画JSON を `webgram submit-plan --plan-file <file>` に流して dry-run → 本実行する。詳細な運用手順は [SKILL.md](./SKILL.md) の「入稿プランナー(YDA / Meta 媒体切替・JSON入稿)」章。
|
|
24
|
+
|
|
25
|
+
- アカウント参照データ: `アカウント/<platform>/<名前>.json`(`アカウント/yda/` / `アカウント/meta/`)
|
|
26
|
+
- Meta は入稿前に **accountId(`act_` 付き) / FBページID / pixelId / CVイベント** が必須(未入力は書き出しブロック)
|
|
27
|
+
- **Meta の本番入稿 PoC は未実施** — 初回は配信オフ (`PAUSED`)・1 キャンペーン・最小予算から
|
|
28
|
+
|
|
21
29
|
## 利用者の初回セットアップ
|
|
22
30
|
|
|
23
31
|
### 1. Node.js が入っているか確認
|
|
@@ -49,7 +57,7 @@ tar xzf addashboard-cli-*.tgz --strip-components=1
|
|
|
49
57
|
cp -r skills/ad-ops/. ~/.claude/skills/ad-ops/
|
|
50
58
|
```
|
|
51
59
|
|
|
52
|
-
完了すると `~/.claude/skills/ad-ops/` に `SKILL.md` / `config.json` / `README.md` が配置される。Claude Code を一度終了して開き直す (通常は不要だが認識しない時は再起動)。
|
|
60
|
+
完了すると `~/.claude/skills/ad-ops/` に `SKILL.md` / `config.json` / `README.md` / `ad-planner.html` / `アカウント/<platform>/` が配置される。Claude Code を一度終了して開き直す (通常は不要だが認識しない時は再起動)。
|
|
53
61
|
|
|
54
62
|
#### Codex CLI の場合
|
|
55
63
|
|
|
@@ -98,6 +106,7 @@ Claude Code なら「ad-ops skill が使えます。ad-dashboard のログイン
|
|
|
98
106
|
|
|
99
107
|
- **参照系**: 「YDA のアカウント見せて」「Meta のキャンペーン一覧」「広告アカウント一覧」
|
|
100
108
|
- **入稿系**: 「YDA に入稿して」「PAUSED で dry-run」「Meta に入稿の dry-run」
|
|
109
|
+
- **プランナー系**: 「入稿プランナー開いて」「YDA入稿プランナー」「Meta入稿プランナー」「まとめ入稿の確認用シート」
|
|
101
110
|
- **認証系**: 「ad-dashboard のログイン状態は?」「webgram でログアウトして」
|
|
102
111
|
- **直接指定**: 「/ad-ops」「ad-ops skill 使って」「広告運用スキルで」
|
|
103
112
|
|
|
@@ -131,6 +140,7 @@ Claude Code なら「ad-ops skill が使えます。ad-dashboard のログイン
|
|
|
131
140
|
|
|
132
141
|
- CLI 本体の README: [cli/README.md](../../README.md) (人間向けの完走マニュアル + AI エージェント向け決定表)
|
|
133
142
|
- 入稿ボディ雛形: [cli/fixtures/README.md](../../fixtures/README.md)
|
|
143
|
+
- 入稿プランナー本体: [ad-planner.html](./ad-planner.html)(媒体要件ビューに YDA / Meta の仕様整理を同梱)
|
|
134
144
|
- freee 請求書発行スキル: [../invoice-issue-freee/SKILL.md](../invoice-issue-freee/SKILL.md)
|
|
135
145
|
|
|
136
146
|
## 配布元
|
package/skills/ad-ops/SKILL.md
CHANGED
|
@@ -1,11 +1,15 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: ad-ops
|
|
3
|
-
description: ad-dashboard (https://macchiato.site) の webgram CLI
|
|
3
|
+
description: ad-dashboard (https://macchiato.site) の webgram CLI 経由で広告を YDA / Meta に半自動入稿する (TikTok は将来対応予定)。用途は 2 系統 — 動画の API 入稿フロー (5 ステップ + 固定デフォルト + URL 空き番号自動割当 + 一覧 OK 確認、現状 YDA) と、入稿プランナー `ad-planner.html` (YDA / Meta を媒体セレクタで切替する GUI → 入稿計画JSON → `submit-plan` で dry-run → 本実行)。「広告運用」「広告入稿」「動画入稿」「まとめ入稿」「ASC 入稿」「YDA 入稿」「Meta 入稿」「入稿プランナー」「YDA入稿プランナー」「Meta入稿プランナー」「入稿シート」「TikTok 入稿」「webgram」「ad-dashboard」と言われたら使用。Node.js が入っていれば追加インストール不要 (`npx` 経由)。
|
|
4
4
|
---
|
|
5
5
|
|
|
6
6
|
# ad-ops skill (広告運用スキル)
|
|
7
7
|
|
|
8
|
-
Google Drive から手動 DL
|
|
8
|
+
Google Drive から手動 DL 済みの素材を各媒体に半自動入稿するためのスキル。
|
|
9
|
+
|
|
10
|
+
- **動画の API 入稿フロー(`submit`)**: 現状 **YDA のみ**。
|
|
11
|
+
- **入稿プランナー(`ad-planner.html` → 入稿計画JSON → `submit-plan`)**: **YDA / Meta 対応**(ヘッダーの媒体セレクタで切替)。
|
|
12
|
+
- **TikTok / ByteDance**: プランナー・入稿フローともに未対応(汎用 JSON 入稿 `submit --json-file` のみ)。
|
|
9
13
|
|
|
10
14
|
配置・発火方法・ログイン手順は [cli/README.md](../../README.md) の「初期設定: Skill として配置する」章を参照。
|
|
11
15
|
|
|
@@ -109,7 +113,9 @@ npx -y addashboard-cli@latest submit \
|
|
|
109
113
|
|
|
110
114
|
* YDA: `https://ads-display.yahoo.co.jp/campaign/detail?accountId=<accountId>&campaignId=<campaignId>` (キャンペーン ID は Step 5 の応答から取得)
|
|
111
115
|
|
|
112
|
-
* Meta /
|
|
116
|
+
* Meta: `https://adsmanager.facebook.com/adsmanager/manage/campaigns?act=<accountId の数値部分>`(`act_` は除いた数値を渡す)
|
|
117
|
+
|
|
118
|
+
* TikTok は将来対応時に URL 形式を追記
|
|
113
119
|
|
|
114
120
|
* 複数入稿した場合は、キャンペーン一覧ページ (`https://ads-display.yahoo.co.jp/campaign/list?accountId=<accountId>`) を 1 つ開けば十分
|
|
115
121
|
|
|
@@ -119,13 +125,13 @@ open "https://ads-display.yahoo.co.jp/campaign/detail?accountId=<accountId>&camp
|
|
|
119
125
|
|
|
120
126
|
## 媒体別の注意
|
|
121
127
|
|
|
122
|
-
|
|
128
|
+
**上記の動画 API 入稿フロー (`submit --video`) の対応は YDA のみ。** Meta は **入稿プランナー経由 (`submit-plan`)** で画像/動画とも入稿できる。TikTok を指定された場合は「未対応」と明示してから相談する。
|
|
123
129
|
|
|
124
|
-
| 媒体 |
|
|
125
|
-
| ---------------------- |
|
|
126
|
-
| **YDA** | ✅ 対応済み
|
|
127
|
-
| **Meta** | ⏳
|
|
128
|
-
| **TikTok / ByteDance** | ⏳ 将来対応予定 | 広告グループ単位で 1 本 | まとめ入稿は 10 本でも 20 本でも入稿リンクは 1 つ (クリエイティブグループ単位) |
|
|
130
|
+
| 媒体 | 動画 API 入稿フロー | 入稿プランナー GUI | 入稿リンクの粒度 | 備考 |
|
|
131
|
+
| ---------------------- | ------------ | ------------ | ---------------------- | ---------------------------------------------- |
|
|
132
|
+
| **YDA** | ✅ 対応済み | ✅ 対応済み | 広告ごと | まず YDA から対応 (社内優先順位、名倉さん依頼) |
|
|
133
|
+
| **Meta** | ⏳ 未対応 | ✅ 対応済み (画像/動画) | 広告ごと (まとめ入稿でも広告単位で変わる) | ASC でも広告ごとに個別リンクを設定。**実 API への本入稿 PoC は未実施** |
|
|
134
|
+
| **TikTok / ByteDance** | ⏳ 将来対応予定 | ⏳ 未対応 | 広告グループ単位で 1 本 | まとめ入稿は 10 本でも 20 本でも入稿リンクは 1 つ (クリエイティブグループ単位) |
|
|
129
135
|
|
|
130
136
|
***
|
|
131
137
|
|
|
@@ -140,67 +146,202 @@ open "https://ads-display.yahoo.co.jp/campaign/detail?accountId=<accountId>&camp
|
|
|
140
146
|
| ヘルプ | `npx -y addashboard-cli@latest --help` |
|
|
141
147
|
| アカウント一覧 | `npx -y addashboard-cli@latest list --platform <yda\|meta\|google\|smartnews\|bytedance> --resource accounts` |
|
|
142
148
|
| キャンペーン一覧 | `npx -y addashboard-cli@latest list --platform <媒体> --resource campaigns --account-id <id>` |
|
|
149
|
+
| 登録画像一覧 (YDA) | `npx -y addashboard-cli@latest list --platform yda --resource media --account-id <id>` |
|
|
150
|
+
| 登録画像一覧 (Meta) | `npx -y addashboard-cli@latest list --platform meta --resource image-library --account-id act_<id>`(imageHash) |
|
|
151
|
+
| 登録動画一覧 (Meta) | `npx -y addashboard-cli@latest list --platform meta --resource video-library --account-id act_<id>`(videoId) |
|
|
143
152
|
| 汎用入稿 (JSON) dry-run | `npx -y addashboard-cli@latest submit --platform <媒体> --json-file <path>` |
|
|
144
153
|
| 汎用入稿 (JSON) 実入稿 | `npx -y addashboard-cli@latest submit --platform <媒体> --json-file <path> --no-dry-run --yes` |
|
|
145
|
-
| 入稿計画 順次入稿 dry-run | `npx -y addashboard-cli@latest submit-plan --plan-file <入稿計画.json
|
|
154
|
+
| 入稿計画 順次入稿 dry-run | `npx -y addashboard-cli@latest submit-plan --plan-file <入稿計画.json>`(yda / meta。`plan.platform` 未記載は yda 扱い) |
|
|
146
155
|
| 入稿計画 順次入稿 実入稿 | `npx -y addashboard-cli@latest submit-plan --plan-file <入稿計画.json> --no-dry-run --yes`(1CPずつ・再開可能) |
|
|
156
|
+
| チーム週次レビュー取得 | `npx -y addashboard-cli@latest review --team <伊藤T\|松井T> [--week <YYYY-MM-DD>]` |
|
|
157
|
+
| 「予実」「予実管理」「今月の予実」「着地予測」「予実サマリ」 | `npx -y addashboard-cli@latest pl summary`(月指定は `pl summary --month YYYY-MM`) |
|
|
158
|
+
| 「案件別の予実」「案件ごとの損益」 | `npx -y addashboard-cli@latest pl projects`(`--month` / `--status` / `--platform` で絞り込み可) |
|
|
147
159
|
|
|
148
160
|
汎用入稿 (JSON ボディ直渡し) は yda / meta / google / smartnews / bytedance の 5 媒体対応。fixtures の雛形は tarball 同梱の `fixtures/*_poc.json`、各媒体の必須フィールドは `fixtures/README.md`。
|
|
149
161
|
|
|
162
|
+
**結果の要約**: `pl summary` / `pl projects` が返す JSON はそのまま貼らず、金額(円)・当月/指定月・着地予測を踏まえて人間向けに要約して提示すること(CLI の役割はデータ取得までで、要約はここで行う)。
|
|
163
|
+
|
|
150
164
|
***
|
|
151
165
|
|
|
152
|
-
##
|
|
166
|
+
## チーム週次レビュー取得(review コマンド)
|
|
167
|
+
|
|
168
|
+
チーム × 週で **全案件の週次レビュー(課題・今週のアクションプラン)を 1 回でまとめて取得** し、LLM(このセッション)が案件ごとに要約するためのコマンド。CLI の役割は JSON 取得までで、要約は LLM が行う。
|
|
169
|
+
|
|
170
|
+
### 自然言語 → コマンド マッピング
|
|
171
|
+
|
|
172
|
+
以下のような依頼で発火する:
|
|
173
|
+
|
|
174
|
+
- 「伊藤T(松井T)の先週の課題とアクションプラン(を案件ごとに要約して)」
|
|
175
|
+
- 「チームの週次レビュー(を見せて/まとめて)」
|
|
176
|
+
- 「先週の課題まとめ」「先週のアクションプランまとめ」
|
|
153
177
|
|
|
154
|
-
|
|
178
|
+
→ 実行するコマンド(**先週がデフォルト**):
|
|
155
179
|
|
|
156
|
-
|
|
157
|
-
-
|
|
180
|
+
```bash
|
|
181
|
+
npx -y addashboard-cli@latest review --team 伊藤T
|
|
182
|
+
```
|
|
183
|
+
|
|
184
|
+
特定週を指定する場合は、その週の月曜(JST)を `--week` で渡す:
|
|
185
|
+
|
|
186
|
+
```bash
|
|
187
|
+
npx -y addashboard-cli@latest review --team 松井T --week 2026-07-13
|
|
188
|
+
```
|
|
189
|
+
|
|
190
|
+
- `--team` は `伊藤T` または `松井T` のいずれか(必須)
|
|
191
|
+
- `--week` 省略時は **先週の月曜(JST)** を自動採用(例: 実行日が 2026-07-23(水) なら 2026-07-13)
|
|
192
|
+
- 出力は JSON(`team` / `weekStart` / `teamProjectCount` / `reviewCount` / `reviews[]`)
|
|
193
|
+
|
|
194
|
+
### 結果の要約(LLM 側の必須整形)
|
|
195
|
+
|
|
196
|
+
`review` の JSON は **そのまま貼らない**。案件ごとに次の形で要約する:
|
|
197
|
+
|
|
198
|
+
- **案件名(clientName / platform があれば併記)**
|
|
199
|
+
- 課題: `issue` を要約
|
|
200
|
+
- 今週のアクションプラン: `thisWeekPlan` を要約
|
|
201
|
+
- 数値実績(`actualCpa` / `actualCtr` / `actualCvr` 等)があれば補足。目標(`goalCpa` 等)と併記できると良い
|
|
202
|
+
|
|
203
|
+
冒頭または末尾で **`reviewCount`(レビュー記入のあった案件数)/ `teamProjectCount`(チームの総案件数)** に触れ、「N 件中 M 件にレビュー記入あり」といった全体像を示す。`reviews` が空(`reviewCount: 0`)の場合は「該当週の週次レビュー記入はありませんでした」と伝える。
|
|
204
|
+
|
|
205
|
+
***
|
|
206
|
+
|
|
207
|
+
## 入稿プランナー(YDA / Meta 媒体切替・JSON入稿)
|
|
208
|
+
|
|
209
|
+
動画の API 入稿とは別に、**一括入稿を計画・確認する**ためのシングルHTMLツール。2026-07-16 / 07-21 定例フィードバックを反映。**2026-07-23 に CSV 書き出しを廃止し、保存・入稿受け渡しを JSON に統一**。**2026-07-30 に媒体スキーマ駆動化(`PLATFORMS` レジストリ)して Meta に対応**。
|
|
210
|
+
|
|
211
|
+
- **ファイル**: 本スキル同梱の [`ad-planner.html`](./ad-planner.html)(旧 `yda-planner.html` からリネーム。ローカルで開くだけ・依存なし)
|
|
212
|
+
- **媒体切替**: ヘッダーの **媒体セレクタ(YDA / Meta)** で切替。列定義・enum変換・命名規則・検証・入稿ボディ変換・プロンプト文言はすべて媒体定義側にあり、コアは「3階層 × 表 × 参照解決 × 除外集計」だけを持つ。プラン・履歴・参照データは **媒体別に保存**される(localStorage キー `ad_planner_*`。旧 `yda_planner_*` からは初回に1回だけ自動マイグレーション)
|
|
213
|
+
- **役割**: 動画の API 入稿=`addashboard-cli submit`(YDA のみ)、**まとめ入稿=このプランナーで計画 → 「入稿JSON書き出し」(入稿計画JSON planVersion:1)→ `submit-plan` に流す**(Yahoo管理画面CSVインポートは廃止)。
|
|
158
214
|
- **基本思想(定例)**: AIで生成できる部分は **AIに生成させ(JSON読込)**、絶対に人が確定する部分(クリエイティブ選定・確認)を **スプシ的コピペ・一括入力・複製** で楽にする。プランナーで確認・修正して **OK なら 入稿JSON書き出し(=GO)→ `submit-plan` dry-run一括検証 → 本実行**(1キャンペーンずつ入稿・進捗書き戻しで再開可能)。
|
|
159
|
-
- **ビュー**: `媒体要件`(YDA/Meta タブの仕様・使い方ページ)/ `プラン`(戦略メモ → 案件設定 → シート/ツリー切替。シートは1広告=1
|
|
215
|
+
- **ビュー**: `媒体要件`(YDA/Meta タブの仕様・使い方ページ)/ `プラン`(戦略メモ → 案件設定 → シート/ツリー切替。シートは1広告=1行の表+広告/広告グループ(Meta は広告セット)/キャンペーンのネストタブ、ツリーは開閉・複製・量産)/ `参照データ`(タイトル&説明一覧・登録画像一覧の閲覧+新規登録)/ `履歴`(保存バージョン一覧)。同一 state を投影し切替。
|
|
216
|
+
|
|
217
|
+
### 媒体別の違い(YDA / Meta)
|
|
218
|
+
|
|
219
|
+
| 項目 | YDA | Meta |
|
|
220
|
+
| ----------------- | -------------------------------------------------- | ------------------------------------------------------------------------ |
|
|
221
|
+
| 階層ラベル | キャンペーン > **広告グループ** > 広告 | キャンペーン > **広告セット** > 広告 |
|
|
222
|
+
| 予算の階層 | **キャンペーン**(日予算) | **広告セット**(日予算)。CBO は使わない |
|
|
223
|
+
| accountId 形式 | 数値のみ | **`act_` 付き必須**(`act_<数値>`。違反は書き出しブロック) |
|
|
224
|
+
| クリエイティブ形式 | 画像のみ(Card 1200 / SQ 1080 の mediaID) | **画像(imageHash)/動画(videoId + サムネ imageHash)両対応**(広告行の形式列 IMAGE / VIDEO) |
|
|
225
|
+
| 参照データ (`refs.media`) | `{card, sq}` | `{image, video, thumb}` |
|
|
226
|
+
| プロジェクト必須項目 | accountId / 目的(goal) / 開始日 / 入札 | accountId(`act_`) / **FBページID** / **pixelId**(`OFFSITE_CONVERSIONS`/`VALUE` 時) / CVイベント / 最適化 / 課金 / 入札戦略 |
|
|
227
|
+
| 入札 | 最大配信 / tCPA(`MAXIMIZE_CONVERSIONS`+targetCpa) | `LOWEST_COST_WITHOUT_CAP` / `LOWEST_COST_WITH_BID_CAP` / `COST_CAP` / `LOWEST_COST_WITH_MIN_ROAS`(後2者は `bidAmount` 必須) |
|
|
228
|
+
| ターゲティング列 | 年齢 / 性別 / デバイス / 地域・オーディエンス・サーチKW(後3者は入稿JSONに載らない警告付き) | 年齢(ageMin/ageMax) / 性別 / デバイス / 配置(Facebook / Instagram / Audience Network / Messenger、既定は自動配置) |
|
|
229
|
+
| 命名規則 | `{番号}{c\|s}-{見出し}L{本文}-{paramCode}` / `?ad=&creative=` | **同形式を踏襲**(形式記号は `i`(画像) / `v`(動画)) |
|
|
230
|
+
| 手入稿の除外 | バナー(固定サイズ)は API 未対応 → `手入稿` フラグで入稿JSONから除外 | 手入稿フラグの区分は無し(未解決の広告のみ除外) |
|
|
231
|
+
| 管理画面 | `ads.yahoo.co.jp/manager/#/...` | `adsmanager.facebook.com/adsmanager/manage/campaigns?act=<数値>` |
|
|
232
|
+
|
|
233
|
+
**Meta で未対応(今回スコープ外)**: カルーセル/コレクション等の複数素材フォーマット、カスタムオーディエンス/類似オーディエンスの ID 解決、地域ターゲティングの細分化(国単位のみ)、既存キャンペーンの複製テンプレート運用の GUI 化。**本番 Meta API への本入稿 PoC も未実施**。
|
|
160
234
|
|
|
161
235
|
### 起点フロー(戦略壁打ち → サンプルプラン.json → 入稿)
|
|
162
236
|
|
|
163
237
|
ヘッダーの **「❓使い方」ボタン** を押すと、この流れとプロンプト例(戦略壁打ち用・アカウント取込用)をモーダルで表示できる。全体像は「AIで作れる部分はAIに、人が確定するクリエイティブ選定・確認をプランナーで」。
|
|
164
238
|
|
|
165
239
|
1. **戦略を壁打ちする**: AI(Claude Code)に商材・目的・予算・訴求点を伝え、ターゲティング方針・キャンペーン/広告グループ構成・訴求軸を提案させる。
|
|
166
|
-
2. **OK →
|
|
167
|
-
3. **プランナーに反映**:
|
|
240
|
+
2. **OK → サンプルプラン JSON へ書き出し**: 壁打ちで OK が出たら、その戦略を本スキル同梱のサンプルプラン(**YDA=`サンプルプラン.json` / Meta=`サンプルプラン_meta.json`**、保存先はいずれも `.claude/skills/ad-ops/` 直下、フォーマット: `{"schemaVersion":3, "platform":"yda|meta", "accountId":"<ID>", "campaigns":[ キャンペーン>広告グループ(=Metaは広告セット, paramCode)>広告 ]}`)に **上書き** する。
|
|
241
|
+
3. **プランナーに反映**: プランナーを開き直す/リロード(Meta なら媒体セレクタを Meta に切替)すると、起動時に当該媒体のサンプルプランが読み込まれ、キャンペーン > 広告グループ/広告セット > 広告として表示される(accountId が現アカウントと不一致なら読み込まない安全弁あり)。
|
|
168
242
|
4. **確認・編集**: 見て、AI に再指示してもよいし、プランナー内で追加・複製・文言/画像/パラメータ編集(セル選択コピペ可)してもよい。
|
|
169
243
|
5. **保存 → 入稿**: 「バージョン保存」(履歴に v1, v2…)と「✅完成→保存して入稿」(入稿計画JSON書き出し)。保存後に表示されるプロンプトを AI に貼ると入稿(dry-run→本実行)まで進む。
|
|
170
244
|
|
|
171
|
-
**初回セットアップ**:
|
|
172
|
-
|
|
173
|
-
|
|
245
|
+
**初回セットアップ**: 初めて使うアカウントは、先に「アカウント取込プロンプト」で登録画像・見出し・既存キャンペーン/広告グループを取り込み、**`アカウント/<platform>/<名前>.json`**(refs。YDA なら `アカウント/yda/<名前>.json`、Meta なら `アカウント/meta/<名前>.json`)を用意する(アカウント名は日本語で可)。**旧配置(`アカウント/` 直下)も fetch フォールバックで読める**(`platform` 未記載=yda 扱いの後方互換)。
|
|
246
|
+
|
|
247
|
+
#### Meta の初回セットアップ(`アカウント/meta/<名前>.json`)
|
|
248
|
+
|
|
249
|
+
1. アカウントを特定: `webgram list --platform meta --resource accounts` → 対象の **accountId(`act_` 付き)** を確定。あわせて **FBページID / IGユーザーID(任意)/ pixelId** を確認する(この3つは CLI では取れないので Meta Business 管理画面から拾う)。
|
|
250
|
+
2. クリエイティブ参照を取り込む:
|
|
251
|
+
```bash
|
|
252
|
+
npx -y addashboard-cli@latest list --platform meta --resource image-library --account-id act_<ID> # imageHash
|
|
253
|
+
npx -y addashboard-cli@latest list --platform meta --resource video-library --account-id act_<ID> # videoId
|
|
254
|
+
npx -y addashboard-cli@latest list --platform meta --resource campaigns --account-id act_<ID> # 既存CP/広告セット
|
|
255
|
+
```
|
|
256
|
+
3. 取得結果を下記スキーマに整形して `アカウント/meta/<アカウント名>.json` へ保存する(雛形は同梱の `アカウント/meta/sample_account.json`):
|
|
257
|
+
```json
|
|
258
|
+
{
|
|
259
|
+
"accountJsonVersion": 1,
|
|
260
|
+
"platform": "meta",
|
|
261
|
+
"accountId": "act_<ID>",
|
|
262
|
+
"name": "<アカウント名>",
|
|
263
|
+
"pageId": "<FacebookページID>",
|
|
264
|
+
"instagramUserId": "<IGユーザーID(任意)>",
|
|
265
|
+
"pixelId": "<ピクセルID>",
|
|
266
|
+
"baseArticleUrl": "<記事ベースURL>",
|
|
267
|
+
"refs": {
|
|
268
|
+
"titles": {"1": "見出し"},
|
|
269
|
+
"descriptions": {"1": "本文"},
|
|
270
|
+
"media": {"1": {"image": "<imageHash>", "video": "<videoId>", "thumb": "<サムネのimageHash>"}},
|
|
271
|
+
"campaigns": {"<campaignId>": {"name": "CP名"}},
|
|
272
|
+
"adGroups": {"<adSetId>": {"name": "広告セット名", "campaignId": "<campaignId>", "paramCode": "<code>"}}
|
|
273
|
+
}
|
|
274
|
+
}
|
|
275
|
+
```
|
|
276
|
+
4. プランナーの「+新規追加 → 📄 ファイルから追加」または「📁 フォルダ」再接続で一覧に出る。
|
|
277
|
+
|
|
278
|
+
**プランナー内の「❓使い方」ボタンから、この取込プロンプト(媒体別の文言)をコピーできる**ので、AI に貼るだけでも進められる。
|
|
279
|
+
|
|
280
|
+
#### Meta で入稿前に必ず埋める項目
|
|
281
|
+
|
|
282
|
+
| 項目 | なぜ必要か |
|
|
283
|
+
| --------------------------- | ----------------------------------------------------------- |
|
|
284
|
+
| **accountId(`act_` 付き)** | 形式違反は書き出しブロック(`act_<数値>` のみ) |
|
|
285
|
+
| **FBページID (`pageId`)** | 広告クリエイティブの発信者。未入力は書き出しブロック |
|
|
286
|
+
| **pixelId** | `optimizationGoal` が **`OFFSITE_CONVERSIONS` / `VALUE`** の場合は公式必須(`promoted_object`)。未入力は書き出しブロック(backend 側も 400 を返す) |
|
|
287
|
+
| **customEventType(CVイベント)** | `promoted_object` の CV イベント(既定 `PURCHASE`) |
|
|
288
|
+
| `bidAmount` | 入札戦略が `COST_CAP` / `LOWEST_COST_WITH_BID_CAP` のときのみ必須 |
|
|
289
|
+
| `instagramUserId` | 任意(Instagram 配置を使う場合に指定) |
|
|
290
|
+
|
|
291
|
+
### 入稿手順(YDA):未知の画像・キャンペーン/広告グループは先に登録
|
|
174
292
|
|
|
175
293
|
入稿は「**未知のアセットを先に登録 → アカウントJSONに反映 → 広告を入稿**」の順で行う。`submit-plan` 本実行がこれを自動化する:
|
|
176
294
|
|
|
177
295
|
1. **未知の画像を登録**: 広告の `imagePaths[]`(ローカル画像)を `/yda/upload-image` で自動アップロードして mediaId を解決。解決結果は計画ファイルに書き戻され、再開時の再アップロードを防ぐ。
|
|
178
296
|
2. **未知のキャンペーン/広告グループを作成**: 計画に既存IDが無い CP/AG は backend が新規作成し、応答から campaignId を回収(進捗に書き戻し)。
|
|
179
|
-
3. **アカウントJSONへ反映**: 解決した mediaId・新規作成した CP/AG のID(`【paramCode】↔ID`)を
|
|
297
|
+
3. **アカウントJSONへ反映**: 解決した mediaId・新規作成した CP/AG のID(`【paramCode】↔ID`)を `アカウント/<媒体>/<名前>.json` の `refs`(media / campaigns / adGroups / groups)へ反映し、次回以降は再利用する(未解決を避ける)。
|
|
180
298
|
4. **広告を入稿**: アセット解決済みの状態で 1 キャンペーンずつ入稿。`submitted` 済みはスキップ(再開・二重入稿防止)。
|
|
181
299
|
|
|
300
|
+
### 入稿手順(Meta)
|
|
301
|
+
|
|
302
|
+
1. **プランナーで計画**: 媒体セレクタを **Meta** にし、アカウントを選択(`アカウント/meta/<名前>.json` 未整備なら先に上記セットアップ)。キャンペーン > 広告セット > 広告を作り、共通設定チップで FBページID / pixelId / CVイベント / 最適化 / 課金 / 入札戦略 / 開始日 を確定する。
|
|
303
|
+
2. **入稿JSON書き出し**: ワンクリックで `<案件名>_Meta入稿計画_<日時>.json`(`planVersion:1`、`platform:"meta"`)を出力。`act_` 形式違反・FBページID 未入力・(`OFFSITE_CONVERSIONS`/`VALUE` 時の)pixelId 未入力・0件 は**書き出しをブロック**する。
|
|
304
|
+
3. **dry-run で一括検証**:
|
|
305
|
+
```bash
|
|
306
|
+
npx -y addashboard-cli@latest submit-plan --plan-file "<Meta入稿計画.json>"
|
|
307
|
+
```
|
|
308
|
+
dry-run では**アップロードを行わない**(素材解決は本実行時のみ)。
|
|
309
|
+
4. **本実行(1キャンペーンずつ)**:
|
|
310
|
+
```bash
|
|
311
|
+
npx -y addashboard-cli@latest submit-plan --plan-file "<Meta入稿計画.json>" --no-dry-run --yes
|
|
312
|
+
```
|
|
313
|
+
- 未登録クリエイティブは本実行時に解決される: **動画 → `/api/submission/meta/upload-video`(videoId)/画像 → `/api/submission/meta/upload-image`(image_hash)**。画像広告は `imagePaths[]`、動画広告は `videoPath` にローカルパスを入れておく。
|
|
314
|
+
- 解決結果・campaignId は計画ファイルに書き戻され、`submitted` 済みはスキップ(途中失敗後の再開・二重入稿防止)。
|
|
315
|
+
5. **管理画面で確認**: `open "https://adsmanager.facebook.com/adsmanager/manage/campaigns?act=<数値>"`。
|
|
316
|
+
6. **本番PoC は未実施**: Meta 実 API への本入稿は**まだ検証していない**(backend/CLI/GUI とテストのみ)。初回は必ず **配信ステータス=オフ(`PAUSED`)で 1 キャンペーン・1 広告セット・少数広告** から始め、管理画面で内容(ページ/ピクセル/予算/ターゲティング/リンク)を目視確認してから本数を増やす。予算も最小額で通し、想定外の課金を避ける。
|
|
317
|
+
|
|
182
318
|
### 保存とバージョン履歴(2026-07-23〜)
|
|
183
319
|
|
|
184
320
|
- **バージョン保存**: 保存のたびに **常に新バージョン**(v1, v2…)。JSON は `schemaVersion:2` で `meta`(バージョンID・作成/更新日時・作成者・対象媒体・名称・メモ)を持つ。旧 v1 JSON も読込時に自動マイグレーション。**履歴本体はブラウザ内(localStorage)に自動保存**されるため、フォルダ設定なしで一覧・再読込・削除が完結する。
|
|
185
321
|
- **保存フォルダ連携(入稿計画/)**: 履歴ビューの「📁 保存フォルダに接続」で本スキル同梱の `入稿計画/` フォルダ(`.claude/skills/ad-ops/入稿計画/`)を**初回に1回だけ**選ぶと、以後は開くだけで自動接続され、保存のたびにファイルにも書き出される(File System Access API / Chrome系のみ。非対応環境・未接続時はダウンロード動作)。
|
|
186
322
|
- **履歴ビュー**: バージョン・日時・媒体・名称・メモ・作成者の一覧。`読込`(過去バージョン復元)/ `編集`(名称・メモ)/ `削除`。
|
|
187
|
-
- **入稿JSON書き出し**:
|
|
323
|
+
- **入稿JSON書き出し**: 設定ダイアログなしの**ワンクリック**。参照未解決の広告は自動除外、accountId 未入力・0件なら書き出し中止(空入稿防止)。媒体別の中身:
|
|
324
|
+
- **YDA**: アカウントID・目的(goal)・開始日は案件設定チップ、入札はキャンペーン行(tCPA→`MAXIMIZE_CONVERSIONS`+targetCpa)、ターゲティングは広告グループ行の列(日本語ラベル→API enum 自動変換)から `*_入稿計画_*.json`(planVersion:1、広告は IMAGE 形式: mediaIds/headlines/descriptions/principal)を生成。手入稿バナーも自動除外。
|
|
325
|
+
- **Meta**: 予算は広告セット行(CBO は使わない)、目的は `objective`、最適化/課金/入札戦略/pixel/CVイベント/FBページID は案件設定チップ、ターゲティング(年齢・性別・デバイス・配置)は広告セット行の列から `*_Meta入稿計画_*.json`(planVersion:1、`platform:"meta"`、`campaigns[].adSets[]`、広告は IMAGE / VIDEO)を生成。`act_` 形式違反・FBページID 未入力・pixelId 必須ケースの未入力でブロック。
|
|
188
326
|
|
|
189
327
|
### 量産構造(媒体要件の核)
|
|
190
328
|
|
|
191
|
-
- 階層 **キャンペーン >
|
|
192
|
-
- **変数=キャンペーン**(検証したい1
|
|
329
|
+
- 階層 **キャンペーン > 広告グループ(Meta は広告セット) > 広告**。`1:1:4`(基本)/ 初期 `1:1:10`(撒いて選ぶ)。
|
|
330
|
+
- **変数=キャンペーン**(検証したい1点だけ変えてキャンペーンを分ける)、**クリエイティブ束=広告グループ/広告セット内の広告**。
|
|
193
331
|
- 北さんのやり方 = **テンプレ複製 → 中身クリア → 変数だけ差し替え** の量産。プランナーのツリー複製ダイアログ / 「N本まとめて」/ キャンペーン量産で再現。
|
|
194
332
|
- **広告グループ = 1つの `【paramCode】`**。これでキャンペーンID/広告グループID/メディアID/タイトル/説明文/最終URL を解決(VLOOKUP代替)。派生値は純関数で毎回算出。
|
|
195
333
|
|
|
196
334
|
### 入稿モードと手入稿
|
|
197
335
|
|
|
198
336
|
- モード: **新規**(12,000円/日・1CP=1AG=1広告を量産)/ **既存ASC**(5万〜10万円/日・まとめ入稿)/ 既存-広告グループ追加 / 既存-広告追加。
|
|
199
|
-
-
|
|
337
|
+
- **YDA のバナー(固定サイズ画像)は API 未対応 → 手入稿**。プランナーでは `手入稿` フラグで区別し、入稿JSONから自動除外。Meta には手入稿フラグの区分は無い。
|
|
200
338
|
|
|
201
339
|
### 発火時の案内
|
|
202
340
|
|
|
203
|
-
|
|
341
|
+
- 「入稿プランナー」「YDA入稿プランナー」「入稿シート」「タイトル/画像一覧」「まとめ入稿の確認用シート」等を求められたら、このHTMLを案内・オープンする(`open <path>`)。**媒体が明示されていなければどちらの媒体か確認**し、開いたあとヘッダーの媒体セレクタで切替えるよう伝える。
|
|
342
|
+
- 「**Meta入稿プランナー**」「Meta のまとめ入稿」等と言われたら、同じ `ad-planner.html` を開いて **媒体セレクタで Meta に切替**するよう案内する。アカウント参照データ(`アカウント/meta/<名前>.json`)が無ければ**先に初回セットアップ**(`list --platform meta --resource image-library|video-library|campaigns` で取り込み)へ誘導する。**FBページID / pixelId / CVイベント**が未確定なら、書き出しがブロックされる旨を先に伝えて確認する。
|
|
343
|
+
- 入稿計画JSONは書き出し後 `webgram submit-plan --plan-file <入稿計画.json>` で **dry-run一括検証 → `--no-dry-run --yes` 本実行** にかける(1CPずつ・進捗書き戻しで途中失敗後も再開可、`submitted` 済みはスキップ)。`plan.platform` で YDA / Meta が自動判別される(未記載は yda 扱い)。
|
|
344
|
+
- **Meta は本番PoC 未実施**なので、実入稿を頼まれたら「配信オフ(PAUSED)・1キャンペーン・最小予算から」を必ず提案してから進める。
|
|
204
345
|
|
|
205
346
|
## ログイン情報の取り扱い
|
|
206
347
|
|
|
@@ -225,11 +366,13 @@ open "https://ads-display.yahoo.co.jp/campaign/detail?accountId=<accountId>&camp
|
|
|
225
366
|
- **将来的な体験改善**: Google Drive 拡張機能から複数動画を選択 → プロンプト自動生成 → 貼り付け実行までワンストップ化
|
|
226
367
|
- CLI バージョンは `npmPackage: "addashboard-cli@latest"` で常に最新。特定バージョンに固定したい場合は `config.json` を `addashboard-cli@0.2.3` の形に変更
|
|
227
368
|
|
|
228
|
-
### 入稿プランナー関連ロードマップ(2026-07-16 定例 / 2026-07-23 更新)
|
|
369
|
+
### 入稿プランナー関連ロードマップ(2026-07-16 定例 / 2026-07-23・2026-07-30 更新)
|
|
229
370
|
|
|
230
371
|
- ~~CSVを介さない直接入稿~~ → **完了(2026-07-23)**: プランナーの「入稿JSON書き出し」が入稿計画JSON(planVersion:1)を生成し、`submit-plan` が dry-run一括検証→1CPずつ入稿(`/yda/upload-image` で新規画像の mediaId 解決・進捗書き戻し・再開可)。backend は `createImageAd`(RESPONSIVE_AD+IMAGE)対応。CSV書き出しは廃止。
|
|
231
372
|
- **キャンペーン/広告グループID の自動取得**: 管理画面からの手コピペ(`【paramCode】`↔ID の突合)を、API/MCP で自動取得して置き換える。新規CPは払出し後にID解決。
|
|
232
373
|
- **新規画像のメディア登録自動化**: ドライブ格納画像を YDA メディアに登録し、プランナーの参照データ(画像番号→mediaID)へ反映。
|
|
233
374
|
- **命名規則の統一**: `【】内の数字`のみ共通で、キャンペーン名/広告名は担当者差がある → システム命名に寄せられるようにする。
|
|
234
|
-
-
|
|
375
|
+
- ~~**Meta広告対応**(GUI未対応)~~ → **プランナーGUI 対応完了(2026-07-30)**: `PLATFORMS` 媒体スキーマ駆動化により、媒体セレクタで Meta を選ぶと専用の列・enum・命名規則・検証・入稿ボディ変換に切り替わる。backend は Meta Marketing API 公式Docs 照合で 12 ギャップを修正(APIバージョン集約 / zodスキーマ一本化と 400 応答 / `instagram_user_id` / `promoted_object` / JPY の currency offset / `bid_amount` 必須条件 / 動画サムネ hash / 特別広告カテゴリ / JST ISO8601 / `success` 判定 など)。CLI は `submit-plan` の meta 対応と `list --resource image-library|video-library` を追加。
|
|
376
|
+
- **Meta の残タスク(未対応)**: 本番アカウントへの入稿 PoC(未実施)、カルーセル/コレクション等の複数素材フォーマット、カスタムオーディエンス/類似オーディエンスの ID 解決、地域ターゲティング細分化(現状は国単位)、既存キャンペーンの複製テンプレート運用の GUI 化。
|
|
377
|
+
- **TikTok / ByteDance のプランナー対応**: 未着手(`PLATFORMS` に媒体定義を追加すれば載る設計)。
|
|
235
378
|
- **未確定(要実機確認)**: CTA既定(画像=もっとみる / 動画=詳細を見る)と `buttonText` enum、画像レスポンシブAPI入稿(PR #82)の実疎通、新規時に CP/AG ID 未払出でどう入稿するか、画像サムネURLの入手経路。
|