AI
Claude Code
플러그인, 대시보드, 모바일
-
AI/Claude Code
codex `/imagen`에 한글 헤드라인 시각화 맡기기 — brand-spec 락과 본문 기반 정확도
gpt-image-2 capability snapshot, brand-spec 락, 본문 기반 정확도(v1/v2 비교 3사례), anti-pattern 14개 명시 차단까지 — 134개 블로그 카드 이미지를 자동 생성하면서도 통일된 비주얼 시스템을 유지한 디자인 자동화 패턴을 정리합니다.
-
AI/Claude Code
Ghost MCP로 134개 글 일괄 메타 작업하기 — slug↔ID 매핑과 fd-3 stdin 패턴
Ghost MCP로 134개 글에 일괄 메타 작업을 적용하다 마주친 컨텍스트 폭증·동시성 함정. 슬러그↔ID 매핑 인덱스, 페이지네이션·search 함정, fd-3 stdin 분리, parallel tool_use 한도까지 운영 패턴 5가지를 코드와 함께 정리했습니다.
-
AI/Claude Code
134개 블로그 이미지를 0 Claude 토큰으로 — Claude×Codex 멀티에이전트 분업 패턴
Claude를 오케스트레이션, Codex를 실행에 두면 134개 이미지 자동화에서 Claude 토큰을 거의 0으로 유지할 수 있습니다. 책임 분리·디스크 경유 본문·MCP 우회 패턴까지, 멀티 에이전트 분업의 정량 사례를 정리합니다.
-
AI/도구활용
양방향 링크 시스템 회고: 프로젝트 스케일에 따른 도구화 결정
같은 양방향 마커 시스템을 세 개 프로젝트에 적용했고, 각각 다른 선택을 했습니다. CI 검증까지 확장한 프로젝트, 45파일 일괄 적용한 프로젝트, 그리고 27개 마커로 멈춘 프로젝트. 스케일이 어떻게 도구화 결정을 가르는지에 관한 회고입니다.
-
도구/Obsidian
window.confirm() 대신 두 번 클릭 패턴: Obsidian 플러그인에서 안전한 삭제 UX 만들기
Obsidian 플러그인의 Settings 탭에서 window.confirm()을 쓰다가 Linux에서 dialog가 차단되는 문제를 만났습니다. 그리고 credential 삭제는 확인 없이 즉시 삭제되는 더 큰 문제도 있었죠. 두 문제를 한 번에 해결하는 two-step delete 패턴과 destructive action UX의 일반 원칙을 정리했습니다.
-
도구/GitHub
Obsidian 플러그인 릴리스에서 styles.css가 사라지는 이유: GitHub Actions 워크플로우의 빠진 한 줄
커스텀 summary card 디자인을 새로 도입하면서 styles.css가 생겼는데, release.yml의 gh release upload 커맨드에 파일명을 빠뜨려서 GitHub Release asset에서 누락됐습니다. 사용자에게는 "스타일이 안 보인다"는 버그로 나타났고, 2줄 fix로 해결했습니다. Obsidian 플러그인 release workflow 체크리스트도 함께 정리.
-
AI/Claude Code
소스와 테스트를 grep 한 줄로 연결하기: @tested / @covers 양방향 마커 시스템
코드베이스가 커지면 "이 파일에 테스트가 있나?" "이 테스트가 뭘 커버하나?"를 추적하는 비용이 커집니다. JSDoc에 @tested와 @covers 마커를 넣어 소스·테스트 간 양방향 링크를 구축하면, grep 한 줄로 커버리지 맵을 얻을 수 있습니다. 실제 Obsidian 플러그인 프로젝트에 적용한 사례.
-
도구/Obsidian
E2E 스위트가 하나로 부족해진 날: Obsidian 플러그인에 두 번째 CDP 테스트 추가하기
첫 번째 CDP E2E 스위트 글의 속편. multi-config 리팩토링에서 Settings UI를 검증하기 위해 두 번째 E2E 스위트를 추가했고, 그 과정에서 51줄의 CDP 인프라 코드를 공유 모듈로 추출했습니다. 두 스위트를 하나의 Obsidian 인스턴스에서 돌리는 격리 규칙과 공유 경계 설계까지.
-
도구/Obsidian
Singleton을 Per-Instance로 바꾼 뒤 찾아온 메모리 누수: 16줄로 잡은 Orphaned RateLimiter
Obsidian 플러그인의 multi-config 리팩토링 중 발견한 조용한 메모리 누수: config를 삭제해도 그 config가 쓰던 RateLimiter가 공유 Map에 그대로 남았던 버그의 원인과 3파일 16줄짜리 fix. Per-instance 서비스 전환 시 주의해야 할 4가지 cleanup 함정을 정리했습니다.
-
도구/Obsidian
Obsidian 플러그인을 Multi-Database로 리팩토링하기: DatabaseProvider 추상화와 FieldType 정규화
Airtable에 강결합돼 있던 Obsidian 플러그인 서비스 레이어를 provider-agnostic DatabaseProvider 인터페이스로 추상화한 2단계 리팩토링(PR #49, #50) 기록. 런타임 capability flag, 5-way discriminated union credential, 29→11 StandardFieldType 정규화까지 395/395 테스트를 유지하며 진행한 설계 결정을 공유합니다.