This skill is Safa’s canonical project management + context switching control plane.
Core idea:
It provides:
project ... 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 Initialize a bundle (dry-run plan + apply):
project init (prints plan)project apply Artifacts:
project artifact add [--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 --name "..." --root project pm project listTask management:
project pm task add "" --priority P0|P1|P2|P3 [--status inbox|next|doing|blocked|waiting|done] project pm task list [--project ] [--status ...] project pm task set-status Context switching:
project pm switch project pm focus Trello sync:
project pm trello sync [--project ] 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[] ```yaml
--- pm ---
task_id:
project:
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.共 1 个版本