Agent Skill
2/7/2026

logseq-plugin-dev

Comprehensive guide and resources for developing Logseq plugins. Use this skill when asked to: (1) Create a new Logseq plugin, (2) Implement features using the Logseq Plugin API (Editor, App, DB, UI), (3) Debug or refactor existing Logseq plugins, (4) Set up a development environment for Logseq plugins.

0
0xrichardh
0GitHub Stars
1Views
npx skills add 0xRichardH/agent-skills

SKILL.md

Namelogseq-plugin-dev
DescriptionComprehensive guide and resources for developing Logseq plugins. Use this skill when asked to: (1) Create a new Logseq plugin, (2) Implement features using the Logseq Plugin API (Editor, App, DB, UI), (3) Debug or refactor existing Logseq plugins, (4) Set up a development environment for Logseq plugins.

name: logseq-plugin-dev description: "Comprehensive guide and resources for developing Logseq plugins. Use this skill when asked to: (1) Create a new Logseq plugin, (2) Implement features using the Logseq Plugin API (Editor, App, DB, UI), (3) Debug or refactor existing Logseq plugins, (4) Set up a development environment for Logseq plugins."

Logseq Plugin Development

This skill helps you build high-quality plugins for Logseq using the @logseq/libs SDK.

Core Concepts

Logseq plugins run in a sandboxed iframe and communicate with the main Logseq application via an RPC bridge.

  • Manifest: Every plugin needs a package.json with a logseq field.
  • SDK: Use @logseq/libs to interact with Logseq.
  • Lifecycle: Use logseq.ready(main) to initialize your plugin.

Getting Started

  1. Scaffold:
    • Basic TS: assets/template/
    • React + Vite: assets/template-react/
  2. Install Dependencies: npm install @logseq/libs.
  3. Build: Use Vite or a similar bundler to package your JS/TS code.
  4. Load: In Logseq, go to Settings -> Plugins -> Developer Mode, then Load unpacked plugin and select your plugin directory.

Common Workflows

1. Registering Commands

Use logseq.Editor.registerSlashCommand or logseq.App.registerCommandPalette.

2. Interacting with Content

  • Read: logseq.Editor.getCurrentPageBlocksTree()
  • Write: logseq.Editor.insertBlock(parentBlockId, content)
  • Query: logseq.DB.datascriptQuery(query)

3. UI and Theming

  • UI: Use logseq.provideUI to inject HTML or logseq.showMainUI to show a full-screen app.
  • Theming: Use Logseq CSS variables (e.g., --ls-primary-background-color) for consistency.

Resources

Skills Info
Original Name:logseq-plugin-devAuthor:0xrichardh