Lark Project MCP — Miyabi LLC Project Management Skill
Important: Before calling a tool, always ToolSearch load the schema of the target tool with .
Example: ToolSearch("select:mcp__lark-project__search_by_mql,mcp__lark-project__list_todo")
Current space information (fixed values)
Shortcut commands
When the user says the following expressions, immediately execute the corresponding MQL.
"What to do today / Pending confirmation"
→ list_todo(action="todo", page_num=1)
"This week's tasks"
→ list_todo(action="this_week", page_num=1)
"P0 project list"
→ search_by_mql(
project_key="69dbca561543d1dedeb3c926",
mql="SELECT `name`, `work_item_status`, `priority` FROM `製品開発`.`開発要件` WHERE `priority` = 'P0'"
)
"P1 project list"
→ search_by_mql(
project_key="69dbca561543d1dedeb3c926",
mql="SELECT `name`, `work_item_status`, `priority` FROM `製品開発`.`開発要件` WHERE `priority` = 'P1'"
)
"Projects in development"
→ search_by_mql(
project_key="69dbca561543d1dedeb3c926",
mql="SELECT `name`, `priority` FROM `製品開発`.`開発要件` WHERE `work_item_status` = '開発中です'"
)
"Search for OO" (part of a project name)
→ search_by_mql(
project_key="69dbca561543d1dedeb3c926",
mql="SELECT `name`, `priority`, `work_item_status` FROM `製品開発`.`開発要件` WHERE `name` like '%○○%'"
)
"All project list"
→ search_by_mql(
project_key="69dbca561543d1dedeb3c926",
mql="SELECT `name`, `priority`, `work_item_status` FROM `製品開発`.`開発要件` WHERE `priority` is not null"
)
※ 50件超の場合は session_id で翌ページ取得
View structure (already created)
By priority (daily main)
| View name |
view_id |
Purpose |
Check frequency |
| 🔥 P0 Active (things to touch this week) |
lqnAZG2Dg |
Committed this week or scheduled for work (16 items) |
Every morning |
| 📋 P1 Under maintenance |
mXH0ZGhvR |
Stable operation, 1-2 times a month (12 items) |
Mondays weekly |
| 💤 P2 Backlog / dormant |
-sK0WGhDg |
Left untouched for 1 month or more (23 items *after deleting kaggle duplicate #23282166) |
End of each month |
By category (cross-search)
| View name |
view_id |
Count |
| 🏗️ platform — Foundation/Framework |
XSC0WM2vg |
6 |
| 📦 products — For end users |
0ieAWM2Dg |
15 |
| 🔧 tools — Development utilities/CLI |
hHR1ZM2vR |
16 |
| 🎙️ voice — Voice/TTS |
Bck1ZGhDg |
3 |
| ⚙️ ops/content/other — Operations/Content |
jxm1WGhvg |
12 |
Status flow
スタート → 開発中です → テスト中 → 公開待ち → 終了
↓
プロダクトレビュー待ち(方向性判断中)
| Status |
option_id |
Purpose |
| Start |
sub_stage_1679654663853 |
Just registered / Not started |
| In development |
sub_stage_1679654941472 |
Currently writing code |
| Testing |
sub_stage_1679655004324 |
Operation check/Review |
| Waiting for release |
sub_stage_1679655030923 |
Waiting for deploy/release |
| Closed |
sub_stage_1679655085909 |
Completed or archived |
| Waiting for product review |
sub_stage_1679654845402 |
Deciding whether to resume P2 |
Field reference
| field_key |
Name |
Type |
Value example |
name |
Title |
text |
[tools] mergegate — ... |
priority |
Priority |
select |
0=P0, 1=P1, 2=P2 |
work_item_status |
Status |
select |
Refer to the statuses above |
description |
Details |
markdown |
GitHub URL, local path, etc. |
schedule |
Schedule period |
schedule |
[開始ms, 終了ms] |
tags |
Label |
multi-select |
Free addition allowed |
owner |
Creator |
user |
— |
current_status_operator |
Current assignee |
multi-user |
— |
template |
Template |
— |
334993(Fixed) |
New project registration procedure
1. ToolSearch("select:mcp__lark-project__create_workitem")
2. create_workitem(
project_key="69dbca561543d1dedeb3c926",
work_item_type="story",
fields=[
{field_key: "template", field_value: "334993"},
{field_key: "name", field_value: "[カテゴリ] プロジェクト名 — 一行説明"},
{field_key: "priority", field_value: "0"}, // 0=P0, 1=P1, 2=P2
{field_key: "description", field_value: "## 概要\n...\n## リポジトリ\n- GitHub: ...\n- ローカル: ..."}
]
)
3. 対応するカテゴリビューに追加:
update_fixed_view(view_id, work_item_id_list に追加)
Title naming convention
[カテゴリ] リポジトリ名 — 日本語一行説明
カテゴリ: platform / products / tools / voice / ops / content / courses / plugins / personal / other
Weekly review procedure
1. P0一覧を取得:
search_by_mql → WHERE `priority` = 'P0'
2. 各プロジェクトの最終コミットを確認:
git -C ~/dev/{category}/{name} log -1 --format='%ar'
3. 2週間以上触っていない P0 → P1 に降格:
update_field(work_item_id, field_key="priority", field_value="1")
4. 直近1週間にコミットがある P1 → P0 に昇格:
update_field(work_item_id, field_key="priority", field_value="0")
5. ビューの更新:
update_fixed_view で該当ビューのwork_item_id_listを更新
MQL Quick Reference
Basic syntax
SELECT `field1`, `field2`
FROM `製品開発`.`開発要件`
WHERE `条件` = '値'
[ORDER BY `field` [ASC|DESC]]
[LIMIT [offset,] count]
SELECT * Not allowed. Field must be explicit
- Field names require backticks
- Strings use single quotes
LIKE は %キーワード% format ([ ] cannot be used)
Common patterns
-- P0のみ
WHERE `priority` = 'P0'
-- 開発中
WHERE `work_item_status` = '開発中です'
-- 名前検索
WHERE `name` like '%mergegate%'
-- 今週更新
WHERE RELATIVE_DATETIME_BETWEEN(`updated_at`, 'past', '7d')
-- 全件取得
WHERE `priority` is not null
Function
| Function |
Purpose |
current_login_user() |
Self |
RELATIVE_DATETIME_BETWEEN(f, 'past', 'Nd') |
Past N days |
RELATIVE_DATETIME_EQ(f, 'today') |
Today |
array_contains(f, 'val') |
Included in array |
status_time('状態名') |
State transition time |
Tool list
Required tools (load first with ToolSearch)
| Tool |
Purpose |
search_by_mql |
MQL search (main) |
list_todo |
To-dos / This week's tasks |
create_workitem |
Project registration |
update_field |
Field update (priority change, etc.) |
transition_state |
Status transition |
create_fixed_view |
Create view |
update_fixed_view |
Update view |
add_comment |
Add comment |
Reference type (only when needed)
| Tool |
Purpose |
search_project_info |
Space information |
list_workitem_types |
Work item type |
list_workitem_field_config |
Field definition |
get_workitem_brief |
Get overview |
get_transitable_states |
Available transition states |
get_view_detail |
View details |
Operational document
- Playbook:
~/dev/ops/lark-project-registration-playbook.md
- Operations guide:
~/dev/ops/lark-project-ops-guide.md