본문으로 건너뛰기
cccskills
무료GitHub에 공개

agentium

Query and control Dave agentic sessions from the command line via the `agentium` CLI (crates/agentium_cli), and find your OWN session's agentium: reference. Use when an agent running inside a Dave session needs its own ref (e.g. for a headway done-comment), to list sibling sessions, or to pull another session's detail or full conversation transcript — e.g. "what's my agentium ref", "list the running agent sessions", "show sessions in this cwd", "read session X's transcript".

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

damus-io/notedeck스타 317(GitHub 317 + cccskills 0)

실행 점수 미검증

설치 방법 보기

포함된 파일(1)

  • SKILL.md32.1 KB

SKILL.md(원문)

설치하기 전에 에이전트에게 전달되는 지시 내용을 확인할 수 있습니다.

Agentium session CLI

agentium is a CLI over a running notedeck's embedded relay. It reads (and, in time, controls) Dave agentic sessions — the Claude/Codex sessions Dave spawns — by folding their kind-31988 session-state events. Like the headway and notebook CLIs it keeps its own nostrdb cache, reconciles with the relay each run (NIP-77 negentropy, falling back to NIP-01, or fully offline against the cache), and reads your own sessions once you're logged in. Source: crates/agentium_cli; session model in crates/agentium-core.

Sessions are PNS-encrypted to their owner, so agentium only ever lists sessions decryptable by the signing key (an --author other than yours lists nothing).

Running it

Prefer a built binary; fall back to cargo:

# build once, then call the binary directly (fast, no rebuild per command)
cargo build -p agentium_cli           # produces target/debug/agentium
target/debug/agentium <command>

# or, one-off:
cargo run -q -p agentium_cli -- <command>

In examples below, agentium means whichever form you're using.

agentium --help lists the commands; agentium <command> --help (or agentium help <command>) prints that command's own flags and examples, and agentium help options the every-run flags in full — including that --relay and --db are remembered for later runs.

Logging in

Everything operates on your own sessions once you're logged in. Relay defaults to ws://127.0.0.1:6677 (notedeck's embedded relay); override with --relay <url> or $AGENTIUM_RELAY. A per-run key can be passed with --nsec or $AGENTIUM_NSEC, but normally you run agentium login <nsec> once and it's reused. If a command fails because you're not logged in, ask the user to run agentium login. Don't handle the key yourself.

The agentium: reference

Every session has a stable, sayable reference of the form agentium:<word-word-word> (three BIP-39 words), e.g. agentium:maple-river-canyon. It uses a : scheme (not a # sigil) so it survives nostrdb tokenization and needs no shell quoting. The word-id is a one-way hash of the session's stable id (its kind-31988 d-tag, the field claude_session_id in JSON) — so you can derive the URI from the id but not the id back from the words. Quote the agentium: URI when referring a human to a session; keep the raw id when you need to match a session programmatically.

To derive it yourself, agentium id <d-tag…> prints each d-tag's agentium: ref. It is offline (no key, cache or relay), so it also works on a d-tag read out of some other store, e.g. ndb -d <datapath>/db query --kind 31988.

Finding your OWN session ref

An agent running inside a Dave session (Claude or Codex backend) has its own identity exported into its environment by notedeck_dave when the backend is spawned:

  • AGENTIUM_SESSION — the sayable agentium:<word-id> URI. This is the ref to quote into a headway done-comment or any human-facing note.
  • AGENTIUM_SESSION_ID — the raw, lossless session id (the kind-31988 d-tag). Use this when you need to match your row deterministically in list --json.

So the reliable, one-line way to get your own ref is just:

echo "$AGENTIUM_SESSION"        # -> agentium:maple-river-canyon

If $AGENTIUM_SESSION is unset (e.g. an older Dave build that predates the env export), fall back to matching your raw id in the machine-readable listing:

# deterministic: match on the raw id
agentium list --json | jq -r \
  --arg id "$AGENTIUM_SESSION_ID" \
  '.[] | select(.claude_session_id == $id) | .agentium_uri'

# last resort with neither var set — filter by cwd/host and eyeball the row
# (ambiguous when several sessions share a cwd, so prefer the env vars):
agentium list --json --cwd "$PWD" --host "$(hostname)"

# or derive it straight from the raw id, with no sync at all
agentium id "$AGENTIUM_SESSION_ID"

list — read sessions

list prints this identity's sessions, newest first, grouped by host. Filters are case-insensitive substring matches (except --status, which is exact):

agentium list                          # human-readable, grouped by host
agentium list --status working         # idle|working|needs_input|error|done|pending
agentium list --cwd notedeck           # sessions whose working dir contains "notedeck"
agentium list --host mbp --backend claude
agentium list --json                   # machine-readable; the raw session set

--json emits an array of objects, each the folded SessionState plus an added agentium_uri field. Useful fields:

fieldmeaning
agentium_urithe sayable agentium:<word-id> ref
claude_session_idthe stable kind-31988 d-tag (matches $AGENTIUM_SESSION_ID)
titlesession title
cwdworking directory
statusidle / working / needs_input / error / done / pending
hostnamehost the session runs on
backendclaude / codex / …
cli_session_idthe backend CLI's own session id (for --resume); may be null

Note the id distinction: claude_session_id is agentium's own stable identity (what the word-id hashes), not the backend CLI's session id — that's cli_session_id, a separate value used for resuming the underlying CLI.

watch — live dashboard of every session

watch is list kept live: one flat row per session (status, title, host, cwd, backend, mode, last activity), sessions waiting on the user first (needs_input > working > error > pending > idle > done, then most recently active), under a count per status. Last activity counts streamed messages, not only status changes. It takes the list filters and --deleted/--all.

agentium watch                         # redraws in place on a terminal until Ctrl-C
agentium watch --once                  # one frame, then exit — use this from an agent
agentium watch --status needs_input    # only the sessions waiting on someone
agentium watch --once --no-sync        # one frame from the cache, no relay round-trip

On a terminal it takes over the screen; into a pipe it prints each changed frame in full, separated by a blank line. Lines clip to $COLUMNS (else the terminal width); piped frames aren't clipped. An agent should use --once (or list --json for machine-readable output) — a bare watch never exits.

Selecting a session

show, log, resume, send, interrupt, approve/deny, mode, and link/unlink take a session selector — any of: the raw claude_session_id (d-tag), the cli_session_id, an agentium:<word-id> ref (with or without the agentium: prefix), a unique id prefix, or a unique title substring. For show and log the selector is optional and defaults to $AGENTIUM_SESSION, so an agent running inside a session can address itself (the commands that act on a session always require an explicit selector):

agentium show                    # this session (via $AGENTIUM_SESSION)
agentium log agentium:maple-river-canyon
agentium show "Fix relay reconnect"   # unique title substring

Selectors resolve across live and soft-deleted sessions, so a durable agentium: ref still reads after its session was closed.

Reading without a relay round-trip

--no-sync skips the relay reconcile and reads the local cache as it stands. The reconcile is what a read actually spends its time on, so this is the fast path when you're querying a corpus that hasn't moved — e.g. several greps in a row, or a log you already synced a moment ago:

agentium grep -i wgpu --no-sync        # no relay round-trip at all

It applies to the read commands (list, show, log, grep, watch --once, config list/show) and is refused for anything that publishes or streams (send, spawn, resume, interrupt, approve/deny, mode, link/unlink, config add/edit/rm, log --follow, watch), which can't work offline.

show — session detail

show prints one session's detail: its kind-31988 state, the run-configs on its host+cwd, its latest token usage, and a conversation summary (message count + every pending permission request, each with the 8-digit id approve/deny --request takes). --json emits the structured detail object, with pending requests under conversation.pending_permissions.

agentium show                          # detail for the current session
agentium show maple-river-canyon --json

log — conversation transcript

log prints one session's full conversation, one entry per message, in order (millisecond wall-clock — the display order Dave itself uses). This is the command for pulling context out of another session. Named after git log, and like it, long output is paged.

agentium log                           # this session's transcript
agentium log maple-river-canyon        # another session's transcript
agentium log X --role user,assistant   # only the human turns + Dave's replies
agentium log X -n 20                    # just the last 20 messages
agentium log X --tools                 # include tool_call/tool_result (folded by default)
agentium log X --json                  # structured, role-tagged message objects
agentium log X --jsonl                 # raw reconstructed claude-code JSONL
agentium log X --follow                # print the tail, then stream new messages
agentium log X -n 20 -f                # last 20, then follow (like `tail -n 20 -f`)

Flags:

flageffect
--role <r[,r…]>keep only these roles (comma-separated and/or repeatable); one of user, assistant, tool_call, tool_result, permission_request, subagent, system, error, compaction, todo
--last <n>, -n <n>only the last n messages (after other filters); with --follow, sizes the initial tail
--tools / --no-toolsshow or fold (default) tool_call/tool_result messages. A transcript is mostly tool noise, so log reads as the human conversation until --tools asks for the rest
--jsonone role-tagged JSON object per message (a lossy display view). With --follow, streamed newline-delimited (one object per new message)
--jsonlraw reconstructed claude-code JSONL from the kind-1989 archive (the lossless source, in original seq order — a different axis than the display stream)
--follow, -fafter the tail, keep streaming each new message as it lands (and status changes, e.g. -> needs_input) until Ctrl-C. Conflicts with --pager/--jsonl (a live stream can't be paged or reconstructed from the point-in-time archive)
--color auto|always|neverANSI color; auto (default) follows the sink. Use always to keep color when piping into your own pager (e.g. | less -SR)
--pager / --no-pagerforce/disable paging. Default: page when stdout is a terminal (never for --follow)

The pager command is $AGENTIUM_PAGER, then $PAGER, else less -R. When scripting (parsing output), prefer --json/--jsonl; piping to a non-terminal already disables the pager and color automatically. --follow is tail -f for a session's transcript — the streaming mode of log, not a separate command.

grep — search message text across sessions

grep <pattern> searches every session the list filters select — deleted ones included — and prints each matching line under its session's agentium: ref, status (● Working, ○ Idle, ⊘ Deleted, … — the same glyphs and colors list uses) and title. This is the command for "which session was it where I…" — the one that answers across the whole corpus instead of one transcript.

agentium grep "resize hook"                       # every session, live or deleted
agentium grep -i terminal --cwd Shipwright        # case-insensitive, one tree
agentium grep '\bTODO\b' --role assistant         # a regex, over Dave's replies only
agentium grep -i panic --tools                    # search tool call/result text too
agentium grep -i wgpu --json                      # matches grouped under each session

The pattern is a regex (Rust regex syntax); -i/--ignore-case folds case. An unparseable pattern fails immediately, before any relay work.

Which sessions are searched: the same filters list takes — --cwd, --host, --status, --backend — except that, unlike list, deleted sessions are searched by default (--deleted narrows to only those; --all is accepted and changes nothing; --status <s> keeps one status, so it also drops deleted). Which messages are searched: the same filters log takes — --role, --tools, --last. So --role assistant searches only Dave's replies, and --cwd foo searches every session (live or closed) in that tree. Tool traffic is folded by default here too, which matters more than in log: a tool_result's searched text is its one-line render summary, never its full output, so tool hits are mostly the command line that happened to mention the word. Pass --tools when you do want those.

Matching is per line, like grep, over the same rendered body log prints, and --json emits one object per matching session: the session's list --json fields (so agentium_uri feeds straight back into log/send) plus a matches array of {role, text}.

Prefer this over a shell loop. The obvious hand-rolled equivalent —

for s in $(agentium list --json | jq -r '.[].agentium_uri'); do agentium log "$s" | grep -i term; done

— re-opens the cache and re-reconciles the relay once per session, so it costs seconds per session. grep syncs once and reads every session from one transaction. Measured on an 879-session corpus: 3m40s for the loop. On a 1832-session cache (35 live), agentium --no-sync grep takes ~2.4s warm over every session; --status <s> (e.g. --status working) keeps the search to live sessions and comes back in a fraction of a second.

resume — reopen a closed session

resume <session> reopens a closed (even soft-deleted) session on its host so a new message drives its backend again, reviving its agentium: ref in place. It needs a session whose backend actually started (a non-empty cli_session_id).

agentium resume maple-river-canyon

send — send a message to a session

send <session> <text…> publishes a user message onto a live session's conversation so its running agent (local or remote) picks it up over relay sync, then reports the resulting event id. This is the first write command — the way to steer another session from the shell.

agentium send maple-river-canyon run the tests and fix any failures
agentium send maple-river-canyon "keep the exact  spacing"   # quote to preserve it
agentium send maple-river-canyon hi --json                   # {"session","event_id"}
agentium send --immediate maple-river-canyon stop, read this  # send, then interrupt its turn

--immediate redirects a running agent: it sends the message, then interrupts the session's in-flight turn, so the agent stops and reads the message now instead of when the turn ends. That replaces agentium send <s> "…" && agentium interrupt <s>. Only a session whose status is working or needs_input is interrupted; an idle one isn't, since the message alone starts its turn and an interrupt would abort it. --json adds "interrupted": true|false.

Notes:

  • The selector is required — unlike show/log there is no $AGENTIUM_SESSION default, because the first word would be ambiguous against the message text. Pass an explicit selector (any form list accepts).
  • The message is the remaining words joined with single spaces, so short prompts need no quoting; quote a single argument to preserve exact spacing. Empty/whitespace-only text is rejected.
  • Only live sessions can be sent to. A soft-deleted session has no backend reading its conversation, so send refuses and points you at resume — reopen it first, then send.
  • Sent from inside a session ($AGENTIUM_SESSION set), the message carries that session's ref as a from-session tag, and Dave shows it as a violet "from <sender>" card rather than a message a person typed. From your own shell it carries none.
  • --json emits { "session": "agentium:…", "event_id": "<64-hex>" }; the plain output is sent to <agentium:ref> (event <hex8>…).

spawn — create a new session on a host

spawn tells a (local or remote) Dave host to create a fresh session, then — with --wait — blocks until that host answers with the new session's kind-31988 state and prints its durable agentium: ref. This is how you start a new session you can then drive with send. The host must be a running notedeck_dave on the target host; with none running, nothing answers and the wait times out — but note the command is published before the wait, so a timeout is not proof nothing was created (see Retrying a spawn is safe below).

agentium spawn                                   # sibling in this session's own host+cwd
agentium spawn --host mbp --cwd ~/dev/notedeck --wait   # print the new agentium: ref
agentium spawn --title "Fix the parser" --wait   # give it an explicit, sticky title
agentium spawn --host mbp --cwd ~/proj --prompt "run the tests" --wait
agentium spawn --permission-mode plan --prompt "design the migration" --wait  # plan first
agentium spawn --title headway:dave/<word-id> --issue-url headway:dave/<word-id> --wait  # a card's session
agentium spawn --successor --prompt-file - <<'EOF'   # hand your work on to a fresh session
agentium spawn --child --prompt "check the build on mbp" --wait   # a helper that reports back to you
agentium spawn --host mbp --cwd ~/proj --wait --json    # {spawn_id,host,session,event_id}
agentium spawn --host mbp --cwd ~/proj --wait --wait-timeout 60   # give a slow host longer
agentium spawn --title "Fix the parser" --prompt-file - <<'EOF'   # heredoc a long first message
Fix the parser so it handles multi-line input.
See the failing test in crates/tokenator.
EOF

Flags:

  • --host <name> / --cwd <path> / --backend claude|codex — the spawn target. Omitted, they default to the current session's own state ($AGENTIUM_SESSION), so a bare agentium spawn starts a sibling in the same worktree on the same host. --backend falls back to claude. If you're not inside a session, --host/--cwd are required.
  • --title <text> — an explicit, sticky session title. Without it the title derives from (and churns with) the first message; --title lands in the session's custom_title so it shows immediately and survives later messages. For a session working a headway card, the title is the card's full ref (--title headway:<board>/<word-id>): Dave's session list draws a ref title as the card's inline chip, so the row shows the card's live title, not a copy that goes stale when the card is renamed.
  • --wait — block (bounded) until the host answers with the new session's state, then print its agentium: ref. Without it you only get the provisional spawn_id (the session doesn't exist yet). The bound defaults to 30s (a backgrounded Dave host answers on its own frame cadence, so a slow spawn can take ~20s); override it per run with --wait-timeout <secs> or $AGENTIUM_SPAWN_WAIT. After 8s a one-time still waiting… note prints on stderr (stdout/--json stays clean for scripting).
  • --wait-timeout <secs> — override the --wait bound for this run (flag beats $AGENTIUM_SPAWN_WAIT beats the 30s default). Handy when a host is known slow (bump it) or you want a snappier failure against a host you expect to be up.
  • --prompt <text> — deliver <text> as the session's first user message once it's up. Implies --wait (you can't send to a session that doesn't exist), and also reports the message event id. Equivalent to spawn --wait then send.
  • --permission-mode <mode> — the permission mode the new session's agent starts in, instead of the host's default: default (aka manual) | plan | accept_edits | auto | bypass. Aliases are normalized, so acceptEdits and accept-edits both work; an unknown mode is rejected before anything is published. Use plan when the new session should investigate and get approval before writing code. Asking for a mode in the prompt does not work — the session's backend has already launched by the time it reads its first message, so this flag is the only way to choose the starting mode. (bypass does no safety checking at all; it exists here because a spawn is the one moment a backend's mode is chosen, but reach for it deliberately.) To change the mode of an already running session, use dave's Ctrl+M / mode badge — there is no CLI verb for that yet.
  • --issue-url <uri> — the issue the new session works, as a URI — headway:<board>/<word-id> for a headway card. It rides the spawn command and the host records it verbatim on the session's kind-31988 state (tag issue_url), so every observer sees it: show prints it as an issue line, list --json/show --json carry it as issue_url, and pressing s on the session in Dave's normal mode opens the card (the reverse of headway's s, which jumps from a card to its session). A value with no scheme: is rejected before publishing — a bare word-id names no board, so it couldn't be opened. Pass it whenever the session works a headway card (/handoff and /autowork do). A resumed session keeps the issue its state already carries; to link (or unlink) a session after it was spawned, use link below.
  • --child / --successor — how the new session relates to the one spawning it. Run from inside a session, every spawn records that session's ref as the new one's parent-session; these add a relation beside it: child (it works for you and messages its result back: each turn it finishes at rest, with nothing queued, arrives as a from-session message carrying that turn's final text, cut at 4000 chars, and wakes you; nothing blocks while you wait), successor (it carries your work on, as a handoff does; nobody waits for its result). Neither leaves the relation none: started by you, nothing more. The two are exclusive. Both ride the spawn command onto the new session's kind-31988 state (tags parent-session, relation), so show prints parent/relation lines and list --json/show --json carry parent_session/relation. From a plain shell no parent is recorded. /handoff and /autowork pass --successor.
  • --prompt-file <path> — the escaping-free alternative to --prompt: read the first message from a file, or from stdin when <path> is -, so a long multi-line prompt can heredoc in with no shell-escaping (the /handoff flow uses --prompt-file -). It resolves into the same first message as --prompt (so it likewise implies --wait and reports the message event id), trims trailing whitespace (so a heredoc's closing newline doesn't ride along), and is mutually exclusive with --prompt.
  • --idempotency-key <k> / --allow-duplicate — duplicate control; see Retrying a spawn is safe below. You rarely pass either: the key is derived for you, and --allow-duplicate is only for deliberately starting a second session the guard would refuse.

Output: plain, no --wait → spawn command sent to <host> (spawn <id8>…); with --wait → spawned <agentium:ref> on <host> (spawn <id8>…), plus , sent prompt (event <hex8>…) when --prompt seeded a message. --json emits { "spawn_id", "host", "session", "event_id" } on one line — session is null until --wait resolves it, event_id present only with --prompt. On a --wait timeout the command was still published, so the session may well exist; the error names the spawn_id. See Retrying a spawn is safe below before re-running.

Retrying a spawn is safe — but check list first

spawn publishes the command before it starts waiting, so a --wait timeout means "we didn't see the answer in time", not "nothing was created". A slow host still materializes the session, and still delivers a --prompt (which rides the command). Re-running on a timeout is how you end up with two agents in one worktree.

So on a timeout, look before you leap:

agentium list --cwd /path/to/worktree      # did the session actually appear?

Two defences also stand behind you:

  • A spawn that repeats a recent one — same host, cwd and --title, within ten minutes — is refused before publishing, naming the session it would have duplicated plus how to follow it. Untitled spawns aren't guarded (there is nothing to compare), so they lean on the second defence.
  • Every spawn carries an idempotency_key derived from the request itself (host+cwd+backend+title+prompt+mode+issue). A host that has already materialized a session for that key answers the repeat with that session instead of creating another, and does not re-deliver its prompt. Pass --idempotency-key <k> to name the request yourself when you have a better notion of identity (a job id, say).

--allow-duplicate opts out of both — use it when you really do want a second session in the same worktree. Neither defence helps against an old agentium binary or an old Dave host, so checking list stays the habit.

Don't add tail -1/head -1/read -r to a --json pipeline. spawn --json and send --json each emit one record on one line, so | jq -r .session is all you need; against an older build that pretty-printed, those filters turn a successful spawn into an empty string — which reads as a failure and invites exactly the retry described above.

interrupt — abort a session's in-flight turn

interrupt <session> aborts whatever turn/tool loop a live session is running on its host — the CLI companion to pressing Esc in Dave. It publishes a kind-1988 interrupt command the host applies to its backend (the same client.interrupt() mechanism as the local Esc), then returns.

agentium interrupt maple-river-canyon

Notes:

  • The selector is required (a specific session to interrupt); pass any form list accepts. There is no $AGENTIUM_SESSION default.
  • Only live sessions can be interrupted. A soft-deleted session has no running backend, so interrupt refuses and points you at resume.
  • Fire-and-forget: it reports interrupt sent to <agentium:ref>. The session drops back to idle once the host publishes its next state event after the turn aborts (watch it with log --follow).

approve / deny — answer a pending permission request

approve <session> / deny <session> answer a live session's pending permission request — the CLI companion to the allow/deny buttons in Dave. By default they answer the newest pending request; show lists every pending one with an 8-digit id, and --request <id-prefix> picks another.

agentium show maple-river-canyon            # "pending permissions" lists ids
agentium approve maple-river-canyon
agentium deny maple-river-canyon --request 3f2a9c1e --message "use rg instead"
agentium deny maple-river-canyon --interrupt   # deny AND stop the turn

Notes:

  • --message <text> rides with the decision and the agent sees it (a deny reason, or a note with an approve). --interrupt is deny-only.
  • An AskUserQuestion request can be denied but not approved — approving one means sending its answers, which a bare approve can't. Answer it in Dave.
  • Nothing pending (or a --request prefix that matches none, or several) is an error, listing what is pending.
  • No ack. The host matches the answer against the requests it holds in memory. If it restarted since the request was made, the answer is silently ignored and the request keeps showing as pending.
  • --json prints one line: {session, event_id, perm_id, tool_name, decision, interrupt}.

mode — change a session's permission mode

mode <session> <mode> switches a live session's permission mode on its host — the CLI companion to Ctrl+M in Dave. Modes: default (aka manual) | plan | accept_edits | auto | bypass; aliases like acceptEdits are normalized before publishing, and an unknown mode is refused (the host would otherwise quietly fall back to default).

agentium mode maple-river-canyon plan

link / unlink — set a session's card after the fact

link <session> <issue-url> links a live session to the issue it works — spawn --issue-url for a session that was spawned without it (or by an older agentium). unlink <session> clears the link. Either way show and Dave's s follow the new value.

agentium link agentium:maple-river-canyon headway:dave/<word-id>
agentium unlink agentium:maple-river-canyon
  • Only the session's host writes its state, so this publishes a kind-1988 set_issue command the host applies and republishes. link then waits up to 10s for that republish and reports linked <ref> to <issue> only once it lands. With no answer it fails: the host is offline (it applies the command when it next syncs) or runs a Dave build from before link (which ignores it — rebuild the host).
  • The URL is checked like --issue-url: a bare word-id is refused.
  • Linking to the issue it already has publishes nothing and says (already).
  • A deleted session is refused (no host republishes it); resume it first.
  • --json: one line {session, issue_url, event_id, unchanged}.

config — manage run configs

A run config is what Dave's per-session run bar launches: a named shell command (cargo run, say) registered for one host + working directory, run there with sh -c. It is not a session template — spawn doesn't take one.

agentium config                      # = config list: every host, grouped host → cwd
agentium config list --host macbook  # --host/--cwd narrow (substring)
agentium config show 1a2b3c4d        # by id prefix (the 8-char id list prints) or exact name
agentium config add --name build --command "cargo build"   # on this session's host+cwd
agentium config add --name serve --command "npm start" --host macbook --cwd /home/u/app
agentium config edit build --command "cargo build --release"   # same id, new revision
agentium config rm build
  • add places the config on --host/--cwd (exact values here, not substrings), each defaulting to the current session's ($AGENTIUM_SESSION); with neither it errors. --name/--command are trimmed and must be non-empty.
  • A selector matching more than one config (a name used on two hosts, say) errors with the candidates; narrow with --host/--cwd or pass more id.
  • Dave shows a config only on its own host, in a session whose cwd is exactly the config's. rm of a config that is running there kills its process.
  • --json: list is a flat array of {id, name, command, host, cwd, updated_at}, show one such object; add/edit/rm print one line {action, event_id, config}.

Command surface

list, watch, show, log (incl. log --follow), grep, spawn, send, resume, interrupt, approve/deny, mode, link/unlink, config, id, login/logout. agentium <command> --help is the reference for each.

리뷰

아직 리뷰가 없습니다. 사용해 본 소감을 남겨 주세요.

댓글

로그인 없이 쓸 수 있습니다. 사용 후기, 질문, 작동하지 않은 환경 등을 편하게 남겨 주세요.

아직 댓글이 없습니다. 첫 댓글을 남겨 보세요.

보내면 바로 공개됩니다. 이메일 주소나 전화번호 같은 개인 정보는 쓰지 마세요. URL은 2개까지입니다.

0 / 1,000자

이 양식은 reCAPTCHA로 보호되며 Google 개인정보처리방침 및 서비스 약관이 적용됩니다.

같은 저장소의 스킬

cashflow

무료

Categorize jb55's personal finance ledger from the command line via the `cashflow` CLI (crates/cashflow_cli) — burn down the uncategorized ("unknown") transactions with rules, overrides, splits and transfer links, previewing every write first. Use when asked to categorize transactions, clear the triage queue, add or fix a categorization rule, link transfers between own accounts, or review what an agent session categorized — e.g. "categorize my amex rows", "burn down the unknowns", "why is this charge in expenses:unknown", "undo what that session did".

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

damus-io/notedeck3172026년 10월 19일 업데이트

Fast-forward master and every git worktree branch up to a target ref (default github/master), skipping any worktree with unmerged commits. Use when the user wants to sync/update their worktree branches to latest master — e.g. "/ff-worktrees", "ff all worktrees to github/master", "fast-forward the worktrees".

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

damus-io/notedeck3172026년 10월 19일 업데이트

handoff

무료

Hand off to a fresh Dave session — ask the user what to work on next, spawn a new session in the current worktree, and send it the task as its first message. Use when the user wants to delegate the next unit of work to a brand-new agentic session rather than continue in this one — e.g. "/handoff", "hand this off", "spawn a session to do X next", "start a fresh session on the next task". `/handoff autowork <task>` also branches the new session off the `autowork` branch and has it land its commit there.

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

damus-io/notedeck3172026년 10월 19일 업데이트

headway

무료

Read and edit a Headway kanban board from the command line via the `headway` CLI (crates/headway_cli). Use when the user wants to view the board, add/move/edit/archive cards, or shuffle work between columns like Backlog, Todo, In Progress, In Review, and Done — e.g. "move X to done", "show the board", "add a card to todo".

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

damus-io/notedeck3172026년 10월 19일 업데이트

nd

무료

Drive the running notedeck from the command line via the `nd` CLI (crates/nd_cli) — list its tools and call any of them over its local socket, or spawn a Dave session, e.g. open a headway card or agentium session in the window, open the review queue, or read board data. Use when the user wants to open something in notedeck from a shell, script the app, or see which tools the running notedeck offers — e.g. "open this card in notedeck", "what tools does notedeck have", "call open".

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

damus-io/notedeck3172026년 10월 19일 업데이트

notebook

무료

Read and edit a notebook canvas from the command line via the `notebook` CLI (crates/notebook_cli). Use when the user wants to view the canvas, add/move/edit/recolor/delete nodes, connect or disconnect edges, restack, seed, or rename the canvas — e.g. "show the notebook", "add a node", "move that node", "connect these two nodes".

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

damus-io/notedeck3172026년 10월 19일 업데이트

damus-io의 스킬 모두 보기

이 스킬의 문제 신고