Tick マルチエージェント連携 は何をしますか?
構造化された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ベースのタスク調整
- 人間可読: 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-name
出力を自然に要約してユーザーに伝えてください。
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: "@bot-name"
})
// タスクをクレーム
await tick_claim({
taskId: "TASK-023",
agent: "@bot-name"
})
ベストプラクティス
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
---
# エージェント
| 名前 | タイプ | ロール | ステータス | 作業中 |
|------|------|-------|--------|------------|
| @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: TASK-001, TASK-002 を完了; 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