doc-smith-publish について
doc-smith-publish は、ローカルで生成した HTML ドキュメントを DocSmith Cloud に公開するスキルです。出力ディレクトリとメタデータを検出し、オンラインプレビュー URL を返します。
主な機能
- 01ローカル HTML ドキュメントの公開
- 02出力ディレクトリの自動検出
- 03プロジェクト名と説明の読み取り
- 04Hub URL の指定
- 05オンラインプレビュー URL の返却
活用シーン
- 01生成した DocSmith ドキュメントの公開
- 02カスタム Hub への公開
- 03公開済みドキュメントのプレビュー
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ aigne-io/ doc-smith-skills --skill doc-smith-publishインストール後、Claude Code で/doc-smith-publishを入力して読み込まれたか確認します。
同梱ファイル
SKILL.md と一緒にインストールされる参考資料やスクリプト。
scripts/package-lock.jsonpackage.jsonpublish.mjssave-token.mjsscripts/utils/auth.mjsblocklet-info.mjsconstants.mjshistory.mjshttp.mjsstore.mjsupload.mjszip.mjs詳細
DocSmith ドキュメントの公開
ローカルで生成した HTML ドキュメントを DocSmith Cloud にワンステップで公開し、オンラインプレビュー URL を返します。
使い方
/doc-smith-publish
/doc-smith-publish --dir .aigne/doc-smith/dist
/doc-smith-publish --hub https://custom.hub.io
オプション
| オプション | エイリアス | 説明 |
|---|---|---|
--dir <path> | -d | 公開するディレクトリを指定します(デフォルトでは自動検出) |
--hub <url> | -h | DocSmith Hub URL(デフォルトは https://docsmith.aigne.io) |
事前認証済みの認証情報
ユーザーメッセージにアクセス認証情報(blocklet- で始まる文字列)が含まれている場合は、公開前に認証情報を保存してください。
node {skill_path}/scripts/save-token.mjs --token "<credential>" --hub <hub-url>
--hub パラメーターでは、認証情報が属する DocSmith Hub を指定します。公開先の Hub と一致させるため、必ず明示的に --hub を渡してください。ユーザーが公開コマンドまたはメッセージでカスタム Hub を指定している場合(--hub を使用)、ここでも同じ URL を使用してください。デフォルト値に依存しないでください。
認証情報は ~/.aigne/ に永続的に保存され、以降の公開ではブラウザー認証なしで自動的に使用されます。
ユーザーメッセージに認証情報が含まれている場合は、すでに認証情報が保存されていても、必ずこの手順で抽出して保存してください。
ワークフロー
ステップ 1:依存関係を確認する
test -d {skill_path}/scripts/node_modules || (cd {skill_path}/scripts && npm install)
ここで {skill_path} は、この Skill のディレクトリパス(skills/doc-smith-publish)です。
ステップ 2:公開先を検出する
次の優先順位で公開ディレクトリを決定します。
- ユーザーが
--dirパラメーターを指定した場合 → 指定されたディレクトリを使用します - 指定されていない場合 →
.aigne/doc-smith/distディレクトリが存在するか確認します - どちらも該当しない場合 → 現在のディレクトリに
assets/nav.js(doc-smith の出力を示すファイル)が含まれているか確認します - いずれも見つからない場合 → エラーを返し、まず
/doc-smith-createを実行してドキュメントを生成するようユーザーに案内します
ステップ 3:メタデータを読み込む
.aigne/doc-smith/config.yaml から読み込みます。
projectName→ 公開タイトル(title)projectDesc→ 公開説明(description)
config.yaml が存在しない場合、またはフィールドが欠けている場合は、ディレクトリ名をタイトルとして使用します。
ステップ 3.5:GitHub リポジトリ情報を検出する
公開スクリプトは、次の検出を自動的に実行します(手動操作は不要です)。
git remote get-url originを実行し、現在のプロジェクトが GitHub でホストされているかを判定します- GitHub リポジトリの場合、GitHub API を呼び出し、リポジトリオーナーのアバター URL を coverImage として取得します
- これらのフィールドは公開リクエストに自動的に追加されます。取得に失敗した場合は、エラーを表示せずに無視されます
ステップ 4:公開を実行する
設定 JSON を作成し、公開スクリプトを呼び出します。
node {skill_path}/scripts/publish.mjs --config-stdin <<'EOF'
{
"source": { "type": "dir", "path": "{dist_path}" },
"hub": "{hub_url}",
"workspace": ".aigne/doc-smith",
"metadata": {
"title": "{title}",
"description": "{description}",
"visibility": "public"
}
}
EOF
注意:
githubRepoとcoverImageはスクリプトによって自動検出されるため、通常は設定で手動指定する必要はありません。上書きする場合は、metadataに"githubRepo": "..."と"coverImage": "..."を追加してください。
変数の説明:
{skill_path}:この Skill のディレクトリパス{dist_path}:ステップ 2 で決定した公開ディレクトリ{hub_url}:DocSmith Hub URL(デフォルトはhttps://docsmith.aigne.io。--hubで上書きできます){title}:ステップ 3 で取得したタイトル{description}:ステップ 3 で取得した説明
ステップ 5:Hub キャッシュをクリアする
公開が成功すると、スクリプトは DocSmith Web の showcase キャッシュクリア API を自動的に呼び出し、Hub の表示ページに最新の内容がすぐに反映されるようにします。この手順はブロッキングではないため、失敗しても公開結果には影響しません。
ステップ 6:結果を表示する
公開が成功すると、スクリプトはプレビュー URL を出力します。次の内容をユーザーに表示してください。
ドキュメントの公開に成功しました!プレビュー URL:{vibeUrl}
公開スクリプトは、vibeUrl を .aigne/doc-smith/config.yaml の appUrl フィールドに自動的に書き込みます。
エラー処理
| エラー | 対処 |
|---|---|
| dist ディレクトリが存在しない | まず /doc-smith-create を実行してドキュメントを生成するようユーザーに案内します |
| config.yaml が存在しない | 現在のディレクトリが有効な doc-smith ワークスペースではないことをユーザーに伝えます |
| 依存関係がインストールされていない | npm install を自動実行します(ステップ 1) |
| 401/403 認証エラー | スクリプトが token を自動的にクリアし、/doc-smith-publish を再実行するようユーザーに案内します |
| ネットワークエラー | ネットワークを確認して再試行するようユーザーに案内します |
| publish action の失敗 | /doc-smith-publish を再実行するようユーザーに案内します |
| Private mode エラー | public に変更するか、アカウントをアップグレードするよう案内します |
| クラウドエージェントの認証タイムアウト | https://docsmith.aigne.io/openclaw から公開用 prompt を取得するよう案内します |