Community라이팅 & 에디팅github.com

amplifthq/opentag

Slack 및 GitHub에서 @opentag 멘션을 처리하는 오픈소스 에이전트 라우터입니다. 요청을 Codex, Claude Code로 전달하고 결과를 스레드에 반환합니다.

opentag란 무엇인가요?

OpenTag는 Slack 및 GitHub 워크스페이스에서 @opentag와 같은 멘션을 감지하여 이를 감사 가능한 에이전트 실행으로 변환하는 오픈소스 도구입니다. 개발자는 이 기술을 사용하여 워크스페이스 이벤트를 디스패처, 로컬 러너, 실행기, 콜백으로 연결하는 전체 경로를 설정할 수 있습니다. 로컬 에코 테스트, GitHub 문제 및 PR 멘션, Slack 앱 멘션, 실제 코드 실행(Codex) 등 다양한 시나리오를 지원하며, 각 경로별로 참조 문서가 제공됩니다. OpenTag는 명시적인 설정을 강제하고, 누락된 값이 있으면 설정을 중단하며, 보안을 위해 opentagd 데몬을 로컬 실행 권한의 최종 권위자로 취급합니다. 디스패처 상태 확인, 러너 등록, 저장소/슬랙 채널 바인딩, 실행 생성, 데몬 실행, 콜백 전달 등 명확한 단계로 구성된 설정 워크플로우를 제공하여 안정적인 운영을 보장합니다.

지원 대상✓Claude Code✓Codex CLI~Cursor
npx skills add amplifthq/opentag

Installed? Explore more 라이팅 & 에디팅 skills: steipete/notion, langchain-ai/langchain, bytedance/podcast-generation · View all 6 →

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

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

문서

opentag은(는) 무엇을 하나요?

OpenTag는 @opentag fix this와 같은 워크스페이스 멘션을 감사 가능한 에이전트 실행으로 변환합니다. 이 스킬은 사용자가 워크스페이스 이벤트에서 디스패처, 로컬 러너, 실행기, 콜백까지의 경로를 구성하는 데 도움을 줍니다.

요청 라우팅

사용자 경로에 필요한 참조만 읽으세요:

  • 로컬 연동 테스트 또는 첫 설정: references/local-echo.md
  • GitHub 이슈 또는 PR 멘션: references/github-setup.md
  • Slack 앱 멘션: references/slack-setup.md
  • 실제 코딩 실행 또는 PR 생성: references/codex-runner.md
  • 실행 실패, 누락된 콜백, 거부된 실행, 인증 오류: references/troubleshooting.md

사용자가 둘 이상의 경로를 요청하는 경우 가장 작은 동작 루프를 먼저 구성하고 확인한 후 다음 어댑터를 추가하세요.

작업 규칙

  • 사용자가 이미 동작하는 디스패처와 러너를 가지고 있지 않은 한 실제 에이전트나 라이브 콜백보다 로컬 에코 루프를 우선합니다.
  • 설정을 명시적으로 유지하세요: 저장소 소유자, 저장소 이름, 체크아웃 경로, 토큰, Slack ID 또는 디스패처 URL을 임의로 만들지 마세요.
  • 폴백 동작을 추가하지 마세요. 누락된 필수 값이 있으면 무엇이 누락되었는지 명확하게 나열하며 설정을 중단해야 합니다.
  • opentagd를 로컬 실행 권위자로 취급하세요. opentagd는 설정 파일에 나열된 저장소만을 대상으로 해야 합니다.
  • 비파괴 연동 테스트에는 echo를 사용하고, 사용자가 실제 코드 실행을 원할 때만 codex를 사용하세요.
  • 증명 단계를 분리하세요: 디스패처 상태, 러너 등록, 저장소 또는 Slack 바인딩, 실행 생성, 데몬 실행, 콜백 전달.

설정 워크플로우

  1. 대상 루프를 식별합니다. 완료: 하나의 루프가 local-echo, github, slack 또는 codex-runner 중 하나로 지정됩니다.

  2. 필요한 정보를 수집합니다. 완료: 답변에 모든 누락된 값이 포함되거나, 모든 필수 값을 사용할 수 있습니다.

  3. 최소 설정을 작성하거나 업데이트합니다. 완료: 설정에는 선택된 루프에 필요한 필드만 포함되며 사용자의 실제 저장소/채널/체크아웃을 사용합니다.

  4. 실행을 생성하기 전에 바인딩을 등록합니다. 완료: 러너가 등록되고, 저장소가 바인딩되며, Slack이 범위 내에 있을 때 Slack 채널이 바인딩됩니다.

  5. 실제 실행 하나를 확인합니다. 완료: 실행이 디스패처를 통해 보이고, 감사 이벤트가 있으며, 완료 상태로 끝나거나 특정 오류와 함께 실패합니다.

  6. 결과를 보고합니다. 완료: 사용자에게 무엇이 설정되었는지, 어떤 명령으로 증명되었는지, 아직 설정되지 않은 것이 무엇인지 알립니다.

명령어 기본값

프로젝트가 변경되지 않은 경우 다음 기본값을 사용하세요:

  • 디스패처 앱: pnpm --filter @opentag/dispatcher-app dev
  • 로컬 데몬 앱: pnpm --filter @opentag/opentagd dev -- <command>
  • Slack Events 앱: pnpm --filter @opentag/slack-events dev
  • 디스패처 URL: http://localhost:3030
  • Slack Events URL 경로: /slack/events
  • 샘플 실행 페이로드: examples/github-to-echo/run.example.json

이 저장소에서 패키지 명령어를 실행하기 전에 Node 22.x를 사용하고 필요한 경우 종속성을 설치하세요.

관련 스킬