AI Collaboration Report – Iteration 1 - snuhcs-course/swpp-2026-project-team-09 GitHub Wiki

SNU Now: AI Collaboration Report – Iteration 1

Team 9, Bonnie and Claude: 김태현, 안진영, 윤유상, 함재현

Tools used: Claude Code (Fable 5.1, Opus 5.5), Claude Design (wireframes)

1. Where AI Was Used

Claude Code wrote every file the team added (code, tests, CI, specs and tickets in .scratch/, docs) plus every PR description and review; each team commit carries a Co-Authored-By: Claude trailer. All work followed one process using Matt Pocock's skills (mattpocock/skills, in .claude/skills/):

  1. /setup-matt-pocock-skills (#1): docs/agents/, pointing the skills to tickets, the glossary, and ADRs.
  2. /wayfinder: maps the work as decision tickets and grills the team on each.
  3. /to-spec: one spec per task (.scratch/iteration-1/P<NN>-<slug>/spec.md).
  4. /to-tickets: tickets with blocking edges.
  5. /implement: one PR per ticket, with /karpathy-guidelines (forrestchang/andrej-karpathy-skills).

Outside this flow, Claude Design made the wireframes and design system, ported in P06-01 (#50).

Not used:

  • Accounts and keys: app registration and keys at Kakao and Google; the agent documented the steps (README.md, #68).
  • Map data, judged by eye: 26 building–outline links (#29), the shuttle route (#31), and 26 disputed outlines (#32).
  • Stack and structure: frameworks and the servers' folder layout (P04 spec).

2. Prompt History

  • [윤유상, 09-28, #3] "/implement .scratch/iteration-1/P04-repo-setup/issues/13-mobile-app-placeholder.md - /karpathy-guidelines 스킬을 따라 작업해줘. …"
  • [김태현, 09-28, Wiki] "… (slack 파일 링크) 이게 미팅로그거든? 이거 기반으로 채워봐. …"
  • [안진영, 10-05, #53] "로그인페이지는 다시 만들어야할거같아. … 도메인이@snu.ac.kr 인지 확인하고 아니면 저 로그인 실패했단 문구가 뜨도록 해야해. …"
  • [함재현, 10-08, #74] "/ask-matt p27에 있는 모든 티켓 한 번의 프롬프트로 구현시키고 싶고, …"

(Full log: Iteration 1 – Prompt Log)

3. What AI Did Well

  • Detailed specs, small gap: after /wayfinder's 100+ questions, 13 specs (.scratch/iteration-1/, 34,000 words), and 76 tickets, the code came back close to expectations.
  • Near one-shot integration: from wireframes and specs, one orchestration session returned the nine remaining tasks, frontend and backend connected, as eight PRs (#65–#72) in about six hours against 31 planned. QA found five defects (#66, #73).
  • Test volume: 269 test files in six projects (226 in main-server/test/ and mobile/__tests__/), plus three demo flows across four servers (flow-tests/test/).
  • Research: five primary-source notes (.scratch/research/) each changed a design; #24's shuttle finding reshaped P07/P15.

4. Hallucinations / Errors

  • Wrong facts in research (#24, external-sources.md): three false claims (e.g., no Co-op terms of use) and ~25 inaccurate lines, caught when a second session re-fetched every page. Cost: a full re-verification; the note merged 14 hours after the unreviewed #17 was rolled back.
  • Hermes lacks toSorted (#54, plain-map.tsx): Expo Go crashed, unseen by Jest on Node; the polyfill (#64) loaded after the mocks and crashed at start (#66).
  • UI from a dead wireframe style (#50): the middle nav button came from an unused plusStyle; touch targets overlapped while Jest passed. Caught by review and coordinate taps; cost: one review round.
  • Acting without checking: installed skills were declared "not registered" without reading ~/.claude/skills/. Cost: re-prompting each time.

5. Prompt Revisions

  • Before (안진영, 10-04): "p06 1번 티켓 구현해줘. 이미 정해둔 디자인시스템이 (artifact link)" → After (10-05): "/implement P06 1번 티켓. 닫은 PR #34의 디자인 시스템 코드를 가져와서 시작해. 새 티켓에 맞게 안 쓰는 컴포넌트는 빼고 빠진 건 추가하고, 웹 스크린샷을 찍어서 디자인 시스템 미리보기와 비교해서 고쳐." The first run outgrew its scope and was closed unmerged (#33, #34); the second named the starting code, what to drop, and a check, and its PR shows the comparison screenshots (#50).
  • Before (윤유상, 10-06): "… 각 커밋은 빌드와 테스트가 통과해야 한다. …" → After: "subagent를 통해서 앱을 실제로 에뮬레이터로 띄워서 QA 해보도록 해줘." With "tests pass" as the only bar the agent never launched the app; naming the means and the actor produced the QA behind #73.

6. Manual Fixes and Why

No code was hand-edited; people stepped in and had the agent rewrite it:

  • Table schemas (#37): every schema was reviewed by a human. Why: the agent added fields unasked; schemas are hard to change.
  • Session design (P04-07, #9): from two research notes, the team chose one app session per User and a sessions table read on every request. Why: signing the old phone out is a product rule, the team's to decide.

7. Takeaway for Iteration 2

  • Name the check in the prompt: "run it on the emulator", not "tests pass".
  • Refine specs on real data first; skipping that cost P07-01 and P06 a day each.
⚠️ **GitHub.com Fallback** ⚠️