ai-startup-skills
创业公司做 AI 产品的 7 步 Agent Skill 合集:验证 → BP → 政策 → 路演 → 获客 → 定价 → 注册。
Translation pending
나뭇잎 마을 친구들의 내전 기록을 관리하는 사이트
Translation pending
OtherTypeScript · CSSGitHub @ShadeKR33OnlineOwner unconfirmed
Have you tried it? One tap is enough. No sign-in needed.
No updates detected yet. GitHub releases will appear here.
Owners of public repositories under a personal GitHub account can sign in to verify ownership and manage the introduction themselves. No administrator approval is needed.
Sign in, generate a verification file, and commit it to this repository’s default branch within 30 minutes. Files on other branches or forks do not count. Then check the file below to manage the project without administrator approval. Keep the file to retain your access.
If needed, you will go to sign-in. After signing in, return here and press your chosen verification button again.
Run /nomorevibe verify in your project folder to verify ownership and manage the introduction yourself.
Verify in one minuteAsk about other verification options
나뭇잎 마을 내전 기록소
Translation pending
Taken from the repository README
Loading the full README.
Read the full README ↗친구들과의 리그 오브 레전드 커스텀 게임 기록을 자동으로 집계하고 통계·랭킹·업적을 제공하는 웹 애플리케이션
배포 주소: https://leaf-town-records.vercel.app
친구 10~13명이 주기적으로 리그 오브 레전드 내전(커스텀 게임)을 진행하는데, 공식 전적 사이트(OP.GG 등)는 커스텀 게임을 기록하지 않는다. 매번 결과를 수기로 공유하다 보니 "누가 제일 잘해?", "나 몇 연승이야?" 같은 궁금증이 해결되지 않았다.
이를 해결하기 위해 게임 결산 스크린샷 한 장으로 전적 등록부터 통계 시각화까지 자동화한 전용 기록 시스템을 직접 설계·개발했다.
| 기능 | 설명 |
|---|---|
| AI 스크린샷 분석 | 게임 결산 화면 캡처를 업로드하면 Claude Vision이 닉네임·승패를 자동 추출 |
| 다전제 시리즈 집계 | 3판2선·5판3선 형식을 인식하고 개인전이 아닌 시리즈 단위로 승패 산정 |
| 통합 랭킹 | 점수(승 +3 / 패 -1) 기준 밀집 순위, 연승·연패 실시간 표시 |
| 플레이어 상세 통계 | 챔피언별 전적, 포지션별 승률, 1:1 상대전적, 시너지 분석 |
| 업적 시스템 | 일반·희귀·영웅·전설·신화 5등급 45종 업적, 대표업적 커스텀 설정 |
| 팀 편성 | 참가자 선택 → 팀 배정 → 미니게임으로 블루/레드 사이드 결정 → 공지 복사 |
| 닉네임 변경 이력 관리 | 닉네임 변경 시 전체 게임 기록 일괄 업데이트 |
문제: 커스텀 게임은 Riot 공식 API에 노출되지 않아 자동 수집이 불가능하다.
해결: Claude Sonnet Vision API에 결산 화면 이미지를 전송하고 JSON 구조로 파싱하도록 프롬프트를 설계했다.
[ 스크린샷 ] → Claude Vision API → { winTeam, team1: [...], team2: [...] }
문제: 같은 사람이 다른 닉네임으로 기록될 수 있는 경우가 여러 가지다.
Shade vs shade)해결 1 — 정규화 키: 모든 닉네임 비교 시 normalizeId(공백제거 + 소문자) 함수를 일관 적용해 대소문자 차이를 흡수한다.
해결 2 — 닉네임 변경 일괄 업데이트: 닉네임 관리 페이지에서 "닉네임 변경"을 실행하면 저장된 전체 게임 기록을 스캔해 이전 닉네임을 새 닉네임으로 교체한다. 부계정 목록이 무한정 쌓이는 문제를 해소했다.
해결 3 — 실명 기반 통합 집계: 상대전적·시너지 통계를 집계할 때 닉네임 → 실명(realName) 변환 맵을 사전 구성하고 키로 실명을 사용한다. 주·부계정, 닉네임 변경 이전 기록이 모두 같은 사람으로 자동 합산된다.
"Shade"(주계정) ─┐
"Shadow"(구닉네임) ─┤ → 실명 "홍길동" 으로 통합 집계
"shade"(대소문자) ─┘
문제: 롤 내전은 3판2선·5판3선 형식이라 개인전 단위 승패로는 의미 있는 랭킹이 나오지 않는다.
해결: 날짜별로 게임 기록을 묶어 시리즈를 구성하고, 한 팀이 필요 승수(2승 또는 3승)를 달성했을 때만 isComplete = true로 처리한다. 모든 통계(승률·점수·연승·업적)는 시리즈 완료 기준으로만 산정한다.
날짜별 그룹 → 선취 승수 달성 여부 판별 → isComplete = true → 승패 집계
단순 플레이 수 카운트를 넘어 관계 기반 업적(포지션 듀오, 상대 전적, 시너지)을 구현했다.
computeAggregatedStats에서 주·부계정 합산 시 vsStats·withStats·positionStats·업적을 모두 병합해 통합 뷰 제공| 분류 | 기술 |
|---|---|
| Framework | Next.js 16 (App Router) |
| Language | TypeScript |
| Styling | Tailwind CSS 4 + CSS Variables (다크 테마) |
| Database | Vercel KV (Upstash Redis — 서버리스 영구 저장) |
| AI | Anthropic Claude claude-sonnet-4-6 (Vision API) |
| 외부 API | Riot Data Dragon (최신 챔피언 목록 자동 동기화) |
| 배포 | Vercel |
# 1. 패키지 설치
npm install
# 2. 환경 변수 설정 (.env.local)
KV_REST_API_URL=your_kv_url
KV_REST_API_TOKEN=your_kv_token
ANTHROPIC_API_KEY=your_anthropic_key
# 3. 개발 서버
npm run dev
#0c0c0e 및 딥 차콜 패널 배경 위에, 무한 츠쿠요미의 붉은 달이 비치는 은은한 광원 효과를 배경 그라디언트로 튜닝했습니다.transform 덮어쓰기 현상을 더블 컨테이너(래퍼) 구조로 분리하여 구름 찌그러짐 현상을 해결했습니다.Tab 및 Shift+Tab 입력 시 닉네임을 건너뛰고 챔피언명 입력 필드로만 세로 방향 신속 이동하도록 지원합니다."")으로 초기화하여 사용자가 직접 정밀 등록할 수 있도록 최적화했습니다."애니비아애" 등)을 isComposing 상태 제어로 완벽히 방지하여 편안한 Hangul 입력 속도를 보장합니다.<main> 엘리먼트에 고정되어 있던 z-10 스태킹 컨텍스트를 제거하여, 대표업적 선택 모달(BadgeModal)을 비롯한 모든 모달 창(z-50)이 상단 네비게이션 헤더(z-40) 위에 잘리지 않고 완벽하게 최상단 오버레이 레이어로 렌더링되도록 수정했습니다.hokage_rock_pixel.png)로 변환했습니다.objectPosition: "left bottom")과 오른쪽 절반(objectPosition: "right bottom")으로 분할 대칭 배치하여, 중앙의 본문 콘텐츠를 중심으로 1~7대 호카게 석상이 균형 있게 정렬됩니다.--bg: #f3f3f3) 위에서 하늘색 등 밝은 영역을 완전히 없애기 위해 흑백 필터(grayscale(100%))와 mixBlendMode: "multiply" 기법을 동일 적용했습니다.radial-gradient 마스킹을 씌웠습니다.var(--border-green))에 걸맞는 어두운 붉은색 외곽선 실루엣(opacity: 0.22)과 컷아웃 구멍을 입혀 매트 블랙 다크 모드에 몰입감과 미스터리함을 부여했습니다.