diff --git a/skills/work-log/SKILL.md b/skills/work-log/SKILL.md
new file mode 100644
index 0000000..850a5df
--- /dev/null
+++ b/skills/work-log/SKILL.md
@@ -0,0 +1,454 @@
+---
+name: wiki:work-log
+description: 'Confluence 위키 페이지에 업무일지를 작성합니다'
+license: MIT
+---
+
+# Confluence 업무일지 작성
+
+Confluence 위키 페이지에 업무일지를 작성하는 스킬입니다.
+
+## 빠른 참조
+
+**프로세스:**
+1. 위키 페이지 ID 또는 URL 확인 (환경변수 `WIKI_DAILY_WORK_LOG_URL` 우선 사용)
+2. 날짜 입력 (MM/DD 형식)
+3. 업무 내용 입력
+4. 기존 페이지 읽기
+5. 해당 날짜에 업무 내용 추가
+6. 페이지 업데이트
+
+**API 호출 순서:**
+```typescript
+// 1. 페이지 읽기
+const page = await mcp__wiki__get_page_by_id({ page_id: "페이지ID" })
+
+// 2. 내용 파싱 및 업데이트
+// HTML 테이블 형식의 업무일지에서 해당 날짜 행 찾기
+// 업무 내용 추가
+
+// 3. 페이지 업데이트
+await mcp__wiki__update_page({
+ page_id: "페이지ID",
+ title: page.title,
+ body: updatedBody
+})
+```
+
+## 입력 파라미터
+
+### 1. 위키 페이지 식별자 (조건부 필수)
+- **환경변수 우선**: `.env.local`의 `WIKI_DAILY_WORK_LOG_URL`이 설정되어 있으면 자동 사용
+- **수동 입력**: 환경변수가 없거나 다른 페이지를 사용할 경우
+ - **페이지 ID**: 숫자로 된 페이지 ID (예: `684252757`)
+ - **페이지 URL**: Confluence 페이지 전체 URL
+ - URL에서 pageId 추출: `https://wiki.smilegate.net/pages/viewpage.action?pageId=684252757`
+ - `pageId=` 뒤의 숫자가 페이지 ID
+
+### 2. 날짜 (필수)
+- **형식**: `MM/DD` (예: `04/02`, `12/25`)
+- 업무일지 테이블에서 해당 날짜 행을 찾는 데 사용
+
+### 3. 업무 내용 (필수)
+- **형식**: 텍스트 또는 HTML
+- 업무일지의 "진행업무" 열에 추가될 내용
+- HTML 마크업 지원 (리스트, 링크 등)
+
+## 업무일지 테이블 구조
+
+일반적인 업무일지는 다음과 같은 HTML 테이블 구조를 가집니다:
+
+```html
+
+
+
+ | 날짜 |
+ 진행업무 |
+ 기타 기록 |
+
+
+ | 04/01 |
+ 업무 내용... |
+
|
+
+
+ | 04/02 |
+
|
+
|
+
+
+
+```
+
+## 프로세스 상세
+
+### Step 1: 페이지 식별자 추출
+
+URL에서 페이지 ID 추출:
+
+```typescript
+function extractPageId(input: string): string {
+ // 이미 숫자인 경우
+ if (/^\d+$/.test(input)) {
+ return input
+ }
+
+ // URL에서 pageId 추출
+ const match = input.match(/pageId=(\d+)/)
+ if (match) {
+ return match[1]
+ }
+
+ throw new Error('유효한 페이지 ID 또는 URL을 입력해주세요')
+}
+```
+
+### Step 2: 환경변수 확인 및 사용자 입력 받기
+
+먼저 `.env.local`에서 환경변수 확인:
+
+```typescript
+// .env.local 파일 읽기 (Read 툴 사용)
+const envContent = await readFile('.env.local')
+const wikiUrlMatch = envContent.match(/WIKI_DAILY_WORK_LOG_URL=['"](.+?)['"]/)
+const defaultWikiUrl = wikiUrlMatch ? wikiUrlMatch[1] : null
+
+// 환경변수가 있으면 자동 사용, 없으면 사용자에게 입력 받기
+let pageIdInput: string
+
+if (defaultWikiUrl) {
+ console.log(`✅ 환경변수에서 업무일지 URL 발견: ${defaultWikiUrl}`)
+ pageIdInput = defaultWikiUrl
+} else {
+ // 사용자에게 입력 받기
+ const pageAnswer = await askUserQuestion({
+ questions: [{
+ question: "업무일지 페이지 ID 또는 URL을 입력해주세요",
+ header: "페이지",
+ options: [
+ {
+ label: "URL 입력",
+ description: "https://wiki.smilegate.net/pages/viewpage.action?pageId=..."
+ },
+ {
+ label: "페이지 ID 입력",
+ description: "숫자만 입력 (예: 684252757)"
+ }
+ ],
+ multiSelect: false
+ }]
+ })
+ pageIdInput = pageAnswer.페이지 // Other 응답에서 실제 값 가져오기
+}
+
+// 날짜 입력 받기
+const dateAnswer = await askUserQuestion({
+ questions: [{
+ question: "날짜를 입력해주세요 (MM/DD 형식)",
+ header: "날짜",
+ options: [
+ { label: "오늘", description: "오늘 날짜 자동 입력" },
+ { label: "직접 입력", description: "Other를 선택하여 MM/DD 형식으로 입력" }
+ ],
+ multiSelect: false
+ }]
+})
+
+// 업무 내용은 별도로 입력받기 (긴 텍스트)
+const contentAnswer = await askUserQuestion({
+ questions: [{
+ question: "업무 내용을 입력해주세요\n(Jira 이슈 번호를 포함하면 자동으로 링크가 생성됩니다)",
+ header: "업무내용",
+ options: [
+ { label: "직접 입력", description: "Other를 선택하여 상세 내용 입력" }
+ ],
+ multiSelect: false
+ }]
+})
+```
+
+### Step 3: 날짜 처리
+
+```typescript
+function formatDate(dateInput: string): string {
+ if (dateInput === "오늘") {
+ const today = new Date()
+ const month = String(today.getMonth() + 1).padStart(2, '0')
+ const day = String(today.getDate()).padStart(2, '0')
+ return `${month}/${day}`
+ }
+
+ // MM/DD 형식 검증
+ if (!/^\d{2}\/\d{2}$/.test(dateInput)) {
+ throw new Error('날짜는 MM/DD 형식으로 입력해주세요 (예: 04/02)')
+ }
+
+ return dateInput
+}
+```
+
+### Step 4: 페이지 읽기 및 파싱
+
+```typescript
+// 페이지 내용 가져오기
+const page = await mcp__wiki__get_page_by_id({
+ page_id: pageId,
+ expand: "body.storage,version"
+})
+
+const currentBody = page.body.storage.value
+const currentTitle = page.title
+```
+
+### Step 5: 업무 내용 포맷팅
+
+Jira 이슈 자동 링크 변환:
+
+```typescript
+function formatWorkContent(content: string): string {
+ // SWV-123 형식을 Jira 링크로 변환
+ const withJiraLinks = content.replace(
+ /\b(SWV-\d+)\b/g,
+ '$1'
+ )
+
+ // 간단한 마크다운 스타일 HTML 변환
+ let formatted = withJiraLinks
+
+ // 줄바꿈 처리
+ formatted = formatted.replace(/\n/g, '
')
+
+ return formatted
+}
+```
+
+### Step 6: 테이블에서 날짜 행 찾기 및 업데이트
+
+```typescript
+function updateWorkLog(htmlBody: string, date: string, content: string): string {
+ // 날짜 셀 찾기: 04/02 |
+ const datePattern = new RegExp(
+ `(]*style="text-align: center;"[^>]*>${date} | \\s*]*>)([^<]*|.*?)( | )`,
+ 'i'
+ )
+
+ const match = htmlBody.match(datePattern)
+
+ if (!match) {
+ throw new Error(`날짜 ${date}에 해당하는 행을 찾을 수 없습니다.`)
+ }
+
+ // 기존 내용이
만 있는 경우 대체, 아니면 추가
+ const existingContent = match[2].trim()
+ const newContent = existingContent === '
' || existingContent === ''
+ ? content
+ : existingContent + '
' + content
+
+ // 업데이트된 HTML 반환
+ return htmlBody.replace(datePattern, `$1${newContent}$3`)
+}
+```
+
+### Step 7: 페이지 업데이트
+
+```typescript
+const updatedBody = updateWorkLog(currentBody, date, formattedContent)
+
+await mcp__wiki__update_page({
+ page_id: pageId,
+ title: currentTitle,
+ body: updatedBody
+})
+
+console.log(`✅ 업무일지 업데이트 완료`)
+console.log(`📅 날짜: ${date}`)
+console.log(`🔗 페이지: https://wiki.smilegate.net/pages/viewpage.action?pageId=${pageId}`)
+```
+
+## 업무 내용 작성 예시
+
+### 예시 1: 간단한 업무
+
+**입력:**
+```
+로드나인 아시아 사전등록 페이지 버그 수정
+```
+
+**결과:**
+```html
+로드나인 아시아 사전등록 페이지 버그 수정
+```
+
+### 예시 2: Jira 이슈 포함
+
+**입력:**
+```
+FE AI 표준화 로드맵 기술 검토 (SWV-955)
+Schema.org 구조화된 데이터 추가 (SWV-956)
+```
+
+**결과:**
+```html
+FE AI 표준화 로드맵 기술 검토 (SWV-955)
+Schema.org 구조화된 데이터 추가 (SWV-956)
+```
+
+### 예시 3: 구조화된 업무 내용
+
+**입력:**
+```
+FE AI 표준화 및 SEO 개선
+
+- FE AI 표준화 로드맵 기술 검토 (SWV-955)
+ - Nuxt 3 기반 FE 개발 프로세스와 Claude Code AI Skills 통합
+ - 개발 프로세스 전 단계(기획~검증) AI 어시스턴트 활용 체계 수립
+
+- Schema.org 구조화된 데이터 추가 (SWV-956)
+ - SEO 최적화 및 검색 엔진 가시성 개선 작업
+ - JSON-LD 형식으로 구조화된 데이터 구현 방안 검토
+```
+
+**결과:**
+```html
+FE AI 표준화 및 SEO 개선
+
+ - FE AI 표준화 로드맵 기술 검토 (SWV-955)
+
+ - Nuxt 3 기반 FE 개발 프로세스와 Claude Code AI Skills 통합
+ - 개발 프로세스 전 단계(기획~검증) AI 어시스턴트 활용 체계 수립
+
+
+ - Schema.org 구조화된 데이터 추가 (SWV-956)
+
+ - SEO 최적화 및 검색 엔진 가시성 개선 작업
+ - JSON-LD 형식으로 구조화된 데이터 구현 방안 검토
+
+
+
+```
+
+## 에러 처리
+
+### 1. 페이지를 찾을 수 없는 경우
+
+```typescript
+try {
+ const page = await mcp__wiki__get_page_by_id({ page_id: pageId })
+} catch (error) {
+ console.error(`❌ 페이지를 찾을 수 없습니다: ${pageId}`)
+ console.error('페이지 ID 또는 URL을 확인해주세요.')
+ throw error
+}
+```
+
+### 2. 날짜를 찾을 수 없는 경우
+
+```typescript
+if (!htmlBody.includes(`>${date}`)) {
+ console.error(`❌ 날짜 ${date}를 찾을 수 없습니다.`)
+ console.error('업무일지 테이블에 해당 날짜가 있는지 확인해주세요.')
+ throw new Error(`날짜 ${date}에 해당하는 행을 찾을 수 없습니다.`)
+}
+```
+
+### 3. 페이지 업데이트 실패
+
+```typescript
+try {
+ await mcp__wiki__update_page({
+ page_id: pageId,
+ title: currentTitle,
+ body: updatedBody
+ })
+} catch (error) {
+ console.error(`❌ 페이지 업데이트 실패`)
+ console.error('권한이 있는지 확인해주세요.')
+ throw error
+}
+```
+
+## 사용 예시
+
+### 기본 사용 (환경변수 설정됨)
+
+`.env.local`에 `WIKI_DAILY_WORK_LOG_URL`이 설정되어 있으면:
+
+```bash
+/wiki:work-log
+```
+
+스킬 실행 후:
+1. ✅ 환경변수에서 페이지 URL 자동 인식 (입력 불필요)
+2. 날짜 선택: "오늘" 또는 "04/02"
+3. 업무 내용 입력:
+ ```
+ FE AI 표준화 및 SEO 개선
+
+ - FE AI 표준화 로드맵 기술 검토 (SWV-955)
+ - Nuxt 3 기반 FE 개발 프로세스와 Claude Code AI Skills 통합
+
+ - Schema.org 구조화된 데이터 추가 (SWV-956)
+ - SEO 최적화 및 검색 엔진 가시성 개선 작업
+ ```
+
+### 고급 사용: Jira 이슈 자동 연동
+
+업무 내용에 Jira 이슈 번호를 포함하면 자동으로 링크가 생성됩니다:
+
+```
+로드나인 사전등록 기능 개선 (SWV-960)
+SEO 메타 태그 최적화 (SWV-961)
+```
+
+→ 자동 변환:
+
+```html
+로드나인 사전등록 기능 개선 (SWV-960)
+SEO 메타 태그 최적화 (SWV-961)
+```
+
+## 환경변수 설정
+
+기본 업무일지 페이지를 환경변수로 설정하면 매번 입력할 필요가 없습니다.
+
+### `.env.local` 설정
+
+```bash
+# Confluence 업무일지 페이지 URL
+WIKI_DAILY_WORK_LOG_URL='https://wiki.smilegate.net/pages/viewpage.action?pageId=YOUR_PAGE_ID'
+```
+
+**예시:**
+```bash
+WIKI_DAILY_WORK_LOG_URL='https://wiki.smilegate.net/pages/viewpage.action?pageId=684252757'
+```
+
+### 환경변수 우선순위
+
+1. `.env.local`에 `WIKI_DAILY_WORK_LOG_URL` 설정됨 → 자동 사용
+2. 환경변수 없음 → 사용자에게 수동 입력 요청
+
+### 다른 페이지 사용하기
+
+환경변수가 설정되어 있어도 다른 페이지에 작성하려면:
+- 스킬 실행 시 "Other"를 선택하여 다른 페이지 URL/ID 입력 가능
+
+## 주의사항
+
+- **페이지 권한**: 페이지를 수정할 수 있는 권한이 필요합니다
+- **날짜 형식**: MM/DD 형식을 정확히 지켜야 합니다 (예: `04/02`, `12/25`)
+- **테이블 구조**: 업무일지가 표준 테이블 구조를 따라야 합니다
+- **기존 내용**: 해당 날짜에 이미 내용이 있으면 추가됩니다 (덮어쓰지 않음)
+- **HTML 형식**: 업무 내용은 Confluence HTML 형식을 따라야 합니다
+
+## 토큰 효율
+
+이 스킬 문서: ~2000 tokens
+
+## 검증 완료
+
+이 스킬은 실제 Confluence 업무일지 작성으로 검증되었습니다:
+- 테스트 페이지: 684252757 (2604_김형길 차장)
+- 작성일: 2026-04-02
+- 상태: 성공적으로 업데이트 완료
+- 환경변수: `.env.local`의 `WIKI_DAILY_WORK_LOG_URL` 지원 추가됨