Install
openclaw skills install project-routerTerminal-first project bootstrapper and workspace context manager. Use when the user asks for /project-style workflows: detect current project, read project context/brief, run standardized targets (build/test/lint/deploy), init a .project bundle via plan/apply, manage artifacts, or expose these actions via MCP server mcp-project-router and CLI project.
openclaw skills install project-routerThis skill is Safa’s canonical project management + context switching control plane.
Core idea:
It provides:
project <verb> ...mcp-project-router (tools mirror the CLI).project/ (brief, targets, artifact index)The .project/ bundle is the project-local context nucleus. The canonical PM DB points at these bundles.
Inside a project root:
.project/project.json — structured manifest.project/PROJECT.md — living brief.project/targets.json — target definitions (commands).project/index/artifacts.json — artifact index.project/history/plans/*.json — plans.project/history/applies/*.json — apply receiptsFrom anywhere inside a repo/workspace:
project detectproject contextproject target listproject target run <name>Initialize a bundle (dry-run plan + apply):
project init (prints plan)project apply <planId>Artifacts:
project artifact add <path|url> [--tags a,b,c] (plan + apply)Note: these verbs are the target UX. Implementations should remain idempotent and safe.
Project registration:
project pm project add <slug> --name "..." --root <path>project pm project listTask management:
project pm task add <slug> "<title>" --priority P0|P1|P2|P3 [--status inbox|next|doing|blocked|waiting|done]project pm task list [--project <slug>] [--status ...]project pm task set-status <taskId> <status>Context switching:
project pm switch <slug>
project pm focus <taskId>
Trello sync:
project pm trello sync [--project <slug>]
mcporter list mcp-project-router --schema --timeout 120000 --jsonExamples:
mcporter call --server mcp-project-router --tool project_detect --args '{}'mcporter call --server mcp-project-router --tool project_context_read --args '{}'mcporter call --server mcp-project-router --tool project_target_run --args '{"target":"test"}'Single-board setup:
Safa — PM (or configurable)Inbox, Next, Doing, Blocked, Waiting, Done[<project_slug>] <task_title>--- pm ---
task_id: <stable-id>
project: <slug>
status: <status>
priority: P0|P1|P2|P3
---
P0 = redP1 = orangeP2 = yellowP3 = blueRecommended DB location (in workspace):
/home/safa/clawd/data/pm/pm.sqliteMinimum tables (v0):
projects(slug PRIMARY KEY, name, root_path, created_at, updated_at)tasks(task_id PRIMARY KEY, project_slug, title, status, priority, created_at, updated_at)task_refs(task_id, kind, ref) (file paths / urls / artifacts)external_refs(task_id, system, external_id, meta_json) (e.g., Trello card_id/list_id)task_id marker; never duplicate cards).project_target_run executes commands defined in .project/targets.json.