클로드 스킬
claude-astra
didrod205/claude-astra
3D 씬, 게임 프로토타입, 데스크톱 앱 조작, 문서 스타일, 프런트엔드 QA를 다루는 Claude Code 스킬 5종. 다섯 모두 검증 루프가 들어 있습니다.

설치
/plugin marketplace add didrod205/claude-astra무엇을 하나요
claude-astra는 텍스트 편집기 바깥에서 벌어지는 일을 다루는 Claude Code 스킬 다섯 개입니다. 걸어 다닐 수 있는 3D 씬 만들기, 플레이 가능한 게임 프로토타입 뽑기, 맥 네이티브 앱을 직접 조작하기, 회사 문서 스타일을 추출해서 새 문서가 맞는지 검사하기, 웹 페이지를 실제로 클릭해서 QA하기. 각각은 SKILL.md 하나와 references/, scripts/로 이루어진 독립 디렉터리이고, 스크립트는 의존성이 없습니다 — 헤드리스 크롬을 CDP로 모는 Node, 아니면 파이썬 표준 라이브러리뿐입니다.
| 스킬 | 하는 일 |
|---|---|
walkable-3d | 프롬프트·사진·스케치 → 지형 위를 걸어 다니는 Three.js 씬. 구조 감사를 거쳐 .glb로 내보내며 모든 오브젝트가 이름과 계층을 유지합니다 |
playable-prototype | 한 줄 브리프 → 서로 다른 브라우저 게임 프로토타입 여러 개. 각각 플레이 가능함이 증명되고, 입력에 결정이 담겼는지까지 측정합니다 |
frontend-qa | 세 가지 너비에서 페이지를 검증하고 실제 플로우를 구동한 뒤, 무엇이 깨졌는지 증거와 함께 보고합니다 |
house-style | 사용자의 기존 문서에서 집 스타일을 뽑아냅니다 — 팔레트와 글씨체뿐 아니라 문체까지 — 그리고 새 문서가 실제로 맞는지 검사합니다 |
desktop-app-driver | 접근성 트리를 통해 맥 네이티브 앱을 조작합니다. 백그라운드에서, 사용자가 계속 일하는 동안 |
왜 전부 검증 루프인가
이 다섯 분야는 공통점이 있습니다. 결과물이 완성된 것처럼 보이는 시점이 실제로 완성되는 시점보다 한참 앞섭니다.
생성된 3D 씬은 뭔가를 렌더링하고, 그 뭔가는 대개 공중에 떠 있거나 속이 비어 있거나 축척이 틀렸는데 스크린샷 한 장은 그걸 감춥니다. 조용히 아무것도 안 하는 클릭은 제대로 동작한 클릭과 똑같은 스크린샷을 남깁니다. 데스크톱 동작은 성공을 보고하고 아무것도 안 할 수 있습니다. 렌더링되는 게임은 플레이되는 게임이 아닙니다 — 버튼 넷 중 하나가 죽어 있어도 어떤 스크린샷도 그걸 보여주지 않습니다. 그리고 "우리 템플릿에 맞춰줘"는 템플릿을 실제로 읽기 전까지는 추측입니다.
그래서 각 스킬은 자기 결과물을 기계로 검사합니다. 구조 감사, 봇이 직접 누르는 플레이테스트, DOM·콘솔·네트워크에 대한 단언, OOXML 압축을 풀어 읽는 스타일 비교.
그리고 규칙 자체를 시험합니다
한 겹 더 있습니다. 검사기는 산출물을 규칙에 대조하는데, 그 규칙이 무언가를 볼 수 있는지는 아무도 묻지 않습니다. 그래서 각 스킬에 규칙을 시험하는 도구를 넣었고, 전부 진짜 사각지대를 찾아냈습니다.
house-style/scripts/probe.py— 실제 문서에서 집 규칙을 한 번에 하나씩만 깨뜨려 봅니다. 서식이 전부 테마에서 상속되는 덱은 검사할 것이 아무것도 없었습니다. 글꼴 스킴 전체를 Impact로 바꿔도 실제 파일 셋에서 깨끗하게 통과했습니다.walkable-3d/scripts/reach.mjs— 실제 컨트롤러로 모든 간선을 걸어 공간을 채웁니다. 번들 오두막의 문을 문간에 닫아걸면 감사는 여전히 통과하고, 이쪽은 11개가 손에 닿지 않는다고 보고합니다 — 그 방의 가구 전부.frontend-qa/scripts/keyboard.mjs— Tab을 눌러 포커스가 실제로 어디에 가는지 기록합니다. Pay 버튼이<div onclick>인 결제 페이지는 마우스 없이 결제할 수 없는데, 기존 검사는 탭 타겟 경고만 냈습니다.playable-prototype/examples/— 하네스를 경고 없이 통과하고 lookahead 점수 10배를 받은 게임이, 실제로는 모든 메커니즘을 무시하고 버튼 하나를 반복해 누르는 게 최적 전략이었습니다.
검증
./verify.sh가 README의 모든 주장을 재현합니다. 36개 검사, 인자도 설정도 없이, 임시 디렉터리에 픽스처를 직접 만들고 끝나면 치웁니다. 모두 양방향으로 돕니다 — 정상 입력은 반드시 통과해야 하고, 한 군데만 고장 낸 입력은 반드시 실패해야 합니다. 유효한 입력만 보는 검사기는 검사기가 아니니까요.
어떻게 쓰나요
스킬을 ~/.claude/skills/에 복사합니다.
git clone https://github.com/didrod205/claude-astra.git
cp -r claude-astra/walkable-3d ~/.claude/skills/
CLI가 아니라 스킬입니다 — 평범한 말로 요청하면 Claude가 루프를 돕니다.
walkable-3d — "산비탈에 오두막 하나 만들어줘, 안에서 걸어 다닐 수 있게"
node scripts/audit.mjs my-scene # 구조 감사
node scripts/reach.mjs my-scene # 실제로 들어갈 수 있는가
node scripts/shot.mjs my-scene --plan 1.5
node scripts/export-glb.mjs my-scene --out scene.glb
playable-prototype — "이 아이디어로 프로토타입 3개 뽑아줘"
node scripts/playtest.mjs prototypes/ --out shots --seeds 5
봇이 모든 입력을 눌러 보고, 같은 시드로 두 번 돌려 불일치를 잡고, 여러 시드로 랜덤 플레이해 점수가 오를 수 있는지 확인합니다. 마지막 숫자가 핵심입니다 — 같은 시드에서 다음 행동만 바꿔 재생해, 입력에 결정이 담겼는지 아니면 결과가 그냥 시드인지를 잽니다.
frontend-qa — "배포 전에 QA 좀"
node scripts/qa-run.mjs http://localhost:3000
node scripts/keyboard.mjs http://localhost:3000/checkout
house-style — "이 덱들 스타일로 보고서 하나 써줘"
python3 scripts/style.py extract deck.pptx report.docx -o style.json
python3 scripts/probe.py deck.pptx --spec style.json # spec이 실제로 무얼 잡는가
python3 scripts/style.py check draft.pptx --spec style.json
desktop-app-driver — "이 앱에서 직접 해줘"
접근성 트리를 통해 백그라운드로 조작하므로 사용자 화면을 뺏지 않습니다. 자동화할 수 없는 유일한 스킬이라 손으로 검증했고, 측정된 앱 프로파일 네 개(계산기, 텍스트편집기, 활성 상태 보기, 미리보기)가 references/app-profiles.md에 있습니다.
요구 사항
Node 22+ 와 Chrome(스크립트가 알아서 찾습니다), 파이썬 3. 그 외 설치할 것 없습니다.