업적 에이전트 인증
내 프로젝트에서 어떤 업적을 달성했는지 AI가 대신 확인하고 제출하게 하려면, 아래 프롬프트를 Claude Code / Codex에 그대로 붙여넣으세요. AI가 지침을 읽고 프로젝트를 검사해 달성한 업적을 자동으로 인증합니다.
개발놀이터 오락실 업적 인증을 진행해줘. 지침: https://game.dev-play.kr/achievements-agent.php?format=md 지침을 읽고 ①내 달성 현황 조회 ②이 프로젝트 검사·달성 판정 ③달성한 업적 제출 ④미달성 업적과 다음 단계 요약까지 완료하고 결과를 알려줘.
로그인하면 프롬프트에 내 API 토큰이 자동 포함되어, AI가 내 계정으로 바로 인증을 제출할 수 있습니다.
AI 에이전트용 지침 전문 보기
아래는 AI가 그대로 따라 실행하는 완전한 지침입니다(사람은 위 프롬프트만 복사하면 됩니다).
# 개발놀이터 오락실 — 업적 인증 AI 에이전트 지침
당신은 스터디원(사용자)의 게임 프로젝트 저장소에서 작업하는 AI 코딩 에이전트입니다.
임무: **프로젝트를 검사해 달성한 업적을 판정하고, 사용자를 대신해 API로 제출**하세요.
정직하게 판정하세요 — 실제로 확인된 것만 제출하고, 확실하지 않으면 사용자에게 물어보세요.
## 0. 인증 토큰
- 사용자가 준 이 지침 URL에 `?pair=<값>`이 붙어 있다면, 그 값이 곧 **사용자의 API 토큰**입니다.
- 토큰 유효성 검증: `curl -H "Authorization: Bearer <값>" https://game.dev-play.kr/api/v1/me.php` 가 200이면 유효.
- pair 값이 없다면: 사용자에게 https://game.dev-play.kr/api-guide.php 에 로그인해 토큰을 받아 달라고 요청하세요.
- 토큰을 **공개 저장소 코드에 하드코딩하지 마세요.** 이 세션에서만 사용하고 버려도 됩니다.
## 1. 업적 목록 + 내 달성 현황 조회
```bash
curl -sS https://game.dev-play.kr/api/v1/achievements.php \
-H "Authorization: Bearer <토큰>"
```
- 응답의 `achievements[]`에서 `earned:false`인 항목만 검토 대상입니다.
- `verify_method` 의미:
- `auto` : 사이트가 자동 감지 — **API로 제출 불가/불필요.** 건너뛰세요.
- `agent`: 당신이 프로젝트에서 근거를 확인해 제출하기 좋은 과제.
- `self` : 사용자의 경험을 묻는 과제 — `claim_question`을 사용자에게 물어보고,
사용자의 답변으로 제출하세요(사용자가 원할 때만).
## 2. `agent` 과제 판정 기준 (프로젝트에서 확인할 것)
각 code별로 아래 근거가 실제로 확인될 때만 제출하세요. `answer`에는 확인한 근거를
요약해 적습니다(500자 이내). `claim_input_type`이 `url`이면 answer는 http(s) URL이어야 합니다.
| code | 확인 방법 | answer에 적을 것 |
|------|-----------|------------------|
| `prompt_log_setup` | 프롬프트 로그 저장 설정 존재 (훅 스크립트, 로그 파일/디렉토리 등) | 어떤 방식으로 로그를 남기는지 요약 |
| `git_connected` | `.git` 존재 + 커밋 1개 이상 (`git rev-parse HEAD` 성공) | 저장소 URL (`git remote get-url origin`, private 가능) |
| `commit_10` | `git rev-list --count HEAD` ≥ 10 | 저장소 URL |
| `readme_author` | README가 존재하고 프로젝트를 실제로 설명함 (빈 템플릿/한 줄짜리는 불인정) | 저장소 URL |
| `first_deploy` | 배포된 사이트가 실제 접속됨 (vercel.json/README/사용자에게 확인) | 배포 URL |
| `redeploy_3` | 첫 배포 이후 반영된 커밋/배포 3회 이상 (git log, 배포 플랫폼 이력) | 배포 URL |
| `secret_keeper` | 비밀값이 .env 등으로 분리 + .gitignore 등록 + 코드에 하드코딩 없음 | 분리 방식 요약 |
| `original_game` | 이 게임이 기존 클래식의 단순 복제가 아닌 오리지널 기획 | 게임 URL 또는 소개 |
| `mobile_ready` | viewport 메타 + 터치 입력 처리(또는 반응형 대응) 존재 | 게임 URL |
| `game_sound` | 오디오 asset 또는 Web Audio 사용 코드 존재 | 어떤 소리를 어떻게 넣었는지 |
| `supabase_project` | Supabase 등 BaaS 클라이언트 설정/연결 코드 존재 | 어떤 서비스·프로젝트인지 |
| `login_feature` | 로그인/사용자 구분 코드 경로 존재 | 구현 방식 요약 |
| `visit_counter` | 방문 카운터 코드/위젯 존재 | 사이트 URL |
| `visits_100` | 카운터 수치 100 이상 — 코드만으로 알 수 없으면 **사용자에게 확인** | 확인 방법과 수치 |
| `leaderboard_ui` | 게임 안에 랭킹 표시 UI 존재 (랭킹 SDK getRankings 등) | 게임 URL |
| `agents_md` | CLAUDE.md/AGENTS.md가 존재하고 실질적 지침을 담음 | 저장소 URL |
| `plan_first` | 기획/계획 문서(spec, plan, 기획.md 등)가 구현보다 먼저 작성됨 | 어떤 계획을 세웠는지 요약 |
판정 원칙:
- 근거를 찾지 못한 항목은 **제출하지 말고**, 무엇이 부족한지 사용자에게 알려주세요.
- 애매하면 사용자에게 물어본 뒤 결정하세요. 허위 제출은 스터디 전체의 재미를 깎습니다.
## 3. 클레임 제출
```bash
curl -sS -X POST https://game.dev-play.kr/api/v1/achievements/claim.php \
-H "Authorization: Bearer <토큰>" -H "Content-Type: application/json" \
-d '{"code":"git_connected","answer":"https://github.com/user/repo"}'
```
- 성공: `{"ok":true, "code":..., "title":..., "agent_bonus":...}` —
`agent_bonus:true`면 이번 제출로 '대리 인증의 맛' 업적이 함께 부여된 것입니다(첫 API 제출 보너스).
- `already_earned:true`는 이미 획득한 항목의 재제출 — 정상이며 무시해도 됩니다.
- 400 `not_claimable`: `auto` 업적을 제출한 경우 — 건너뛰세요.
- 여러 항목을 제출할 때는 하나씩 순서대로 호출하세요.
## 4. 완료 보고
사용자에게 다음을 요약해 주세요:
1. 이번에 제출(획득)한 업적 목록
2. 아직 미달성인 업적과 "무엇을 하면 달성되는지" 다음 단계 제안
3. 획득 축하 모달은 https://game.dev-play.kr/achievements.php 방문 시 순서대로 표시된다는 안내
전체 업적 목록과 달성 현황은 업적 보드에서 볼 수 있어요. 자동/직접 인증 방식도 그곳에서 함께 안내됩니다.