Migrate Feishu/Lark wiki documents between spaces.
Single tool with complete schema and good description. Tool name uses verb_noun pattern (migrate_feishu_wiki). Input schema properly typed with required fields. Description explains WHAT (migrate docs), WHEN (user logged in), and includes dry_run safety mechanism. However, output schema is undocumented, LLM cannot predict response structure. Error handling returns JSON but lacks recovery guidance. Tool annotations present (destructive=True, idempotent=False) which is excellent. Missing: parameter-level descriptions for output fields, explicit error classification, and guidance on what to do if migration fails.
Migrate all docx documents from a source Feishu wiki to a target Feishu wiki. The user must already be logged in via lark-cli and have read access to the source and write access to the target. Set dry_run=true to scan without creating documents.
Output schema undocumented. LLM cannot predict response structure (success fields, error details, counts). Breaks downstream planning and error recovery.
Error responses lack recovery guidance. Returns raw exception strings (e.g. 'RuntimeError: Command failed') instead of actionable next steps like 'Verify lark-cli is installed and authenticated.'
Parameter descriptions are minimal. 'source' and 'target' lack format guidance (URL vs token format, expected length, examples of valid inputs). LLM may pass malformed values.
No validation of source/target format before calling run_migration(). Accepts any non-empty string. Should validate URL/token format and provide clear error if invalid.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | D | 59 | 2026-07-28+ | v2 |
Dry-run mode not clearly distinguished in output. LLM cannot easily tell if results are simulated or real. Response should include a 'dry_run_mode: true' flag.