Clay初回ログイン時ガイド — Clayが提供するAPI経由で、バナー表示、Clayの機能紹介、初期タスクを表示します。サインイン直後に実行します(`clay login`コマンド直後、またはセットアップスキルのサインイン完了後)。 サーバー側でそのユーザーがすでにガイドを完了しているか確認し、完了していれば実行を中止します。CLIがすでにサインイン状態であることを前提としています。サインアウト状態のユーザーの場合は、代わりに`setup`を実行してください — セットアップスキルが自動的にこのガイドへと流れ込みます。
Clay first-run onboarding — banner, what Clay can do, and starter tasks served by the Clay API. Run this right after a sign-in that just happened — from `clay login` directly, or invoked by the setup skill after its sign-in step. It checks server-side whether this user has been onboarded and stands down if so. Assumes the CLI is already signed in; for a signed-out user, run `setup` instead — it chains into this.
新規ユーザーに素早く成功体験を提供します。ユーザーがオンボーディング済みかどうかは、サーバー側でユーザーごとに記録されます。clay login と clay whoami はそれを onboarded として報告し、スターター タスク(初心者向けの推奨作業)のオプションを取得すると、ユーザーはオンボーディング済みとしてマークされます。ローカルに記録するものはありません。
このスキルはログイン済み状態で動作します。 setup スキルは、ログインしていないユーザーの入り口です。ユーザーをサインインさせて、その直後このスキルを実行します。以下のコマンドが認証エラーで失敗した場合は、setup を実行して停止してください。適切なタイミングでこのスキルに戻ります。もし clay がこのセッション上の PATH に存在しない場合(新たにインストールされた Claude Code の場合など)、このスキルのすべてのコマンドで clay の代わりに解決された絶対パスを使用してください。
ユーザー自身のリクエストが優先です。 サインインが単なる前提条件で、ユーザーが具体的に何かを求めている場合(「この人のメールアドレスを取得して」「テーブルクエリ」「壊れたツールの修正」など)は、今すぐオンボーディング メニューを実行しないでください。リクエストを完了してください。ユーザー自身のタスクはメニューより良い成功体験になります。完了後は、時機が適切であれば、スターター タスクの一行の提案でいいです。オプションが取得されていないため、ユーザーはサーバー側ではオンボーディング未済のままになり、今後のログインでも提案をきれいに出すことができます。オンボーディングをすぐに実行するのは、具体的なタスクがない場合だけです。ユーザーが「始める」と言った、プラグインをインストールしたばかり、または setup 自体がリクエスト全体の場合です。
あなたの説明は短く保ってください。バナーとスターター タスクが主役です。ウェルカム メッセージ(ステップ 2~3)は何かを取得する前に画面に表示されます。セッション内で繰り返さないでください。
サインインがすでに onboarded: false を報告していた場合は、このチェックをスキップしてステップ 2 に進みます。それ以外の場合は、自分で確認してください:
clay whoami
onboarded: false — ステップ 2 に進みます。onboarded: true — このユーザーは以前にオンボーディングを完了しています(別のマシンかもしれません)。中止してください。このスキルの残りの部分をスキップします。バナーがすでに表示されている場合(Claude Code フックが起動時に表示)は、簡単な「おかえりなさい」メッセージで十分です。営業トークもメニューも不要です。clay --version をプラグインの固定バージョン bin/cli-version と比較してください。古い場合は、その文脈で setup スキルを実行してください。プラグインの固定ランチャーがインストールされます(ステップ 3)。その後、そのランチャーを経由して clay whoami を再実行し、そこから onboarded を読み取ります。バージョンが一致する場合(またはランチャーの whoami がまだそのフィールドを省略している場合)、サーバーはオンボーディング機能より前のバージョンです。true の場合と同じように中止してください。Claude Code で、このスキルが Skill ツールを通じて起動されたかつ command -v jq に成功した場合は、このステップをスキップしてください。プラグイン フックが起動時に自動的にバナーを表示します(そのため jq が必要です)。自分でバナーを印刷しないでください。ステップ 3 の説明はあなたの返答の開始部分です。その他のすべての場合(jq がない、他のホスト、またはこのファイルを直接ランブック(実行手順書)として実行している場合)は、このスキルのディレクトリからバナー ファイルをコード ブロック内に「そのまま」表示し、他のツール呼び出し(AskUserQuestion を含む)の前に表示してください。ターミナルの幅でファイルを選択します:printf '%s\n' "${COLUMNS:-0}" を実行し、115 以上の数値が表示される場合のみ banner.txt を使用します。115 より小さい数値、数値以外、または実行失敗の場合は、banner-narrow.txt を使用してください。すべてのホストに対応しています。例外として:1 ~ 39 の数値は、ペイン幅がナロー バナーにも対応していないことを意味します。バナーをまったく表示せず、ステップ 3 に直接進みます。アートを再描画、切り詰め、または再スタイル化しないでください。ファイルを読むことは表示することではありません。バナーはユーザーへのあなたの返答に含まれる必要があります。
Clay の機能とユーザーが実行できることとして位置付けてください(「Clay では…できます」「あなたは…できます」)。あなた自身の機能ではなく。2 ~ 3 文:Clay は GTM データ および自動化プラットフォームです。数億人の人物と企業を検索し、検証済みメール アドレス、電話番号、企業情報、テクノロジー スタックで充実させ、機能とワークフローで全体を自動化できます。
次に、短くまとめた「あなたは私に…してもらえます」というリスト(4 ~ 5 行の短い項目)で広がりを示してください。平易な依頼として表現してください。例:プロフィールに一致する人物または企業を見つける、リストの検証済みメール アドレスを取得する、企業が使用するテクノロジーを確認する、既存の Clay テーブルをクエリしてエクスポートする、ウェブフック周辺にワークフローを構築する、クレジット残高を確認する。CLI コマンド構文やスキル名は含めないでください。ユーザーはあなたと会話していて、CLI ではなく。フル コマンド サーフェスについて聞かれた場合は、記憶しているリストを朗読する代わりに、ライブ clay --help 出力を表示してください。
clay onboard options
現在のオプション セット({ data: [{ id, label, description }] })を返し、ユーザーをサーバー側でオンボーディング済みとしてマークします。返されたものをそのまま表示してください。オプションはサーバー管理下にあり、記憶しているものと異なる場合があります。AskUserQuestion ツールが利用可能な場合は、各オプションの label と description で単一選択として使用し、独自の自由形式オプション(「何か入力」「その他」)は追加しないでください。ツールが独自の抜け出し手段をレンダリングします。ツールなしでは、番号付きリストで最後に 1 行追加で表示してください。ユーザーは代わりに好きなことを言うこともできます。
コマンドが見つからない場合(command not found、または onboard という未知のコマンド エラー)、インストールされている CLI はオンボーディング機能より前のバージョンです。このセッションで setup スキルがまだ実行されていない場合は、その文脈で今実行してください。PATH 上の CLI は古いため、サインイン チェックが成功していても、プラグインの固定ランチャーをインストールする必要があります(ステップ 3)。その後、clay onboard options を 1 回再試行して、動作する場合は通常どおり続行します。ベア clay が古いインストールに解決し続ける場合は、ランチャーの絶対パスで再試行してください(再起動は不要)。setup がすでに実行されているか、再試行が失敗する場合は、以下の他のエラーと同じように扱います。
その他のエラー(ネットワーク、サーバー障害)の場合は、ブロックせず、診断しないでください。エラー調査なし、環境デバッグなし、何が問題だったかについての言及なし。ユーザーに Clay で何をしたいか聞いて、直接それを支援してください。このスキルの残りの部分は適用されません。
リストからのオプションの場合:
clay onboard select <option-id>
選択を記録し、instructions を返します。ユーザーがそのタスクを直接依頼したかのように従ってください。CLI コマンドがこのセッション上の PATH にない場合(setup ステップ 3 は再起動を延期してフォワーダーが見えるようにします)、再起動を進め、戻ってきたら名前でタスクを再度依頼するよう指示してください(例:「ウェブフック スターターをセットアップして」)。新しいセッションではこの会話を記憶しないため、タスク名が引き継ぎとなります。
select が失敗する場合は、とにかく続行してください。オプションのラベルをユーザーのリクエストとして扱ってください。ただし、クレジットを消費する可能性があるものを実行する前に、ユーザーの明示的な同意を取得してください。成功した select が返す指示が必要であり、その欠落はそれを回避しません。記録でブロックしたり、診断したり、1 回以上再試行したり、ユーザーに言及したりしないでください。
ユーザーがリストの外の何か(例:「その他」)を選択した場合は、select をスキップし、リクエストされたことだけに対応してください。
Give a brand-new user a fast first win. Whether this user has already been
onboarded is tracked server-side, per user: clay login and clay whoami
report it as onboarded, and fetching the starter-task options marks them as
onboarded. There is nothing to record locally.
This skill runs signed-in. The setup skill is the entry point for anyone
who isn't: it signs the user in and invokes this skill right afterward. If a
command below fails with an auth error, run setup and stop — it will come
back here when appropriate. If bare clay isn't on PATH this session (a fresh
same-session Claude Code install — setup resolves an absolute launcher path for
this case), use that resolved path in place of clay for every command in this
skill.
The user's own request always wins. If sign-in was just a prerequisite for something concrete they asked for ("get this person's work email", a table query, a fix for a broken tool), do not run the onboarding menu now — finish their request; their own task is a better first win than a menu. After it's done, a one-line offer of the starter tasks is fine if it fits the moment. Since the options were never fetched, they stay un-onboarded server-side, so a future login can still make the offer cleanly. Run onboarding immediately only when there's no concrete task waiting: the user asked to get started, just installed the plugin, or setup itself was the whole request.
Keep your own prose short — the banner and the starter tasks are the show. The welcome (steps 2–3) goes on screen before you fetch anything; never repeat it within a session.
If the sign-in that brought you here already reported onboarded: false, skip
this check and continue. Otherwise read the field yourself:
clay whoami
onboarded: false — continue to step 2.onboarded: true — they've been onboarded before (possibly on another
machine). Stand down: skip the rest of this skill without ceremony. If the
banner already went up (the Claude Code hook shows it at invocation), a
one-line welcome back is enough — no pitch, no menu.clay --version against the plugin's pinned bin/cli-version. If it's
older, run the setup skill with that context — it installs the plugin's
pinned launcher (its step 3) — then re-run clay whoami through that
launcher and read onboarded from there. If the versions match (or the
launcher's whoami still omits the field), the server predates onboarding —
stand down as in the true case.On Claude Code, when this skill was invoked through the Skill tool and
command -v jq succeeds, skip this step: a plugin hook displays the banner
automatically at that invocation (it needs jq to do so) — never print it
yourself; the step-3 pitch still opens your reply. In every other case — no
jq, any other host, or following this file directly as a runbook (no Skill
tool call, so no hook fired) — print a banner file from this skill's directory
verbatim inside a fenced code block, before any other tool call
(AskUserQuestion included). Pick the file by terminal width: run
printf '%s\n' "${COLUMNS:-0}" and use banner.txt only when it prints a
number of 115 or more; on anything smaller, non-numeric, or a failed probe,
use banner-narrow.txt — it fits every host. Exception: a number from 1 to
39 means the pane is too narrow even for the narrow art — show no banner at
all and go straight to step 3. Do not redraw, trim, or restyle
the art. Reading the file is not showing it: the banner must appear in your
reply to the user.
Position it as Clay's product and theirs to run ("Clay lets you…", "you can…"), not as your own abilities. Two or three sentences: Clay is a GTM data and automation platform — search hundreds of millions of people and companies, enrich them with verified emails, phone numbers, firmographics, and tech stacks, and automate the whole thing with functions and workflows.
Then show the breadth in a compact "you can ask me to…" list — four or five
one-line bullets, phrased as plain asks, e.g.: find people or companies matching
a profile, get verified emails for a list, see what technologies a company uses,
query and export your existing Clay tables, build a workflow around a webhook,
check your credit balance. No CLI command syntax and no skill names — the user
talks to you, not to the CLI. If they ask for the full command surface, show
them live clay --help output instead of reciting a remembered list.
clay onboard options
This returns the current option set ({ data: [{ id, label, description }] })
and marks the user as onboarded server-side. Present exactly what it
returns — the options are server-controlled and may differ from anything you
remember. If the AskUserQuestion tool is available, use it (single-select)
with each option's label and description, and don't add a free-form option
of your own ("Type something", "Other") — the tool renders its own escape
hatch. Without the tool, present a numbered list ending with one extra line:
they can also just say what they'd like to do instead.
If the command is missing (command not found, or an unknown-command error
naming onboard), the installed CLI predates onboarding. If the setup skill
hasn't already run in this session, run it now with that context — the CLI on
PATH is outdated, so it must install the plugin's pinned launcher (its step 3)
even though sign-in checks pass — then retry clay onboard options once and
continue normally if it works. Retry via the launcher's absolute path when bare
clay still resolves to the old install (no restart needed for that). If setup
already ran or the retry still fails, treat it like any other failure below.
For any other failure (network, server trouble), don't block and don't diagnose — no error-hunting, no environment debugging, no mention of what went wrong. Just ask the user what they'd like to do with Clay and help with that directly; the rest of this skill doesn't apply.
For an option from the list:
clay onboard select <option-id>
This records the pick and returns instructions — follow them as if the user
had asked for that task directly. If a CLI command isn't on PATH this session
(setup step 3 deferred a restart so the forwarder is visible), walk
them through that restart and tell them to ask for the task again by name once
they're back (e.g. "set up the webhook starter") — a fresh session won't
remember this conversation, so the task name is what carries it over.
If select fails, proceed anyway: treat the option's label as the user's
request — but still get the user's explicit go-ahead before running anything
that spends credits; the guidance a successful select returns requires that,
and its absence doesn't waive it. Never block on the recording, diagnose it,
retry it more than once, or mention it to the user.
If the user picks something outside the list (e.g. "Other"), skip select and
just help with what they asked.
原文・著作権は Anthropic および各プラグイン作者に帰属します。日本語訳は Claude API による自動翻訳です。