Skill Commands

These commands are used by AI agents via the Open Agent Skills format. The skill is invoked as /workjournal from within an agent session (Claude Code, Cursor, GitHub Copilot, Gemini CLI, and many more).

For the terminal CLI, see CLI Commands.


/workjournal

Write a new journal entry. The agent reviews the conversation, summarizes the work, and creates an entry with an auto-generated title. If not initialized, runs the init flow first.

On Plus+ workspaces with tags assigned to the journal, the agent also fetches the assigned tag list, matches each tag’s name and description against the entry’s content, and includes the matching subset via --tags. Closed-enum: the agent only picks from tags already assigned to the journal — never invents names. If no tags clearly apply, or the workspace is Free, no tags are attached. See Tags below for managing the underlying vocabulary.

/workjournal <title>

Write a new entry with an explicit title instead of auto-generating one. Tag selection works the same way as the auto-title flow.

/workjournal search <query>

Search past journal entries for the given query. Returns matching entries with summaries and relevant excerpts.

/workjournal last [N]

Show the N most recent journal entries. Defaults to 1.

/workjournal check

Find journal entries relevant to the current conversation context. Analyzes the conversation for key topics, file paths, and technical terms, then searches for matching entries.

/workjournal login

Authenticate with the Workjournal API. The skill prints an authorize URL — open it in any browser, log in if needed, click Approve, copy the 8-character code shown on the page, and paste it back into the chat. Credentials are stored locally at ~/.config/workjournal/credentials.json (or the platform equivalent — see /docs/cli-tool-auth-workflow).

The flow uses OAuth with PKCE, so it works equally well in local terminals, SSH sessions, dev containers, and CI. No browser is needed on the same machine as the agent.

Under the hood, this runs npx --yes @workjournal/cli auth login start followed by npx --yes @workjournal/cli auth login finish <CODE>.

/workjournal init

Initialize Workjournal for the current session.

/workjournal journals (picker)

Interactive journal picker. The skill fetches both the active workspace’s journals and the list of journals shared with you from other workspaces, then renders a numbered list. When the shared list is non-empty, a footer row appears:

Journals in acme:
  [1] → engineering        (Engineering Notes)
  [2]   product            (Product Decisions)
  [3]   (shared with me — 2 journals)

Reply with a number to pick a journal, or type a substring to filter.

Picking a workspace-journal row opens a submenu with select, delete, rename, and change url actions. Picking the (shared with me) row pivots to a sub-picker showing <workspace>/<journal> pairs — only select is offered for shared journals since contributors can’t delete/rename/change url.

When a shared journal is picked, the skill runs workjournal journals select <real-workspace> <journal> using the workspace slug from the sub-picker row (e.g. acme engineering, not shared-with-me engineering). The picker already disambiguated by showing <ws>/<journal>, so there’s no slug-collision case to handle. After this, all other /workjournal commands work normally — they read the pinned slug from config.

shared-with-me is a discovery-only slug — accepted only by journals list. The picker is the recommended path for agents because it already disambiguates by showing <workspace>/<journal> pairs before selecting. Acceptance of invitations still happens in the web app — if a user pastes an invitation link, point them at it to accept, then run /workjournal journals to pick the now-accepted journal.

/workjournal tags

A Plus+ feature. Tags are a workspace-level vocabulary that can be attached to entries. A tag must first exist in the workspace registry (tags new) and then be assigned to a journal (tags assign) before it can appear on an entry in that journal. Editing or removing a tag cascades to every entry that referenced it across every assigned journal. Free workspaces can’t create tags, but they can clear leftover tags from existing entries.

The skill passes these subcommands through to the CLI:

Tags can also be attached to entries at write time or replaced on existing entries — the agent does this automatically in the auto-write flow above, but the underlying CLI flags work too:

/workjournal help

Print the command reference.