ajianaz/codomate/outline

Claude Code and agent skill by ajianaz/codomate

Trust tier 3
  • community
Source check pending

Checking that the SKILL.md file is still in the repository.

Manage Outline knowledge base via REST API — create/update docs, manage collections, organize folders. Works with any self-hosted Outline instance.

Install

npx vskill@latest install ajianaz/codomate/outline

SKILL.md

Outline Knowledge Base — REST API Skill

Manage self-hosted Outline via REST API. All operations use POST method only (including reads).

When to Use

  • Create, update, move, or archive documents
  • Manage collections and folder structure
  • Build automated content pipelines (publish docs from scripts)
  • Set up knowledge base structure for teams

Setup

Prerequisites
  • Self-hosted Outline instance (v0.78+)
  • Admin API Key (generate in Outline Settings → API Keys)
  • Python 3.8+ (no external dependencies — urllib only)
Environment
env
OUTLINE_URL=https://your-outline-domain.com
OUTLINE_API_KEY=your-api-key-here
Verify
python
# Quick health check — should return your collections
resp = outline_post("collections.list")
print(resp)

Quick Reference

OperationEndpointKey Fields
List collectionscollections.list—
Create docdocuments.createtitle, text, collectionId, parentDocumentId, publish
Update docdocuments.updateid, title, text
Get doc infodocuments.infoid
Move docdocuments.moveid, parentDocumentId, collectionId
Archive docdocuments.archiveid
List docs in collectiondocuments.listcollectionId
Searchdocuments.searchquery
Full API reference → references/api_reference.md

Key Rules

  1. POST method only — all endpoints use POST, including reads
  2. Content field is `"text"` — NOT "markdown" (markdown creates empty docs silently)
  3. Content limit — ~28K chars safe (30K hard, silently truncated)
  4. Full 36-char UUIDs — truncated UUIDs cause 403/404
  5. `publish: true` on create — drafts can't receive children
  6. `documents.move` for moving — documents.update returns 200 but does NOT move docs
  7. Use `timeout=60` for updates — 15s default causes silent 400 on large content
  8. NEVER use `documents.search` for deletion — use parentDocumentId for folder ops

Document Organization

Folder vs Standalone Doc
ScenarioStructureExample
Single topic, <28K charsStandalone doc in folder[Research] Beehiiv vs Substack
Large topic, multi-partParent folder + sub-docsMicro-SaaS Research > Batch 1, 2, Deep Dive
Blueprint/manuscriptParent folder + chapters[Blueprint] AI Agency > Chapter 1, 2...
Daily/automated contentStandalone doc in dedicated folderDD - Topic in News Digest
Parent Folder Rules
  • Parent folder = index only (<2K chars), not full narrative
  • Every sub-doc: publish: true when creating
  • Sub-docs must be created AFTER parent is published
  • Max recommended depth: 3-4 levels (Collection > Folder > Subfolder > Doc)
Naming Conventions
TypeFormatExample
Technical docTitle CaseHTTP Router API Reference
Project doc[Project] Title[Hermes] Agent Architecture
Research[Research] Topic[Research] Beehiiv vs Substack
Blueprint[Blueprint] Title[Blueprint] The AI Agency
Automation[Automation] Title[Automation] Chatwoot CS Agent
Archived[ARCHIVED] Title[ARCHIVED] Old Memory System

Rules: Use [Tag] prefix for grouping. No emoji in titles. No em-dash —. Descriptive titles only — never Notes or Draft.

Content Size Strategy
SizeStrategy
< 28K charsSingle doc
28K-60K charsSplit into 2-3 sub-docs under parent folder
> 60K charsParent index + multiple sub-docs
Update vs Create Decision
SituationAction
Doc doesn't existdocuments.create
Doc exists, content outdateddocuments.update (id + text)
Doc in wrong folderdocuments.move (id + parentDocumentId + collectionId)
Duplicate docRename old [ARCHIVED], update main one

Duplication & Conflict Resolution

ScenarioAction
Same title existsCheck content — update if newer, archive if same
Wrong folderdocuments.move to correct folder
Doc no longer relevantRename [ARCHIVED] Title, then documents.archive
Doc too large for single fileCreate parent folder, split into sub-docs

Link Sharing

  • Use url field from documents.info → /doc/{slug}-{urlId}
  • Do NOT use /s/{uuid} share links (often broken)
  • Include hierarchy path in reports: Collection > Folder > Doc
  • Public sharing may require login depending on Outline config (OIDC auth)

References

FileDescription
references/api_reference.mdComplete API endpoint reference, auth, error codes
references/code_examples.mdPython helper functions, request patterns, batch operations
references/pitfalls.mdAll gotchas, error table, deletion safety checklist

Security

  • Security scanPassed, 95 of 100Pattern checks on the skill's files.
  • Model reviewPassed

Quality evaluation

  • Task evaluationNot runNo evaluation yet. Run one in Skill Studio.

Source

Popularity

7-day trend score
0

Not refreshed yet.

Works with

Any agent vskill installs to: 56 targets in all. These 39 have a page on this site.

  • Claude Code
  • Cursor
  • GitHub Copilot
  • Windsurf
  • Codex
  • Gemini CLI
  • Cline
  • Amp
  • Roo Code
  • Goose
  • Continue
  • Kilo Code
  • Junie
  • Trae
  • OpenHands
  • Qwen Code
  • AI Agent
  • Tabnine Chat
  • Sourcegraph Cody
  • Amazon Q
  • Firebase Genkit
  • Sweep
  • Devin
  • Phind
  • Mentat
  • Claude Desktop
  • Aider
  • GPT Pilot
  • Plandex
  • bolt.new
  • v0
  • Replit Agent
  • Anse
  • TypingMind
  • BetterChatGPT
  • LibreChat
  • Warp AI
  • Pieces
  • Fig AI
Embed badge
vskill VERIFIED badge
[![vskill VERIFIED](https://verified-skill.com/api/v1/skills/ajianaz/codomate/outline/badge)](https://verified-skill.com/skills/ajianaz/codomate/outline)

Something wrong with this skill or its page? Tell us.