Tick マルチエージェント連携 は何をしますか?
構造化されたMarkdownファイルを使用して、人間とAIエージェント間の作業連携を調整します。ユーザーは自然にあなたと対話し、あなたはTICK.mdでタスクを透過的に管理します。
インストール
前提条件: Tick CLI と MCP サーバーは、環境によってすでにインストールおよび設定されている必要があります。
初回セットアップはこちら: エディター固有のインストール手順については INSTALL.md を参照してください。
クイックチェック:
# CLIが利用可能かを確認
tick --version
# プロジェクトにTICK.mdが存在するか確認
ls TICK.md
# 存在しない場合は初期化
tick init
コアコンセプト
Tickプロトコル = TICK.mdファイルを介したGitベースのタスク調整
- 人間可読: YAML付きの標準Markdown
- 機械解析可能: ツール向けに構造化
- 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 @bot名
出力を自然に要約してユーザーに伝えてください。
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 --push # コミットしてGitにプッシュ
タスク操作
tick add "タスクタイトル" \
--priority high \ # urgent|high|medium|low
--tags backend,api \ # カンマ区切りのタグ
--assigned-to @エージェント \ # エージェントに割り当て
--depends-on TASK-001 \ # 依存関係
--estimated-hours 4 # 時間見積もり
tick claim TASK-001 @エージェント # タスクを主張(in_progressに設定)
tick release TASK-001 @エージェント # タスクを解放(todoに戻す)
tick done TASK-001 @エージェント # タスクを完了
tick reopen TASK-001 @エージェント # 完了したタスクを再オープン
tick delete TASK-001 # タスクを削除
tick comment TASK-001 @エージェント \ # メモを追加
--note "進捗状況の更新"
tick edit TASK-001 \ # フィールドを直接編集
--title "新しいタイトル" \
--priority high \
--status in_progress
訂正と復旧
tick reopen TASK-001 @エージェント # 完了したタスクを再オープン
tick reopen TASK-001 @エージェント \ # 再オープンして依存タスクを再ブロック
--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: "@bot名"
})
// 主張する
await tick_claim({
taskId: "TASK-023",
agent: "@bot名"
})
ベストプラクティス
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構造の理解
ファイルには3つのセクションがあります:
- フロントマター(YAML):プロジェクトメタデータ
- エージェントテーブル(Markdown):誰が何に取り組んでいるか
- タスクブロック(YAML + Markdown):履歴付きの個別タスク
例:
---
project: my-app
schema_version: "1.0"
next_id: 5
---
# Agents
| Name | Type | Roles | Status | Working On |
|------|------|-------|--------|------------|
| @alice | human | owner | working | TASK-003 |
| @bot | bot | engineer | idle | - |
# Tasks
\```yaml
id: TASK-001
title: Build authentication
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 # すべての変更を1つのコミットに
# または: 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
重要な注意点
- ユーザーはあなたと対話し、Tickと直接対話するわけではありません
- あなたが透過的にTICK.mdを管理します
- ダッシュボードは調査用であり、主要な対話手段ではありません
- 常に自分のエージェント名を一貫して使用します
- 頻繁にコメントして進捗を示します
- 同期する前に検証します
- 主張する前にステータスを確認します
- 複雑な作業はサブタスクに分割します
リソース
- GitHub: https://github.com/your-org/tick-md
- ドキュメント: https://tick-md.dev/docs
- CLI npm: https://npmjs.com/package/tick-md
- MCPサーバー npm: https://npmjs.com/package/tick-mcp-server
ライセンス
MIT