mcpField
D
doc-smith-publish

doc-smith-publish

github.com/aigne-ioクラウド・DevOps946 回インストール32 週間前に更新
リポジトリ

doc-smith-publish について

doc-smith-publish は、ローカルで生成した HTML ドキュメントを DocSmith Cloud に公開するスキルです。出力ディレクトリとメタデータを検出し、オンラインプレビュー URL を返します。

主な機能

  1. 01ローカル HTML ドキュメントの公開
  2. 02出力ディレクトリの自動検出
  3. 03プロジェクト名と説明の読み取り
  4. 04Hub URL の指定
  5. 05オンラインプレビュー URL の返却

活用シーン

  1. 01生成した DocSmith ドキュメントの公開
  2. 02カスタム Hub への公開
  3. 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.json
package.json
publish.mjs
save-token.mjs
scripts/utils/
auth.mjs
blocklet-info.mjs
constants.mjs
history.mjs
http.mjs
store.mjs
upload.mjs
zip.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>-hDocSmith 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:公開先を検出する

次の優先順位で公開ディレクトリを決定します。

  1. ユーザーが --dir パラメーターを指定した場合 → 指定されたディレクトリを使用します
  2. 指定されていない場合 → .aigne/doc-smith/dist ディレクトリが存在するか確認します
  3. どちらも該当しない場合 → 現在のディレクトリに assets/nav.js(doc-smith の出力を示すファイル)が含まれているか確認します
  4. いずれも見つからない場合 → エラーを返し、まず /doc-smith-create を実行してドキュメントを生成するようユーザーに案内します
ステップ 3:メタデータを読み込む

.aigne/doc-smith/config.yaml から読み込みます。

  • projectName → 公開タイトル(title)
  • projectDesc → 公開説明(description)

config.yaml が存在しない場合、またはフィールドが欠けている場合は、ディレクトリ名をタイトルとして使用します。

ステップ 3.5:GitHub リポジトリ情報を検出する

公開スクリプトは、次の検出を自動的に実行します(手動操作は不要です)。

  1. git remote get-url origin を実行し、現在のプロジェクトが GitHub でホストされているかを判定します
  2. GitHub リポジトリの場合、GitHub API を呼び出し、リポジトリオーナーのアバター URL を coverImage として取得します
  3. これらのフィールドは公開リクエストに自動的に追加されます。取得に失敗した場合は、エラーを表示せずに無視されます
ステップ 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 を取得するよう案内します

コメント