Obsidian Plugin Development Guidelines
gapmiss/obsidian-plugin-skill
Rules and references for building Obsidian plugins: ESLint rules, TypeScript practices, memory cleanup, API choices, UI standards and the community submission process.
Guides the agent through every file that must change to register a new node type in the Obsidian Gemini Helper workflow engine, then through lint and build checks.
$ npx skills add takeshy/obsidian-gemini-helper --skill add-workflow-node -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install takeshy/obsidian-gemini-helper add-workflow-node --agent claude-codeProject scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).
$ git clone --depth 1 https://github.com/takeshy/obsidian-gemini-helper.git skills-src && mkdir -p .claude/skills && cp -r skills-src/.agents/skills/add-workflow-node .claude/skills/add-workflow-node && rm -rf skills-srcUse ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.
Claude Code skills documentation · loads skills from .claude/skills/
Install the "add-workflow-node" agent skill from https://github.com/takeshy/obsidian-gemini-helper/tree/master/.agents/skills/add-workflow-node into .claude/skills/add-workflow-node/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "add-workflow-node", then confirm the skill loads.Claude Code copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$skill-installer install https://github.com/takeshy/obsidian-gemini-helper/tree/master/.agents/skills/add-workflow-nodeType this inside Codex. $skill-installer <name> installs a curated skill from openai/skills. The installer writes to $CODEX_HOME/skills (default ~/.codex/skills). Restart Codex if the skill does not show up.
$ npx skills add takeshy/obsidian-gemini-helper --skill add-workflow-node -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install takeshy/obsidian-gemini-helper add-workflow-node --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/takeshy/obsidian-gemini-helper.git skills-src && mkdir -p .agents/skills && cp -r skills-src/.agents/skills/add-workflow-node .agents/skills/add-workflow-node && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "add-workflow-node" agent skill from https://github.com/takeshy/obsidian-gemini-helper/tree/master/.agents/skills/add-workflow-node into .agents/skills/add-workflow-node/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "add-workflow-node", then confirm the skill loads.Codex copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add takeshy/obsidian-gemini-helper --skill add-workflow-node -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install takeshy/obsidian-gemini-helper add-workflow-node --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/takeshy/obsidian-gemini-helper.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/.agents/skills/add-workflow-node .cursor/skills/add-workflow-node && rm -rf skills-srcUse ~/.cursor/skills/ instead of .cursor/skills for a personal install.
Cursor skills documentation · loads skills from .cursor/skills/, .agents/skills/, .claude/skills/, .codex/skills/
Install the "add-workflow-node" agent skill from https://github.com/takeshy/obsidian-gemini-helper/tree/master/.agents/skills/add-workflow-node into .cursor/skills/add-workflow-node/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "add-workflow-node", then confirm the skill loads.Cursor copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gemini skills install https://github.com/takeshy/obsidian-gemini-helper.git --path .agents/skills/add-workflow-node--scope user (default) or --scope workspace; --path is the subfolder of the repo that holds the skill; --consent skips the security confirmation prompt.
$ npx skills add takeshy/obsidian-gemini-helper --skill add-workflow-node -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install takeshy/obsidian-gemini-helper add-workflow-node --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/takeshy/obsidian-gemini-helper.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/.agents/skills/add-workflow-node .gemini/skills/add-workflow-node && rm -rf skills-srcUse ~/.gemini/skills/ instead of .gemini/skills for a personal install, then run /skills reload.
Gemini CLI skills documentation · loads skills from .gemini/skills/, .agents/skills/
Install the "add-workflow-node" agent skill from https://github.com/takeshy/obsidian-gemini-helper/tree/master/.agents/skills/add-workflow-node into .gemini/skills/add-workflow-node/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "add-workflow-node", then confirm the skill loads.Gemini CLI copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gh skill install takeshy/obsidian-gemini-helper add-workflow-nodeInstalls for Copilot at project scope by default; add --scope user for a personal install. Preview a skill first with gh skill preview. Needs GitHub CLI 2.90.0 or later (public preview).
$ npx skills add takeshy/obsidian-gemini-helper --skill add-workflow-node -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/takeshy/obsidian-gemini-helper.git skills-src && mkdir -p .github/skills && cp -r skills-src/.agents/skills/add-workflow-node .github/skills/add-workflow-node && rm -rf skills-srcUse ~/.copilot/skills/ instead of .github/skills for a personal install. Commit .github/skills so cloud agent and code review can use it.
GitHub Copilot skills documentation · loads skills from .github/skills/, .claude/skills/, .agents/skills/
Install the "add-workflow-node" agent skill from https://github.com/takeshy/obsidian-gemini-helper/tree/master/.agents/skills/add-workflow-node into .github/skills/add-workflow-node/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "add-workflow-node", then confirm the skill loads.GitHub Copilot copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add takeshy/obsidian-gemini-helper --skill add-workflow-node -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install takeshy/obsidian-gemini-helper add-workflow-node --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/takeshy/obsidian-gemini-helper.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/.agents/skills/add-workflow-node .opencode/skills/add-workflow-node && rm -rf skills-srcUse ~/.config/opencode/skills/ instead of .opencode/skills for a personal install.
OpenCode skills documentation · loads skills from .opencode/skills/, .claude/skills/, .agents/skills/
Install the "add-workflow-node" agent skill from https://github.com/takeshy/obsidian-gemini-helper/tree/master/.agents/skills/add-workflow-node into .opencode/skills/add-workflow-node/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "add-workflow-node", then confirm the skill loads.OpenCode copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
add-workflow-nodeGuides the agent through every file that must change to register a new node type in the Obsidian Gemini Helper workflow engine, then through lint and build checks.
You give the skill the name of a new node type and the agent adds it to the plugin's workflow engine. It follows an ordered checklist of six places: the type definitions in `src/workflow/types.ts`, the workflow spec used for AI workflow generation, the node handlers, the executor's switch statement, the workflow panel, and the node editor modal.
Each step says what goes wrong if it is skipped. Forgetting the type set makes nodes vanish during parsing, and forgetting the executor case makes node execution fail without any error. The panel and editor steps add the display label, default property values, a summary line for the node list and the editor fields. At the end the agent runs `npm run lint` and `npm run build`, then reads through the files to confirm the new name is used consistently.
6 steps, taken from the step headings in SKILL.md.
Read from SKILL.md and the folder at commit 0e2b8d0. It shows what the files ask for, not the result of running them.
Pre-approves these tools, so the agent can use them without asking each time:
ReadEditWriteGrepGlobBashFrom allowed-tools in the SKILL.md frontmatter.
Shell commands in SKILL.md call:
npmFrom the folder's file list and the shell code blocks in SKILL.md.
No URLs in SKILL.md. Its commands use npm, which can reach the network depending on how they are called.
From URLs in SKILL.md, links to its own repository left out.
Names no API keys, tokens, secrets or passwords.
From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.
Add Workflow Node Type loads about 450 tokens when it runs. Until then it costs about 45 tokens; SKILL.md has 185 words of instructions outside code blocks.
Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.
The automated check noted patterns worth knowing about, such as sudo or a known installer.
allowed-tools: Read, Edit, Write, Grep, Glob, BashAutomated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.
The full file from takeshy/obsidian-gemini-helper at commit 0e2b8d0, republished under its MIT licence (© takeshy). 185 words, ~450 tokens.
.claude/skills/add-workflow-node/SKILL.md (or your agent's skills folder).Add a new workflow node type called $ARGUMENTS to the plugin.
Update the following files in order. Missing any file will cause bugs:
src/workflow/types.tsWorkflowNodeType union typeWORKFLOW_NODE_TYPES Set (single source of truth for isWorkflowNodeType())src/workflow/workflowSpec.tssrc/workflow/nodeHandlers.tshandle*Node() function with the node's execution logicsrc/workflow/executor.tscase in the switch statement to call the handler and log executionsrc/ui/components/workflow/WorkflowPanel.tsxNODE_TYPE_LABELS object (display name)ADDABLE_NODE_TYPES arraygetDefaultProperties() switch (default property values)getNodeSummary() switch (summary text for node list)src/ui/components/workflow/NodeEditorModal.tsNODE_TYPE_LABELS objectcase in renderPropertyFields() switch for editor UI fieldsAfter implementing all changes:
npm run lint to check for errorsnpm run build to verify compilation© takeshy, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file
Just SKILL.md in .agents/skills/add-workflow-node of takeshy/obsidian-gemini-helper.
Open the folder on GitHubat commit 0e2b8d0
Add Workflow Node Type next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.
| Skill | Stars | Used in | Tokens | Auto-check | Licence | Repo updated |
|---|---|---|---|---|---|---|
| Add Workflow Node Type this skilltakeshy/obsidian-gemini-helper | 117 | — | ~450 | Automated safety check: Notes | MIT | |
| Obsidian Plugin Development Guidelinesgapmiss/obsidian-plugin-skill | 190 | — | ~4.5k | Automated safety check: Pass | MIT | |
| Code Reviewpolyipseity/obsidian-terminal | 948 | — | ~1.6k | Automated safety check: Pass | AGPL-3.0 | |
| Typescript Advanced Typesrolling-scopes/rsschool-app | 10k | 24 repos | ~4.2k | Automated safety check: Pass | MPL-2.0 | |
| JSON Canvasheyitsnoah/claudesidian | 2.6k | 18 repos | ~3.5k | Automated safety check: Pass | MIT | |
| Warp Factory Fileswarpdotdev/warp | 65k | 1 repos | ~2.5k | Automated safety check: Pass | AGPL-3.0 |
gapmiss/obsidian-plugin-skill
Rules and references for building Obsidian plugins: ESLint rules, TypeScript practices, memory cleanup, API choices, UI standards and the community submission process.
polyipseity/obsidian-terminal
A skill your agent uses when reviewing PRs, code changes, or conducting code audits in obsidian-terminal.
rolling-scopes/rsschool-app
Master TypeScript's advanced type system including generics, conditional types, mapped types, template literals, and utility types for building type-safe applications.
heyitsnoah/claudesidian
Create and edit JSON Canvas files (.canvas) with nodes, edges, groups, and connections.
warpdotdev/warp
Authors and edits file-based Warp software factory definitions rooted at factory.yaml, covering agents, automations, scorers and webhooks, and validates them before a pull request.
rtk-ai/rtk
Describes seven Rust design patterns for the RTK CLI filter modules, with when to use each, RTK examples, and notes on when a pattern is overkill.
takeshy/obsidian-gemini-helper
Reviews and corrects Gemini API integration code against Google's published practices, covering SDK choice, safety settings, finishReason checks, tools, streaming and thinking.
takeshy/obsidian-gemini-helper
Add a new function calling tool (vault operation) for the Gemini chat.
Works with
Categories
Guides the agent through every file that must change to register a new node type in the Obsidian Gemini Helper workflow engine, then through lint and build checks. You give the skill the name of a new node type and the agent adds it to the plugin's workflow engine.ts`, the workflow spec used for AI workflow generation, the node handlers, the executor's switch statement, the workflow panel, and the node editor modal.
Add Workflow Node Type fits situations like: adding a new command node to the workflow engine; adding an integration node that talks to an outside service from a workflow; adding a control flow node and making sure the editor and executor both know it.
Run `npx skills add takeshy/obsidian-gemini-helper --skill add-workflow-node -a claude-code`. Or copy the skill folder (.agents/skills/add-workflow-node in takeshy/obsidian-gemini-helper) into .claude/skills/add-workflow-node in your project. Claude Code loads it when a task matches its description.
Run `npx skills add takeshy/obsidian-gemini-helper --skill add-workflow-node -a codex`. Or copy the skill folder (.agents/skills/add-workflow-node in takeshy/obsidian-gemini-helper) into .agents/skills/add-workflow-node in your project. Codex loads it when a task matches its description.
Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add takeshy/obsidian-gemini-helper --skill add-workflow-node -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/add-workflow-node, .gemini/skills/add-workflow-node, .github/skills/add-workflow-node and .opencode/skills/add-workflow-node in your project.
Going by SKILL.md and its folder, Add Workflow Node Type needs the command-line tools its instructions call (npm). Our summary lists: The plugin source repository checked out; npm scripts for lint and build. Its frontmatter pre-approves these tools: Read, Edit, Write, Grep, Glob, Bash.
SKILL.md contains no URLs. Its commands use npm, which can reach the network depending on how they are called. This is read from the text; nothing was executed.
Our automated static check of SKILL.md found notes only (pre-approves every shell command (allowed-tools: bash)), nothing it rates as a warning. It is not a guarantee. Review the folder before installing.
Add Workflow Node Type is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.
About 450 tokens (SKILL.md is roughly 1.8k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.
Skills that share tags, products or a category with Add Workflow Node Type: Obsidian Plugin Development Guidelines (gapmiss/obsidian-plugin-skill, 190 stars), Code Review (polyipseity/obsidian-terminal, 948 stars), Typescript Advanced Types (rolling-scopes/rsschool-app, 10k stars) and JSON Canvas (heyitsnoah/claudesidian, 2.6k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
takeshy (a GitHub user) maintains it in takeshy/obsidian-gemini-helper, which has 117 GitHub stars. The repository holds 3 skills in this directory. The repository was last updated on October 6, 2026.
Source: takeshy/obsidian-gemini-helper on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.