{"id":"77ba8553-682c-4538-9204-23e0a430bece","entityType":"agent","slug":"clawhub-qqyougitcom-mimo-feishu-automation","name":"飞书自动化工具","canonicalUrl":"https://www.xpersona.co/agent/clawhub-qqyougitcom-mimo-feishu-automation","canonicalPath":"/agent/clawhub-qqyougitcom-mimo-feishu-automation","generatedAt":"2026-10-11T20:56:56.905Z","source":"CLAWHUB","claimStatus":"UNCLAIMED","verificationTier":"NONE","summary":{"evidence":{"source":"editorial-content","verified":true,"confidence":"high","updatedAt":"2026-10-11T15:58:06.415Z","emptyReason":null},"description":"每天在飞书上重复操作太浪费时间？消息定时推送、日报自动生成、多维表格批量操作、审批流程配置——一个技能把这些飞书日常全部自动化，支持Cron定时，设好就不用管了。 触发词：飞书自动化、飞书消息推送、飞书多维表格、飞书日报、飞书审批、飞书日历、lark自动化 排除：飞书开发(用lark_cli)、飞书机器人创建、非... Skill: 飞书自动化工具 Owner: qqyougitcom Summary: 每天在飞书上重复操作太浪费时间？消息定时推送、日报自动生成、多维表格批量操作、审批流程配置——一个技能把这些飞书日常全部自动化，支持Cron定时，设好就不用管了。 触发词：飞书自动化、飞书消息推送、飞书多维表格、飞书日报、飞书审批、飞书日历、lark自动化 排除：飞书开发(用lark_cli)、飞书机器人创建、非... Tags: latest:1.3.0 Version history: v1.3.0 | 2026-06-18T03:00:14.313Z | auto feishu-automation 1.3.0 - 完善了产品描述，明确支持自动化消息推送、日报生成、多维表格批量操作和审批流程等场景。 - 新增详细的四步核心使用流程指导，包括场景识别、连接配置、流程编排和测试部署。 - 提供标准化输出模板，方便快速应用和复用。 - 列出主要","descriptionLabel":"Technical summary","evidenceSummary":"Capability contract not published. No trust telemetry is available yet. 1K downloads reported by the source. Last updated 10/11/2026.","installCommand":"clawhub skill install s171ebvz5zmywbspmxr0bqm3q987wjxt:mimo-feishu-automation","sourceUrl":"https://clawhub.ai/qqyougitcom/mimo-feishu-automation","homepage":"https://clawhub.ai/qqyougitcom/skills/mimo-feishu-automation","primaryLinks":[{"label":"View on ClawHub","url":"https://clawhub.ai/qqyougitcom/mimo-feishu-automation","kind":"source"},{"label":"Homepage","url":"https://clawhub.ai/qqyougitcom/skills/mimo-feishu-automation","kind":"homepage"}],"safetyScore":84,"overallRank":62,"popularityScore":60,"trustScore":null,"claimedByName":null,"isOwner":false,"seoDescription":"每天在飞书上重复操作太浪费时间？消息定时推送、日报自动生成、多维表格批量操作、审批流程配置——一个技能把这些飞书日常全部自动化，支持Cron定时，设好就不用管了。 触发词：飞书自动化、飞书消息推送、飞书多维表格、飞书日报、飞书审批、飞书日历、lark自动化 排除：飞书开发(用lark_cli)、飞书机器人创建、非..."},"coverage":{"evidence":{"source":"public-profile","verified":false,"confidence":"medium","updatedAt":"2026-10-11T15:58:06.415Z","emptyReason":null},"protocols":[{"protocol":"OPENCLEW","label":"OpenClaw","status":"self-declared","notes":"Declared in the public agent profile."}],"capabilities":[],"verifiedCount":0,"selfDeclaredCount":1,"capabilityMatrix":{"rows":[{"key":"OPENCLEW","type":"protocol","support":"unknown","confidenceSource":"profile","notes":"Listed on profile"}],"flattenedTokens":"protocol:OPENCLEW|unknown|profile"}},"adoption":{"evidence":{"source":"CLAWHUB","verified":false,"confidence":"medium","updatedAt":"2026-10-11T15:58:06.415Z","emptyReason":null},"stars":null,"forks":null,"downloads":1033,"packageName":null,"latestVersion":"1.3.0","tractionLabel":"1K downloads"},"release":{"evidence":{"source":"CLAWHUB","verified":false,"confidence":"medium","updatedAt":"2026-10-11T15:58:06.403Z","emptyReason":null},"lastUpdatedAt":"2026-10-11T15:58:06.415Z","lastCrawledAt":"2026-10-11T15:58:06.403Z","lastIndexedAt":null,"nextCrawlAt":"2026-10-12T15:58:06.403Z","lastVerifiedAt":null,"highlights":[{"version":"1.3.0","createdAt":"2026-06-18T03:00:14.313Z","changelog":"feishu-automation 1.3.0 - 完善了产品描述，明确支持自动化消息推送、日报生成、多维表格批量操作和审批流程等场景。 - 新增详细的四步核心使用流程指导，包括场景识别、连接配置、流程编排和测试部署。 - 提供标准化输出模板，方便快速应用和复用。 - 列出主要边界约束，提醒注意权限、安全和API频率等问题。 - 明确输入输出均为中文。","fileCount":4,"zipByteSize":8969}]},"execution":{"evidence":{"source":"CLAWHUB","verified":false,"confidence":"low","updatedAt":null,"emptyReason":"No published capability contract is available yet."},"installCommand":"clawhub skill install s171ebvz5zmywbspmxr0bqm3q987wjxt:mimo-feishu-automation","setupComplexity":"low","setupSteps":["Setup complexity is LOW. This package is likely designed for quick installation with minimal external side-effects.","Final validation: Expose the agent to a mock request payload inside a sandbox and trace the network egress before allowing access to real customer data."],"contract":{"contractStatus":"missing","authModes":[],"requires":[],"forbidden":[],"supportsMcp":false,"supportsA2a":false,"supportsStreaming":false,"inputSchemaRef":null,"outputSchemaRef":null,"dataRegion":null,"contractUpdatedAt":null,"sourceUpdatedAt":null,"freshnessSeconds":null},"invocationGuide":{"preferredApi":{"snapshotUrl":"https://www.xpersona.co/api/v1/agents/clawhub-qqyougitcom-mimo-feishu-automation/snapshot","contractUrl":"https://www.xpersona.co/api/v1/agents/clawhub-qqyougitcom-mimo-feishu-automation/contract","trustUrl":"https://www.xpersona.co/api/v1/agents/clawhub-qqyougitcom-mimo-feishu-automation/trust"},"curlExamples":["curl -s \"https://www.xpersona.co/api/v1/agents/clawhub-qqyougitcom-mimo-feishu-automation/snapshot\"","curl -s \"https://www.xpersona.co/api/v1/agents/clawhub-qqyougitcom-mimo-feishu-automation/contract\"","curl -s \"https://www.xpersona.co/api/v1/agents/clawhub-qqyougitcom-mimo-feishu-automation/trust\""],"jsonRequestTemplate":{"query":"summarize this repo","constraints":{"maxLatencyMs":2000,"protocolPreference":["OPENCLEW"]}},"jsonResponseTemplate":{"ok":true,"result":{"summary":"...","confidence":0.9},"meta":{"source":"CLAWHUB","generatedAt":"2026-10-11T20:56:56.905Z"}},"retryPolicy":{"maxAttempts":3,"backoffMs":[500,1500,3500],"retryableConditions":["HTTP_429","HTTP_503","NETWORK_TIMEOUT"]}},"endpoints":{"dossierUrl":"https://www.xpersona.co/api/v1/agents/clawhub-qqyougitcom-mimo-feishu-automation/dossier","snapshotUrl":"https://www.xpersona.co/api/v1/agents/clawhub-qqyougitcom-mimo-feishu-automation/snapshot","contractUrl":"https://www.xpersona.co/api/v1/agents/clawhub-qqyougitcom-mimo-feishu-automation/contract","trustUrl":"https://www.xpersona.co/api/v1/agents/clawhub-qqyougitcom-mimo-feishu-automation/trust"}},"reliability":{"evidence":{"source":"runtime-metrics","verified":false,"confidence":"low","updatedAt":null,"emptyReason":"No trust, reliability, or runtime telemetry is available."},"trust":{"status":"unavailable","handshakeStatus":"UNKNOWN","verificationFreshnessHours":null,"reputationScore":null,"p95LatencyMs":null,"successRate30d":null,"fallbackRate":null,"attempts30d":null,"trustUpdatedAt":null,"trustConfidence":"unknown","sourceUpdatedAt":null,"freshnessSeconds":null},"decisionGuardrails":{"doNotUseIf":["Contract metadata is missing or unavailable for deterministic execution."],"safeUseWhen":[],"riskFlags":["missing_or_unavailable_contract","trust_data_unavailable","schema_references_missing"],"operationalConfidence":"low"},"executionMetrics":{"observedLatencyMsP50":null,"observedLatencyMsP95":null,"estimatedCostUsd":null,"uptime30d":null,"rateLimitRpm":null,"rateLimitBurst":null,"lastVerifiedAt":null,"verificationSource":null},"runtimeMetrics":{"successRate":null,"avgLatencyMs":null,"avgCostUsd":null,"hallucinationRate":null,"retryRate":null,"disputeRate":null,"p50Latency":null,"p95Latency":null,"lastUpdated":null}},"benchmarks":{"evidence":{"source":"no-benchmark-data","verified":false,"confidence":"low","updatedAt":null,"emptyReason":"No benchmark suites or observed failure patterns are available."},"suites":[],"failurePatterns":[]},"artifacts":{"evidence":{"source":"CLAWHUB","verified":false,"confidence":"high","updatedAt":"2026-10-11T15:58:06.415Z","emptyReason":null},"readme":"Skill: 飞书自动化工具\n\nOwner: qqyougitcom\n\nSummary: 每天在飞书上重复操作太浪费时间？消息定时推送、日报自动生成、多维表格批量操作、审批流程配置——一个技能把这些飞书日常全部自动化，支持Cron定时，设好就不用管了。 触发词：飞书自动化、飞书消息推送、飞书多维表格、飞书日报、飞书审批、飞书日历、lark自动化 排除：飞书开发(用lark_cli)、飞书机器人创建、非...\n\nTags: latest:1.3.0\n\nVersion history:\n\nv1.3.0 | 2026-06-18T03:00:14.313Z | auto\n\nfeishu-automation 1.3.0\n\n- 完善了产品描述，明确支持自动化消息推送、日报生成、多维表格批量操作和审批流程等场景。\n- 新增详细的四步核心使用流程指导，包括场景识别、连接配置、流程编排和测试部署。\n- 提供标准化输出模板，方便快速应用和复用。\n- 列出主要边界约束，提醒注意权限、安全和API频率等问题。\n- 明确输入输出均为中文。\n\nArchive index:\n\nArchive v1.3.0: 4 files, 8969 bytes\n\nFiles: references/details.md (22861b), skill-card.md (2740b), SKILL.md (1923b), _meta.json (141b)\n\nFile v1.3.0:SKILL.md\n\n---\nname: feishu-automation\nversion: 1.3.0\ndescription: |\n  每天在飞书上重复操作太浪费时间？消息定时推送、日报自动生成、多维表格批量操作、审批流程配置——一个技能把这些飞书日常全部自动化，支持Cron定时，设好就不用管了。\n  触发词：飞书自动化、飞书消息推送、飞书多维表格、飞书日报、飞书审批、飞书日历、lark自动化\n  排除：飞书开发(用lark_cli)、飞书机器人创建、非飞书平台操作\n---\n\n# 飞书自动化工具 🤖\n\n## 核心流程（4 Steps）\n\n### Step 1: 场景识别\n- 消息推送：定时通知/告警/提醒\n- 报表生成：日报/周报/月报\n- 多维表格：数据读写/筛选/聚合\n- 审批流程：自动审批/催办/归档\n\n### Step 2: 配置连接\n- 确认飞书开放平台App ID/Secret\n- 获取所需权限范围（消息/表格/审批/日历）\n- 验证连接和权限\n\n### Step 3: 流程编排\n- 触发条件：定时Cron/事件回调/手动\n- 数据处理：获取→转换→写入\n- 消息模板：卡片消息/文本/富文本\n\n### Step 4: 测试与部署\n- 单次执行测试\n- 确认输出格式和送达\n- 设置定时任务或事件订阅\n\n## 输出模板\n\n```\n━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\n🤖 飞书自动化方案 | {场景}\n━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\n触发：{Cron表达式/事件}\n数据源：{来源}\n处理：{转换逻辑}\n输出：{目标}\n权限：{所需scope列表}\n━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\n```\n\n## 边界约束\n1. **权限**：需管理员授权开放平台应用\n2. **频率限制**：API调用有QPS限制\n3. **数据安全**：敏感数据需脱敏处理\n4. **审核**：部分操作需企业管理员审批\n\n## Output Language\n中文输出\n\nFile v1.3.0:_meta.json\n\n{\n  \"ownerId\": \"kn7ejmzgqbk9x16s0ck40cbnsx87wqm8\",\n  \"slug\": \"mimo-feishu-automation\",\n  \"version\": \"1.3.0\",\n  \"publishedAt\": 1781751614313\n}\n\nFile v1.3.0:references/details.md\n\n# 飞书自动化工具 - 详细内容\n\n## 一、飞书开放平台接入指南\n\n### 1.1 应用创建流程\n\n```\n1. 访问 https://open.feishu.cn/app\n2. 点击「创建企业自建应用」\n3. 填写应用信息：\n   - 应用名称：{你的应用名}\n   - 应用描述：{功能说明}\n   - 应用图标：上传PNG/JPG 256x256\n4. 获取凭证：\n   - App ID: cli_xxxxxxxxxxxxxxxx\n   - App Secret: ****************\n5. 配置权限\n6. 发布应用\n```\n\n### 1.2 权限配置清单\n\n| 权限类型 | 权限标识 | 用途 |\n|----------|----------|------|\n| 消息权限 | im:message:send_as_bot | 发送消息 |\n| 消息权限 | im:message:receive_v1 | 接收消息 |\n| 消息权限 | im:message.p2p_msg:readonly | 读取私聊消息 |\n| 日历权限 | calendar:calendar:readonly | 读取日历 |\n| 日历权限 | calendar:calendar | 读写日历 |\n| 云文档权限 | docx:document:readonly | 读取文档 |\n| 云文档权限 | docx:document | 读写文档 |\n| 多维表格权限 | bitable:app:readonly | 读取多维表格 |\n| 多维表格权限 | bitable:app | 读写多维表格 |\n| 审批权限 | approval:instance:readonly | 读取审批 |\n| 审批权限 | approval:instance | 提交审批 |\n| 通讯录权限 | contact:user.base:readonly | 读取用户基础信息 |\n| 通讯录权限 | contact:user.id:readonly | 读取用户ID |\n\n### 1.3 获取Tenant Access Token\n\n```python\nimport requests\n\ndef get_tenant_token(app_id, app_secret):\n    \"\"\"获取tenant_access_token\"\"\"\n    url = \"https://open.feishu.cn/open-apis/auth/v3/tenant_access_token/internal\"\n    headers = {\"Content-Type\": \"application/json\"}\n    payload = {\n        \"app_id\": app_id,\n        \"app_secret\": app_secret\n    }\n    \n    response = requests.post(url, headers=headers, json=payload)\n    result = response.json()\n    \n    if result.get(\"code\") == 0:\n        return result[\"tenant_access_token\"]\n    else:\n        raise Exception(f\"获取token失败: {result}\")\n\n# 使用示例\napp_id = \"cli_xxxxxxxxxxxxxxxx\"\napp_secret = \"your_app_secret\"\ntoken = get_tenant_token(app_id, app_secret)\nprint(f\"Tenant Token: {token}\")\n```\n\n### 1.4 Token自动刷新机制\n\n```python\nimport time\nfrom datetime import datetime, timedelta\n\nclass FeishuTokenManager:\n    def __init__(self, app_id, app_secret):\n        self.app_id = app_id\n        self.app_secret = app_secret\n        self._token = None\n        self._expires_at = None\n    \n    def get_token(self):\n        \"\"\"获取有效token，自动刷新\"\"\"\n        if self._token is None or self._is_expired():\n            self._refresh_token()\n        return self._token\n    \n    def _is_expired(self):\n        \"\"\"检查token是否过期\"\"\"\n        if self._expires_at is None:\n            return True\n        # 提前5分钟刷新\n        return datetime.now() >= (self._expires_at - timedelta(minutes=5))\n    \n    def _refresh_token(self):\n        \"\"\"刷新token\"\"\"\n        url = \"https://open.feishu.cn/open-apis/auth/v3/tenant_access_token/internal\"\n        payload = {\n            \"app_id\": self.app_id,\n            \"app_secret\": self.app_secret\n        }\n        response = requests.post(url, json=payload)\n        result = response.json()\n        \n        if result.get(\"code\") == 0:\n            self._token = result[\"tenant_access_token\"]\n            # token有效期24小时\n            self._expires_at = datetime.now() + timedelta(hours=23)\n        else:\n            raise Exception(f\"Token刷新失败: {result}\")\n```\n\n## 二、消息推送完整指南\n\n### 2.1 发送文本消息\n\n```python\ndef send_text_message(token, receive_id_type, receive_id, content):\n    \"\"\"发送文本消息\"\"\"\n    url = \"https://open.feishu.cn/open-apis/im/v1/messages\"\n    \n    params = {\n        \"receive_id_type\": receive_id_type  # open_id/user_id/union_id/email/chat_id\n    }\n    \n    headers = {\n        \"Authorization\": f\"Bearer {token}\",\n        \"Content-Type\": \"application/json\"\n    }\n    \n    payload = {\n        \"receive_id\": receive_id,\n        \"msg_type\": \"text\",\n        \"content\": json.dumps({\"text\": content})\n    }\n    \n    response = requests.post(url, headers=headers, params=params, json=payload)\n    return response.json()\n\n# 使用示例\ntoken = get_tenant_token(app_id, app_secret)\n# 通过open_id发送\nsend_text_message(token, \"open_id\", \"ou_xxxxx\", \"这是一条测试消息\")\n# 通过user_id发送\nsend_text_message(token, \"user_id\", \"user_xxxxx\", \"这是一条测试消息\")\n# 通过email发送\nsend_text_message(token, \"email\", \"test@example.com\", \"这是一条测试消息\")\n```\n\n### 2.2 发送富文本消息（卡片）\n\n```python\ndef send_interactive_message(token, receive_id, receive_id_type, card_content):\n    \"\"\"发送卡片消息\"\"\"\n    url = \"https://open.feishu.cn/open-apis/im/v1/messages\"\n    \n    params = {\"receive_id_type\": receive_id_type}\n    \n    headers = {\n        \"Authorization\": f\"Bearer {token}\",\n        \"Content-Type\": \"application/json\"\n    }\n    \n    payload = {\n        \"receive_id\": receive_id,\n        \"msg_type\": \"interactive\",\n        \"content\": json.dumps(card_content)\n    }\n    \n    response = requests.post(url, headers=headers, params=params, json=payload)\n    return response.json()\n\n# 卡片消息模板：项目提醒\ndef create_project_reminder_card(project_name, deadline, task_list):\n    \"\"\"创建项目提醒卡片\"\"\"\n    tasks_html = \"\"\n    for task in task_list:\n        status_emoji = \"✅\" if task[\"done\"] else \"⬜\"\n        tasks_html += f'<li>{status_emoji} {task[\"name\"]}</li>'\n    \n    card = {\n        \"config\": {\"wide_screen_mode\": True},\n        \"header\": {\n            \"title\": {\"tag\": \"plain_text\", \"content\": f\"📋 {project_name} - 进度提醒\"},\n            \"template\": \"blue\"\n        },\n        \"elements\": [\n            {\n                \"tag\": \"div\",\n                \"text\": {\n                    \"tag\": \"lark_md\",\n                    \"content\": f\"**截止时间**: {deadline}\\n**负责人**: {task_list[0].get('owner', '待分配')}\"\n                }\n            },\n            {\"tag\": \"hr\"},\n            {\n                \"tag\": \"div\",\n                \"text\": {\n                    \"tag\": \"lark_md\",\n                    \"content\": f\"**待办事项**:\\n<ul>{tasks_html}</ul>\"\n                }\n            },\n            {\n                \"tag\": \"action\",\n                \"actions\": [\n                    {\n                        \"tag\": \"button\",\n                        \"text\": {\"tag\": \"plain_text\", \"content\": \"查看详情\"},\n                        \"type\": \"primary\",\n                        \"url\": \"https://feishu.cn/task/link\"\n                    }\n                ]\n            }\n        ]\n    }\n    return card\n\n# 使用示例\ncard = create_project_reminder_card(\n    \"Q2季度OKR\",\n    \"2026-06-30\",\n    [\n        {\"name\": \"完成技术方案设计\", \"done\": True, \"owner\": \"张三\"},\n        {\"name\": \"开发核心模块\", \"done\": False, \"owner\": \"李四\"},\n        {\"name\": \"UAT测试\", \"done\": False, \"owner\": \"王五\"}\n    ]\n)\nsend_interactive_message(token, \"ou_xxxxx\", \"open_id\", card)\n```\n\n### 2.3 发送Markdown消息\n\n```python\ndef send_markdown_message(token, receive_id_type, receive_id, content):\n    \"\"\"发送Markdown消息\"\"\"\n    url = \"https://open.feishu.cn/open-apis/im/v1/messages\"\n    \n    params = {\"receive_id_type\": receive_id_type}\n    \n    headers = {\n        \"Authorization\": f\"Bearer {token}\",\n        \"Content-Type\": \"application/json\"\n    }\n    \n    payload = {\n        \"receive_id\": receive_id,\n        \"msg_type\": \"post\",\n        \"content\": json.dumps({\n            \"zh_cn\": {\n                \"title\": \"消息标题\",\n                \"content\": [[{\n                    \"tag\": \"text\",\n                    \"text\": content\n                }]]\n            }\n        })\n    }\n    \n    response = requests.post(url, headers=headers, params=params, json=payload)\n    return response.json()\n\n# Markdown支持格式\nmarkdown_example = \"\"\"\n**加粗文本**\n_斜体文本_\n~~删除线~~\n`行内代码`\n[链接文字](https://feishu.cn)\n\"\"\"\nsend_markdown_message(token, \"open_id\", \"ou_xxxxx\", markdown_example)\n```\n\n## 三、多维表格操作指南\n\n### 3.1 获取多维表格数据\n\n```python\ndef get_bitable_records(token, app_token, table_id, filter_conditions=None):\n    \"\"\"获取多维表格记录\"\"\"\n    url = f\"https://open.feishu.cn/open-apis/bitable/v1/apps/{app_token}/tables/{table_id}/records\"\n    \n    headers = {\"Authorization\": f\"Bearer {token}\"}\n    \n    params = {}\n    if filter_conditions:\n        # 飞书过滤语法\n        params[\"filter\"] = filter_conditions\n    \n    response = requests.get(url, headers=headers, params=params)\n    result = response.json()\n    \n    if result.get(\"code\") == 0:\n        return result[\"data\"][\"items\"]\n    else:\n        raise Exception(f\"获取记录失败: {result}\")\n\n# 使用示例\nrecords = get_bitable_records(\n    token, \n    \"bascnxxxxxxx\",  # 多维表格App Token\n    \"tblxxxxxxx\"     # 数据表ID\n)\nfor record in records:\n    print(record[\"fields\"])\n```\n\n### 3.2 创建/更新记录\n\n```python\ndef create_bitable_record(token, app_token, table_id, fields_data):\n    \"\"\"创建多维表格记录\"\"\"\n    url = f\"https://open.feishu.cn/open-apis/bitable/v1/apps/{app_token}/tables/{table_id}/records\"\n    \n    headers = {\n        \"Authorization\": f\"Bearer {token}\",\n        \"Content-Type\": \"application/json\"\n    }\n    \n    payload = {\n        \"fields\": fields_data\n    }\n    \n    response = requests.post(url, headers=headers, json=payload)\n    return response.json()\n\ndef update_bitable_record(token, app_token, table_id, record_id, fields_data):\n    \"\"\"更新多维表格记录\"\"\"\n    url = f\"https://open.feishu.cn/open-apis/bitable/v1/apps/{app_token}/tables/{table_id}/records/{record_id}\"\n    \n    headers = {\n        \"Authorization\": f\"Bearer {token}\",\n        \"Content-Type\": \"application/json\"\n    }\n    \n    payload = {\n        \"fields\": fields_data\n    }\n    \n    response = requests.put(url, headers=headers, json=payload)\n    return response.json()\n\n# 创建记录示例\nnew_record = create_bitable_record(\n    token,\n    \"bascnxxxxxxx\",\n    \"tblxxxxxxx\",\n    {\n        \"任务名称\": \"完成需求文档\",\n        \"负责人\": \"张三\",\n        \"截止日期\": \"2026-06-15\",\n        \"优先级\": \"高\",\n        \"状态\": \"进行中\"\n    }\n)\n\n# 更新记录示例\nupdate_bitable_record(\n    token,\n    \"bascnxxxxxxx\",\n    \"tblxxxxxxx\",\n    \"recxxxxxxx\",  # 记录ID\n    {\n        \"状态\": \"已完成\",\n        \"完成时间\": datetime.now().strftime(\"%Y-%m-%d %H:%M:%S\")\n    }\n)\n```\n\n### 3.3 批量操作\n\n```python\ndef batch_create_records(token, app_token, table_id, records_list):\n    \"\"\"批量创建记录\"\"\"\n    url = f\"https://open.feishu.cn/open-apis/bitable/v1/apps/{app_token}/tables/{table_id}/records/batch_create\"\n    \n    headers = {\n        \"Authorization\": f\"Bearer {token}\",\n        \"Content-Type\": \"application/json\"\n    }\n    \n    payload = {\n        \"records\": [{\"fields\": r} for r in records_list]\n    }\n    \n    response = requests.post(url, headers=headers, json=payload)\n    return response.json()\n\ndef batch_delete_records(token, app_token, table_id, record_ids):\n    \"\"\"批量删除记录\"\"\"\n    url = f\"https://open.feishu.cn/open-apis/bitable/v1/apps/{app_token}/tables/{table_id}/records/batch_delete\"\n    \n    headers = {\n        \"Authorization\": f\"Bearer {token}\",\n        \"Content-Type\": \"application/json\"\n    }\n    \n    payload = {\n        \"records\": record_ids\n    }\n    \n    response = requests.delete(url, headers=headers, json=payload)\n    return response.json()\n```\n\n## 四、日历事件管理\n\n### 4.1 创建日历事件\n\n```python\ndef create_calendar_event(token, calendar_id, summary, start_time, end_time, \n                         attendees=None, description=\"\", location=\"\"):\n    \"\"\"创建日历事件\"\"\"\n    url = \"https://open.feishu.cn/open-apis/calendar/v4/calendars/{}/events\".format(calendar_id)\n    \n    headers = {\n        \"Authorization\": f\"Bearer {token}\",\n        \"Content-Type\": \"application/json\"\n    }\n    \n    payload = {\n        \"summary\": summary,\n        \"description\": description,\n        \"location\": {\"name\": location},\n        \"start_time\": {\n            \"timestamp\": str(int(start_time.timestamp())),\n            \"timezone\": \"Asia/Shanghai\"\n        },\n        \"end_time\": {\n            \"timestamp\": str(int(end_time.timestamp())),\n            \"timezone\": \"Asia/Shanghai\"\n        },\n        \"attendees\": {\n            \"attendees\": [{\"type\": \"user\", \"user_id\": a} for a in (attendees or [])]\n        }\n    }\n    \n    response = requests.post(url, headers=headers, json=payload)\n    return response.json()\n\n# 使用示例\nfrom datetime import datetime, timedelta\n\nstart = datetime.now() + timedelta(hours=1)\nend = start + timedelta(hours=1)\n\nevent = create_calendar_event(\n    token,\n    \"primary\",  # 主日历\n    \"团队周会\",\n    start,\n    end,\n    attendees=[\"user_id_1\", \"user_id_2\"],\n    description=\"讨论本周进度和下周计划\",\n    location=\"会议室A\"\n)\n```\n\n### 4.2 查询和更新事件\n\n```python\ndef get_calendar_events(token, calendar_id, start_time, end_time):\n    \"\"\"查询日历事件\"\"\"\n    url = f\"https://open.feishu.cn/open-apis/calendar/v4/calendars/{calendar_id}/events\"\n    \n    headers = {\"Authorization\": f\"Bearer {token}\"}\n    \n    params = {\n        \"start_time\": str(int(start_time.timestamp())),\n        \"end_time\": str(int(end_time.timestamp())),\n        \"page_size\": 50\n    }\n    \n    response = requests.get(url, headers=headers, params=params)\n    return response.json()\n\ndef update_calendar_event(token, calendar_id, event_id, update_data):\n    \"\"\"更新日历事件\"\"\"\n    url = f\"https://open.feishu.cn/open-apis/calendar/v4/calendars/{calendar_id}/events/{event_id}\"\n    \n    headers = {\n        \"Authorization\": f\"Bearer {token}\",\n        \"Content-Type\": \"application/json\"\n    }\n    \n    response = requests.patch(url, headers=headers, json=update_data)\n    return response.json()\n\ndef delete_calendar_event(token, calendar_id, event_id):\n    \"\"\"删除日历事件\"\"\"\n    url = f\"https://open.feishu.cn/open-apis/calendar/v4/calendars/{calendar_id}/events/{event_id}\"\n    \n    headers = {\"Authorization\": f\"Bearer {token}\"}\n    \n    response = requests.delete(url, headers=headers)\n    return response.json()\n```\n\n## 五、审批流程自动化\n\n### 5.1 发起审批\n\n```python\ndef create_approval_instance(token, approval_code, form_data, approvers):\n    \"\"\"发起审批实例\"\"\"\n    url = \"https://open.feishu.cn/open-apis/approval/v4/instances\"\n    \n    headers = {\n        \"Authorization\": f\"Bearer {token}\",\n        \"Content-Type\": \"application/json\"\n    }\n    \n    # 表单数据格式\n    form = []\n    for item in form_data:\n        form.append({\n            \"id\": item[\"id\"],  # 表单控件ID\n            \"value\": [{\"type\": \"text\", \"text\": item[\"value\"]}]\n        })\n    \n    payload = {\n        \"approval_code\": approval_code,\n        \"form\": form,\n        \"approvers\": [{\"id\": a, \"type\": \"user\"} for a in approvers]\n    }\n    \n    response = requests.post(url, headers=headers, json=payload)\n    return response.json()\n\n# 使用示例\nform_data = [\n    {\"id\": \"控件ID_1\", \"name\": \"申请人\", \"value\": \"张三\"},\n    {\"id\": \"控件ID_2\", \"name\": \"申请金额\", \"value\": \"5000\"},\n    {\"id\": \"控件ID_3\", \"name\": \"申请原因\", \"value\": \"购买办公设备\"}\n]\n\ninstance = create_approval_instance(\n    token,\n    \"approval_code_xxx\",  # 审批定义CODE\n    form_data,\n    [\"user_id_1\", \"user_id_2\"]  # 审批人ID列表\n)\n```\n\n### 5.2 查询审批状态\n\n```python\ndef get_approval_instance(token, instance_id):\n    \"\"\"查询审批实例\"\"\"\n    url = f\"https://open.feishu.cn/open-apis/approval/v4/instances/{instance_id}\"\n    \n    headers = {\"Authorization\": f\"Bearer {token}\"}\n    \n    response = requests.get(url, headers=headers)\n    return response.json()\n\ndef get_approval_tasks(token, user_id):\n    \"\"\"获取待我审批的任务\"\"\"\n    url = \"https://open.feishu.cn/open-apis/approval/v4/tasks/query\"\n    \n    headers = {\n        \"Authorization\": f\"Bearer {token}\",\n        \"Content-Type\": \"application/json\"\n    }\n    \n    payload = {\n        \"user_id\": user_id,\n        \"task_status\": \"PENDING\"\n    }\n    \n    response = requests.post(url, headers=headers, json=payload)\n    return response.json()\n\ndef approve_task(token, task_id, comment=\"\"):\n    \"\"\"审批通过\"\"\"\n    url = f\"https://open.feishu.cn/open-apis/approval/v4/tasks/{task_id}/approve\"\n    \n    headers = {\n        \"Authorization\": f\"Bearer {token}\",\n        \"Content-Type\": \"application/json\"\n    }\n    \n    payload = {\n        \"comment\": comment\n    }\n    \n    response = requests.post(url, headers=headers, json=payload)\n    return response.json()\n\ndef reject_task(token, task_id, comment=\"\"):\n    \"\"\"审批拒绝\"\"\"\n    url = f\"https://open.feishu.cn/open-apis/approval/v4/tasks/{task_id}/reject\"\n    \n    headers = {\n        \"Authorization\": f\"Bearer {token}\",\n        \"Content-Type\": \"application/json\"\n    }\n    \n    payload = {\n        \"comment\": comment\n    }\n    \n    response = requests.post(url, headers=headers, json=payload)\n    return response.json()\n```\n\n## 六、定时任务实现\n\n### 6.1 Cron表达式详解\n\n| 表达式 | 含义 | 示例 |\n|--------|------|------|\n| `0 0 * * * *` | 每小时整点 | 每天9:00, 10:00, 11:00 |\n| `0 0 9 * * *` | 每天9点 | 每日早报 |\n| `0 0 9 * * 1-5` | 工作日9点 | 工作日提醒 |\n| `0 30 18 * * 5` | 每周五18:30 | 周报提醒 |\n| `0 0 10 1 * *` | 每月1号10点 | 月度汇总 |\n| `0 0/30 * * * *` | 每30分钟 | 数据同步 |\n\n### 6.2 定时任务框架\n\n```python\nimport schedule\nimport time\nfrom threading import Thread\n\ndef daily_report_job():\n    \"\"\"每日报告任务\"\"\"\n    try:\n        token = get_tenant_token(app_id, app_secret)\n        report_data = generate_daily_report()\n        message = format_report_message(report_data)\n        send_text_message(token, \"chat_id\", \"group_xxx\", message)\n    except Exception as e:\n        print(f\"任务执行失败: {e}\")\n\ndef weekly_summary_job():\n    \"\"\"每周汇总任务\"\"\"\n    try:\n        token = get_tenant_token(app_id, app_secret)\n        summary = generate_weekly_summary()\n        message = format_summary_message(summary)\n        # 发送到指定用户\n        send_interactive_message(token, \"open_id\", \"user_xxx\", message)\n    except Exception as e:\n        print(f\"任务执行失败: {e}\")\n\ndef run_schedule():\n    \"\"\"运行定时任务\"\"\"\n    # 每日9点发送早报\n    schedule.every().day.at(\"09:00\").do(daily_report_job)\n    \n    # 每周五18点发送周报\n    schedule.every().friday.at(\"18:00\").do(weekly_summary_job)\n    \n    # 每30分钟同步数据\n    schedule.every(30).minutes.do(sync_data_job)\n    \n    while True:\n        schedule.run_pending()\n        time.sleep(60)\n\n# 后台启动定时任务\ndef start_scheduler():\n    thread = Thread(target=run_schedule, daemon=True)\n    thread.start()\n    return thread\n```\n\n## 七、常见场景模板\n\n### 7.1 日报自动生成\n\n```python\nDAILY_REPORT_CARD = {\n    \"config\": {\"wide_screen_mode\": True},\n    \"header\": {\n        \"title\": {\"tag\": \"plain_text\", \"content\": \"📊 每日工作日报\"},\n        \"template\": \"purple\"\n    },\n    \"elements\": [\n        {\n            \"tag\": \"div\",\n            \"text\": {\"tag\": \"lark_md\", \"content\": \"**日报日期**: {date}\"}\n        },\n        {\"tag\": \"hr\"},\n        {\n            \"tag\": \"div\",\n            \"text\": {\"tag\": \"lark_md\", \"content\": \"**今日完成**:\\n{task_list}\"}\n        },\n        {\n            \"tag\": \"div\",\n            \"text\": {\"tag\": \"lark_md\", \"content\": \"**明日计划**:\\n{plan_list}\"}\n        },\n        {\n            \"tag\": \"div\",\n            \"text\": {\"tag\": \"lark_md\", \"content\": \"**问题/阻塞**:\\n{blockers}\"}\n        }\n    ]\n}\n```\n\n### 7.2 会议提醒\n\n```python\nMEETING_REMINDER_CARD = {\n    \"config\": {\"wide_screen_mode\": True},\n    \"header\": {\n        \"title\": {\"tag\": \"plain_text\", \"content\": \"⏰ 会议提醒\"},\n        \"template\": \"orange\"\n    },\n    \"elements\": [\n        {\n            \"tag\": \"div\",\n            \"text\": {\"tag\": \"lark_md\", \"content\": \"**会议名称**: {meeting_name}\"}\n        },\n        {\n            \"tag\": \"div\",\n            \"text\": {\"tag\": \"lark_md\", \"content\": \"**会议时间**: {time}\"}\n        },\n        {\n            \"tag\": \"div\",\n            \"text\": {\"tag\": \"lark_md\", \"content\": \"**参会人员**: {attendees}\"}\n        },\n        {\n            \"tag\": \"div\",\n            \"text\": {\"tag\": \"lark_md\", \"content\": \"**会议链接**: [点击加入]({link})\"}\n        },\n        {\n            \"tag\": \"note\",\n            \"elements\": [{\"tag\": \"plain_text\", \"content\": \"请提前5分钟进入会议室\"}]\n        }\n    ]\n}\n```\n\n### 7.3 审批催办\n\n```python\nAPPROVAL_REMINDER_CARD = {\n    \"config\": {\"wide_screen_mode\": True},\n    \"header\": {\n        \"title\": {\"tag\": \"plain_text\", \"content\": \"🔔 审批催办提醒\"},\n        \"template\": \"red\"\n    },\n    \"elements\": [\n        {\n            \"tag\": \"div\",\n            \"text\": {\"tag\": \"lark_md\", \"content\": \"**申请人**: {applicant}\"}\n        },\n        {\n            \"tag\": \"div\",\n            \"text\": {\"tag\": \"lark_md\", \"content\": \"**申请类型**: {type}\"}\n        },\n        {\n            \"tag\": \"div\",\n            \"text\": {\"tag\": \"lark_md\", \"content\": \"**提交时间**: {submit_time}\"}\n        },\n        {\n            \"tag\": \"div\",\n            \"text\": {\"tag\": \"lark_md\", \"content\": \"⏳ **已等待**: {waiting_hours}小时\"}\n        },\n        {\n            \"tag\": \"action\",\n            \"actions\": [\n                {\n                    \"tag\": \"button\",\n                    \"text\": {\"tag\": \"plain_text\", \"content\": \"立即审批\"},\n                    \"type\": \"primary\",\n                    \"url\": \"{approval_link}\"\n                }\n            ]\n        }\n    ]\n}\n```\n\n## 八、错误码处理\n\n| 错误码 | 说明 | 处理建议 |\n|--------|------|----------|\n| 99991663 | 无权限 | 检查应用权限配置 |\n| 99991664 | 接口调用频率超限 | 添加请求间隔 |\n| 99991400 | 参数错误 | 检查请求参数格式 |\n| 230001 | 用户不存在 | 检查user_id是否正确 |\n| 230002 | 群聊不存在 | 检查chat_id是否正确 |\n| 230003 | 应用不在群聊中 | 将应用添加到群聊 |\n\n## 九、API调用频率限制\n\n| 接口类型 | QPS限制 | 日限额 |\n|----------|--------|--------|\n| 发消息 | 50 | 无 |\n| 读消息 | 60 | 无 |\n| 读日历 | 60 | 无 |\n| 写日历 | 10 | 无 |\n| 多维表格读 | 30 | 无 |\n| 多维表格写 | 10 | 无 |\n\n## 十、安全最佳实践\n\n1. **Token安全存储**：使用环境变量或加密存储App Secret\n2. **最小权限原则**：只申请业务必需的权限\n3. **请求验证**：对外部输入进行校验\n4. **日志脱敏**：敏感信息（手机号、身份证）打码处理\n5. **错误处理**：不向用户暴露内部错误详情\n6. **IP白名单**：生产环境配置IP访问限制\n\nFile v1.3.0:skill-card.md\n\n## Description:\n\n飞书自动化工具 helps agents produce Chinese Feishu automation plans and code-oriented guidance for scheduled messages, reports, Bitable operations, calendar events, and approval workflows.\n\nThis skill is ready for commercial/non-commercial use.\n\n## Publisher:\n\n[qqyougitcom](https://clawhub.ai/user/qqyougitcom)\n\n### License/Terms of Use:\n\nMIT-0\n\n## Use Case:\n\nDevelopers and workplace automation owners use this skill to draft Chinese Feishu automation workflows, permissions, API calls, schedules, and output templates for messages, reports, Bitable records, calendar events, and approvals.\n\n### Deployment Geography for Use:\n\nGlobal\n\n## Known Risks and Mitigations:\n\nRisk: The skill covers powerful Feishu workplace actions using app credentials and broad API scopes.\n\nMitigation: Use a Feishu app with carefully limited scopes, keep scheduled automations narrowly scoped and auditable, and validate target record, event, task, and recipient IDs before execution.\n\nRisk: The artifact includes token-printing examples and token handling patterns.\n\nMitigation: Remove token-printing examples before production use and store App Secret and tokens in environment variables or encrypted secret storage.\n\nRisk: The skill includes destructive or high-impact actions such as batch deletion, approval decisions, and scheduled automation.\n\nMitigation: Require explicit confirmation for deletes and approval decisions, add request validation, and review workflows before enabling production schedules.\n\nRisk: Feishu APIs have permission and rate-limit constraints that can cause failed or excessive automation.\n\nMitigation: Confirm administrator approval for required permissions, apply rate limiting or retry spacing, and monitor automation logs with sensitive values redacted.\n\n## Reference(s):\n\n- [飞书自动化工具 - 详细内容](artifact/references/details.md)\n- [Feishu Open Platform App Console](https://open.feishu.cn/app)\n\n## Skill Output:\n\n**Output Type(s):** [text, markdown, code, shell commands, configuration, guidance]\n\n**Output Format:** [Chinese Markdown with Python examples, Feishu API payloads, Cron expressions, and configuration checklists.]\n\n**Output Parameters:** [1D]\n\n**Other Properties Related to Output:** [Outputs are intended as plans and examples; executing API actions requires separately configured Feishu credentials and scopes.]\n\n## Skill Version(s):\n\n1.3.0 (source: SKILL.md frontmatter and server release metadata)\n\n## Ethical Considerations:\n\nUsers should evaluate whether this skill is appropriate for their environment, review any generated or modified files before relying on them, and apply their organization's safety, security, and compliance requirements before deployment.","readmeExcerpt":"Skill: 飞书自动化工具 Owner: qqyougitcom Summary: 每天在飞书上重复操作太浪费时间？消息定时推送、日报自动生成、多维表格批量操作、审批流程配置——一个技能把这些飞书日常全部自动化，支持Cron定时，设好就不用管了。 触发词：飞书自动化、飞书消息推送、飞书多维表格、飞书日报、飞书审批、飞书日历、lark自动化 排除：飞书开发(用lark_cli)、飞书机器人创建、非... Tags: latest:1.3.0 Version history: v1.3.0 | 2026-06-18T03:00:14.313Z | auto feishu-automation 1.3.0 - 完善了产品描述，明确支持自动化消息推送、日报生成、多维表格批量操作和审批流程等场景。 - 新增详细的四步核心使用流程指导，包括场景识别、连接配置、流程编排和测试部署。 - 提供标准化输出模板，方便快速应用和复用。 - 列出主要","codeSnippets":[],"executableExamples":[{"language":"text","snippet":"━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\n🤖 飞书自动化方案 | {场景}\n━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\n触发：{Cron表达式/事件}\n数据源：{来源}\n处理：{转换逻辑}\n输出：{目标}\n权限：{所需scope列表}\n━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━"},{"language":"text","snippet":"1. 访问 https://open.feishu.cn/app\n2. 点击「创建企业自建应用」\n3. 填写应用信息：\n   - 应用名称：{你的应用名}\n   - 应用描述：{功能说明}\n   - 应用图标：上传PNG/JPG 256x256\n4. 获取凭证：\n   - App ID: cli_xxxxxxxxxxxxxxxx\n   - App Secret: ****************\n5. 配置权限\n6. 发布应用"},{"language":"python","snippet":"import requests\n\ndef get_tenant_token(app_id, app_secret):\n    \"\"\"获取tenant_access_token\"\"\"\n    url = \"https://open.feishu.cn/open-apis/auth/v3/tenant_access_token/internal\"\n    headers = {\"Content-Type\": \"application/json\"}\n    payload = {\n        \"app_id\": app_id,\n        \"app_secret\": app_secret\n    }\n    \n    response = requests.post(url, headers=headers, json=payload)\n    result = response.json()\n    \n    if result.get(\"code\") == 0:\n        return result[\"tenant_access_token\"]\n    else:\n        raise Exception(f\"获取token失败: {result}\")\n\n# 使用示例\napp_id = \"cli_xxxxxxxxxxxxxxxx\"\napp_secret = \"your_app_secret\"\ntoken = get_tenant_token(app_id, app_secret)\nprint(f\"Tenant Token: {token}\")"},{"language":"python","snippet":"import time\nfrom datetime import datetime, timedelta\n\nclass FeishuTokenManager:\n    def __init__(self, app_id, app_secret):\n        self.app_id = app_id\n        self.app_secret = app_secret\n        self._token = None\n        self._expires_at = None\n    \n    def get_token(self):\n        \"\"\"获取有效token，自动刷新\"\"\"\n        if self._token is None or self._is_expired():\n            self._refresh_token()\n        return self._token\n    \n    def _is_expired(self):\n        \"\"\"检查token是否过期\"\"\"\n        if self._expires_at is None:\n            return True\n        # 提前5分钟刷新\n        return datetime.now() >= (self._expires_at - timedelta(minutes=5))\n    \n    def _refresh_token(self):\n        \"\"\"刷新token\"\"\"\n        url = \"https://open.feishu.cn/open-apis/auth/v3/tenant_access_token/internal\"\n        payload = {\n            \"app_id\": self.app_id,\n            \"app_secret\": self.app_secret\n        }\n        response = requests.post(url, json=payload)\n        result = response.json()\n        \n        if result.get(\"code\") == 0:\n            self._token = result[\"tenant_access_token\"]\n            # token有效期24小时\n            self._expires_at = datetime.now() + timedelta(hours=23)\n        else:\n            raise Exception(f\"Token刷新失败: {result}\")"},{"language":"python","snippet":"def send_text_message(token, receive_id_type, receive_id, content):\n    \"\"\"发送文本消息\"\"\"\n    url = \"https://open.feishu.cn/open-apis/im/v1/messages\"\n    \n    params = {\n        \"receive_id_type\": receive_id_type  # open_id/user_id/union_id/email/chat_id\n    }\n    \n    headers = {\n        \"Authorization\": f\"Bearer {token}\",\n        \"Content-Type\": \"application/json\"\n    }\n    \n    payload = {\n        \"receive_id\": receive_id,\n        \"msg_type\": \"text\",\n        \"content\": json.dumps({\"text\": content})\n    }\n    \n    response = requests.post(url, headers=headers, params=params, json=payload)\n    return response.json()\n\n# 使用示例\ntoken = get_tenant_token(app_id, app_secret)\n# 通过open_id发送\nsend_text_message(token, \"open_id\", \"ou_xxxxx\", \"这是一条测试消息\")\n# 通过user_id发送\nsend_text_message(token, \"user_id\", \"user_xxxxx\", \"这是一条测试消息\")\n# 通过email发送\nsend_text_message(token, \"email\", \"test@example.com\", \"这是一条测试消息\")"},{"language":"python","snippet":"def send_interactive_message(token, receive_id, receive_id_type, card_content):\n    \"\"\"发送卡片消息\"\"\"\n    url = \"https://open.feishu.cn/open-apis/im/v1/messages\"\n    \n    params = {\"receive_id_type\": receive_id_type}\n    \n    headers = {\n        \"Authorization\": f\"Bearer {token}\",\n        \"Content-Type\": \"application/json\"\n    }\n    \n    payload = {\n        \"receive_id\": receive_id,\n        \"msg_type\": \"interactive\",\n        \"content\": json.dumps(card_content)\n    }\n    \n    response = requests.post(url, headers=headers, params=params, json=payload)\n    return response.json()\n\n# 卡片消息模板：项目提醒\ndef create_project_reminder_card(project_name, deadline, task_list):\n    \"\"\"创建项目提醒卡片\"\"\"\n    tasks_html = \"\"\n    for task in task_list:\n        status_emoji = \"✅\" if task[\"done\"] else \"⬜\"\n        tasks_html += f'<li>{status_emoji} {task[\"name\"]}</li>'\n    \n    card = {\n        \"config\": {\"wide_screen_mode\": True},\n        \"header\": {\n            \"title\": {\"tag\": \"plain_text\", \"content\": f\"📋 {project_name} - 进度提醒\"},\n            \"template\": \"blue\"\n        },\n        \"elements\": [\n            {\n                \"tag\": \"div\",\n                \"text\": {\n                    \"tag\": \"lark_md\",\n                    \"content\": f\"**截止时间**: {deadline}\\n**负责人**: {task_list[0].get('owner', '待分配')}\"\n                }\n            },\n            {\"tag\": \"hr\"},\n            {\n                \"tag\": \"div\",\n                \"text\": {\n                    \"tag\": \"lark_md\",\n                    \"content\": f\"**待办事项**:\\n<ul>{tasks_html}</ul>\"\n                }\n            },\n            {\n                \"tag\": \"action\",\n                \"actions\": [\n                    {\n                        \"tag\": \"button\",\n                        \"text\": {\"tag\": \"plain_text\", \"content\": \"查看详情\"},\n                        \"type\": \"primary\",\n                        \"url\": \"https://feishu.cn/task/link\"\n                    }\n                ]\n            }\n        ]\n    }\n    return card\n\n# 使用示例\ncard = create_project_reminder_card(\n"}],"parameters":null,"dependencies":[],"permissions":[],"extractedFiles":[{"path":"SKILL.md","content":"---\nname: feishu-automation\nversion: 1.3.0\ndescription: |\n  每天在飞书上重复操作太浪费时间？消息定时推送、日报自动生成、多维表格批量操作、审批流程配置——一个技能把这些飞书日常全部自动化，支持Cron定时，设好就不用管了。\n  触发词：飞书自动化、飞书消息推送、飞书多维表格、飞书日报、飞书审批、飞书日历、lark自动化\n  排除：飞书开发(用lark_cli)、飞书机器人创建、非飞书平台操作\n---\n\n# 飞书自动化工具 🤖\n\n## 核心流程（4 Steps）\n\n### Step 1: 场景识别\n- 消息推送：定时通知/告警/提醒\n- 报表生成：日报/周报/月报\n- 多维表格：数据读写/筛选/聚合\n- 审批流程：自动审批/催办/归档\n\n### Step 2: 配置连接\n- 确认飞书开放平台App ID/Secret\n- 获取所需权限范围（消息/表格/审批/日历）\n- 验证连接和权限\n\n### Step 3: 流程编排\n- 触发条件：定时Cron/事件回调/手动\n- 数据处理：获取→转换→写入\n- 消息模板：卡片消息/文本/富文本\n\n### Step 4: 测试与部署\n- 单次执行测试\n- 确认输出格式和送达\n- 设置定时任务或事件订阅\n\n## 输出模板\n\n```\n━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\n🤖 飞书自动化方案 | {场景}\n━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\n触发：{Cron表达式/事件}\n数据源：{来源}\n处理：{转换逻辑}\n输出：{目标}\n权限：{所需scope列表}\n━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\n```\n\n## 边界约束\n1. **权限**：需管理员授权开放平台应用\n2. **频率限制**：API调用有QPS限制\n3. **数据安全**：敏感数据需脱敏处理\n4. **审核**：部分操作需企业管理员审批\n\n## Output Language\n中文输出"},{"path":"_meta.json","content":"{\n  \"ownerId\": \"kn7ejmzgqbk9x16s0ck40cbnsx87wqm8\",\n  \"slug\": \"mimo-feishu-automation\",\n  \"version\": \"1.3.0\",\n  \"publishedAt\": 1781751614313\n}"},{"path":"references/details.md","content":"# 飞书自动化工具 - 详细内容\n\n## 一、飞书开放平台接入指南\n\n### 1.1 应用创建流程\n\n```\n1. 访问 https://open.feishu.cn/app\n2. 点击「创建企业自建应用」\n3. 填写应用信息：\n   - 应用名称：{你的应用名}\n   - 应用描述：{功能说明}\n   - 应用图标：上传PNG/JPG 256x256\n4. 获取凭证：\n   - App ID: cli_xxxxxxxxxxxxxxxx\n   - App Secret: ****************\n5. 配置权限\n6. 发布应用\n```\n\n### 1.2 权限配置清单\n\n| 权限类型 | 权限标识 | 用途 |\n|----------|----------|------|\n| 消息权限 | im:message:send_as_bot | 发送消息 |\n| 消息权限 | im:message:receive_v1 | 接收消息 |\n| 消息权限 | im:message.p2p_msg:readonly | 读取私聊消息 |\n| 日历权限 | calendar:calendar:readonly | 读取日历 |\n| 日历权限 | calendar:calendar | 读写日历 |\n| 云文档权限 | docx:document:readonly | 读取文档 |\n| 云文档权限 | docx:document | 读写文档 |\n| 多维表格权限 | bitable:app:readonly | 读取多维表格 |\n| 多维表格权限 | bitable:app | 读写多维表格 |\n| 审批权限 | approval:instance:readonly | 读取审批 |\n| 审批权限 | approval:instance | 提交审批 |\n| 通讯录权限 | contact:user.base:readonly | 读取用户基础信息 |\n| 通讯录权限 | contact:user.id:readonly | 读取用户ID |\n\n### 1.3 获取Tenant Access Token\n\n```python\nimport requests\n\ndef get_tenant_token(app_id, app_secret):\n    \"\"\"获取tenant_access_token\"\"\"\n    url = \"https://open.feishu.cn/open-apis/auth/v3/tenant_access_token/internal\"\n    headers = {\"Content-Type\": \"application/json\"}\n    payload = {\n        \"app_id\": app_id,\n        \"app_secret\": app_secret\n    }\n    \n    response = requests.post(url, headers=headers, json=payload)\n    result = response.json()\n    \n    if result.get(\"code\") == 0:\n        return result[\"tenant_access_token\"]\n    else:\n        raise Exception(f\"获取token失败: {result}\")\n\n# 使用示例\napp_id = \"cli_xxxxxxxxxxxxxxxx\"\napp_secret = \"your_app_secret\"\ntoken = get_tenant_token(app_id, app_secret)\nprint(f\"Tenant Token: {token}\")\n```\n\n### 1.4 Token自动刷新机制\n\n```python\nimport time\nfrom datetime import datetime, timedelta\n\nclass FeishuTokenManager:\n    def __init__(self, app_id, app_secret):\n        self.app_id = app_id\n        self.app_secret = app_secret\n        self._token = None\n        self._expires_at = None\n    \n    def get_token(self):\n        \"\"\"获取有效token，自动刷新\"\"\"\n        if self._token is None or self._is_expired():\n            self._refresh_token()\n        return self._token\n    \n    def _is_expired(self):\n        \"\"\"检查token是否过期\"\"\"\n        if self._expires_at is None:\n            return True\n        # 提前5分钟刷新\n        return datetime.now() >= (self._expires_at - timedelta(minutes=5))\n    \n    def _refresh_token(self):\n        \"\"\"刷新token\"\"\"\n        url = \"https://open.feishu.cn/open-apis/auth/v3/tenant_access_token/internal\"\n        payload = {\n            \"app_id\": self.app_id,\n            \"app_secret\": self.app_secret\n        }\n        response = requests.post(url, json=payload)\n        result = response.json()\n        \n        if result.get(\"code\") == 0:\n            self._token = result[\"tenant_access_token\"]\n            # token有效期24小时\n            self._expires_at = datetime.now() + timedelta(hours=23)\n        else:\n            raise Exception(f\"Token刷新失败: {result}\")\n```\n\n## 二、消息推送完整指南\n\n### 2.1 发送文本消息\n\n```python\ndef send_text_message(token, receive_id_type, receive_id, content):\n "},{"path":"skill-card.md","content":"## Description:\n\n飞书自动化工具 helps agents produce Chinese Feishu automation plans and code-oriented guidance for scheduled messages, reports, Bitable operations, calendar events, and approval workflows.\n\nThis skill is ready for commercial/non-commercial use.\n\n## Publisher:\n\n[qqyougitcom](https://clawhub.ai/user/qqyougitcom)\n\n### License/Terms of Use:\n\nMIT-0\n\n## Use Case:\n\nDevelopers and workplace automation owners use this skill to draft Chinese Feishu automation workflows, permissions, API calls, schedules, and output templates for messages, reports, Bitable records, calendar events, and approvals.\n\n### Deployment Geography for Use:\n\nGlobal\n\n## Known Risks and Mitigations:\n\nRisk: The skill covers powerful Feishu workplace actions using app credentials and broad API scopes.\n\nMitigation: Use a Feishu app with carefully limited scopes, keep scheduled automations narrowly scoped and auditable, and validate target record, event, task, and recipient IDs before execution.\n\nRisk: The artifact includes token-printing examples and token handling patterns.\n\nMitigation: Remove token-printing examples before production use and store App Secret and tokens in environment variables or encrypted secret storage.\n\nRisk: The skill includes destructive or high-impact actions such as batch deletion, approval decisions, and scheduled automation.\n\nMitigation: Require explicit confirmation for deletes and approval decisions, add request validation, and review workflows before enabling production schedules.\n\nRisk: Feishu APIs have permission and rate-limit constraints that can cause failed or excessive automation.\n\nMitigation: Confirm administrator approval for required permissions, apply rate limiting or retry spacing, and monitor automation logs with sensitive values redacted.\n\n## Reference(s):\n\n- [飞书自动化工具 - 详细内容](artifact/references/details.md)\n- [Feishu Open Platform App Console](https://open.feishu.cn/app)\n\n## Skill Output:\n\n**Output Type(s):** [text, markdown, code, shell commands, configuration, guidance]\n\n**Output Format:** [Chinese Markdown with Python examples, Feishu API payloads, Cron expressions, and configuration checklists.]\n\n**Output Parameters:** [1D]\n\n**Other Properties Related to Output:** [Outputs are intended as plans and examples; executing API actions requires separately configured Feishu credentials and scopes.]\n\n## Skill Version(s):\n\n1.3.0 (source: SKILL.md frontmatter and server release metadata)\n\n## Ethical Considerations:\n\nUsers should evaluate whether this skill is appropriate for their environment, review any generated or modified files before relying on them, and apply their organization's safety, security, and compliance requirements before deployment."}],"languages":[],"docsSourceLabel":"CLAWHUB","editorialOverview":"每天在飞书上重复操作太浪费时间？消息定时推送、日报自动生成、多维表格批量操作、审批流程配置——一个技能把这些飞书日常全部自动化，支持Cron定时，设好就不用管了。 触发词：飞书自动化、飞书消息推送、飞书多维表格、飞书日报、飞书审批、飞书日历、lark自动化 排除：飞书开发(用lark_cli)、飞书机器人创建、非... Skill: 飞书自动化工具 Owner: qqyougitcom Summary: 每天在飞书上重复操作太浪费时间？消息定时推送、日报自动生成、多维表格批量操作、审批流程配置——一个技能把这些飞书日常全部自动化，支持Cron定时，设好就不用管了。 触发词：飞书自动化、飞书消息推送、飞书多维表格、飞书日报、飞书审批、飞书日历、lark自动化 排除：飞书开发(用lark_cli)、飞书机器人创建、非... Tags: latest:1.3.0 Version history: v1.3.0 | 2026-06-18T03:00:14.313Z | auto feishu-automation 1.3.0 - 完善了产品描述，明确支持自动化消息推送、日报生成、多维表格批量操作和审批流程等场景。 - 新增详细的四步核心使用流程指导，包括场景识别、连接配置、流程编排和测试部署。 - 提供标准化输出模板，方便快速应用和复用。 - 列出主要","editorialQuality":{"score":100,"threshold":65,"status":"ready","wordCount":729,"uniquenessScore":62,"reasons":[]}},"media":{"evidence":{"source":"no-media","verified":false,"confidence":"low","updatedAt":"2026-10-11T15:58:06.415Z","emptyReason":"No screenshots, media assets, or demo links are available."},"primaryImageUrl":null,"mediaAssetCount":0,"assets":[],"demoUrl":null},"ownerResources":{"evidence":{"source":"unclaimed","verified":false,"confidence":"low","updatedAt":"2026-10-11T15:58:06.415Z","emptyReason":"This page has not been claimed by the agent owner."},"hasCustomPage":false,"customPageUpdatedAt":null,"customLinks":[],"structuredLinks":{"docsUrl":null,"demoUrl":null,"supportUrl":null,"pricingUrl":null,"statusUrl":null},"customPage":null},"relatedAgents":{"evidence":{"source":"protocol-neighbors","verified":false,"confidence":"medium","updatedAt":"2026-10-11T20:56:56.905Z","emptyReason":null},"items":[{"id":"8ebccd8e-3863-4187-8355-c3f14e1f9edf","entityType":"agent","canonicalPath":"/agent/iofficeai-aionui","slug":"iofficeai-aionui","name":"AionUi","description":"Free, local, open-source 24/7 Cowork app and OpenClaw for Gemini CLI, Claude Code, Codex, OpenCode, Qwen Code, Goose CLI, Auggie, and more | 🌟 Star if you like it!","url":"https://github.com/iOfficeAI/AionUi","homepage":"https://www.aionui.com","source":"GITHUB_REPOS","protocols":["MCP","OPENCLAW"],"capabilities":[],"safetyScore":100,"overallRank":70,"updatedAt":"2026-10-09T19:11:12.944Z","createdAt":"2026-02-25T03:38:16.584Z","downloads":null},{"id":"b917f68a-ebff-438e-84f8-3f4b2494c0bc","entityType":"agent","canonicalPath":"/agent/activepieces-activepieces","slug":"activepieces-activepieces","name":"activepieces","description":"AI Agents & MCPs & AI Workflow Automation • (~400 MCP servers for AI agents) • AI Automation / AI Agent with MCPs • AI Workflows & AI Agents • MCPs for AI Agents","url":"https://github.com/activepieces/activepieces","homepage":"https://www.activepieces.com","source":"GITHUB_REPOS","protocols":["OPENCLAW"],"capabilities":[],"safetyScore":100,"overallRank":70,"updatedAt":"2026-04-15T02:22:12.426Z","createdAt":"2026-02-25T03:38:12.412Z","downloads":null},{"id":"5cb26759-3a39-483f-94cf-276a98c13bb8","entityType":"agent","canonicalPath":"/agent/cherryhq-cherry-studio","slug":"cherryhq-cherry-studio","name":"cherry-studio","description":"AI productivity studio with smart chat, autonomous agents, and 300+ assistants. Unified access to frontier LLMs","url":"https://github.com/CherryHQ/cherry-studio","homepage":"https://cherry-ai.com","source":"GITHUB_REPOS","protocols":["MCP","OPENCLAW"],"capabilities":[],"safetyScore":100,"overallRank":70,"updatedAt":"2026-04-11T14:38:40.986Z","createdAt":"2026-02-25T03:38:19.379Z","downloads":null},{"id":"6f6582d0-5d76-4f0f-b81d-86520247950b","entityType":"agent","canonicalPath":"/agent/copilotkit-copilotkit","slug":"copilotkit-copilotkit","name":"CopilotKit","description":"The Frontend for Agents & Generative UI. React + Angular","url":"https://github.com/CopilotKit/CopilotKit","homepage":"https://docs.copilotkit.ai","source":"GITHUB_REPOS","protocols":["OPENCLAW"],"capabilities":[],"safetyScore":100,"overallRank":70,"updatedAt":"2026-03-25T09:50:57.846Z","createdAt":"2026-02-25T03:39:14.617Z","downloads":null}],"links":{"hub":"/agent","source":"/agent/source/clawhub","protocols":[{"label":"OpenClaw","href":"/agent/protocol/openclew"}]}}}