From workspace-skills
Manages workspace project schedules in YAML: tracks/updates module statuses (planned/in_progress/done/deferred), milestones, weekly tasks, progress/risks; syncs to Yunxiao via Python script.
npx claudepluginhub niracler/skill --plugin workspace-skillsThis skill uses the workspace's default tool permissions.
Workspace-level project schedule management. Operates on `planning/schedules/*.yaml`
Drafts structured weekly software development reports from git logs, Obsidian work logs, YAML schedules, GitHub PRs, 云效 tasks, and calendars. Use for 周报 or end-of-week summaries.
Synthesizes project docs and codebase into roadmap status, gaps analysis, blockers, risks, and next actions. Use for health checks, progress tracking, and milestone planning.
Share bugs, ideas, or general feedback.
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.
| 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.
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.
| 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.
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
Schedules support two layouts:
modules: list directly in the main YAML (simple projects)module_files: list of relative paths, each containing a modules: 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.
planning init <project-name>Bootstrap a new schedule YAML for a project. This is interactive (handled by the LLM, not the script).
Steps:
planning/schedules/<project-name>.yaml with the provided structure and an empty modules: []planning reviewShow overall schedule progress grouped by phase.
Steps:
python3 <skill-dir>/scripts/planning.py review (use --file if needed)## 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
design: partial or pendingFlags:
--week <W> — Show modules relevant to that week. A module is "relevant" if ANY of these apply: (1) weeks contains that week, (2) backend.ready_week equals that week, (3) frontend.mock_from equals 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-yunxiaoPush unlinked modules to Yunxiao as work items.
Prerequisite: yunxiao skill must be installed and configured.
Steps:
yunxiao_id is null or missingyunxiao_id field in YAMLyunxiao_id are skipped| 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 |