{ "id": "refactor-tool-cli-skill-ui-schema", "name": "refactor-tool-cli-skill-ui-schema", "title": "Refactor agent tools into CLI + skill-driven UI schema flow", "description": "Wrap current AgentScope tools as CLI commands, add a skill that teaches the agent how to invoke the CLI, replace ui_hints-driven UI generation with tool-schema-driven rendering, and remove worker ui_hints output.", "status": "in_progress", "dev_type": "fullstack", "scope": "cross-domain", "priority": "P1", "creator": "qzl", "assignee": "qzl", "createdAt": "2026-04-20", "completedAt": null, "branch": "worktree/refactor-tool-cli-skill-ui-schema", "base_branch": "dev", "worktree_path": ".worktrees/refactor-tool-cli-skill-ui-schema", "current_phase": 2, "next_action": [ { "phase": 1, "action": "implement" }, { "phase": 2, "action": "check" }, { "phase": 3, "action": "finish" }, { "phase": 4, "action": "create-pr" } ], "commit": null, "pr_url": null, "subtasks": [ { "name": "Implement CLI router and handlers", "status": "completed" }, { "name": "Create skill documentation (calendar, contacts, memory)", "status": "completed" }, { "name": "Update protocol docs (tool-protocol.md, ui-schema.md)", "status": "completed" }, { "name": "Update frontend ag_ui_event.dart for tool UI flow", "status": "completed" }, { "name": "Write backend integration tests for CLI tool flow", "status": "completed" }, { "name": "Write frontend tests for UI schema rendering", "status": "completed" }, { "name": "Verify end-to-end agent -> CLI -> UI flow", "status": "pending" } ], "children": [], "parent": null, "relatedFiles": [ "backend/src/core/agentscope/tools/tool_config.py", "backend/src/core/agentscope/tools/toolkit.py", "backend/src/core/agentscope/runtime/stage_emitter.py", "backend/src/schemas/agent/runtime_models.py", "backend/src/v1/agent/utils.py", "apps/lib/core/chat/ag_ui_event.dart", "apps/lib/shared/widgets/ui_schema/ui_schema_renderer.dart", "docs/protocols/ui/ui-schema.md", "docs/protocols/ui/data-flow.md", "docs/protocols/agent/sse-events.md" ], "notes": "Protocol docs must be updated before backend/frontend contract changes. Current implementation still compiles worker ui_hints into ui_schema and registers tools directly as Python functions.", "meta": { "feature_summary": "tool refactor + CLI wrapping + skill guidance + tool-schema rendered UI + worker output simplification" } }