diff --git a/skills-lock.json b/skills-lock.json index 80ee8ef..3ee19b1 100644 --- a/skills-lock.json +++ b/skills-lock.json @@ -1,83 +1,83 @@ -{ - "version": 1, - "skills": { - "brandkit": { - "source": "Leonxlnx/taste-skill", - "sourceType": "github", - "skillPath": "skills/brandkit/SKILL.md", - "computedHash": "735007879f5110aeae1e981a53fe74a12afde70347f9773dacd50e4697a091bf" - }, - "design-taste-frontend": { - "source": "Leonxlnx/taste-skill", - "sourceType": "github", - "skillPath": "skills/taste-skill/SKILL.md", - "computedHash": "899b84384f74f540ea5284d9b2e9234e050998b42eacc805410b518d4226c0b3" - }, - "design-taste-frontend-v1": { - "source": "Leonxlnx/taste-skill", - "sourceType": "github", - "skillPath": "skills/taste-skill-v1/SKILL.md", - "computedHash": "0a226c13d69639553cf8a7c40aa5527b026820f8ddaf7a6b263988e32ab44a27" - }, - "full-output-enforcement": { - "source": "Leonxlnx/taste-skill", - "sourceType": "github", - "skillPath": "skills/output-skill/SKILL.md", - "computedHash": "524f7c7950c3fde726101613f630140411c7d080e63be718687f4b38f919be81" - }, - "gpt-taste": { - "source": "Leonxlnx/taste-skill", - "sourceType": "github", - "skillPath": "skills/gpt-tasteskill/SKILL.md", - "computedHash": "7bd1bfdda0e51016ca222693401a65fc0dd9bf9487e0bd5b1740ba510f6f963a" - }, - "high-end-visual-design": { - "source": "Leonxlnx/taste-skill", - "sourceType": "github", - "skillPath": "skills/soft-skill/SKILL.md", - "computedHash": "f730e4132775f13eea19e3dc39afc6bb453cfc0498872b127ad8f0d47cfd802d" - }, - "image-to-code": { - "source": "Leonxlnx/taste-skill", - "sourceType": "github", - "skillPath": "skills/image-to-code-skill/SKILL.md", - "computedHash": "3d2ac14d956fdafc5500d2108b90895e134d847f9f199e7f1d18bf1f814cf7c8" - }, - "imagegen-frontend-mobile": { - "source": "Leonxlnx/taste-skill", - "sourceType": "github", - "skillPath": "skills/imagegen-frontend-mobile/SKILL.md", - "computedHash": "7c1d1dc59cd0df4063b8621af543bf5dea1d576b261507e17b0323c69680b048" - }, - "imagegen-frontend-web": { - "source": "Leonxlnx/taste-skill", - "sourceType": "github", - "skillPath": "skills/imagegen-frontend-web/SKILL.md", - "computedHash": "27255c7c50181e58add156b2aa2bd5325285b85f04027e4c8b73742d98d7be0a" - }, - "industrial-brutalist-ui": { - "source": "Leonxlnx/taste-skill", - "sourceType": "github", - "skillPath": "skills/brutalist-skill/SKILL.md", - "computedHash": "e66e5a2a8b73cef79ab6546459c665e8b983645689c5f3772f7eed8b9f1e8e0e" - }, - "minimalist-ui": { - "source": "Leonxlnx/taste-skill", - "sourceType": "github", - "skillPath": "skills/minimalist-skill/SKILL.md", - "computedHash": "7e88897e0371184e97a82b8d9ef080323c13f21eb067b58ef71eb05173a08ac2" - }, - "redesign-existing-projects": { - "source": "Leonxlnx/taste-skill", - "sourceType": "github", - "skillPath": "skills/redesign-skill/SKILL.md", - "computedHash": "47eced3e960a2c961d3cbee11fa1216264f589344b586a5cbd03967cd6b9c54b" - }, - "stitch-design-taste": { - "source": "Leonxlnx/taste-skill", - "sourceType": "github", - "skillPath": "skills/stitch-skill/SKILL.md", - "computedHash": "c96b580192b34167efa01f460bbc669ff4315cf97f3cf6ff85ded8029aa720b8" - } - } -} +{ + "version": 1, + "skills": { + "brandkit": { + "source": "Leonxlnx/taste-skill", + "sourceType": "github", + "skillPath": "skills/brandkit/SKILL.md", + "computedHash": "735007879f5110aeae1e981a53fe74a12afde70347f9773dacd50e4697a091bf" + }, + "design-taste-frontend": { + "source": "Leonxlnx/taste-skill", + "sourceType": "github", + "skillPath": "skills/taste-skill/SKILL.md", + "computedHash": "899b84384f74f540ea5284d9b2e9234e050998b42eacc805410b518d4226c0b3" + }, + "design-taste-frontend-v1": { + "source": "Leonxlnx/taste-skill", + "sourceType": "github", + "skillPath": "skills/taste-skill-v1/SKILL.md", + "computedHash": "0a226c13d69639553cf8a7c40aa5527b026820f8ddaf7a6b263988e32ab44a27" + }, + "full-output-enforcement": { + "source": "Leonxlnx/taste-skill", + "sourceType": "github", + "skillPath": "skills/output-skill/SKILL.md", + "computedHash": "524f7c7950c3fde726101613f630140411c7d080e63be718687f4b38f919be81" + }, + "gpt-taste": { + "source": "Leonxlnx/taste-skill", + "sourceType": "github", + "skillPath": "skills/gpt-tasteskill/SKILL.md", + "computedHash": "7bd1bfdda0e51016ca222693401a65fc0dd9bf9487e0bd5b1740ba510f6f963a" + }, + "high-end-visual-design": { + "source": "Leonxlnx/taste-skill", + "sourceType": "github", + "skillPath": "skills/soft-skill/SKILL.md", + "computedHash": "f730e4132775f13eea19e3dc39afc6bb453cfc0498872b127ad8f0d47cfd802d" + }, + "image-to-code": { + "source": "Leonxlnx/taste-skill", + "sourceType": "github", + "skillPath": "skills/image-to-code-skill/SKILL.md", + "computedHash": "3d2ac14d956fdafc5500d2108b90895e134d847f9f199e7f1d18bf1f814cf7c8" + }, + "imagegen-frontend-mobile": { + "source": "Leonxlnx/taste-skill", + "sourceType": "github", + "skillPath": "skills/imagegen-frontend-mobile/SKILL.md", + "computedHash": "7c1d1dc59cd0df4063b8621af543bf5dea1d576b261507e17b0323c69680b048" + }, + "imagegen-frontend-web": { + "source": "Leonxlnx/taste-skill", + "sourceType": "github", + "skillPath": "skills/imagegen-frontend-web/SKILL.md", + "computedHash": "27255c7c50181e58add156b2aa2bd5325285b85f04027e4c8b73742d98d7be0a" + }, + "industrial-brutalist-ui": { + "source": "Leonxlnx/taste-skill", + "sourceType": "github", + "skillPath": "skills/brutalist-skill/SKILL.md", + "computedHash": "e66e5a2a8b73cef79ab6546459c665e8b983645689c5f3772f7eed8b9f1e8e0e" + }, + "minimalist-ui": { + "source": "Leonxlnx/taste-skill", + "sourceType": "github", + "skillPath": "skills/minimalist-skill/SKILL.md", + "computedHash": "7e88897e0371184e97a82b8d9ef080323c13f21eb067b58ef71eb05173a08ac2" + }, + "redesign-existing-projects": { + "source": "Leonxlnx/taste-skill", + "sourceType": "github", + "skillPath": "skills/redesign-skill/SKILL.md", + "computedHash": "47eced3e960a2c961d3cbee11fa1216264f589344b586a5cbd03967cd6b9c54b" + }, + "stitch-design-taste": { + "source": "Leonxlnx/taste-skill", + "sourceType": "github", + "skillPath": "skills/stitch-skill/SKILL.md", + "computedHash": "c96b580192b34167efa01f460bbc669ff4315cf97f3cf6ff85ded8029aa720b8" + } + } +} diff --git a/specs/006-opencode-django-backend/stage-2.md b/specs/006-opencode-django-backend/stage-2.md index 6d95aa7..1b3f1e4 100644 --- a/specs/006-opencode-django-backend/stage-2.md +++ b/specs/006-opencode-django-backend/stage-2.md @@ -25,3 +25,4 @@ - [ ] 보낸 이미지가 재진입 시 사라짐 — ChatMessage 는 content(텍스트)만 저장, 이미지는 OpenCode 로만 넘김. 서버 파일로 저장하고 경로를 메시지에 붙여 조회 API 가 같이 돌려주게. 프론트 Message 렌더 포함, 반나절. - [x] 9/21 고객사 -12: SAP MCP 별도 기동(도구 6개), PostgreSQL 전환(외부 PG, 스키마 codeassist, sslmode=disable 임시 → env 화 패치 예정) - [ ] -12 코드 최신화 — stats 앱·타임아웃 env·sslmode env·MCP 템플릿. 패치 zip 으로. 앱은 재빌드·재설치(로고 제거·삼성 팔레트·Esc 중단·관리자 화면) +- [ ] **스니펫 공용화(결정 9/21: 공용 PostgreSQL 하나, 개인 로컬 없음)** — backend `snippets` 앱(모델·CRUD·143개 import), 프론트 훅을 API 로, Tauri 로컬 snippets.db 코드 제거. 시드는 `../CODE_ASSISTANT_DB/snippets.db`(143건). 10월 초, 1.5일 diff --git a/z-my-docs/work-log/2026-09/2026-09-21.md b/z-my-docs/work-log/2026-09/2026-09-21.md index 76a848a..cd91a1a 100644 --- a/z-my-docs/work-log/2026-09/2026-09-21.md +++ b/z-my-docs/work-log/2026-09/2026-09-21.md @@ -18,3 +18,4 @@ | 15:21 | taste-skill 설치·적용 — 랜딩용이라 대부분 해당 없고 3개만: 삼성 팔레트 글씨 순검정→#111, radius 규칙(버튼 알약/카드·입력 10px), 버튼 눌림 피드백 | | 15:28 | 새 대화 전송 시 세션 생성(OpenCode 왕복) 동안 헤로에 머물던 것 — 즉시 내 말풍선+'생각하는 중' 시머로 바꿔 넘어간 느낌, 실패하면 헤로 복귀+토스트(전엔 pending 안 풀려 영원히 '응답 중'). mutate 콜백 패턴으로 | | 15:34 | '생각하는 중' 자리가 답변(Message)과 다른 모양(테두리 카드, AI 배지 없음)이던 것 — ThinkingBubble 로 통일. 세 군데(새 대화·스트리밍 첫 토큰 전·재진입 대기) | +| 15:59 | 스니펫 저장 방식 결정 — 공용 PostgreSQL 하나(개인 로컬 없음). 시드 143건은 팀원이 준 CODE_ASSISTANT_DB/snippets.db |