Communitygithub.com

Tick 다중 에이전트 조정

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

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

Tick은 Git 기반의 다중 에이전트 작업 조정 프로토콜로, TICK.md라는 구조화된 Markdown 파일을 통해 인간 개발자와 AI 에이전트 간의 협업을 체계화합니다. 핵심은 사람이 읽을 수 있고 기계가 파싱 가능한 Markdown 형식으로, Git을 버전 관리 및 감사 추적으로 활용하며 로컬 우선 방식으로 클라우드 의존 없이 작동합니다. 주요 기능으로 CLI 명령어(tick add, tick claim, tick done 등)와 MCP(Model Context Protocol) 도구를 제공하여, 자연어 대화만으로 작업 생성, 할당, 진행 상황 추적, 완료까지 자동화할 수 있습니다. 특히 다중 에이전트 환경에서 역할 기반 작업 분배, 의존성 그래프 시각화, 배치 작업, 실시간 모니터링 등을 지원하여 복잡한 프로젝트 관리와 협업을 간소화합니다.

지원 대상~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 @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. 자연스러운 대화 우선

✅ 좋음: 사용자가 "auth 리팩토링"이라고 말하면, 당신이 자동으로 작업 생성 ❌ 나쁨: 사용자가 명시적으로 작업을 생성하도록 강요

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. 머리말 (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.

관련 스킬