Ai-skills outline

Search, read, and manage Outline wiki documents. Use when: (1) searching wiki for documentation, (2) reading wiki pages or articles, (3) listing wiki collections or documents, (4) creating or updating wiki content, (5) exporting documents as markdown. Works with any Outline wiki instance (self-hosted or cloud).

install
source · Clone the upstream repo
git clone https://github.com/sanjay3290/ai-skills
Claude Code · Install into ~/.claude/skills/
T=$(mktemp -d) && git clone --depth=1 https://github.com/sanjay3290/ai-skills "$T" && mkdir -p ~/.claude/skills && cp -r "$T/skills/outline" ~/.claude/skills/sanjay3290-ai-skills-outline && rm -rf "$T"
manifest: skills/outline/SKILL.md
source content

Outline Wiki Skill

Search, read, create, and manage documents in any Outline wiki instance. Works with all AI clients supporting the Agent Skills Standard.

Requirements

  • Python 3.8+
  • Dependencies:
    pip install -r requirements.txt

Setup

  1. Get your API key from your Outline wiki:

    • Go to Settings > API Tokens
    • Create a new token with appropriate permissions
  2. Configure the environment:

    cp .env.example .env
    # Edit .env with your API key
    
  3. Set the environment variables:

    export OUTLINE_API_KEY=your-api-key-here
    # Optional: for self-hosted instances
    export OUTLINE_API_URL=https://your-wiki.example.com/api
    

Usage

Search documents

python3 scripts/outline.py search "deployment guide"
python3 scripts/outline.py search "API documentation" --limit 10
python3 scripts/outline.py search "onboarding" --collection-id <id>

Read a document

python3 scripts/outline.py read <document-id>
python3 scripts/outline.py read <document-id> --json

List collections

python3 scripts/outline.py list-collections
python3 scripts/outline.py list-collections --limit 50

List documents in a collection

python3 scripts/outline.py list-documents --collection-id <id>

Get collection details

python3 scripts/outline.py get-collection <collection-id>

Create a document

python3 scripts/outline.py create --title "New Guide" --collection-id <id>
python3 scripts/outline.py create --title "Guide" --collection-id <id> --text "# Content here"
python3 scripts/outline.py create --title "Draft" --collection-id <id> --draft

Update a document

python3 scripts/outline.py update <document-id> --title "Updated Title"
python3 scripts/outline.py update <document-id> --text "New content"
python3 scripts/outline.py update <document-id> --publish

Export document as markdown

python3 scripts/outline.py export <document-id>
python3 scripts/outline.py export <document-id> --output doc.md

Test authentication

python3 scripts/outline.py auth-info

JSON Output

Add

--json
flag to any command for machine-readable output:

python3 scripts/outline.py search "query" --json
python3 scripts/outline.py read <id> --json

Operations Reference

CommandDescriptionRequired Args
searchFull-text searchquery
readGet document contentdocument_id
list-collectionsList all collections-
list-documentsList docs (optionally in collection)-
get-collectionGet collection detailscollection_id
createCreate new document--title, --collection-id
updateUpdate existing documentdocument_id
exportExport as markdowndocument_id
auth-infoTest API connection-

Environment Variables

VariableRequiredDefaultDescription
OUTLINE_API_KEYYes-Your Outline API token
OUTLINE_API_URLNohttps://app.getoutline.com/apiAPI URL
OUTLINE_TIMEOUTNo30Request timeout (seconds)
OUTLINE_VERIFY_SSLNotrueSet to
false
to skip SSL verification (for self-hosted instances with self-signed certs)

Troubleshooting

ErrorSolution
API key not configuredSet OUTLINE_API_KEY environment variable
Authentication failedVerify API key is valid and not expired
Connection timeoutCheck OUTLINE_API_URL and network connectivity
SSL certificate errorSet
OUTLINE_VERIFY_SSL=false
for self-signed certs
Document not foundVerify document ID is correct
Permission deniedCheck API token has required permissions

Exit Codes

  • 0: Success
  • 1: Error (auth failed, not found, invalid request)

Workflow

  1. Run
    auth-info
    to verify connection
  2. Run
    list-collections
    to see available collections
  3. Run
    search
    or
    list-documents
    to find content
  4. Run
    read
    to get full document content
  5. Use
    create
    /
    update
    to modify wiki content