Communitygithub.com

Tick 다중 에이전트 조율

구조화된 Markdown 파일을 통해 인간 및 AI 에이전트 간의 작업을 조율합니다. 사용자는 자연어로 상호작용하고, 당신(AI 에이전트)은 TICK.md에서 작업을 투명하게 관리합니다.

Tick 다중 에이전트 조율란 무엇인가요?

이 스킬은 AI 에이전트(Claude Code, Cursor, Codex 등)가 Tick 프로토콜을 사용하여 인간과 AI 간의 작업 조율을 수행할 수 있도록 합니다. 핵심은 Git 기반의 TICK.md 파일로, 사람이 읽기 쉬운 Markdown과 기계가 파싱 가능한 YAML을 결합하여 버전 관리 및 감사 추적을 제공합니다. CLI 명령어(tick add, tick claim, tick done 등)와 MCP 도구를 모두 지원하여, 사용자가 '인증 시스템 리팩터링' 같은 자연어 요청을 하면 에이전트가 자동으로 작업을 생성, 할당, 진행 상황을 기록하고 완료 처리합니다. 의존성 그래프 시각화, 실시간 모니터링, 배치 작업, 오류 복구 기능을 갖추고 있어 복잡한 프로젝트를 체계적으로 관리할 수 있습니다.

지원 대상~Claude Code~Codex CLI~Cursor
npx skills add https://github.com/Purple-Horizons/tick-md/tree/main/clawhub-plugin/skills/tick-coordination

즐겨 사용하는 AI에게 물어보기

이 에이전트 스킬이 미리 로드된 새 채팅을 엽니다.

문서

Tick 다중 에이전트 조율은(는) 무엇을 하나요?

구조화된 Markdown 파일을 사용하여 인간 및 AI 에이전트 간의 작업을 조율합니다. 사용자는 자연어로 상호작용하고, 당신은 TICK.md에서 작업을 투명하게 관리합니다.

설치

전제 조건: Tick CLI와 MCP 서버가 이미 환경에 설치 및 구성되어 있어야 합니다.

첫 설정이신가요? 에디터별 설치 방법은 INSTALL.md를 참조하세요.

빠른 확인:

# 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 @your-name --type bot --roles "engineer,refactoring"

# 3. 작업 할당 받기
tick claim TASK-XXX @your-name

# 4. 작업 수행 (실제 작업 진행)

# 5. 진행 상황 코멘트 추가
tick comment TASK-XXX @your-name --note "현재 인증 흐름 분석 중"
tick comment TASK-XXX @your-name --note "JWT 토큰 방식으로 리팩터링 완료"

# 6. 완료 표시
tick done TASK-XXX @your-name

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 --push                   # Git에 커밋 및 푸시

작업 연산

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 @name \        # 새 에이전트 등록
  --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 @your-bot-name --type bot --roles "engineer"

그 후 일관되게 사용:

tick claim TASK-001 @your-bot-name
tick done TASK-001 @your-bot-name

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 @your-name

TICK.md 구조 이해

파일은 세 가지 섹션으로 구성됩니다:

  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   # 모든 변경을 하나의 커밋으로
# 또는: 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.

관련 스킬