Skip to content

Workspace Planning

Verified

Use this skill for project schedule management — tracking modules, milestones, and delivery phases stored in YAML. Invoke whenever the user asks about: proje...

88 downloads
$ Add to .claude/skills/

About This Skill

# 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

```text 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`:

```bash 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.

Requires: `pip install pyyaml`

Commands

`planning init <project-name>`

Bootstrap a new schedule YAML for a project. This is interactive (handled by the LLM, not the script).

Steps:

  1. Ask the user for basic project info:
  2. - Project title (display name)
  3. - Timeline start and end dates
  4. - Team capacity (optional)
  5. Ask about milestones (at least one required) — for each: id, title, date, type, deliverable
  6. Ask about phases (optional) — or suggest a default monthly split based on timeline
  7. Create `planning/schedules/<project-name>.yaml` with the provided structure and an empty `modules: []`
  8. 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:

  1. Run `python3 <skill-dir>/scripts/planning.py review` (use `--file` if needed)
  2. Format the JSON output for the user
  3. Display by phase:

```text ## 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

  1. After the module list, add a brief Risks & Bottlenecks section (2-4 bullets):
  2. - Highlight modules with `design: partial` or `pending`
  3. - Flag weeks where backend capacity is overloaded (many ready_week targets in same week)
  4. - Note any milestone within 14 days with low completion rate
  5. - Call out frontend modules that depend on not-yet-ready backend APIs

Flags:

  • `--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.

```bash python3 <skill-dir>/scripts/planning.py update <module-id> --status <status> ```

The script validates the state machine transition and returns JSON with the result. If invalid, it shows the error with allowed target states.

`planning link <module-id> --change <change-name>`

Associate an OpenSpec change with a module.

```bash python3 <skill-dir>/scripts/planning.py link <module-id> --change <change-name> ```

The script verifies the change exists, appends it, and auto-transitions `planned` to `in_progress`.

`planning sync-yunxiao`

Push unlinked modules to Yunxiao as work items.

Prerequisite: yunxiao skill must be installed and configured.

Steps:

  1. Read YAML, find modules where `yunxiao_id` is null or missing
  2. List modules to be created, wait for user confirmation
  3. Use yunxiao skill to create a work item for each module
  4. Write returned work item IDs back to `yunxiao_id` field in YAML
  5. Report results; modules with existing `yunxiao_id` are 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 |

Use Cases

  • Track project schedules with modules, milestones, and delivery phases stored in YAML
  • Run progress reviews grouped by phase with risk and bottleneck analysis
  • Update module statuses following a defined state machine (planned, in_progress, done, deferred)
  • Link OpenSpec code changes to schedule modules for traceability
  • Sync unlinked modules to Yunxiao as work items for project management integration

Pros & Cons

Pros

  • +Structured state machine for module status prevents invalid transitions
  • +Script-based deterministic operations with JSON output keep data consistent
  • +Bridges code-level changes to project schedule visibility via OpenSpec linking

Cons

  • -Requires familiarity with the specific YAML schema and OpenSpec workflow
  • -Yunxiao sync depends on a separate skill being installed and configured
  • -Niche workflow — primarily designed for teams already using the Nini tool ecosystem

FAQ

What does Workspace Planning do?
Use this skill for project schedule management — tracking modules, milestones, and delivery phases stored in YAML. Invoke whenever the user asks about: proje...
What platforms support Workspace Planning?
Workspace Planning is available on Claude Code, OpenClaw.
What are the use cases for Workspace Planning?
Track project schedules with modules, milestones, and delivery phases stored in YAML. Run progress reviews grouped by phase with risk and bottleneck analysis. Update module statuses following a defined state machine (planned, in_progress, done, deferred).

100+ free AI tools

Writing, PDF, image, and developer tools — all in your browser.

Next Step

Use the skill detail page to evaluate fit and install steps. For a direct browser workflow, move into a focused tool route instead of staying in broader support surfaces.