outline-cli
SKILL.md
Goal
Execute Outline operations with low-token calls, explicit safety gates, and reproducible machine-readable output.
Instructions
Command Surface
- Use
outline-cliby default. - Accept
outline-agentonly when the user explicitly asks for that alias. - Prefer
invoke+ structured JSON args, thenbatchfor multi-step operations.
Session Bootstrap (Always)
- Verify binary and help surfaces:
outline-cli --version outline-cli tools help --view summary - Refresh source-of-truth contracts:
outline-cli tools contract all --result-mode inline - Verify profile/auth before any mutation:
outline-cli profile list --pretty outline-cli profile test outline-cli invoke auth.info --args '{"view":"summary"}'
Capability Map (Use Minimal Tooling)
- Retrieval and navigation:
documents.search,documents.list,documents.info,documents.resolve,documents.resolve_urls,documents.canonicalize_candidatescollections.list,collections.info,collections.treesearch.expand,search.research
- Safe document mutation:
documents.update,documents.safe_update,documents.diff,documents.apply_patch,documents.apply_patch_safe,documents.batch_updatedocuments.plan_batch_update,documents.plan_terminology_refactor,documents.apply_batch_plan
- Lifecycle and collaboration:
revisions.*,shares.*,templates.*,documents.templatize,comments.*,events.list
- Knowledge and linkage workflows:
documents.answer,documents.answer_batchdocuments.backlinks,documents.graph_neighbors,documents.graph_reportdocuments.issue_refs,documents.issue_ref_report
- Integration/admin wrappers:
federated.sync_manifest,federated.sync_probe,federated.permission_snapshot,capabilities.mapusers.*,groups.*,collections.*_memberships,documents.*_memberships,documents.usersoauth_clients.*,oauth_authentications.*,oauthClients.delete,oauthAuthentications.deletewebhooks.*,file_operations.*,documents.import_file,documents.create_from_template,documents.cleanup_test
- Escape hatch:
api.callfor endpoints not yet wrapped as dedicated tools.
Retrieval-First Pattern (Default)
- Discover candidates with
view:"ids"orview:"summary". - Hydrate only selected IDs (
documents.info/collections.info). - Escalate to
view:"full"only for final documents that require full text. - Prefer multi-query/multi-id args (
queries[],ids[]) over repetitive single calls.
Mutation Pattern (Safe + Explicit)
- Read current state first.
- Use minimal edits (
append/prepend, patch, or targeted update). - Use revision guards (
expectedRevision) for concurrent environments. - Set
performAction:trueonly on the final confirmed mutation call. - Verify via read-back and, for high-impact flows,
events.list/revisions.list.
Delete Pattern (Mandatory)
- Arm delete read:
outline-cli invoke documents.info --args '{"id":"<doc-id>","armDelete":true,"view":"summary"}' - Extract
deleteReadReceipt.token. - Execute delete:
outline-cli invoke documents.delete --args '{"id":"<doc-id>","readToken":"<token>","performAction":true}' - If token is stale/mismatched/expired, re-run step 1 immediately and retry once.
Output and Token Controls
- Formats:
--output json(default)--output ndjsonfor stream-friendly automation
- Result modes:
--result-mode auto(default offload when payload is large)--result-mode inline--result-mode file
- Use
--args-file/--ops-filefor large payloads. - If output is offloaded, inspect only required fields:
outline-cli tmp cat /absolute/path/from/result.json - Periodic cleanup:
outline-cli tmp gc --older-than-hours 24
Built-in Agent Guidance
- Beginner onboarding playbook:
outline-cli tools help quick-start-agent --view full - Scenario playbooks (14 workflows):
outline-cli tools help ai-skills --view full
Constraints
- Never run mutating operations without explicit
performAction:true. - Never delete without a fresh read token from
documents.info armDelete:true. - Never default to
view:"full"for discovery. - Never assume profile context; verify
profile list/test+auth.info. - Never hardcode old contracts; refresh with
tools contract allbefore long automation runs.
Examples
Example 1: Research retrieval in one call
outline-cli invoke search.research --args '{
"question": "How do we run incident communication and escalation?",
"queries": ["incident comms", "escalation matrix"],
"precisionMode": "precision",
"limitPerQuery": 8,
"perQueryView": "ids",
"perQueryHitLimit": 4,
"expandLimit": 4,
"view": "summary"
}'
Example 2: Template placeholder extraction + strict instantiation
outline-cli invoke templates.extract_placeholders --args '{"id":"template-id"}'
outline-cli invoke documents.create_from_template --args '{
"templateId": "template-id",
"title": "Service A - Incident Postmortem",
"placeholderValues": {"service_name":"Service A","owner":"SRE Team"},
"strictPlaceholders": true,
"publish": true,
"performAction": true,
"view": "summary"
}'
Example 3: Safe patch update with revision guard
outline-cli invoke documents.info --args '{"id":"doc-a","view":"summary"}'
outline-cli invoke documents.apply_patch_safe --args '{
"id": "doc-a",
"expectedRevision": 12,
"mode": "unified",
"patch": "@@ -1,1 +1,1 @@\n-Old\n+New",
"performAction": true,
"view": "summary"
}'
Example 4: Federated sync + ACL snapshot
outline-cli invoke federated.sync_manifest --args '{
"collectionId": "collection-id",
"since": "2026-03-01T00:00:00.000Z",
"limit": 100,
"offset": 0
}'
outline-cli invoke federated.permission_snapshot --args '{
"ids": ["doc-1", "doc-2"],
"includeDocumentMemberships": true,
"includeCollectionMemberships": true
}'
Read Next
Load command recipes only when needed:
references/tool-playbook.md
Weekly Installs
1
Repository
khanglvm/skillsFirst Seen
11 days ago
Security Audits
Installed on
mcpjam1
github-copilot1
junie1
windsurf1
zencoder1
crush1