Agent skill
workspace-planning
Use this skill for project schedule management — tracking modules, milestones, and delivery phases stored in YAML. Invoke whenever the user asks about: project progress or delivery status, module status (planned/in_progress/done/deferred), weekly task breakdown, milestone countdowns, risk analysis, linking OpenSpec changes to modules, or syncing schedule data to Yunxiao. Triggers on: "planning", "schedule", "progress", "milestone", "what's this week", "what's left", "mark as done", "排期", "进度", "本周任务", "里程碑", "模块状态", "还剩多少". Do NOT trigger for: calendar reminders, weekly work reports, or Yunxiao tasks without schedule context.
Install this agent skill to your Project
npx add-skill https://github.com/niracler/skill/tree/main/skills/workspace/workspace-planning
Metadata
Additional technical details for this skill
- openclaw
-
{ "emoji": "\ud83d\udcc5" }
SKILL.md
Workspace Planning
Workspace-level project schedule management. Operates on planning/schedules/*.yaml
files that track modules, milestones, and delivery phases.
Each schedule YAML is organized around functional modules (not tasks or tickets), bridging the gap between Yunxiao work items and OpenSpec code changes.
Prerequisites
| Dependency | Type | Required | Notes |
|---|---|---|---|
| Schedule YAML | data | Yes | planning/schedules/<project>.yaml in workspace root |
| yunxiao skill | skill | For sync only | Must be installed before using planning sync-yunxiao |
Do NOT verify prerequisites on skill load. If a command fails due to a missing dependency, guide the user through setup step by step.
When to Use
- User asks about project progress, timeline, or delivery status
- User wants to check what's planned for a specific week
- User mentions milestones, deadlines, or "how much is left"
- User wants to update a module's status or mark something done
- User wants to connect an OpenSpec change to a schedule module
- User needs to create a new project schedule
- User wants to push schedule data to Yunxiao
Module Status State Machine
planned --> in_progress --> done (terminal)
|
+--> deferred --> planned / in_progress
Allowed: planned -> in_progress, in_progress -> done, planned -> deferred,
deferred -> planned, deferred -> in_progress.
Forbidden: any transition out of done.
Module Types
| Type | Description | Key fields |
|---|---|---|
feature |
Has UI frames, frontend/backend coordination | frames, design, figma, backend, frontend, priority |
infrastructure |
Backend-only, no UI | description |
For the complete YAML schema and field reference, read references/yaml-schema.md.
Script
Deterministic operations are handled by scripts/planning.py:
python3 <skill-dir>/scripts/planning.py review # Show progress
python3 <skill-dir>/scripts/planning.py update <id> --status done # Update status
python3 <skill-dir>/scripts/planning.py link <id> --change <name> # Link change
python3 <skill-dir>/scripts/planning.py week W3 # Show week modules
All commands output JSON for the LLM to format. Use --file to specify a schedule YAML
if multiple exist. Always point --file at the main schedule file (e.g. sylsmart.yaml),
not the month files — the script resolves module_files references automatically.
Requires: pip install pyyaml
Split vs Inline Modules
Schedules support two layouts:
- Inline:
modules:list directly in the main YAML (simple projects) - Split:
module_files:list of relative paths, each containing amodules:list (large projects)
When using split layout, all read commands (review, week) merge modules from all
referenced files. Write commands (update, link) save back to the correct source file.
Commands
planning init <project-name>
Bootstrap a new schedule YAML for a project. This is interactive (handled by the LLM, not the script).
Steps:
- Ask the user for basic project info:
- Project title (display name)
- Timeline start and end dates
- Team capacity (optional)
- Ask about milestones (at least one required) — for each: id, title, date, type, deliverable
- Ask about phases (optional) — or suggest a default monthly split based on timeline
- Create
planning/schedules/<project-name>.yamlwith the provided structure and an emptymodules: [] - Suggest next step: "Add modules manually or describe your feature list and I'll help structure them"
planning review
Show overall schedule progress grouped by phase.
Steps:
- Run
python3 <skill-dir>/scripts/planning.py review(use--fileif needed) - Format the JSON output for the user
- Display by phase:
## sylsmart schedule (current: W3)
### month-1: Framework (2/6 done, 33%)
V core-extraction infrastructure done
V auth feature 14f done
* project-list feature 12f in_progress
o project-overview feature 10f planned
o common-dialogs feature 18f planned
o core-regression infrastructure planned
Legend: V done, * in_progress, o planned, - deferred
- After the module list, add a brief Risks & Bottlenecks section (2-4 bullets):
- Highlight modules with
design: partialorpending - Flag weeks where backend capacity is overloaded (many ready_week targets in same week)
- Note any milestone within 14 days with low completion rate
- Call out frontend modules that depend on not-yet-ready backend APIs
- Highlight modules with
Flags:
--week <W>— Show modules relevant to that week. A module is "relevant" if ANY of these apply: (1)weekscontains that week, (2)backend.ready_weekequals that week, (3)frontend.mock_fromequals that week. Split output into Backend and Frontend sections with dependency status.--milestones— Show milestone progress with countdown warnings (highlight if <= 14 days away)
planning update <module-id> --status <status>
Update a module's status.
Step 1 — Validate with the script (does NOT write to files):
python3 <skill-dir>/scripts/planning.py update <module-id> --status <status>
The script validates the state machine transition and returns JSON including source_file
(the YAML file containing the module). If invalid, it exits with an error.
Step 2 — Apply with the Edit tool: use the source_file from the JSON output to
locate the module and change its status: field. This preserves YAML comments and formatting.
planning link <module-id> --change <change-name>
Associate an OpenSpec change with a module.
Step 1 — Validate with the script (does NOT write to files):
python3 <skill-dir>/scripts/planning.py link <module-id> --change <change-name>
The script verifies the change exists and returns JSON with the updated changes list,
source_file, and whether an auto-transition from planned to in_progress should apply.
Step 2 — Apply with the Edit tool: add the change name to the module's changes: list
(or create the field). If auto_transition is true, also update status: in_progress.
planning sync-yunxiao
Push unlinked modules to Yunxiao as work items.
Prerequisite: yunxiao skill must be installed and configured.
Steps:
- Read YAML, find modules where
yunxiao_idis null or missing - List modules to be created, wait for user confirmation
- Use yunxiao skill to create a work item for each module
- Write returned work item IDs back to
yunxiao_idfield in YAML - Report results; modules with existing
yunxiao_idare skipped
Common Mistakes
| Error | Cause | Fix |
|---|---|---|
| Module not found | Typo in module id | Run planning review to see all ids |
| Invalid status transition | State machine violation | Check allowed transitions above |
| Change not found | Name mismatch | Verify change exists in openspec/changes/ |
| No schedule files | Missing YAML | Run planning init to create one |
| Yunxiao sync fails | yunxiao skill not installed | Install yunxiao skill first |
Recommended Agent Skills
Expand your agent's capabilities with these related and highly-rated skills.
pinboard-manager
Use this skill for ALL Pinboard bookmark management tasks — this is the go-to skill whenever Pinboard (pinboard.in) is involved. Invoke immediately when the user wants to: audit or reorganize messy tags, check for broken/dead links, identify stale or outdated bookmarks, clean up their bookmark collection, or manage their Pinboard account in any way. Also use when the user says 整理书签, 检查死链, 整理 tag, 书签管理, pinboard cleanup, bookmark audit, tag consistency, timeliness check, pinboard 过时检测. Do NOT trigger for: browser bookmark management, Raindrop.io, or general URL checking without Pinboard context.
yunxiao
Use this skill for all Alibaba Cloud 云效 (Yunxiao) DevOps operations on codeup.aliyun.com. Invoke IMMEDIATELY when the user wants to: create or manage Merge Requests (MR) on codeup, update work items/tasks in 云效, query MR lists or task status, create version tags via 云效 API, or push code to a codeup remote. Key triggers: 创建 MR, 提交评审, 云效, yunxiao, codeup, 更新任务, 查看任务, 发布版本, 打 tag. Handles both MCP tool mode and aliyun CLI fallback. Do NOT use for GitHub PRs (use git-workflow), Jira, GitLab, or non-Alibaba platforms.
weekly-report
Use this skill whenever the user wants to write or generate a structured weekly work report (软件研发周报) — the formal 3-section corporate format with 本周工作总结, 下周工作计划, and 其他事项. This skill automatically collects data from git logs, Obsidian diary Work Log entries, schedule YAML files, GitHub PRs, and 云效 MRs/tasks to draft the report. Invoke when the user says 周报, 软件研发周报, 本周工作总结, 写周报, weekly report, end-of-week summary, or asks to prepare a work summary for their manager/team. Do NOT use for personal diary entries, monthly reviews, OKR summaries, meeting notes, or quarterly retrospectives.
code-sync
Use this skill to batch-sync all git repos across machines — pushing uncommitted changes at end of day or pulling latest at start of day. Invoke when the user wants to sync all repos (not just one), mentions 「下班同步」「上班更新」 「code-sync」, or describes end-of-day push / morning pull across ~/code. Triggers on: "sync all my repos", "end of day sync", "morning update", "push all dirty repos", "pull all projects", 「同步代码」「下班同步」「上班更新」. Do NOT trigger for: single-repo git operations, committing specific files (use git-workflow), general git push/pull questions, or workspace template updates.
ha-integration-reviewer
Strict Home Assistant integration code review for PR preparation. Covers Quality Scale rules, code style, Config Flow, test coverage, and docs. Invoke immediately when the user says "review my HA integration", "check HA compliance", "HA code review", "HA Quality Scale check", "home assistant PR review", "审查我的 HA 集成", "检查我的代码是否符合 HA 规范", "帮我 review 一下准备提交的代码". Launches parallel check agents across 5 dimensions. Do NOT use for: non-HA code review, configuring HA automations, HACS plugins, or Lovelace card development.
schedule-manager
(macOS only) Use this skill for ALL Apple Calendar and Reminders management tasks using osascript and reminders-cli, following GTD methodology. Invoke immediately when the user wants to: schedule a meeting or event, add a todo or reminder, check today's agenda, plan the week ahead, do a weekly review, or capture any task they don't want to forget. Also use when the user says 安排会议, 创建提醒, 查看日程, 规划下周, 添加待办, 记一下, 别忘了, 今天要做什么, 周回顾. This is the right skill any time the user wants to interact with macOS Calendar or Reminders apps.
Didn't find tool you were looking for?