monday について
mondayスキルは、Monday.com APIを使ってプロジェクトボードや関連データを管理するエージェントを支援します。ボードやアイテムの操作、自動化、レポート用データの取得、Webhookによるイベント対応を扱います。
主な機能
- 01ボード、アイテム、カラムの作成・参照・更新・削除
- 02自動化とインテグレーションの管理
- 03ダッシュボードとタイムラインの操作
- 04フィルターとページネーションによるデータ取得
- 05Webhookによる変更への対応
活用シーン
- 01プロジェクトボードの作成とタスク追加
- 02日々のワークフローでのタスク状態更新
- 03レポート用のダッシュボードやタイムラインデータ取得
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ alphaonedev/ openclaw-graph --skill mondayインストール後、Claude Code で/mondayを入力して読み込まれたか確認します。
詳細
monday
目的
このスキルを使うと、Monday.com の API を操作して、ボード、アイテム、列、自動化、インテグレーション、ダッシュボード、タイムラインを管理できます。プロジェクト管理タスクの自動化、データの照会、API を介した他のツールとの連携に使用します。
使用するタイミング
- プロジェクトの追跡に使用する Monday.com のボードやアイテムを、プログラムから作成または更新する必要がある場合。
- ボードの変更に応じてアクションを実行したり、外部サービスと連携したりするなど、ワークフローを自動化する場合。
- レポート作成や分析のために、ダッシュボードやタイムラインからデータを抽出する必要がある場合。
主な機能
- ボード、アイテム、列に対する作成、読み取り、更新、削除(CRUD)操作。
- API 呼び出しによる自動化とインテグレーションの管理。
- 可視化やスケジュール設定のためのダッシュボードとタイムラインへのアクセスおよび操作。
- フィルタリングやページネーションを含む、リアルタイムデータの API クエリ処理。
- アイテムの作成や更新などのイベントに反応する Webhook のサポート。
使用パターン
$MONDAY_API_KEY 環境変数を使った認証で、必ず最初に初期化してください。Python の requests などの HTTP クライアントで API リクエストを送信します。必須フィールドを含む JSON ペイロードとして呼び出しを構成してください。たとえば、エラー処理のために API 呼び出しを try-except ブロックで囲みます。Monday.com の API ドキュメントでしきい値(例:毎分 100 リクエスト)を確認し、レート制限を適用してください。よくあるパターンは、一度認証してから、1 つのセッション内で複数の API 呼び出しを連続して行うことです。
一般的なコマンド/API
Monday.com の REST API を、ベース URL https://api.monday.com/v2 で使用します。Authorization: YOUR_API_KEY を Authorization ヘッダーに設定します。ボードを照会する方法は次のとおりです。
エンドポイント:GET /v2/boards
コードスニペット:
import requests
headers = {'Authorization': os.environ['MONDAY_API_KEY']}
response = requests.get('https://api.monday.com/v2/boards', headers=headers)
print(response.json())
ボードにアイテムを作成する場合:
エンドポイント:POST /v2/pulses
ペイロード:{"query": 'mutation { create_item (board_id: 123456, item_name: "New Task") { id } }'}
コードスニペット:
import requests
headers = {'Authorization': os.environ['MONDAY_API_KEY'], 'Content-Type': 'application/json'}
data = {"query": 'mutation { create_item (board_id: 123456, item_name: "New Task") { id } }'}
response = requests.post('https://api.monday.com/v2', headers=headers, json=data)
print(response.json()['data']['create_item']['id'])
列を更新する場合:
エンドポイント:POST /v2
クエリ:mutation { change_column_value (board_id: 123456, item_id: 654321, column_id: "status", value: ""Done"") { id } }
クエリを具体的に指定するには、board_id や item_id などのフラグを使用します。
インテグレーションに関する注意
安全にアクセスできるよう、API キーを $MONDAY_API_KEY に保存してください。ハードコードしないでください。Webhook(例:アイテムの作成時にカスタムエンドポイントへ POST)を設定して、他のツールと連携します。必要に応じて OAuth には Monday.com のフローを使用しますが、ほとんどの CLI/API の用途では API キーで十分です。設定形式には、例のようにペイロード用の JSON を使用します:{"query": "your_graphql_query"}。Zapier などのサービスと連携する場合は、Monday.com の Webhook イベント(例:"item_created")を参照してください。Web インターフェースを構築する場合は、アプリで CORS を処理できるようにしてください。
エラー処理
レスポンスのステータスコードを確認します。成功は 200、認証エラーは 401($MONDAY_API_KEY を確認)、レート制限は 429(指数バックオフによる再試行ロジックを追加)です。JSON エラーを解析して詳細を確認します。たとえば、errors キーが存在する場合は、"Invalid board_id" のようなメッセージを記録します。コードでは try-except を使用します:
try:
response = requests.get(url, headers=headers)
response.raise_for_status()
except requests.exceptions.HTTPError as err:
print(f"Error: {err.response.status_code} - {err.response.json()['errors']}")
API 呼び出しの前に入力を検証し、無効な ID などの一般的な問題に対処してください。
具体的な使用例
- 新しいボードを作成してアイテムを追加する: まず、
$MONDAY_API_KEYで認証します。POST /v2 エンドポイントを使ってボードを作成します:mutation { create_board (board_name: "My Project") { id } }。次に、アイテムを追加します:mutation { create_item (board_id: <new_board_id>, item_name: "Task 1") { id } }。これにより、新しいプロジェクトのボード設定を自動化できます。 - アイテムを照会して列を更新する: GET /v2/boards/{board_id}/items を使って、ボードからアイテムを取得します。
limit=50のようなクエリパラメーターでフィルタリングします。次に、ステータス列を更新します:mutation { change_column_value (board_id: 123456, item_id: 654321, column_id: "status", value: "\"In Progress\"") }。自動化における日々のステータス更新に便利です。
グラフの関係性
- 関連先:boards(親)、items(子)、columns(属性)
- 統合先:automations(トリガー)、integrations(外部リンク)、dashboards(視覚化)、timeline(スケジュール管理)
- 接続方法:データフロー用の API エンドポイント、イベント駆動型のインタラクション用の Webhook