기부하기

/take-my-data

Claude Code 안에서 한 줄로 세션을 기부합니다. 비밀은 당신 컴퓨터에서 먼저 지워지고, 서버가 한 번 더 지웁니다. 올리기 전에 반드시 미리보기를 보여주고 확인을 받습니다.

파운딩 100
99자리
+300점 · 계정 30일 이상
v1 스냅샷까지
973
27 / 1,000 세션
지금 올리면
2위 안
기여자 1
1
스킬 설치

공개 저장소 linda1476/take-my-data를 개인 스킬 폴더에 둡니다. 둘 중 편한 쪽으로. 의존성 없음, Node 18+.

npx skills add linda1476/take-my-data
git clone https://github.com/linda1476/take-my-data ~/.claude/skills/take-my-data
2
Claude Code에서 실행 — 여기까지는 아무것도 올라가지 않습니다

처음 한 번은 GitHub 기기 코드 로그인이 뜹니다. 그다음 현재 프로젝트의 세션을 찾아 정제 결과를 표로 보여주고 멈춥니다. 미리보기만 보고 “아니오”라고 하거나 그냥 닫아도 됩니다 — 내 로그에 키·이메일·경로가 얼마나 남아 있었는지 보는 용도로만 써도 됩니다. 당신이 “예”라고 해야만 올립니다.

/take-my-data

옵션: /take-my-data all (모든 프로젝트) · /take-my-data anonymous on (익명) · /take-my-data withdraw 123 (철회)

3
완료 카드

점수, 세션별 측정치, 개인·팀 순위가 어떻게 움직였는지 보여주는 링크를 받습니다. 리더보드에 바로 반영되고, 카드는 그대로 공유할 수 있습니다.

자주 하는 걱정

회사 코드가 섞여 있는데요

기본은 지금 있는 프로젝트 폴더의 세션만 봅니다. 개인 프로젝트에서 실행하면 회사 프로젝트는 스캔조차 되지 않습니다. 미리보기 표에서 --pick 1,3처럼 올릴 세션만 고를 수 있고, 도구 출력(파일 내용·명령 결과)은 2,000자에서 잘립니다. 그래도 대화에 인용된 코드 조각은 남으니, 공개하면 안 되는 저장소의 세션은 올리지 마세요.

제 프롬프트가 좀 부끄러운데요

이 데이터셋에 필요한 건 잘 쓴 대화가 아니라 실제 대화입니다. 막힌 곳, 되돌린 결정, 틀린 가정이 가장 값진 부분입니다. 이름을 붙이고 싶지 않으면 /take-my-data anonymous on — 데이터셋의 contributor null, 보드에는 anon-xxxxxx로만 보입니다.

나중에 마음이 바뀌면요

/take-my-data withdraw <id> 한 줄. 본문은 즉시 지워지고 모든 스냅샷에서 빠지며 manifest에 해시가 남아 이미 받아간 사람도 지울 수 있습니다. 배포된 사본까지 거둘 수는 없습니다 — 그래서 올리기 전에 반드시 당신이 봅니다.

제 세션은 별 볼 일 없는데요

대화 턴 3개, 정제 후 토큰 500이면 들어갑니다. 평범한 세션이 데이터셋의 대부분이어야 합니다. 화려한 세션 하나보다 평범한 세션 열 개가 더 필요합니다.

제가 얻는 건요

점수와 순위, 파운딩 300점과 배지, 그리고 데이터셋의 모든 레코드에 남는 contributor 필드. 이 데이터로 만들어지는 공개 모델과 연구에 당신 세션이 들어갑니다. 왜 CC0인지는 따로 적어 뒀습니다.

라이선스

올리는 순간, 그 세션은 CC0 1.0 Universal (Public Domain Dedication)으로 퍼블릭 도메인에 헌정됩니다. 스킬은 이 문장을 동의 질문에 반드시 포함하고, 서버는 동의한 라이선스 id를 기부 건마다 기록합니다. 정제된 본문은 공개 데이터셋에 실리며, 익명 계정이 아니면 contributor에 GitHub 핸들이 들어갑니다. 철회하면 데이터셋에서도 즉시 빠집니다.

무엇이 지워지나

정제 규칙은 클라이언트(스킬)와 서버에 같은 것이 들어 있습니다. 스킬이 먼저 지우고 미리보기를 보여주며, 서버는 받은 것을 믿지 않고 다시 지웁니다. 점수는 서버가 정제한 뒤 남은 토큰으로만 계산합니다.

API 키·토큰sk-ant-…, sk-…, ghp_…, github_pat_…, AKIA…, xox…-…, AIza…, sk_live_…, odrh_…, JWT, Bearer …
KEY=value 비밀api_key, secret, token, password, DATABASE_URL, SESSION_SECRET 등의 값
접속 문자열postgres://, mysql://, mongodb://, redis:// 뒤의 전부
개인정보이메일, 전화번호, 주민등록번호, 카드번호(Luhn 검증), 사설 IP
경로의 사용자명C:\Users\<user>\…, /home/<user>/…, /Users/<user>/…
시스템 컨텍스트<system-reminder> 블록, 작업 디렉터리·브랜치·호스트명 메타
도구 출력호출 ID와 연결해 온전히 보관하며 점수에서는 제외

패턴 기반이라 완벽하지 않습니다. 미리보기에서 남은 것이 보이면 올리지 마세요 — 그 세션만 빼고 다시 실행할 수 있습니다. 올린 뒤 발견했다면 철회하면 됩니다(아래).

점수는 어떻게

철회

본인이 올린 기부는 언제든 내릴 수 있습니다. 본문은 지워지고 점수는 원장에 음수 행으로 되돌아갑니다. 세션 해시는 남아서 같은 세션이 다시 들어오지 않습니다.

/take-my-data withdraw <donation-id>

익명

핸들 없이 올리려면 익명 모드를 켭니다. 켠 뒤의 기부는 데이터셋에 contributor: null로 실리고, 보드에는 anon-xxxxxx로만 보이며, 프로필 페이지는 남에게 404입니다. 끄면 과거 기여까지 소급해서 핸들이 드러납니다.

/take-my-data anonymous on     # 또는 off

스킬 없이 API로

다른 하네스(codex, pi, opencode, cursor)나 직접 만든 클라이언트도 같은 API를 씁니다. 토큰은 스킬의 login~/.odrh/token에 저장한 것을 쓰거나 기기 코드 흐름으로 직접 받습니다.

# 1) 로그인 (GitHub 기기 코드)
curl -sX POST https://opendatareasoninghub.org/api/auth/device
#   → user_code 를 verification_uri 에 입력한 뒤
curl -sX POST https://opendatareasoninghub.org/api/auth/device/poll \
  -H 'content-type: application/json' \
  -d '{"deviceCode":"…","issueToken":true,"label":"my-client"}'
#   → { "status":"authorized", "token":"odrh_…" }   (한 번만 보여줍니다)

# 2) 기부
curl -sX POST https://opendatareasoninghub.org/api/donations \
  -H 'authorization: Bearer odrh_…' -H 'content-type: application/json' \
  -d '{
    "harness": "codex",
    "client": { "name": "my-client", "version": "0.1.0" },
    "license": "CC0-1.0",
    "sessions": [{
      "sessionId": "optional-harness-session-id",
      "transcript": [
        { "role": "user", "content": "…" },
        { "role": "assistant", "content": "…", "thinking": "…",
          "toolUses": [{ "name": "Read", "input": "{…}" }] },
        { "role": "tool", "content": "…" }
      ],
      "meta": { "model": "…" }
    }]
  }'

# 3) 미리 중복 확인 / 철회 / 공개 현황
curl -sX POST https://opendatareasoninghub.org/api/donations/check -H 'authorization: Bearer …' \
  -d '{"hashes":["<sha256>"]}'
curl -sX DELETE https://opendatareasoninghub.org/api/donations/123 -H 'authorization: Bearer …'
curl -s https://opendatareasoninghub.org/api/stats

세션 해시 = sha256(harness + ":" + sessionId). sessionId가 없으면 정제된 본문의 해시를 씁니다. 한 번에 최대 5세션, 6MB.

왜 이렇게 하나

추론 과정이 담긴 데이터는 모델을 만드는 쪽에만 쌓이고 있습니다. 여기 모인 것은 정제된 형태로 공개되어 누구나 쓸 수 있게 됩니다. 기여는 리더보드와 원장에 남고, 어떤 팀에 있었는지는 기여한 순간의 소속으로 기록됩니다.