Skip to main content

punchout

하루/주간 마무리 도장 — day-query 결과를 org-mode 형식으로 저널에 삽입. 하루 마무리 시 '/punchout' 한 번이면 끝. 주 단위 회고는 '주간 마무리' 섹션으로 week 파일에 통합 삽입. Use when user says 'punchout', '퇴근', '오늘 마무리', '하루 마무리', 'punch out', '도장', '주간 마무리', '지난주 정리', 'weekly wrap-up', or wants a daily/weekly summary written to journal.

跳到安装

来源信息

仓库
junghan0611/agent-config
最近来源活动
2026年9月14日 01:18
检测到的 SKILL.md 语言
韩语
星标
5
分支
0

安装方式

默认使用会先检查来源的 Prompt;你也可以切换为直接命令,或下载本地副本。

检查来源文件

决定是否安装前,请先阅读 SKILL.md,以及 SkillsMP 当前展示的配套文件。

正在显示 SKILL.md

SKILL.md
来源说明 · 只读预览
name
punchout
description
하루/주간 마무리 도장 — day-query 결과를 org-mode 형식으로 저널에 삽입. 하루 마무리 시 '/punchout' 한 번이면 끝. 주 단위 회고는 '주간 마무리' 섹션으로 week 파일에 통합 삽입. Use when user says 'punchout', '퇴근', '오늘 마무리', '하루 마무리', 'punch out', '도장', '주간 마무리', '지난주 정리', 'weekly wrap-up', or wants a daily/weekly summary written to journal.
user_invocable
true
# punchout — 하루/주간 마무리 도장 day-query 결과를 **org-mode 호환 형식**으로 저널에 삽입한다. 기본은 하루 단위, 요청 시 주간 통합으로도 찍는다(아래 [주간 마무리](#주간-마무리-weekly) 참고). ## When to Use - `/punchout` — 기본 (오늘) - `/punchout 2026-02-22` — 특정 날짜 - "퇴근", "하루 마무리", "오늘 마무리", "도장 찍어줘", "펀치아웃" - "주간 마무리", "지난주 정리해줘", "이번주 마무리", "week 파일 도장" — [주간 마무리](#주간-마무리-weekly) 참고 ## 실행 순서 ### 1단계: 현재 시각 확인 ```bash TZ='Asia/Seoul' date '+%H:%M' ``` ### 2단계: day-query 데이터 수집 day-query 스킬의 1단계(개요)를 실행한다: ```bash gitcli day <DATE> --me --summary denotecli day <DATE> --dirs ~/org lifetract read <DATE> --data-dir ~/repos/gh/self-tracking-data ``` `<DATE>` 기본값: 오늘 (`TZ='Asia/Seoul' date '+%Y-%m-%d'`). ### 3단계: 저널 파일 찾기 ```bash denotecli day <DATE> --dirs ~/org ``` JSON 응답의 `journal.source` 경로가 저널 파일이다. ### 4단계: 삽입 위치 결정 저널 파일에서 `* NEWNOTES` 헤딩 **바로 위**에 삽입한다. `* NEWNOTES`가 없으면 파일 끝에 삽입. ### 5단계: org-mode 형식으로 작성 **반드시 아래 양식을 따른다.** 마크다운 표(|---|), ASCII 테이블 금지. ```org ** HH:MM 하루 마무리 :PUNCHOUT: <YYYY-MM-DD Day HH:MM> *N커밋 · M리포* - 리포명 (커밋수) — 한줄 설명 - 리포명 (커밋수) — 한줄 설명 - 리포명 (커밋수), 리포명 (커밋수) — 소규모는 묶기 타임라인: HH:MM 내용 → HH:MM 내용 → HH:MM 내용 ``` ### 양식 규칙 1. **헤딩**: `** HH:MM 하루 마무리 :PUNCHOUT:` (현재 시각, 태그 필수) 2. **타임스탬프**: 헤딩 바로 아래 `<YYYY-MM-DD Day HH:MM>` (org-agenda 연동 필수) 3. **첫 줄**: bold 한줄 요약 — `*총커밋 · 리포수*` - 시간범위(`HH:MM~HH:MM`)나 지속시간(`Xh`)은 넣지 않는다. - 커밋 시각은 실제 작업 시작/종료를 대변하지 못하므로 punchout 요약에서 제외한다. 4. **리포 목록**: org 리스트(`- `) — 커밋 많은 순, 3개 이하는 한 줄로 묶기 5. **타임라인**: 저널 엔트리를 `→`로 연결한 한 줄 (너무 길면 2줄까지) 6. **건강 데이터**: lifetract에 데이터 있으면 추가: - `수면 Xh · 걸음 N · 심박 평균 N` 7. **커밋 0건인 날**: 리포 목록 대신 `코딩 활동 없음` 한 줄 8. **절대 금지**: - 마크다운 표 (`| col1 | col2 |`) - ASCII 테이블 - 코드블록 안에 요약 넣기 - `#+BEGIN_SRC` 래핑 ### 6단계: edit 도구로 삽입 ``` edit( path: 저널파일경로, oldText: "* NEWNOTES", newText: "<punchout 블록>\n\n* NEWNOTES" ) ``` **기존 내용은 절대 건드리지 않는다.** `* NEWNOTES` 앞에 끼워넣기만. ## 중복 방지 삽입 전에 저널 파일에서 `:PUNCHOUT:` 태그를 검색한다. 이미 있으면 "이미 punchout이 있습니다. 덮어쓸까요?" 확인 후 진행. 주간 마무리는 헤딩 텍스트("주간 마무리")로 따로 검색한다 — 같은 파일에 일간 `:PUNCHOUT:`이 여럿 있어도 정상이다. ## 주간 마무리 (Weekly) Denote 주간 저널(`journal/<월요일ID>__journal_weekNN.org`, 월~일 한 파일)을 통째로 훑어 **한 주 통합 punchout**을 그 파일에 한 번 찍는다. 일간 punchout(하루 단위, `* YYYY-MM-DD Day` 아래 여러 번)과는 별개 블록이며 서로 덮어쓰지 않는다. ### 1단계: 대상 주 확정 ```bash denotecli day <DATE> --dirs ~/org # DATE는 대상 주 아무 날짜(보통 지난주 아무 요일) ``` `journal.source`가 대상 week 파일. 파일명·`#+title`·헤딩(`* YYYY-MM-DD Day`)에서 월요일~일요일 날짜 범위를 확정한다. ### 2단계: 요일별 커밋 합산 `gitcli day`에는 주 단위 옵션이 없다 — 7일을 개별 호출해 `repos_summary`를 리포별로 합산한다. ```bash for d in <월요일> <화> <수> <목> <금> <토> <일요일 날짜들>; do gitcli day "$d" --me --summary done ``` 리포명 키는 `repos_summary[].name`(day-query 관례인 `.repo`가 아니다). 합산 후 커밋 많은 순으로 정렬. ### 3단계: 저널 전체 정독 week 파일을 처음(월)부터 끝(일)까지 읽는다. 요일 헤딩(`* YYYY-MM-DD Day`)마다: - 그날 이미 일간 `:PUNCHOUT:` 블록이 있으면 그 요약(리포·타임라인·건강 데이터)을 그대로 재사용 — 다시 계산하지 않는다. - 없는 요일(주말에 흔함)은 그날의 헤딩/본문에서 상징적인 사건 1~2개를 직접 추출한다. ### 4단계: 건강 데이터 일간 punchout에 이미 박힌 `수면 Xh · 걸음 N · 심박 평균 N` 값을 그대로 가져와 요일별로 나열한다. 일간 punchout이 없는 요일만 `lifetract read <DATE>`로 재확인하고, 그래도 없으면 그 요일은 생략하고 "요일들 미기록"으로 한 줄에 정리한다(lifetract가 며칠씩 자동 기록이 비는 일이 흔하다). ### 5단계: `#+description` 갱신 파일 상단 `#+description:`은 보통 그 주 첫 며칠(작성 당시 시점)까지만 담겨 있다. 요일별 아크를 월→일 순서로 한 문단에 압축해 **전체 주**를 다시 요약하고 덮어쓴다. 하루짜리 문장을 이어붙이지 말고, 그 주를 관통하는 흐름(고민 시작 → 전환 → 정착 같은)으로 다시 쓴다. ### 6단계: 삽입 위치와 형식 일요일 섹션의 마지막 엔트리 **뒤**, `* NEWNOTES` 헤딩 **바로 위**에 삽입한다(일간 규칙과 동일하게 기존 내용은 건드리지 않는다). ```org ** HH:MM 주간 마무리 :PUNCHOUT: <YYYY-MM-DD Sun HH:MM> *N커밋 · M리포* (YYYY-MM-DD~MM-DD) - 리포명 (커밋수) — 한줄 설명 (그 주에 있었던 일 위주) - 리포명 (커밋수) — 한줄 설명 - 리포명 (커밋수), 리포명 (커밋수) — 소규모는 묶기 - 그 외 리포A·리포B·... 각 N — 소규모 다발 한 줄로 묶기 타임라인: - MM-DD(월) 그날 상징적 사건 1~2개 - MM-DD(화) 그날 상징적 사건 1~2개 - ... (일요일까지 7줄) 수면·걸음·심박: 월(Xh·N보·N) · 화(Xh·N보·N) · ... — 미기록 요일은 뒤에 "OO/OO 미기록"으로 표기 ``` 일간 규칙(3·4·5·7·8번)을 그대로 따르되, 첫 줄에 `(YYYY-MM-DD~MM-DD)` 날짜 범위를 덧붙이고 타임라인은 시각이 아니라 **요일 단위 불릿 리스트**로 쓴다. ### 7단계: 재구성 노트 (작성 시점이 그 주 이후일 때) 주간 마무리는 보통 다음 주(또는 그 이후)에 회고로 작성된다. 블록 끝에 `[!assistant]` 인용을 하나 덧붙여 **언제·왜 다시 훑었는지, description도 같이 갱신했는지, 커밋/건강 데이터 출처**를 한 단락으로 남긴다. ```org #+begin_quote [!assistant] [YYYY-MM-DD] 주간 마무리 재구성 — 일간 punchout이 N번뿐이라(요일 미기록 포함) GLG 요청으로 저널 전체를 다시 훑어 주간 통합으로 새로 썼다. 위 description(#+description)도 같은 이유로 갱신했다. 커밋 집계는 gitcli day×7 합산, 건강 데이터는 일일 punchout에 이미 박혀 있던 값을 그대로 가져왔다. #+end_quote ``` ## 출력 예시 ```org ** 19:05 하루 마무리 :PUNCHOUT: <2026-02-27 Fri 19:05> *84커밋 · 6리포* - homeagent-config (34) — 홈에이전트 설정 집중 - pi-skills (20) — 스킬 업데이트/계층화 - sks-hub-zig (17) — 회사 프로젝트 - gitcli (6), denotecli (4), pi-mono (3) — CLI 개선 타임라인: 10:00 출근 → 11:32 식사 → 15:04 에이전트 개선 → 15:48 계층화 → 17:14 "오늘 많이했다" → 18:49 캘린더 등록 수면 6.5h · 걸음 8,234 · 심박 평균 72 ``` 주간 마무리 예시(week 파일, 일요일 섹션 끝): ```org ** 22:35 주간 마무리 :PUNCHOUT: <2026-09-13 Sun 22:35> *389커밋 · 24리포* (2026-09-07~09-13) - homepage (63) — Hextra 재구축에서 SICM/Emmy eval 페이지까지 - entwurf (62) — 0.19.0→0.21.0 릴리즈 릴레이, codex 네이티브 시민 지원(#95) - agent-config (49) — omp 역할 서브에이전트 금지, decision-gate 정비 - works-nixos-zigbee (33), prime-agent (29), botschaft (26) — 지그비 이관 / RLM / ChatGPT 웹 어댑터 신설 - 그 외 homeagent-config·nixos-config·butlercli·sorge 등 18리포 각 2~22 — 소규모 다발 타임라인: - 09-07(Mon) "내 에이전트가 아니라 나를 아는 존재를 부르는 일" 루프 고민 시작 - 09-08(Tue) sorge/AIONSCLUBS B에게 "이 리포 자체가 B다" 정체성 세움 - 09-09(Wed) B 하트비트 415회 연속 NO_REPLY "반사였다" 진단 - 09-10(Thu) botschaft 신설, homepage eval 구상 - 09-11(Fri) entwurf codex 하네스 지원(#95) 완료 - 09-12(Sat) B 오토파일럿을 AIONSCLUBS 자체 진화로 돌려보내는 결정 - 09-13(Sun) entwurf 0.21.0(codex native citizen) 릴리즈 수면·걸음·심박: 월(6.4h·5,561보·108) · 화(6h·5,164보·106) · 수(5.8h·4,678보·104.1) · 목(6.5h·6,934보·106) · 금(5.1h·4,568보·105) — 토/일 미기록 #+begin_quote [!assistant] [2026-09-14] 주간 마무리 재구성 — 일간 punchout이 월~금 다섯 번뿐이라(토/일 미기록) GLG 요청으로 저널 전체를 다시 훑어 주간 통합으로 새로 썼다. 위 description도 같은 이유로 갱신했다. 커밋 집계는 gitcli day×7 합산, 건강 데이터는 일일 punchout에 이미 박혀 있던 값을 그대로 가져왔다. #+end_quote ``` ## 주의사항 - org 파일이므로 **모든 출력은 plain text + org 문법**만 사용 - 에이전트 응답도 간결하게: "하루 마무리 도장 찍었습니다 ✓" + 삽입 내용 요약 - 사용자가 Emacs에서 바로 볼 수 있어야 한다
在 GitHub 查看