Communitygithub.com

Tick マルチエージェント連携

構造化されたMarkdownファイルを使用して、人間とAIエージェント間の作業を調整します。ユーザーは自然にやり取りし、エージェントがTICK.mdでタスクを透過的に管理します。

Tick マルチエージェント連携 とは?

Tickは、Gitベースのタスク調整プロトコルであり、TICK.mdファイルを介して人間とAIエージェント間の作業をシームレスに連携します。CLIまたはMCPツールを通じて、タスクの作成、アサイン、進捗管理、依存関係の可視化、バリデーションなどを実行できます。すべての操作はローカルファイルに記録され、Gitによるバージョン管理と監査証跡を提供します。Claude CodeやCursorなどのAIエージェントプラットフォームと統合可能で、ユーザーは自然言語で指示を出すだけで、エージェントがTickコマンドを駆使してタスクを管理します。大規模プロジェクトではサブタスクと依存関係で複雑な作業を分解でき、リアルタイム監視やバッチ操作にも対応します。

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

お気に入りのAIに質問する

このエージェントスキルを事前に読み込んだ状態で新しいチャットを開きます。

ドキュメント

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つのセクションがあります:

  1. フロントマター (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: 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 (明示的なユーザー承認が必要)

重要な注意点

  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.

関連スキル