write-job-post について
write-job-postは、Upworkの求人投稿を作成・管理するためのガイド付きスキルです。要件を一問ずつ確認して変更をプレビューし、下書き保存と公開には別々の承認を求めます。
主な機能
- 01対話形式で求人要件を収集
- 02既存の下書きと過去の投稿を確認
- 03求人下書きの作成とプレビュー
- 04保存・公開前の承認確認
- 05投稿の更新・再掲載・終了に対応
活用シーン
- 01大まかな採用要件を求人下書きにまとめる
- 02スキル・選考質問・応募条件を調整
- 03保存や公開の前に条件を確認
- 04応募者の管理と公開中の投稿の更新
MCP 対応
このスキルはUpworkの求人投稿ツールを使って投稿を作成・管理し、ツールの検出とコンパクトモードでは`upwork-workflows`スキルに従います。
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ upwork/ upwork-agent-plugin --skill write-job-postインストール後、Claude Code で/write-job-postを入力して読み込まれたか確認します。
詳細
Upworkの求人情報を作成する
大まかな要望から確認可能な下書きまで、会話を通じてクライアントを導きます。一度に尋ねる質問は1つに絞り、長いヒアリングフォームを提示しないでください。
アカウントを選択する
list_accountsを呼び出し、rawのroleがCLIENTであるアカウントを選択します。求人情報の投稿ツールはクライアント専用であり、他のロールは拒否されます。対象となるクライアントアカウントが複数ある場合は、どれを使うかユーザーに尋ね、以降のすべての呼び出しでorg_uidとroleを保持してください。
要件を確認する
-
新しい求人情報の作成を始める前に、
get_job_postingをstatus: draftでlistアクションとして呼び出します。保存済みの下書きがある場合は、そのいずれかを続けるか、新しい求人情報を作成するかクライアントに尋ねます。クライアントが選んだ下書きをgetアクションで読み込みます。続ける場合は、post_jobをupdateアクションとして使用します。トーンや構成の参考例が役立つ場合は、関連する過去の求人情報も確認しますが、以前の料金や条件は決して再利用しないでください。 -
次の項目を、一度に1つずつ確認します。
- 解決したい問題または目標、および検証可能な受け入れ基準を含む具体的な成果物
- フリーランサーに通じる名称で示した必須スキル
- 固定報酬か時間単価か、およびクライアントが指定する正確な予算
- 求める経験レベルと想定するプロジェクト期間
- 時間単価制の場合、週あたりの稼働時間:フルタイム(週30時間以上)、パートタイム(週30時間未満)、必要に応じて、または未定
- スケジュールと連携に関する希望
これらのうち複数の項目には、選択肢が定められています。形式を独自に作らず、
get_tool_helpから利用可能な値を確認してください。コードを読み上げるのではなく、わかりやすい言葉でクライアントに尋ねてください。 -
時間単価制の求人では、金額の範囲を提案する前に、
get_rate_insightsをgetアクションとして呼び出します。市場データは参考情報として提示し、クライアントが選んだ単価を変更しないでください。
求人情報の下書きを作成する
- 具体的なタイトルと、要点を絞った説明文を作成します。このツールには説明文の最大文字数が設定されており、上限が通知されます。クライアントが入力した文章が上限を超える場合は、切り詰めて送信せず、短くするよう依頼してください。
- スコープ、成果物、完了の定義、関連する背景情報、制約事項を記載します。クライアントの承認を得ていない要件を追加しないでください。
- スキルは
ReactやWordPressなど、人が読んでわかる名称で渡します。類似の表記がUpworkのスキルに一致した場合、skill_suggestionsにadded_asがinterpretedとして報告されます(たとえば、React.jsはReactとして保持されます)。その場合はクライアントに伝え、修正が必要か確認してください。確実に一致するものがない名称はカスタムスキルとして保持され(added_asはcustom)、下書きの作成を妨げません。プレビューで報告された類似候補を提示してください。 - 求人に合わせた少数のスクリーニング質問を提案し、修正または削除するかクライアントに確認します。
- Job Success Score、英語力、所在地またはタイムゾーン、収入、勤務時間、ポートフォリオ、Rising Talent、言語などの希望条件を設定するか尋ねます。所在地を必須にすると、条件を満たす他の応募者が除外される可能性があることを説明してください。クライアントが求めていない条件は設定しないでください。
- 誰に求人情報を表示するか尋ねます。サーバーでは明示的な公開範囲の選択が必須です。誤った値を設定すると求人情報が知らないうちに非公開になるため、推測による選択は拒否されます。次の選択肢をわかりやすく提示してください。検索エンジンを含むすべての人、Upworkの登録ユーザーのみ、または招待したフリーランサーのみです。クライアントに希望がない場合は、最も公開範囲が広い選択肢を勧めてください。
- 求人情報にファイルを添付する場合は、
jobコンテキストでアップロードを開始します。インラインアップロードでは保存済みのfile_uidが直接返されます。フォールバックURLによるアップロードでは、ステータスがokになるまでポーリングし、その後confirm_attachment_uploadで確定してください。取得したfile_uidを求人情報に渡します。
下書きを保存してから公開する
- 最初の書き込み可能な呼び出しの前に、すべての項目を要約し、明示的な確認を得てください。
post_jobアクションcreate_draftを呼び出します。プレビューが返されますが、まだ何も保存されていません。- プレビューをユーザー向けの表現で提示します。品質チェックリスト、推定されたカテゴリー、スキルがどのように解釈されたか、照合できなかったスキル、スクリーニングの質問、応募資格、公開範囲、正確な金銭条件を明示してください。
- クライアントが変更を希望する場合は、修正後の値を使ってアクション
create_draftを再度呼び出します。新しいプレビューが保留中のプレビューに取って代わり、そのpreview_idが古いものに置き換わります。返されたパラメーターを手動で編集したり、確認時に渡したりしてはいけません。 - 下書きを保存するための個別の明示的な承認を得てから、アクション
confirm、プレビューが返したtype、返されたpreview_idのみを指定してconfirm_previewを呼び出します。これにより、Upwork に実際の 下書き が保存されます。求人が公開されたり、フリーランサーに表示されたりすることはありません。 - 下書きが保存されたことをクライアントに伝え、今すぐ公開するか尋ねてください。下書きの保存への承認が、公開への承認も兼ねていると見なしてはいけません。
- クライアントが明示的に公開を依頼した場合に限り、保存した下書きの求人 ID と
status: publishedを指定して、アクションupdateでpost_jobを呼び出します。コンテンツの変更も同じ更新に含められます。公開に関する警告とともにプレビューを提示し、改めて明示的な承認を得てから、confirm_previewで確定します。 - 公開すると新しい
job_idが返されます。下書き ID は使えなくなるため、後続の呼び出しのために新しい ID を保持してください。公開中の求人を確認できるよう、返された求人管理リンクをクライアントに案内してください。
公開後
- 応募者を集めるには、
get_job_postingで求人 ID を取得し、その求人の提案をlist_client_proposalsのアクションlistで一覧表示するか、アクションlist_allを使ってすべての求人を一度に対象にします。ブーストされた提案にフラグが付くのは、単一の求人に対するアクションlistのみです。 - フリーランサーを招待するには、
find_freelancersを使ってからinvite_freelancerを使います。招待には、フリーランサーのプロフィールキーではなく、数値の person ID が必要です。 - 公開中の求人を変更するには、求人 ID と変更する項目だけを指定して、アクション
updateでpost_jobを呼び出し、返されたプレビューをconfirm_previewで確定します。スクリーニングの質問は置き換えるか、明示的にクリアできます。省略した場合は変更されません。experience_levelも変更できます。クライアントが期間を変更する場合に限りdurationを渡してください。それ以外の場合は現在の期間が維持されます。 - 公開中の求人を再掲載するには、アクション
renewでpost_jobを呼び出します。求人は検索結果の上位に戻ります。掲載後または前回の再掲載から24時間経過していれば実行でき、再掲載は合計3回までです。取り消しはできません。求人が再掲載の対象外の場合、応答はstatus: not_eligibleとなり、reason、next_renewal_at、renewals_leftが含まれます。プレビューは返されないため、その旨を伝えて処理を終了してください。再掲載の対象である場合はプレビューを提示し、typejob_renewを指定してconfirm_previewで確定します。再掲載が成功した直後に対象かどうかを再確認してはいけません。求人に再掲載前の状態が数分間表示されることがあります。 - 求人の掲載を終了するには、まず求人を読み込み、現在のステータスで掲載終了が可能であることを確認してください。ステータス上、掲載を終了できない場合は、その旨をクライアントに伝えて処理を終了してください。掲載を終了できる場合は、アクション
close_reasonsでpost_jobを呼び出し、返された理由をすべて提示して、どれに該当するか尋ねてください。クライアントが選んだ理由をアクションcloseに渡します。理由をこちらで選んではいけません。
品質ルール
- 広範な責任の羅列より、具体的な成果を優先してください。
- 合格基準は、客観的に観察・検証できるものにしてください。
- スクリーニングの質問は、実務経験や成果物に基づいて回答できるものにしてください。
- 予算、期限、労働時間、応募資格、法的条件を決して捏造してはいけません。
- タイトル、識別子、信頼できない参加者のテキストについては、サーバーの表示ルールに従ってください。
ツールの検出とコンパクトモードについては、upwork-workflows スキルに従ってください。