界面已本地化;技能介绍与说明文档按所选语言由 AI 自动翻译,代码、命令、路径和专业术语保留原文,以原作者文档为准。
探索技能
文档与办公 · SKILL.md

outline

outline

【文档与办公】Conventions and efficient workflows for Outline knowledge bases via mcp-outline tools. Use when creating, editing, restructuring, or diagramming Outline documents — covers Outline markdown quirks (mermaidjs code fences), document and collection structure, string-match editing, staged rewrites, batch operations, and search status filters.

独立 GitHub 快照 · 自动分类 · 以原作者文档为准

技能说明

GitHub

name: outline description: Conventions and efficient workflows for Outline knowledge bases via mcp-outline tools. Use when creating, editing, restructuring, or diagramming Outline documents — covers Outline markdown quirks (mermaidjs code fences), document and collection structure, string-match editing, staged rewrites, batch operations, and search status filters.

Working with Outline

Markdown

  • Mermaid diagrams need ```mermaidjs fences, NOT ```mermaid — the wrong fence silently renders as a plain code block.
  • Otherwise standard markdown. Use ATX headings (#–######); they power the TOC and section tools.

Structure

  • Collections contain documents; documents nest via parent_document_id. Browse: list_collections, get_collection_structure.
  • Lifecycle: draft → published → archived → trash (30-day recovery via restore_document; delete_document(permanent=True) is unrecoverable).
  • create_document(template=True) / update_document(template=True) adds to the "New from template" picker.
  • Titles are not unique; resolve to IDs with get_document_id_from_title or search_documents. Check get_document_backlinks before restructuring or deleting.

Search defaults to published only

Drafts and archived docs are invisible to search_documents and list_recently_updated_documents unless widened: status_filter=["draft", "published", "archived"].

Reading large documents

  1. get_document_toc — headings with 0-based line numbers.
  2. read_document_section(heading=...) — case-insensitive substring; accepts headings as the TOC prints them (e.g. "## Background").
  3. search_document_content(query=...) — grep within the document: matching lines with line numbers and context. Use it to locate text for edit_document old_strings or read_document offsets.
  4. read_document(offset=N, limit=M) — TOC/grep line numbers are valid offsets.

Full read_document only for small documents.

Editing

  • Default to edit_document: each old_string must match exactly once (add surrounding context to disambiguate); edits apply sequentially, all-or-nothing. Batch all edits for one document into a single call.
  • update_document only for full replacement, title changes, or append=True (sends just the chunk).

Staged rewrites

edit_document(id, edits=[...], save=False)   # stage, repeat as needed
edit_document(id, edits=[...], save=True)    # final batch + push all
edit_document(id, edits=[], save=True)       # or: flush only

One API write total. Staged changes are server-memory only — flush before ending; a restart discards them. Read tools show staged text with an "unsaved changes" notice; export_document bypasses staging and returns the last saved content.

Many documents

Use batch_create_documents, batch_update_documents, batch_move_documents, batch_archive_documents, batch_delete_documents (10–50 per call; per-document results) instead of loops.

Missing tools

Deployments may be read-only, delete-disabled, or scope-filtered. Use what's listed; if an editing tool is absent, say so.

Exploration

For broad search-and-summarize, delegate to the outline-explorer agent (bundled with this plugin).

我的收藏