| name | outline-cli |
| description | Use when searching, reading, creating, updating, moving, archiving, or deleting Outline wiki documents and collections via the `ol` CLI (`@doist/outline-cli`, installed via mise); managing the household knowledge base at `wiki.${SECRET_DOMAIN}`; scripting bulk document operations with `--json`/`--ndjson`; authenticating or updating the CLI. Triggers on phrases like "search the wiki", "create an Outline doc", "update the Outline page", "list collections", "move this doc", or any invocation of the `ol` command. Do NOT use for content that belongs in the repo `docs/` directory (ADRs, investigations, runbooks, AGENTS.md directives) per the Outline vs docs/ boundary. |
Outline CLI (ol)
Use this skill when the user wants to interact with their Outline wiki/knowledge base.
Quick Reference
ol search "query" - Search documents
ol doc list - List documents
ol doc get <id> - Read a document
ol doc open <id> - Open document in browser
ol doc create --title "Title" --collection <id> - Create document
ol col list - List collections
Output Formats
All list commands support:
--json - JSON output (essential fields)
--ndjson - Newline-delimited JSON (streaming)
--full - Include all fields in JSON
Document References
Documents can be referenced by:
- URL ID (the slug suffix after the last hyphen)
- Full Outline URL (auto-extracted)
- Document ID
Commands
Search
ol search "query"
ol search "query" --limit 10
ol search "query" --collection <id>
ol search "query" --status published
ol search "query" --json
Documents
ol doc list --collection <id> --limit 25
ol doc list --sort title --direction ASC
ol doc get <id>
ol doc get <id> --raw
ol doc get <id> --json
ol doc open <id>
ol doc create --title "Title" --collection <id> --text "# Content"
ol doc create --title "Title" --parent <ref> --text "# Content"
ol doc create --title "Title" --collection <id> --file ./doc.md
ol doc update <id> --title "New Title"
ol doc update <id> --file ./updated.md
ol doc move <id> --collection <target-id>
ol doc move <id> --parent <ref>
ol doc archive <id>
ol doc unarchive <id>
ol doc delete <id> --confirm
Collections
ol col list
ol col get <id>
ol col create --name "Name" --description "Desc" --color "#hex"
ol col create --name "Private" --private
ol col update <id> --name "New Name"
ol col delete <id> --confirm
Authentication
ol auth login
ol auth status
ol auth logout
Update & Changelog
ol update
ol update --check
ol update --channel
ol update switch --stable
ol update switch --pre-release
ol changelog
ol changelog -n 3
Examples
Find and read a document
ol search "onboarding" --json | jq '.[0].document.urlId'
ol doc get <urlId>
Create a document from a file
ol doc create --title "Meeting Notes" --collection <id> --file ./notes.md --publish
List all collections and their documents
ol col list --json
ol doc list --collection <id> --sort title --direction ASC
Bulk export with ndjson
ol doc list --ndjson --full | jq -r '.title'