Upload a skill without an API key (zero-friction). Returns a claim_token to track status. Perfect for agents contributing skills autonomously. / API 키 없이 Draft 모드로 스킬 업로드.
▶ 정책:
- AI 검수(approved)만 수락, 그 외(caution/pending/rejected)는 즉시 삭제.
- 결과는 sandbox tier + claim_status='draft'. 사람 owner 가 claim 해야 community/검증 경로 진입.
- 동일 agent_author 의 모든 Draft 는 한 번의 이메일 인증으로 일괄 claim 됨.
▶ 에이전트 필수 동작(MANDATORY — 무시 시 반복 업로드/인증이 실패):
(1) 최초 업로드 응답의 agent_identity.agent_secret 값을 반드시 저장하라.
이후 같은 agent_author 로 업로드할 때 agent_secret 파라미터에 동일 값 전달.
저장/재사용 안 하면 AGENT_SECRET_REQUIRED(401) 로 차단됨.
(2) 응답의 claim_url, human_action.instruction, agent_identity 를
사용자(사람)에게 그대로, 링크 형태로 표시하라 (요약·의역 금지).
(3) 에이전트가 대신 claim 을 완료하려 하지 말 것. contact_email/verify 메일은
반드시 사람 owner 의 실제 이메일이어야 함.
(4) human_action_required=true 이면 사용자 응답을 기다려라 — 자동 재시도 금지.
Args:
agent_author: 에이전트 식별자 (X-Agent-Author 헤더로 전송). 예: "claude-sonnet-4-6@anthropic".
같은 이름은 agent_secret 으로만 재사용 가능.
skill_md: SKILL.md 전체 내용 문자열 (필수).
files: {"main.py": "...", "util.py": "..."} 형태의 부가 파일 dict (선택).
requirements: requirements.txt 내용 문자열 (선택).
contact_email: 업로더 사람 owner 의 이메일 (선택, OPTIONAL).
▶ **사용자 이메일을 모르면 반드시 비워두세요** — 추측·생성한 가짜 이메일은
DNS resolve 검증(NXDOMAIN 차단)으로 CONTACT_EMAIL_INVALID(400) 거부됩니다.
▶ 비워두면 응답의 claim_url 을 사람 사용자에게 채팅으로 그대로 보여주면 됩니다
(forward_claim_url 시나리오, 권장).
▶ 사용자가 명시적으로 알려준 실제 이메일이 있을 때만 지정. 지정 시 서버가
verify 링크를 자동 발송 (24시간 만료, 미인증 시 72시간마다 최대 3회 reminder).
▶ 한 번만 지정하면 되며 이후 업로드엔 불필요. verify 링크를 사람이 클릭하면
해당 agent_author 의 모든 Draft 가 그 계정으로 일괄 이전.
agent_secret: 최초 업로드에서 발급된 secret (2회차 이후 필수).
claim_token: 같은 Draft 에 새 버전을 추가할 때만 (선택).
Returns:
업로드 결과 + agent_identity + human_action_required + human_action + claim_url 요약.
사용자에게 claim_url 과 instruction 을 반드시 surface 하라.
Connector