| name | botlog |
| description | 봇 노트 생성 — 에이전트가 리서치/분석/대화 결과를 org-mode denote 형식으로 기록. botlog(공개)과 llmlog(비공개 작업기록) 두 모드 지원. Use when user says 'botlog', 'llmlog', '노트 만들어', '기록해', '지침 남겨', '전달해', '작업기록', 'write a note', or wants agent work saved as a denote note. |
| user_invocable | true |
botlog / llmlog — Agent Notes
Two Modes
| botlog (~/org/botlog/) | llmlog (~/org/llmlog/) |
|---|
| Public | Digital garden | Private (agent work log) |
| Tag | :botlog: required | :llmlog: required |
| Use | Research/analysis results | Work instructions, delegation |
#+description: / #+hugo_lastmod: | required (hugo SEO) | omit |
[!abstract] 이 노트에 대하여 block | required | required |
Default = botlog. Use llmlog when: "지침 남겨", "전달해", "llmlog", delegate-spawned agents.
Before Creating — Search First!
{skillsDir}/denotecli/denotecli search "<keyword>" --dirs ~/org/botlog --max 5
| Found | Action |
|---|
| Related note exists | Add history + new heading to existing note (emacs skill) |
| Similar but different | Create new note + link to existing |
| Nothing found | Create new note |
Create
1. Generate timestamp and filename
TS=$(TZ='Asia/Seoul' date '+%Y%m%dT%H%M%S')
2. Write file via bash heredoc
botlog (public, hugo-exported):
cat <<'EOF' > ~/org/botlog/${TS}--title__botlog_tag1_tag2.org
[!abstract] 이 노트에 대하여
이 노트는 ... (1-3문장 도입부. 무엇을 묶는지, 왜 쓰는지).
* 히스토리
- [2026-04-01 Wed 12:00] 생성 — one-line description
* Main Heading :LLMLOG:
Content here.
** 관련 노트
- [[denote:JOURNALID][journal title]] — weekly journal
EOF
llmlog (private work log): #+description: / #+hugo_lastmod:는 생략, abstract block은 동일하게 포함.
cat <<'EOF' > ~/org/llmlog/${TS}--title__llmlog_tag1_tag2.org
[!abstract] 이 노트에 대하여
이 노트는 ... (1-3문장 도입부).
* 히스토리
- [2026-04-01 Wed 12:00] 생성 — one-line description
* Main Heading :LLMLOG:
Content here.
EOF
3. Update existing notes (emacs skill)
ec '(agent-denote-add-history "ID" "@pi — what was added")'
ec '(agent-denote-add-heading "ID" "[2026-04-01] New Topic" "LLMLOG" "body")'
ec '(agent-denote-add-link "ID" "TARGET-ID" "link description")'
4. Stamp agenda
{skillsDir}/agenda/scripts/agenda-stamp.sh "botlog: title summary" "botlog:tag"
If the script fails after reasonable retries, STOP and report — do not substitute Write / Edit / heredoc on ~/org/botlog/agenda/. See agenda skill → Single Writer Rule.
Format Rules
Headers
| Header | botlog | llmlog | Note |
|---|
#+title | ✅ | ✅ | |
#+date | ✅ | ✅ | |
#+filetags | ✅ | ✅ | |
#+identifier | ✅ | ✅ | |
#+export_file_name | ✅ | ✅ | |
#+description | ✅ required | — | 1-2문장. hugo SEO/카드 메타. abstract와 다른 문장으로 작성 |
#+hugo_lastmod | ✅ required | — | 최초 작성 시 #+date 값과 동일하게. 수정 시 갱신 |
#+reference | optional | optional | bibcli citation keys, ; separator |
Abstract block — required for both botlog and llmlog
Right after the header, before * 히스토리:
#+begin_quote
[!abstract] 이 노트에 대하여
이 노트는 ... (1-3문장 도입부).
#+end_quote
- 노트가 무엇을 묶는지 / 왜 쓰는지를 1-3문장으로.
- botlog에선
#+description:과 abstract 본문이 다른 문장이어야 한다. description은 메타 요약, abstract는 본문 도입부.
- llmlog에도 동일하게 abstract block을 박는다 — 작업기록이라도 도입부 한 단락은 후일 회수 시 큰 차이를 만든다.
Body
- First heading:
* 히스토리 (reverse-chronological entries)
- Content headings:
:LLMLOG: tag required
- Last section:
** 관련 노트 with [[denote:ID][title]] links
- Org syntax only (no markdown tables). Use
#+begin_quote for quotes
- Tags:
[a-z0-9] only, alphabetically sorted, 3~7 tags