SafaTinaztepe

Project Router

開發程式設計v1.0.0
作者:SafaTinaztepe更新於 2026-05-18project-router@clawhub_safatinaztepe/project-router
指令碼工具

據 AlphaMoat 統計,截至 2026-09,Project Router 累計下載 3,191 次、獲 0 個星標,在全部 5,078 個 AI 技能中排名第 3,572 位,在「開發程式設計」分類(577 個)中排名第 455 位。

累計安裝
106
累計下載
3191
星標
-
全站排名
#3,572
全站前 71% · 「開發程式設計」前 79%
平台累計安裝累計下載星標評論
ClawHub ↗1063125--
SkillHub ↗1053191-—

各平台的計數口徑不同,統計時間不一致。

這個技能是做什麼的

主文描述檢測專案、讀取 .project 上下文、執行已宣告的目標、初始化專案資料包、管理工件,並可同步 Trello。倉庫定義的 target 可能在本機執行命令,apply 工作流也會寫入專案檔案。執行前應檢查可信度並審閱 .project/targets.json;應用計劃前先檢查計劃 JSON,並保留執行回執。

資料釋出於 2026-10-29

可以用來做什麼

  • 讀取當前專案簡介和活躍任務
  • 審查標準構建、測試或部署目標
  • 規劃專案資料包和工件索引的初始化

什麼時候用

  • 需要在可信專案中切換工作上下文或管理專案工件時
  • 目標命令和計劃檔案可以先檢查時
  • 本地寫入操作獲批且可保留審計記錄時

示例提示詞

以下是根據技能文件生成的示例,不代表實際執行結果。

讀取專案上下文但不要執行任何 target
檢查 .project/targets.json 中的命令後再建議執行
預覽 apply 計劃並指出它將寫入哪些路徑

月度資料趨勢

累計下載3191
1976262932812026-03 · 累計下載 20662026-05 · 累計下載 26262026-07 · 累計下載 29542026-08 · 累計下載 30462026-09 · 累計下載 319126-0326-09
星標-
0112026-03 · 星標 -2026-05 · 星標 -2026-07 · 星標 -2026-08 · 星標 -2026-09 · 星標 -26-0326-09

2026-09 起統計方法調整:同名技能按作者分別統計,並覆蓋全部技能。圖中虛線為調整前的月份,與之後的資料不直接比較,也不計算跨越調整的增長。

月份累計下載環比星標
2026-093191—-
2026-083046+3.1%-
2026-072954—-
2026-052626—-
2026-032066—-

SKILL.md 原文

以下是作者釋出的原始檔案,按純文字顯示,本站未做修改或稽核;其中的連結不可點選,命令請核實後再執行。抓取於 2026-10-23。

4.5 KB · ClawHub v1.0.0
---
name: project-router
description: "Terminal-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."
---

# project-router

This skill is Safa’s **canonical project management + context switching control plane**.

Core idea:
展開全部(共 128 行)
- **Canonical PM is local + queryable (SQLite)**: projects, tasks, context packs.
- **Trello is a tracking backend/UI**: cards mirror canonical tasks; lists mirror status; labels mirror priority.
- The “killer feature” is **context switching**: load the right docs/code/index for a project/task quickly and deterministically.

It provides:
- CLI: `project <verb> ...`
- MCP server: `mcp-project-router` (tools mirror the CLI)
- Per-project bundle stored in `.project/` (brief, targets, artifact index)
- A canonical task store (SQLite) + Trello sync adapter

## Project bundle layout (v1)

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 receipts

## CLI quick start

### Baseline / existing commands

From anywhere inside a repo/workspace:
- `project detect`
- `project context`
- `project target list`
- `project 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)

### Canonical PM + context switching (new)

> 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 list`

Task 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>`
  - prints pinned docs + top targets + active tasks
- `project pm focus <taskId>`
  - loads task-linked files/artifacts and updates the task activity log

Trello sync:
- `project pm trello sync [--project <slug>]`
  - ensures the single "Safa — PM" Trello board exists
  - ensures lists exist (Inbox/Next/Doing/Blocked/Waiting/Done)
  - upserts cards for canonical tasks
  - moves cards to match status
  - applies priority labels (P0..P3)

## MCP quick start (via mcporter)

- `mcporter list mcp-project-router --schema --timeout 120000 --json`

Examples:
- Detect:
  - `mcporter call --server mcp-project-router --tool project_detect --args '{}'`
- Read context:
  - `mcporter call --server mcp-project-router --tool project_context_read --args '{}'`
- Run target:
  - `mcporter call --server mcp-project-router --tool project_target_run --args '{"target":"test"}'`

## Trello backend conventions

Single-board setup:
- Board name: `Safa — PM` (or configurable)
- Lists == canonical statuses:
  - `Inbox`, `Next`, `Doing`, `Blocked`, `Waiting`, `Done`
- Card title: `[<project_slug>] <task_title>`
- Card description begins with a machine block for idempotency:
  ```yaml
  --- pm ---
  task_id: <stable-id>
  project: <slug>
  status: <status>
  priority: P0|P1|P2|P3
  ---
  ```
- Labels (priority, color-coded):
  - `P0` = red
  - `P1` = orange
  - `P2` = yellow
  - `P3` = blue

## Canonical PM storage (SQLite)

Recommended DB location (in workspace):
- `/home/safa/clawd/data/pm/pm.sqlite`

Minimum 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)

## Safety

- Project bundle writes remain **plan/apply**.
- Canonical PM writes should be idempotent and auditable (timestamps + activity log).
- Trello sync should be safe to re-run repeatedly (upsert by `task_id` marker; never duplicate cards).
- `project_target_run` executes commands defined in `.project/targets.json`.

「開發程式設計」分類下的熱門技能

SafaTinaztepe 的其他技能

資料月份:2026-09 · 下載/星標/安裝數聚合自公開技能註冊庫(ClawHub、SkillHub),按月更新。口徑說明見資料方法。