$npx -y skills add SafeAI-Lab-X/ClawKeeper --skill feishu-wikiFeishu knowledge base navigation. Activate when user mentions knowledge base, wiki, or wiki links.
| 1 | # Feishu Wiki Tool |
| 2 | |
| 3 | Single tool `feishu_wiki` for knowledge base operations. |
| 4 | |
| 5 | ## Token Extraction |
| 6 | |
| 7 | From URL `https://xxx.feishu.cn/wiki/ABC123def` → `token` = `ABC123def` |
| 8 | |
| 9 | ## Actions |
| 10 | |
| 11 | ### List Knowledge Spaces |
| 12 | |
| 13 | ```json |
| 14 | { "action": "spaces" } |
| 15 | ``` |
| 16 | |
| 17 | Returns all accessible wiki spaces. |
| 18 | |
| 19 | ### List Nodes |
| 20 | |
| 21 | ```json |
| 22 | { "action": "nodes", "space_id": "7xxx" } |
| 23 | ``` |
| 24 | |
| 25 | With parent: |
| 26 | |
| 27 | ```json |
| 28 | { "action": "nodes", "space_id": "7xxx", "parent_node_token": "wikcnXXX" } |
| 29 | ``` |
| 30 | |
| 31 | ### Get Node Details |
| 32 | |
| 33 | ```json |
| 34 | { "action": "get", "token": "ABC123def" } |
| 35 | ``` |
| 36 | |
| 37 | Returns: `node_token`, `obj_token`, `obj_type`, etc. Use `obj_token` with `feishu_doc` to read/write the document. |
| 38 | |
| 39 | ### Create Node |
| 40 | |
| 41 | ```json |
| 42 | { "action": "create", "space_id": "7xxx", "title": "New Page" } |
| 43 | ``` |
| 44 | |
| 45 | With type and parent: |
| 46 | |
| 47 | ```json |
| 48 | { |
| 49 | "action": "create", |
| 50 | "space_id": "7xxx", |
| 51 | "title": "Sheet", |
| 52 | "obj_type": "sheet", |
| 53 | "parent_node_token": "wikcnXXX" |
| 54 | } |
| 55 | ``` |
| 56 | |
| 57 | `obj_type`: `docx` (default), `sheet`, `bitable`, `mindnote`, `file`, `doc`, `slides` |
| 58 | |
| 59 | ### Move Node |
| 60 | |
| 61 | ```json |
| 62 | { "action": "move", "space_id": "7xxx", "node_token": "wikcnXXX" } |
| 63 | ``` |
| 64 | |
| 65 | To different location: |
| 66 | |
| 67 | ```json |
| 68 | { |
| 69 | "action": "move", |
| 70 | "space_id": "7xxx", |
| 71 | "node_token": "wikcnXXX", |
| 72 | "target_space_id": "7yyy", |
| 73 | "target_parent_token": "wikcnYYY" |
| 74 | } |
| 75 | ``` |
| 76 | |
| 77 | ### Rename Node |
| 78 | |
| 79 | ```json |
| 80 | { "action": "rename", "space_id": "7xxx", "node_token": "wikcnXXX", "title": "New Title" } |
| 81 | ``` |
| 82 | |
| 83 | ## Wiki-Doc Workflow |
| 84 | |
| 85 | To edit a wiki page: |
| 86 | |
| 87 | 1. Get node: `{ "action": "get", "token": "wiki_token" }` → returns `obj_token` |
| 88 | 2. Read doc: `feishu_doc { "action": "read", "doc_token": "obj_token" }` |
| 89 | 3. Write doc: `feishu_doc { "action": "write", "doc_token": "obj_token", "content": "..." }` |
| 90 | |
| 91 | ## Configuration |
| 92 | |
| 93 | ```yaml |
| 94 | channels: |
| 95 | feishu: |
| 96 | tools: |
| 97 | wiki: true # default: true |
| 98 | doc: true # required - wiki content uses feishu_doc |
| 99 | ``` |
| 100 | |
| 101 | **Dependency:** This tool requires `feishu_doc` to be enabled. Wiki pages are documents - use `feishu_wiki` to navigate, then `feishu_doc` to read/edit content. |
| 102 | |
| 103 | ## Permissions |
| 104 | |
| 105 | Required: `wiki:wiki` or `wiki:wiki:readonly` |