feishu-automation
Feishu(Lark)の全チャンネル自動化スキルです。lark-mcp ツールを使用して、Bitable(多次元テーブル)の操作、メッセージ送信、ドキュメント管理、グループ作成、ワークフローの自動化などを実行します。ユーザーが Feishu プラットフォームの操作、Feishu テーブルへのデータ同期、Feishu 通知の送信、ドキュメント管理、またはビジネスプロセスの自動化を必要とする場合に使用してください。
description の原文を見る
飞书(Lark)全通道自动化。使用 lark-mcp 工具操作飞书多维表格(Bitable)、发送消息、管理文档、创建群组、自动化工作流等。当用户需要操作飞书平台、同步数据到飞书表格、发送飞书通知、管理飞书文档或自动化飞书业务流程时使用此技能。
SKILL.md 本文
飛書全通道自動化
lark-mcp ツールを使用して、飛書プラットフォームの包括的な自動化操作を実現します。
コア機能
1. 多次元テーブル(Bitable)
- 多次元テーブルとデータテーブルの作成
- フィールドの追加、変更、削除
- レコードデータの追加、削除、更新、照会
- データの一括インポート・エクスポート
- データのフィルタリングと並べ替え
2. メッセージ送信
- テキスト、リッチテキスト、カードメッセージの送信
- グループメッセージとプライベートメッセージ
- メッセージテンプレートとインタラクティブカード
- ファイルと画像の送信
3. 文書管理
- クラウド文書の検索
- 新しい文書の作成
- 文書内容の編集
- 文書権限の管理
- 文書コラボレーターの管理
4. グループ管理
- グループの作成
- メンバーの追加・削除
- グループリストの取得
- グループ情報の照会
5. ナレッジベース(Wiki)
- ナレッジベースノードの検索
- ノードの詳細情報取得
- ナレッジベース内容の作成と管理
6. カレンダーとタスク
- カレンダーイベントの作成と照会
- タスクの作成と管理
- タスク割り当てと追跡
クイックスタート
MCP の可用性確認
// lark-mcp ツールが利用可能かどうかを確認
// 利用可能なツールのプレフィックス:mcp__lark-mcp_
テストメッセージの送信
// グループにテキストメッセージを送信
await mcp__lark-mcp_sendMessage({
receive_id: "oc_xxxxxxxxx",
msg_type: "text",
content: JSON.stringify({
text: "Hello from Clawdbot!"
})
});
ワークフロー
データ同期フロー
- データソースの接続
- データ形式の変換
- 多次元テーブルの作成・更新
- データの一括書き込み
- 通知の送信
メッセージプッシュフロー
- イベントのトリガー(定時・イベント駆動)
- メッセージ内容の構築
- 受信者 ID の取得
- メッセージの送信
- ログの記録
文書自動化フロー
- 文書テンプレートの取得
- 内容の入力
- 新しい文書の作成
- 権限の設定
- チームへの共有
API ツール参考
多次元テーブル関連
createBitable- 多次元テーブルの作成createTable- データテーブルの作成addRecord- レコードの追加updateRecord- レコードの更新deleteRecord- レコードの削除searchRecords- レコードの検索getRecord- レコード詳細の取得
メッセージ関連
sendMessage- メッセージの送信getMessages- メッセージ履歴の取得replyMessage- メッセージへの返信
文書関連
searchDocs- 文書の検索createDoc- 文書の作成getDoc- 文書内容の取得updateDoc- 文書の更新setDocPermission- 文書権限の設定
📄 Markdown をクラウド文書にインポート(推奨方法)
ベストプラクティス:ローカル Markdown ファイルを直接飛書クラウド文書にインポートして、フォーマットを完全に保持します。
# 1. access_token を取得
TOKEN=$(curl -s -X POST 'https://open.feishu.cn/open-apis/auth/v3/tenant_access_token/internal' \
-H 'Content-Type: application/json' \
-d '{"app_id":"YOUR_APP_ID","app_secret":"YOUR_APP_SECRET"}' \
| python3 -c "import sys,json; print(json.load(sys.stdin).get('tenant_access_token',''))")
# 2. md ファイルを飛書クラウドドライブにアップロード
FILE_TOKEN=$(curl -s -X POST 'https://open.feishu.cn/open-apis/drive/v1/files/upload_all' \
-H "Authorization: Bearer $TOKEN" \
-F "file_name=document.md" \
-F "parent_type=explorer" \
-F "parent_node=" \
-F "size=$(stat -c%s /path/to/document.md)" \
-F "file=@/path/to/document.md" \
| python3 -c "import sys,json; print(json.load(sys.stdin).get('data',{}).get('file_token',''))")
# 3. 飛書クラウド文書にインポート
TICKET=$(curl -s -X POST 'https://open.feishu.cn/open-apis/drive/v1/import_tasks' \
-H "Authorization: Bearer $TOKEN" \
-H "Content-Type: application/json" \
-d '{
"file_extension": "md",
"file_token": "'"$FILE_TOKEN"'",
"type": "docx",
"point": {"mount_type": 1, "mount_key": ""}
}' | python3 -c "import sys,json; print(json.load(sys.stdin).get('data',{}).get('ticket',''))")
# 4. インポート完了を待機して、文書リンクを取得
sleep 2
curl -s -X GET "https://open.feishu.cn/open-apis/drive/v1/import_tasks/$TICKET" \
-H "Authorization: Bearer $TOKEN" \
| python3 -c "import sys,json; d=json.load(sys.stdin); print(d.get('data',{}).get('result',{}).get('url',''))"
サポートされているインポート形式:
md→ Markdowndocx→ Word ドキュメントxlsx→ Excel スプレッドシート
注意事項:
- インポートは非同期操作であり、
import_tasks/{ticket}をポーリングして結果を取得する必要があります mount_type: 1は「マイスペース」へのインポートを示します- インポート後の文書 URL 形式:
https://xxx.feishu.cn/docx/{token}
📤 完全なクラウド文書出力フロー(標準操作)
クラウド文書を出力するたびに、以下のステップを完了する必要があります:
- ローカル Markdown ファイルの生成
- 飛書クラウドドライブへのアップロード →
drive/v1/files/upload_all - クラウド文書へのインポート →
drive/v1/import_tasks - 権限を「組織内で編集可能」に設定 →
drive/v1/permissions/{token}/public - ターゲットグループにリンクを送信
# 完全なフロースクリプト
TOKEN=$(curl -s -X POST 'https://open.feishu.cn/open-apis/auth/v3/tenant_access_token/internal' \
-H 'Content-Type: application/json' \
-d '{"app_id":"APP_ID","app_secret":"APP_SECRET"}' \
| python3 -c "import sys,json; print(json.load(sys.stdin).get('tenant_access_token',''))")
# 1. ファイルをアップロード
FILE_TOKEN=$(curl -s -X POST 'https://open.feishu.cn/open-apis/drive/v1/files/upload_all' \
-H "Authorization: Bearer $TOKEN" \
-F "file_name=document.md" \
-F "parent_type=explorer" \
-F "parent_node=" \
-F "size=$(stat -c%s document.md)" \
-F "file=@document.md" \
| python3 -c "import sys,json; print(json.load(sys.stdin).get('data',{}).get('file_token',''))")
# 2. クラウド文書にインポート
TICKET=$(curl -s -X POST 'https://open.feishu.cn/open-apis/drive/v1/import_tasks' \
-H "Authorization: Bearer $TOKEN" \
-H "Content-Type: application/json" \
-d '{"file_extension":"md","file_token":"'"$FILE_TOKEN"'","type":"docx","point":{"mount_type":1,"mount_key":""}}' \
| python3 -c "import sys,json; print(json.load(sys.stdin).get('data',{}).get('ticket',''))")
sleep 2
# 3. 文書トークンを取得
DOC_RESULT=$(curl -s -X GET "https://open.feishu.cn/open-apis/drive/v1/import_tasks/$TICKET" \
-H "Authorization: Bearer $TOKEN")
DOC_TOKEN=$(echo "$DOC_RESULT" | python3 -c "import sys,json; print(json.load(sys.stdin).get('data',{}).get('result',{}).get('token',''))")
DOC_URL=$(echo "$DOC_RESULT" | python3 -c "import sys,json; print(json.load(sys.stdin).get('data',{}).get('result',{}).get('url',''))")
# 4. 権限を設定:組織内で編集可能
curl -s -X PATCH "https://open.feishu.cn/open-apis/drive/v1/permissions/$DOC_TOKEN/public?type=docx" \
-H "Authorization: Bearer $TOKEN" \
-H "Content-Type: application/json" \
-d '{"external_access_entity":"open","security_entity":"anyone_can_view","comment_entity":"anyone_can_view","share_entity":"anyone","link_share_entity":"tenant_editable"}'
# 5. グループに送信
curl -s -X POST "https://open.feishu.cn/open-apis/im/v1/messages?receive_id_type=chat_id" \
-H "Authorization: Bearer $TOKEN" \
-H "Content-Type: application/json" \
-d '{"receive_id":"CHAT_ID","msg_type":"text","content":"{\"text\":\"📄 文档已上传:\\n\\n'"$DOC_URL"'\"}"}'
権限設定の説明:
link_share_entity: "tenant_editable"→ リンクを取得した組織内のユーザーは編集可能comment_entity: "anyone_can_view"→ 誰でもコメント可能share_entity: "anyone"→ 誰でも共有可能
グループ関連
createGroup- グループの作成addMember- メンバーの追加getGroupList- グループリストの取得getGroupInfo- グループ情報の取得
実用的なシーン
1. 日報収集の自動化
- 毎日定期的に表格レコードを作成
- メンバーが日報を記入
- 統計情報の自動集計
- グループへの送信
2. 承認フロー
- 承認テーブルの作成
- ステータス変更の監視
- 承認者への自動通知
- 承認履歴の記録
3. タスク管理
- タスクテーブルの作成
- メンバーへのタスク割り当て
- タスクリマインダーの送信
- 完了ステータスの追跡
4. 顧客管理
- 顧客情報テーブル
- フォローアップレコード
- 自動リマインダー
- データ可視化
5. レポート生成
- テーブルからのデータ抽出
- 統計レポートの生成
- 飛書文書の作成
- 定期的な更新プッシュ
ベストプラクティス
認証設定
- 提供された App ID と App Secret を使用
- API 呼び出し頻度の制限を遵守
- access_token をキャッシュ
データ操作
- 一括操作ではページネーションを使用
- データ書き込み前にフォーマットを検証
- エラー処理と再試行
- 操作ログの記録
メッセージ送信
- インタラクティブカードで体験を向上
- 送信頻度を合理的に制御
- 機密情報の送信を避ける
- ユーザーインタラクションをサポート
権限管理
- 最小権限の原則
- 権限を定期的に確認
- コラボレーターのライフサイクル管理
エラーハンドリング
一般的なエラー
- 権限不足 - アプリケーション権限の設定を確認
- レート制限エラー - 再試行と待機を実装
- 無効な ID - ユーザー/グループ ID のフォーマットを検証
- ネットワークエラー - 再試行メカニズムを実装
再試行戦略
- 指数バックオフアルゴリズム
- 最大再試行回数の制限
- 失敗したリクエストのログ記録
- 管理者への通知
セキュリティに関する注意事項
- App Secret を保護
- ログに機密情報を記録しない
- 環境変数で認証情報を管理
- アクセストークンを定期的にローテーション
- データプライバシー規制を遵守
サンプルコード
多次元テーブルを作成してデータを追加
// 多次元テーブルを作成
const bitable = await mcp__lark-mcp_createBitable({
name: "プロジェクト管理",
folder_token: "folder_token"
});
// データテーブルを作成
const table = await mcp__lark-mcp_createTable({
app_token: bitable.app_token,
table: {
name: "タスクリスト",
fields: [
{ field_name: "タスク名", type: 1 },
{ field_name: "担当者", type: 13 },
{ field_name: "ステータス", type: 3 },
{ field_name: "期限", type: 5 }
]
}
});
// レコードを追加
await mcp__lark-mcp_addRecord({
app_token: bitable.app_token,
table_id: table.table_id,
fields: {
"タスク名": "プロジェクト文書を完成させる",
"担当者": "user_id",
"ステータス": "進行中",
"期限": Date.now()
}
});
カードメッセージを送信
await mcp__lark-mcp_sendMessage({
receive_id: "chat_id",
msg_type: "interactive",
content: JSON.stringify({
config: {
wide_screen_mode: true
},
header: {
template: "turquoise",
title: {
content: "重要なお知らせ",
tag: "plain_text"
}
},
elements: [
{
tag: "div",
text: {
content: "**プロジェクトマイルストーンが完了しました**",
tag: "lark_md"
}
},
{
tag: "action",
actions: [
{
tag: "button",
text: {
content: "詳細を表示",
tag: "plain_text"
},
type: "primary",
url: "https://example.com"
}
]
}
]
})
});
データを一括インポート
const data = [
{ name: "太郎", phone: "13800138000" },
{ name: "次郎", phone: "13900139000" }
];
for (const item of data) {
await mcp__lark-mcp_addRecord({
app_token: "app_token",
table_id: "table_id",
fields: {
"氏名": item.name,
"電話": item.phone
}
});
// レート制限を回避
await new Promise(resolve => setTimeout(resolve, 100));
}
設定検証
MCP サーバーの確認
# .claude.json 内の lark-mcp 設定を確認
cat ~/.claude.json | grep -A 15 "lark-mcp"
接続テスト
// テストメッセージを送信して接続を検証
await mcp__lark-mcp_sendMessage({
receive_id: "your_chat_id",
msg_type: "text",
content: JSON.stringify({
text: "🎉 飛書 MCP 接続成功!"
})
});
高度な使い方
Webhook 統合
- 飛書 Webhook イベントの監視
- ワークフローの自動トリガー
- リアルタイムデータ同期
定期タスクの自動化
- 定期的にレポート送信
- 自動データバックアップ
- 定期的なクリーンアップ
クロスプラットフォーム統合
- GitHub 統合(Issue 同期)
- メール統合(通知プッシュ)
- カレンダー統合(スケジュール管理)
トラブルシューティング
MCP ツールが利用不可
- Claude Desktop を再起動
- ネットワーク接続を確認
- 認証情報が有効かどうかを検証
- エラーログを確認
API 呼び出しが失敗
- アプリケーション権限の設定を確認
- ユーザー/グループ ID を検証
- レート制限ステータスを確認
- データフォーマットを確認
権限不足
- 飛書オープンプラットフォームにログイン
- アプリケーション権限スコープを確認
- 再度認可
- 権限が有効になるまで待機
ライセンス: MIT(寛容ライセンスのため全文を引用しています) · 原本リポジトリ
詳細情報
- 作者
- aaaaqwq
- ライセンス
- MIT
- 最終更新
- 不明
Source: https://github.com/aaaaqwq/claude-code-skills / ライセンス: MIT
関連スキル
newsblur-cli
ターミナルからNewsBlurを管理できます。フィードの閲覧、ストーリーの検索、記事の保存・共有、インテリジェンス分類器の学習、新しいフィードの発見、ワークフローの自動化がNewsBlur CLIで実現します。ユーザーがNewsBlurアカウントを操作したい場合、フィードの確認、購読管理、またはニュース読み込みに関するスクリプト構築時に活用してください。
caveman-compress
自然言語のメモリファイル(CLAUDE.md、todos、preferences)を「原始人形式」に圧縮し、入力トークンを削減します。技術的な内容、コード、URL、構造はすべて保持したまま圧縮します。圧縮版が元のファイルを上書きし、人間が読める形のバックアップはFILE.original.mdとして保存されます。トリガー:/caveman-compress FILEPATH または「compress memory file」
find-skills
日本語の意図から Agent Skills を発見する。「楽天SEOのスキル探して」「PDFを処理したい」「データ分析を自動化したい」などの日本語リクエストに対応。Claude Code (CLI)、Codex、Gemini CLI、claude.ai (Web) いずれでも動作。日本最大の Agent Skills データベース「Agent Skills by ALSEL」(11,000件超、全件日本語化、ダウンロード可能スキル8,600件超) から、ユーザーの意図に合うスキルを推薦・インストール案内する。
planning-and-task-breakdown
仕事を順序立てたタスクに分割します。仕様書や要件が明確にあり、実装可能なタスクに分解する必要がある場合に利用してください。タスクが大きすぎて着手しづらい場合、スコープを見積もる必要がある場合、または並列で作業を進められる場合に活用できます。
docx
このスキルは、ユーザーがWord文書(.docxファイル)を作成、読み込み、編集、操作したいときに使用します。以下の場合に実行してください:「Word文書」「.docx」などの記述、または目次・見出し・ページ番号・レターヘッドなどのフォーマットを含む専門的な文書の作成リクエスト。また、.docxファイルのコンテンツ抽出・再編成、文書への画像挿入・置換、Word形式での検索置換、変更履歴やコメント機能の使用、コンテンツを整形したWord文書への変換の場合も対象です。ユーザーが「レポート」「メモ」「手紙」「テンプレート」などの成果物をWord形式または.docxファイルで求める場合はこのスキルを使用してください。PDF、スプレッドシート、Google Docs、文書作成と無関係なコーディングタスクには使用しないでください。
idea-refine
アイデアを反復的に改善します。構造化された発散的思考と収束的思考を通じて、アイデアを洗練させることができます。「idea-refine」または「ideate」を使用してトリガーします。