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.
Scanned 9/4/2026
Install to Claude Code
npx -y skills add NeverSight/skills_feed --skill logseq-plugin-dev --agent claude-codeInstalls into .claude/skills of the current project.
Are you the author of Logseq Plugin Dev?
Add the live security badge to your README — it updates automatically with every re-scan.
[](https://www.skillsdirectory.com/skills/neversight-logseq-plugin-dev)More formats (shields.io, HTML) on the badges page.
---
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
- **API Reference**: See [references/api.md](references/api.md) for a detailed list of available methods and examples.
- **Boilerplates**:
- [assets/template/](assets/template/) (Vanilla TS)
- [assets/template-react/](assets/template-react/) (React + Vite)
- **Examples**: See [references/examples.md](references/examples.md) for common patterns like mind maps and slash commands.
Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.
No comments yet. Be the first to comment!