Skip to main content
Claude Code는 사용자의 세션이 해당 플러그인에 대해 정의한 신호와 일치할 때 조직의 마켓플레이스에서 플러그인 설치를 제안할 수 있습니다. 신호에는 작업 디렉토리, Claude가 읽은 파일, Claude가 실행한 명령이 포함됩니다. 플러그인의 marketplace.json 항목에 relevance 블록을 추가하여 신호를 정의합니다. 마켓플레이스 운영자가 relevance 항목을 작성합니다. 그 다음 관리자가 관리 설정에서 마켓플레이스를 허용 목록에 추가합니다. 마켓플레이스가 허용 목록에 추가될 때까지 사용자는 마켓플레이스에서 제안을 볼 수 없습니다.
다음 페이지에서 다루는 경우:
역할에 해당하는 섹션부터 시작하세요:

플러그인 관련성 작동 방식 이해

marketplace.json의 각 플러그인 항목은 relevance 객체를 포함할 수 있습니다. 이 객체는 주제와 하나 이상의 신호를 이름 지정합니다. 신호는 Claude Code가 현재 세션에 대해 테스트하는 패턴입니다(예: 작업 디렉토리 또는 Claude가 읽은 파일). 신호 일치는 사용자의 머신에서 로컬로 발생하며 네트워크 트래픽을 추가하지 않습니다. Claude Code는 어떤 신호가 일치했는지 또는 해당 값을 Anthropic이나 마켓플레이스 운영자에게 보고하지 않습니다. 신호가 일치하고 플러그인이 아직 설치되지 않았을 때, Claude Code는 다음 위치에서 플러그인을 제안합니다:
  • 스피너 팁: Claude가 응답하는 동안 스피너 아래에 /plugin install 명령이 포함된 메시지가 나타납니다.
  • 세션 시작 알림: cwd 신호가 작업 디렉토리와 일치하면 사용자가 첫 번째 메시지를 보내기 전에 한 줄 알림이 나타납니다.
  • /plugin Discover 탭: 플러그인이 Discover 목록의 맨 위에 고정됩니다.
사용자가 보는 내용 미리보기는 각각의 정확한 텍스트와 반복 빈도를 보여줍니다. Claude Code는 플러그인을 자동으로 설치하지 않습니다. 사용자가 항상 확인합니다. 스피너 팁과 세션 시작 알림은 모두 사용자 또는 프로젝트가 spinnerTipsEnabled를 false로 설정하거나 spinnerTipsOverride가 기본 제공 팁을 대체할 때 나타나지 않습니다. Discover 탭 핀은 두 설정 모두의 영향을 받지 않습니다.

플러그인 항목에 관련성 추가

marketplace.json의 플러그인 항목에 relevance 객체를 추가합니다. 다음 예제는 Claude가 .tf 파일을 읽거나 terraform을 실행할 때 terraform-helpers 플러그인이 관련성이 있음을 선언합니다:
신호가 일치하지 않는 동안 플러그인은 Discover 목록에서 정상 위치를 유지하며 스피너 팁으로 나타나지 않습니다. 게시하기 전에 블록을 확인하려면 마켓플레이스 검증을 참조하세요.

필드 참조

relevance 객체와 중첩된 signals 객체는 다음 표의 필드를 허용합니다. 이전 클라이언트는 여전히 인식하지 못하는 relevance 필드를 사용하는 마켓플레이스를 로드합니다. relevance 및 relevance.signals 아래의 알 수 없는 필드는 로드 시 무시되기 때문입니다. 인식된 필드의 값이 필드 참조의 제한을 초과하면 전체 플러그인 항목이 무효화되고 사용자는 수정할 때까지 마켓플레이스에서 해당 플러그인을 설치할 수 없습니다. claude plugin validate는 동일한 제한을 보고합니다.

relevance

topic은 종종 제품 이름입니다(예: Terraform). 플러그인 이름이 주제로 자연스럽게 들리지 않을 때 design과 같은 도메인을 사용합니다.

relevance.signals

signals 객체는 다음 필드를 허용합니다. filesRead 및 manifestDeps 신호는 또한 Claude가 이 세션에서 작성하거나 편집한 파일과 프로젝트의 자동 로드된 CLAUDE.md 메모리 파일에 대해 일치합니다.

작업 디렉토리 일치

cwd는 세션 시작 시, 사용자가 첫 번째 메시지를 보내기 전에 일치할 수 있는 유일한 신호입니다. Claude Code는 다음과 같이 각 cwd 패턴을 일치시킵니다:
  • 패턴은 절대 경로로 작업 디렉토리와 일치합니다. 세션이 git 저장소 내에 있을 때, 저장소 루트에 상대적인 작업 디렉토리의 경로와도 일치합니다.
  • 일치는 정방향 슬래시 정규화 및 대소문자 구분 없음입니다.
  • 모든 패턴은 디렉토리 자체 및 그 아래의 모든 항목과 일치하므로 infra, infra/, infra/**는 동일하게 작동합니다.

명령 이름 일치

Claude Code는 Claude가 실행하는 각 셸 명령에 대해 하나의 명령 이름을 기록합니다: 선행 환경 변수 할당 및 sudo 이후의 첫 번째 토큰입니다. 복합 명령은 선행 명령만 기여하므로 cd infra && terraform plan은 terraform이 아닌 cd를 기록합니다.

매니페스트 종속성 일치

각 manifestDeps 항목은 두 개의 JavaScript RegExp 소스 문자열을 쌍으로 만듭니다:
  • file: 매니페스트 파일의 경로와 대소문자 구분 없이 일치합니다. 경로는 일반적으로 절대 경로이므로 시작이 아닌 끝에 패턴을 고정합니다. 경로는 이 신호에 대해 구분자 정규화되지 않으므로 Windows 경로는 백슬래시를 사용합니다.
  • pattern: 해당 파일의 내용과 대소문자 구분하여 일치합니다.
다음 예제는 manifestDeps를 사용하여 Claude가 SDK의 npm 패키지(여기서는 your-sdk라고 함)에 의존하는 package.json을 읽은 후 플러그인을 제안합니다.
이 예제에서 file 패턴은 [/\\\\]를 사용하여 정방향 슬래시와 백슬래시 경로 구분자 모두와 일치하고, \\.를 사용하여 점이 리터럴입니다. JSON에서 정규식의 각 백슬래시는 두 번 작성됩니다.

마켓플레이스 검증

셸에서 마켓플레이스 디렉토리에 대해 claude plugin validate를 실행하여 게시하기 전에 relevance 블록을 확인합니다:
검증자는 relevance 블록에 대한 오류 및 경고를 보고합니다:
  • relevance 및 relevance.signals 아래의 알 수 없는 키를 경고로 보고합니다.
  • relevance 값이 객체가 아닌 경우를 플래그합니다.
  • 스키마, 포트 또는 경로를 포함하는 signals.hosts 항목을 거부합니다.
각 발견은 관련된 필드의 경로와 함께 인쇄되며, 출력은 Validation passed, Validation passed with warnings 또는 Validation failed로 끝납니다.

관리 설정에서 제안 활성화

사용자는 관리자가 관리 설정에서 마켓플레이스를 허용 목록에 추가할 때까지 마켓플레이스에서 제안을 볼 수 없습니다. 해당 marketplace.json이 relevance를 선언하더라도 마찬가지입니다. 마켓플레이스를 허용 목록에 추가하려면 관리 설정을 다음과 같이 편집합니다:
  • 마켓플레이스 이름을 pluginSuggestionMarketplaces에 추가합니다.
  • 공식 Anthropic 마켓플레이스 이외의 마켓플레이스의 경우, 마켓플레이스 소스를 extraKnownMarketplaces의 해당 이름 항목으로 또는 strictKnownMarketplaces의 항목으로 선언합니다.
마켓플레이스가 등록되지 않은 머신이나 허용 목록에 추가된 이름에서 다른 소스로 등록된 머신에서는 해당 제안이 나타나지 않습니다. 소스 확인은 관련 없는 소스가 허용 목록에 추가된 이름으로 등록되어 조직 전체에서 플러그인을 제안받는 것을 방지합니다. 다음 managed-settings.json은 GitHub 저장소에서 조직 마켓플레이스를 등록하고 해당 제안을 활성화합니다:
공식 마켓플레이스의 이름은 공식 Anthropic 소스에서만 등록할 수 있으므로 소스 선언이 필요하지 않습니다. 공식 마켓플레이스의 경우 이름만 허용 목록에 추가합니다:

사용자가 보는 내용 미리보기

플러그인의 relevance 신호가 세션 중에 일치할 때, 스피너 아래의 팁은 다음과 같이 읽습니다:
cwd 신호가 세션 시작 시 일치할 때, 한 줄 알림은 다음과 같이 읽습니다:
/plugin Discover 탭에서 플러그인은 다른 결과 위에 고정되며 일치하는 신호를 이름 지정하는 주석이 있습니다(예: suggested for this directory 또는 suggested for terraform commands). Claude Code는 주어진 플러그인을 제안하는 빈도를 제한합니다:
  • 제안은 스피너 팁과 세션 시작 알림을 합쳐서 최대 3개 세션마다 한 번 나타납니다.
  • 세션 시작 알림은 스피너 팁과 알림이 플러그인을 합쳐서 2번 표시한 후 나타나지 않습니다.
  • 스피너 팁과 세션 시작 알림은 플러그인이 설치되면 반복되지 않습니다.
  • Discover 탭은 사용자가 플러그인의 신호가 일치하는 동안 탭을 처음 열 때 플러그인을 고정합니다. Claude Code는 이를 ~/.claude.json에 기록하므로 사용자가 나중에 해당 머신에서 /plugin을 열 때마다 플러그인은 정상 순서로 나타납니다.

참고 항목