Analyzes daily chat logs to generate a structured draft for an Obsidian daily note.

Install

mkdir -p .claude/skills/my-daily-log && curl -L -o skill.zip "https://agentskills.codes/api/skills/download/11609" && unzip -o skill.zip -d .claude/skills/my-daily-log && rm skill.zip

Installs to .claude/skills/my-daily-log

Activation

This is the description your AI agent reads to decide when to run this skill — the better it matches your request, the more reliably it fires.

오늘 Claude Code 대화 로그를 분석하여 Obsidian 일지 초안을 생성합니다. 업무 종료 후 일지 작성 시 사용하세요.
72 charsno explicit “when” trigger
Beginner

Key capabilities

  • Analyze Claude Code conversation logs
  • Extract user queries from JSONL files
  • Classify extracted queries into categories
  • Generate an Obsidian journal draft
  • Include non-development tasks and additional memos
  • Output a formatted markdown template

How it works

The skill analyzes daily Claude Code conversation logs, extracts user messages, classifies them into categories like '개발 Done' or '기술 Todo', and then generates a formatted Obsidian journal draft.

Inputs & outputs

You give it
Claude Code conversation logs (JSONL files) for the current day, optional additional context
You get back
Obsidian journal draft in markdown format

When to use my-daily-log

  • Generate daily dev work summary
  • Create obsidian log entry
  • Analyze daily conversation history

About this skill

오늘 하루 작업한 내용을 분석하여 Obsidian 일지 초안을 생성합니다.

Agent tool을 호출하세요. 파라미터:

  • description: "일일 업무 일지 초안 생성"
  • prompt: 아래 내용 전달

오늘 날짜 기준으로 Claude Code 대화 로그를 분석하여 Obsidian 일지 초안을 생성합니다. 추가 컨텍스트: $ARGUMENTS

1단계: 로그 파일 탐색

현재 작업 디렉토리를 확인합니다 (pwd).

Claude Code 프로젝트 로그 경로를 계산합니다:

  • 현재 경로의 /-로 치환하여 ~/.claude/projects/{변환된경로}/ 구성
  • 예: /Users/mosong/Project~/.claude/projects/-Users-mosong-Project/

오늘 날짜(YYYY-MM-DD)의 JSONL 파일을 찾습니다:

ls -la ~/.claude/projects/{로그디렉토리}/*.jsonl

수정 날짜가 오늘인 파일을 모두 대상으로 합니다. 파일이 여러 개면 모두 처리합니다.

2단계: 사용자 질의 추출

오늘의 각 JSONL 파일에서 사용자 메시지를 다음 Python 스크립트로 추출합니다:

import sys, json

def extract_messages(filepath):
    messages = []
    with open(filepath) as f:
        for line in f:
            line = line.strip()
            if not line:
                continue
            try:
                obj = json.loads(line)
                if obj.get('type') == 'user' and 'message' in obj:
                    msg = obj['message']
                    if isinstance(msg, dict) and msg.get('role') == 'user':
                        content = msg.get('content', '')
                        ts = obj.get('timestamp', '')[:19]
                        if isinstance(content, list):
                            for c in content:
                                if isinstance(c, dict) and c.get('type') == 'text':
                                    text = c.get('text', '').strip()
                                    if text and not text.startswith('<') and len(text) > 10:
                                        messages.append((ts, text[:400]))
                        elif isinstance(content, str):
                            text = content.strip()
                            if text and not text.startswith('<') and len(text) > 10:
                                messages.append((ts, text[:400]))
            except:
                pass
    return messages

for path in sys.argv[1:]:
    for ts, m in extract_messages(path):
        print(f"[{ts}] {m}")
        print()

system-reminder, task-notification, command-message 등 메타 메시지는 무시합니다.

3단계: 내용 분류

추출된 질의를 아래 기준으로 분류합니다:

버킷기준
개발 Done코드 구현, API 설계/분석, 버그 수정, 스크립트 작성 완료
비개발 Done기획 검토, 팀 운영, 환경 세팅, 기술 조사, 불필요 작업 차단
학습 Done문서 리딩, 기술 개념 탐구, 개인 학습
기술 Todo오늘 알게 된 개념 중 더 깊이 파야 할 것, 미완성 기술 작업
경영지원 Todo팀 운영 후속, 미완성 비개발 업무
기타 Todo개인 후속 처리
Memo오늘 얻은 인사이트, 다음 작업 시 참고할 패턴, 주의사항

Done 항목은 "무엇을 왜 했는지"가 드러나도록 한 줄로 작성합니다. 단순 명령 실행이나 중단된 요청은 제외합니다.

4단계: 초안 출력

아래 형식을 코드블록으로 감싸서 복붙 가능하게 출력합니다. 항목이 없는 섹션은 비워두되 섹션 제목은 유지합니다.

# {YYYY-MM-DD}

[[{YYYY} {M}월 목표]]

## Todo
### 기술
- 

### 경영지원
- 

### 기타
- 

## Done
### 개발
- 

### 비개발
- 

### 학습
- 

## Memo
- 

## Reference
- 

에이전트 완료 후 사용자에게 안내합니다:

  • 생성된 초안을 Obsidian 일지에 복붙하면 됩니다
  • $ARGUMENTS 에 추가 업무 내용을 넣으면 Done/Todo에 반영됩니다

When not to use it

  • When the user wants to generate the log during active work, as it's for end-of-day reporting.
  • When the Claude Code project log path cannot be calculated or found.

Limitations

  • Ignore system-reminder, task-notification, command-message, etc. meta messages.
  • Exclude simple command execution or interrupted requests from 'Done' items.
  • If writing fails, report the error clearly.

How it compares

This skill automates the creation of a structured daily journal from conversation logs, providing a categorized summary of work and insights, which is more efficient than manual log review and note-taking.

Compared to similar skills

my-daily-log side by side with the closest alternatives in the catalog.

SkillInstallsUpdatedSafetyDifficulty
my-daily-log (this skill)01moReviewBeginner
diary03moReviewAdvanced
session-review02moReviewIntermediate
harnesscp-memory04moReviewIntermediate

Try saying

Example prompts that trigger this skill in your AI assistant.

Search skills

Search the agent skills registry