with one click
agenda
// 에이전트 어젠다 — reverse datetree에 타임스탬프 엔트리 추가. 에이전트 활동을 org-agenda에서 볼 수 있게 기록. Use when starting work, completing a task, or any notable activity to stamp. '도장', 'stamp', '기록', 'agenda에 찍어'.
// 에이전트 어젠다 — reverse datetree에 타임스탬프 엔트리 추가. 에이전트 활동을 org-agenda에서 볼 수 있게 기록. Use when starting work, completing a task, or any notable activity to stamp. '도장', 'stamp', '기록', 'agenda에 찍어'.
[HINT] Download the complete skill directory including SKILL.md and all related files
| name | agenda |
| description | 에이전트 어젠다 — reverse datetree에 타임스탬프 엔트리 추가. 에이전트 활동을 org-agenda에서 볼 수 있게 기록. Use when starting work, completing a task, or any notable activity to stamp. '도장', 'stamp', '기록', 'agenda에 찍어'. |
| user_invocable | true |
Stamp agent activity to ~/org/botlog/agenda/ reverse datetree. Visible in org-agenda alongside human activity.
Do not confuse these two surfaces.
| Surface | Purpose | Typical path | How to read |
|---|---|---|---|
| Activity timeline | What was done | ~/org/botlog/agenda/*__agenda_<device>.org | agent-org-agenda-day/week or top of file |
| Task hub | What should be done | ~/sync/org/botlog/agenda/20260325T171244--entwurf__agenda.org | agent-org-agenda-todos first, raw grep fallback if needed |
TODO / NEXT / DONE / DONT.# title only + body (most common)
{baseDir}/scripts/agenda-stamp.sh "title" --body "body text
multiline ok"
# with tags, auto-device
{baseDir}/scripts/agenda-stamp.sh "title" "tag1:tag2" --body "body text"
# with tags + explicit auto-device placeholder
{baseDir}/scripts/agenda-stamp.sh "title" "tag1:tag2" "" --body "body text"
# with body file
{baseDir}/scripts/agenda-stamp.sh "title" "tag1:tag2" --body-file /tmp/body.txt
| Param | Pos | Required | Description |
|---|---|---|---|
| title | 1 | ✅ | What was done (one line) |
| tags | 2 | optional | tag1:tag2 colon-separated. [a-z0-9] only |
| device | 3 | optional | omit or pass "" to auto-read ~/.current-device |
| --body | flag | optional but strongly recommended | Multiline text below timestamp |
| --body-file | flag | optional | Read body from file |
Flags may appear immediately after title.
Do not assume tags and device must be present before --body or --body-file.
These are all valid:
agenda-stamp.sh "title" --body "text"
agenda-stamp.sh "title" "pi:commit" --body "text"
agenda-stamp.sh "title" "pi:commit" "oracle" --body "text"
| Moment | Title pattern | Tags |
|---|---|---|
| Session start | "session start" | pi |
| Task complete | "what was done" | pi:topic |
| After commit | "repo: commit msg [[URL][SHA]]" | pi:commit:reponame |
| Session end | "session end" | pi |
**** agent-config: feat: telegram skill [[url][abc1234]] :pi:commit:agentconfig:
<2026-04-01 Wed 09:47>
from: pi@thinkpad
- tdlib based chat read/write
- 4 bots accessible
agenda-stamp.sh is the only authorized writer for ~/org/botlog/agenda/.
The reverse-datetree insertion (year/month/day heading creation, position calculation) lives inside the script. A file with similar shape created by other tools is not a valid stamp — it splits the timeline, breaks reverse-datetree ordering, and pollutes org-agenda.
Reasonable retries are encouraged when execution fails:
python3 available{skillsDir} / {baseDir} against the actual deploy pathIf exec still fails after retries (allowlist miss, missing dependency, environment issue):
Write / Edit to create or append a file in ~/org/botlog/agenda/cat <<EOF > heredoc as a fallback*__agenda_<device>.org file via any other toolA "near-miss" stamp is worse than no stamp. Underlying environment issues (path discoverability, exec allowlist) must be fixed at the harness level, not papered over by the agent.
from: auto-injected — AGENT_ID@device (default: pi@~/.current-device)[a-z0-9] only. No hyphens, no underscoresDo not encode requests as TODO entries in the activity timeline.
If another agent needs to pick something up, use the Entwurf task hub surface (agent-org-agenda-todos) instead of an activity stamp.
ec() { emacsclient -s server --eval "$1"; }
ec '(agent-org-agenda-day)' # today's integrated timeline
ec '(agent-org-agenda-week)' # this week
ec '(agent-org-agenda-todos)' # all Entwurf TODO/NEXT grouped by project
ec '(agent-org-agenda-todos "andenken")'
ec '(agent-org-agenda-todos "andenken" "A")'
Use this first when the goal is:
DEVICE=$(cat ~/.current-device)
AGENDA=$(find ~/org/botlog/agenda/ -name "*__agenda_${DEVICE}.org" | head -1)
head -30 "$AGENDA" # reverse datetree: top = latest
agent-org-read-file may reject ~/sync/org/... due to path guards. Do not keep retrying the blocked Emacs read API.
Use the higher-level agenda API first, and if you still need the raw task-hub structure, use shell grep as a fallback:
FILE=~/sync/org/botlog/agenda/20260325T171244--entwurf__agenda.org
# headings / project map
rg '^(\*+|#+title:|#+date:|#+filetags:)' "$FILE" | head -120
# open task lines
rg '^(\*+ )?(TODO|NEXT|DONT) ' "$FILE" | head -120
This is a temporary interface workaround until a dedicated task-hub API exists.
~/org/botlog/agenda/agent-org-agenda-day/week/todos before any raw file read.~/sync/org/..., that is an interface limitation, not a cue to keep poking the same API.