こんにちは、パレイド思想部です。
前回はプロジェクトフォルダから連載企画を自動生成するプロジェクトスキャナーを紹介しました。
今回は「日常の使い勝手」の話です。ai-editor は CLI ツールとして設計していますが、毎回ターミナルでコマンドを打つのは面倒です。VS Code の tasks.json に登録すれば、エディタから離れずにすべての操作が完結します。
なぜ tasks.json なのか
ai-editor のコマンドは多岐にわたります。
python -m publish sync --dir blog/articles/
python -m publish generate --series ...
python -m publish review
python -m publish news ingest
python -m publish triad-sync
これを毎回タイプするのは現実的ではありません。シェルスクリプトにまとめる手もありますが、VS Code の tasks.json なら:
- ショートカットキーで即実行できる
- 問題マッチャーで出力をパースし、エラー行にジャンプできる
- タスクの依存関係で「同期 → レビュー」のような連鎖実行ができる
- 記事の Markdown を編集しながらそのまま同期・プレビューできる
基本構成
.vscode/tasks.json に ai-editor のコマンドを登録します。
{
"version": "2.0.0",
"tasks": [
{
"label": "sync: blog ↔ WP",
"type": "shell",
"command": "PYTHONPATH=tools python -m publish sync",
"group": "build",
"presentation": {
"reveal": "always",
"panel": "shared"
}
},
{
"label": "sync: current file",
"type": "shell",
"command": "PYTHONPATH=tools python -m publish sync --file ${file}",
"group": "build",
"presentation": {
"reveal": "always",
"panel": "shared"
}
},
{
"label": "review: all",
"type": "shell",
"command": "PYTHONPATH=tools python -m publish review",
"group": "test"
},
{
"label": "news: batch",
"type": "shell",
"command": "PYTHONPATH=tools python -m publish news batch",
"group": "build"
},
{
"label": "triad: sync",
"type": "shell",
"command": "PYTHONPATH=tools python -m publish triad-sync",
"group": "build"
}
]
}
${file} は VS Code の変数で、現在開いているファイルのパスに展開されます。記事を編集中に「sync: current file」を実行すれば、その記事だけを WordPress に同期できます。
実際に登録しているタスク一覧
当サイトでは以下のタスクを登録しています。
同期系
| タスク | コマンド | 用途 |
|---|---|---|
| sync: blog ↔ WP | publish sync | 全記事の双方向同期 |
| sync: current file | publish sync --file ${file} | 今開いている記事だけ同期 |
| sync: force upload | publish sync --file ${file} --force | コンフリクト無視で強制アップロード |
記事生成系
| タスク | コマンド | 用途 |
|---|---|---|
| generate: from scenario | publish generate --file ${file} | シナリオ YAML から記事生成 |
| generate: outline only | publish generate --file ${file} --stop-after a | 構成案だけ生成して確認 |
レビュー・分析系
| タスク | コマンド | 用途 |
|---|---|---|
| review: all | publish review | 全記事の品質チェック |
| review: series | publish review --checkers series | 連載整合チェック |
| score: current | publish score ${input:postId} | 記事 ID を入力してスコアリング |
ショートカットキーの割り当て
よく使うタスクにはキーバインドを設定しています。keybindings.json に追加します。
[
{
"key": "cmd+shift+s",
"command": "workbench.action.tasks.runTask",
"args": "sync: current file"
},
{
"key": "cmd+shift+r",
"command": "workbench.action.tasks.runTask",
"args": "review: all"
}
]
Cmd+Shift+S で今開いている記事を WordPress に即同期。記事を書きながらプレビューしたいときに重宝します。
入力プロンプトの活用
記事 ID の入力が必要なタスク(スコアリング等)は inputs を使います。
{
"inputs": [
{
"id": "postId",
"description": "記事の post_id を入力",
"type": "promptString",
"default": ""
}
]
}
タスク実行時にダイアログが表示され、ID を入力するとコマンドに渡されます。
タスクの連鎖実行
「同期してからレビュー」のように、タスクを連鎖させることもできます。
{
"label": "sync + review",
"dependsOn": ["sync: blog ↔ WP", "review: all"],
"dependsOrder": "sequence"
}
dependsOrder: "sequence" で順番に実行されます。同期が終わってからレビューが走るので、最新の状態でチェックできます。
まとめ
tasks.json の登録は一度やれば終わりですが、効果は毎日積み重なります。
- ターミナルを開かなくていい
- コマンドを覚えなくていい
- ショートカット一発で同期・生成・レビュー
- 記事を書く → 同期する → レビューする、がシームレスにつながる
「ツールは作ったけど使うのが面倒」にならないための、最後の一手です。
次回予告: 第9回は「Google Analytics 連携」を取り上げます。記事のパフォーマンスを API で取得し、LLM でスコアリング・改善提案を行う仕組みを解説します。



