Communitygithub.com

Purple-Horizons/tick-md

透過結構化的 Markdown 檔案協調人類與 AI 代理人之間的工作。使用者以自然語言與你互動,而你則在 TICK.md 中透明地維護任務。

tick-md 是什麼?

Tick Multi-Agent Coordination 是一種以 Git 為基礎的任務協調協議,它透過 TICK.md 檔案來管理工作。這個技能讓 AI 代理人(例如 Claude Code、Cursor、Codex)可以與人類或其他代理人協作,所有任務資料都儲存在標準的 Markdown 檔案中,並提供 YAML 前言的結構化資料。它支援透過 CLI 指令或 MCP 工具進行操作,讓代理人可以自然地接收使用者請求、建立任務、指派代理人、記錄進度,以及標記完成。主要功能包括任務建立與管理、依賴關係視覺化(ASCII 樹或 Mermaid 圖表)、批次操作、即時監控,以及與 Git 同步。這個工具特別強調安全界限,例如在執行 `tick sync --push` 或編輯編輯器 MCP 設定檔之前必須取得使用者明確同意。它適用於任何需要多人或多人機協作的開發專案,讓任務管理變得透明且可追蹤。

相容平台~Claude Code~Codex CLI~Cursor
npx skills add https://github.com/Purple-Horizons/tick-md/tree/main/clawhub-skill

在你喜歡的 AI 中提問

開啟一個已預先載入此 Agent Skill 的新對話。

說明文件

Tick Multi-Agent Coordination

透過結構化的 Markdown 檔案協調人類與 AI 代理人之間的工作。使用者以自然語言與你互動,而你則在 TICK.md 中透明地維護任務。

安裝

先決條件:Tick CLI 和 MCP 伺服器應已由您的環境安裝並設定完成。

首次設定? 請參閱 INSTALL.md 以取得特定編輯器的安裝說明。

安全界限

  • 在編輯編輯器 MCP 設定檔之前,要求使用者明確核准。
  • 在執行任何推送至遠端 Git 的指令(tick sync --push 或 git push)之前,要求使用者明確核准。
  • 如果使用者未明確核准,請使用唯讀/狀態指令,並說明待執行的寫入動作。

快速檢查:

# 確認 CLI 可用
tick --version

# 檢查專案中是否存在 TICK.md
ls TICK.md

# 如果不存在,則初始化
tick init

核心概念

Tick 協議 = 透過 TICK.md 檔案進行以 Git 為基礎的任務協調

  • 人類可讀:標準的 Markdown 加上 YAML
  • 機器可解析:結構化以供工具使用
  • Git 支援:完整的版本控制和稽核軌跡
  • 本機優先:無需雲端

快速開始

檢查 Tick 是否已初始化

ls TICK.md

如果尚未初始化

tick init

取得目前狀態

tick status

常見工作流程

1. 使用者請您執行某項工作

使用者:「你可以重構驗證系統嗎?」

您的行動:

# 1. 建立任務
tick add "重構驗證系統" --priority high --tags backend,security

# 2. 註冊您自己(僅首次)
tick agent register @您的名稱 --type bot --roles "engineer,refactoring"

# 3. 認領任務
tick claim TASK-XXX @您的名稱

# 4. 開始執行(執行實際工作)

# 5. 新增進度註解
tick comment TASK-XXX @您的名稱 --note "分析目前的驗證流程"
tick comment TASK-XXX @您的名稱 --note "已重構為使用 JWT 令牌"

# 6. 標記完成
tick done TASK-XXX @您的名稱

2. 使用者詢問專案狀態

使用者:「我們正在處理哪些任務?」

# 取得完整的狀態
tick status

# 或過濾並列出任務
tick list --status in_progress
tick list --claimed-by @機器人名稱

自然地為使用者總結輸出內容。

3. 與其他代理人協調

使用者:「其他代理人的任務完成了嗎?」

# 檢查整體狀態
tick status

# 列出代理人和他們的工作
tick agent list --verbose

# 驗證專案
tick validate

4. 分解複雜工作

使用者:「建立一個包含圖表和資料匯出的使用者儀表板」

您的行動:

# 建立父任務
tick add "建立使用者儀表板" --priority high --tags frontend

# 建立具有依賴關係的子任務
tick add "設計儀表板版面" --priority high --tags frontend,design
tick add "實作資料圖表" --priority medium --tags frontend,charts --depends-on TASK-XXX
tick add "新增 CSV 匯出" --priority low --tags frontend,export --depends-on TASK-XXX

# 視覺化依賴關係
tick graph

指令參考

專案管理

tick init                          # 初始化新專案
tick status                        # 檢視專案概覽
tick list                          # 使用篩選條件列出任務
tick graph                         # 視覺化依賴關係
tick watch                         # 即時監控變更
tick validate                      # 檢查錯誤
tick sync --pull                   # 拉取最新變更
# tick sync --push                 # 僅在使用者明確核准時執行

任務操作

tick add "任務標題" \
  --priority high \                # urgent|high|medium|low
  --tags backend,api \             # 逗號分隔的標籤
  --assigned-to @agent \           # 指派給代理人
  --depends-on TASK-001 \          # 依賴關係
  --estimated-hours 4              # 時間估計

tick claim TASK-001 @agent         # 認領任務(設定為 in_progress)
tick release TASK-001 @agent       # 釋放任務(回到 todo)
tick done TASK-001 @agent          # 完成任務
tick reopen TASK-001 @agent        # 重新開啟已完成的任務
tick delete TASK-001               # 刪除任務
tick comment TASK-001 @agent \     # 新增註解
  --note "進度更新"
tick edit TASK-001 \               # 直接編輯欄位
  --title "新標題" \
  --priority high \
  --status in_progress

修正與復原

tick reopen TASK-001 @agent        # 重新開啟已完成的任務
tick reopen TASK-001 @agent \      # 重新開啟並重新封鎖依賴項
  --re-block

tick delete TASK-001               # 刪除任務,清理依賴關係
tick delete TASK-001 --force       # 即使有依賴項也強制刪除

tick edit TASK-001 --title "X"     # 變更標題
tick edit TASK-001 --priority high # 變更優先順序
tick edit TASK-001 --status todo   # 直接變更狀態
tick edit TASK-001 --tags a,b,c    # 取代標籤
tick edit TASK-001 --add-tag new   # 新增標籤
tick edit TASK-001 --remove-tag old # 移除標籤
tick edit TASK-001 \               # 編輯依賴關係
  --depends-on TASK-002,TASK-003

tick undo                          # 復原上一個 tick 操作
tick undo --dry-run                # 預覽將復原的內容

批次操作

tick import tasks.yaml             # 從 YAML 檔案匯入任務
tick import - < tasks.yaml         # 從標準輸入匯入
tick import tasks.yaml --dry-run   # 預覽匯入

tick batch start                   # 開始批次模式(無自動提交)
tick batch status                  # 檢查批次狀態
tick batch commit                  # 提交所有批次變更
tick batch abort                   # 捨棄批次變更

進階任務列出

tick list                          # 所有任務,依狀態分組
tick list --status blocked         # 僅顯示被封鎖的任務
tick list --priority urgent        # 高優先順序任務
tick list --assigned-to @alice     # 特定代理人的任務
tick list --tag backend            # 具有特定標籤的任務
tick list --json                   # JSON 輸出,適用於指令碼

依賴關係視覺化

tick graph                         # ASCII 依賴關係樹
tick graph --format mermaid        # Mermaid 流程圖
tick graph --show-done             # 包含已完成的任務

即時監控

tick watch                         # 監控變更
tick watch --interval 10           # 自訂輪詢間隔
tick watch --filter in_progress    # 僅顯示特定狀態

代理人管理

tick agent register @名稱 \        # 註冊新代理人
  --type bot \                     # human|bot
  --roles "dev,qa" \               # 逗號分隔的角色
  --status idle                    # working|idle|offline

tick agent list                    # 列出所有代理人
tick agent list --verbose          # 詳細資訊
tick agent list --type bot         # 依類型篩選
tick agent list --status working   # 依狀態篩選

MCP 工具(CLI 替代方案)

如果使用 Model Context Protocol,請使用這些工具來替代 CLI 指令:

狀態與檢查

  • tick_status - 取得專案狀態(代理人、任務、進度)
  • tick_validate - 驗證 TICK.md 結構
  • tick_agent_list - 列出代理人,可選篩選條件

任務管理

  • tick_add - 建立新任務
  • tick_claim - 為代理人認領任務
  • tick_release - 釋放已認領的任務
  • tick_done - 完成任務(自動解除依賴項封鎖)
  • tick_comment - 為任務新增註解

修正與復原

  • tick_reopen - 重新開啟已完成的任務
  • tick_delete - 刪除任務
  • tick_edit - 直接編輯欄位(跳過狀態機)
  • tick_undo - 復原上一個 tick 操作

代理人操作

  • tick_agent_register - 註冊新代理人

MCP 範例:

// 透過 MCP 建立任務
await tick_add({
  title: "重構驗證",
  priority: "high",
  tags: ["backend", "security"],
  assignedTo: "@機器人名稱"
})

// 認領任務
await tick_claim({
  taskId: "TASK-023",
  agent: "@機器人名稱"
})

最佳實務

1. 先進行自然對話

✅ 良好:使用者說「重構驗證」,你自動建立任務 ❌ 不佳:強迫使用者明確建立任務

2. 始終使用您的代理人名稱

註冊一次:

tick agent register @您的機器人名稱 --type bot --roles "engineer"

然後持續使用:

tick claim TASK-001 @您的機器人名稱
tick done TASK-001 @您的機器人名稱

3. 在註解中提供上下文

# ✅ 良好 - 說明做了什麼以及原因
tick comment TASK-005 @bot --note "從 REST 切換到 GraphQL,以獲得更好的型別安全並減少過度擷取"

# ❌ 不佳 - 過於模糊
tick comment TASK-005 @bot --note "更新了 API"

4. 分解大型任務

建立帶有依賴關係的子任務:

tick add "設定 CI/CD 管線" --priority high
tick add "設定 GitHub Actions" --depends-on TASK-010
tick add "新增部署指令碼" --depends-on TASK-011
tick add "設定測試環境" --depends-on TASK-011

5. 在認領前檢查狀態

# 確認任務存在且未被認領
tick status

# 然後認領
tick claim TASK-XXX @您的名稱

理解 TICK.md 結構

檔案包含三個部分:

  1. Frontmatter(YAML):專案後設資料
  2. 代理人表格(Markdown):誰在處理什麼
  3. 任務區塊(YAML + Markdown):個別任務及其歷史記錄

範例:

---
project: my-app
schema_version: "1.0"
next_id: 5
---

# 代理人

| 名稱 | 類型 | 角色 | 狀態 | 正在處理 |
|------|------|-------|--------|------------|
| @alice | human | owner | working | TASK-003 |
| @bot | bot | engineer | idle | - |

# 任務

\```yaml
id: TASK-001
title: 建立驗證
status: done
priority: high
claimed_by: null
# ... 更多欄位
history:
  - ts: 2026-02-07T10:00:00Z
    who: @bot
    action: created
  - ts: 2026-02-07T14:00:00Z
    who: @bot
    action: done
\```

已實作基於 JWT 的驗證,支援令牌重新整理...

進階功能

自動解除相依封鎖

當您完成任務時,依賴的任務會自動解除封鎖:

# TASK-002 依賴 TASK-001
# TASK-002 狀態:blocked

tick done TASK-001 @bot
# TASK-002 自動變更為:todo

循環依賴偵測

驗證會捕捉循環依賴:

tick validate
# 錯誤:偵測到循環依賴:TASK-001 → TASK-002 → TASK-003 → TASK-001

智慧提交訊息

# 僅在使用者明確核准時執行
tick sync --push
# 自動產生:"feat: complete TASK-001, TASK-002; update TASK-003"

重新開啟已完成的任務

如果任務過早被標記為完成:

tick reopen TASK-001 @bot
# 將狀態設定回 in_progress,並記錄在歷史中

tick reopen TASK-001 @bot --re-block
# 同時重新封鎖任何依賴此任務的任務

修正錯誤

# 復原上一個 tick 操作
tick undo

# 先預覽將復原的內容
tick undo --dry-run

# 直接編輯欄位(跳過狀態機)
tick edit TASK-001 --status todo --priority urgent

批次操作

如果需要進行多項變更而不個別提交:

tick batch start
# 現在進行多項變更...
tick add "任務 1" --priority high
tick add "任務 2" --priority medium
tick claim TASK-001 @bot
# ...
tick batch commit   # 將所有變更作為單一提交
# 或:tick batch abort  # 捨棄所有變更

即時監控

tick watch
# [10:23:45] ✓ 已新增:TASK-015 - 實作使用者搜尋
# [10:24:12] 🔒 TASK-015 由 @bot 認領
# [10:26:33] ⟳ TASK-015:in_progress → done

快速參考卡

工作流程:      init → add → claim → work → comment → done → sync
基本指令:      status | add | claim | done | list | graph
修正:          reopen | delete | edit | undo
批次:          import | batch start/commit/abort
協調:          agent register | agent list | validate | watch
Git:           sync --pull | sync --push(需要使用者明確核准)

關鍵提醒

  1. 使用者與你互動,而非直接與 Tick 互動
  2. 由你透明地維護 TICK.md
  3. 儀表板僅供檢查,非主要互動方式
  4. 始終一致地使用你的代理人名稱
  5. 經常新增註解以顯示進度
  6. 在同步前先進行驗證
  7. 在認領前檢查狀態
  8. 將複雜工作分解為子任務

資源

授權

MIT

Individual skills in this repo

This repo contains 1 individual skill — each has its own dedicated page.

相關技能