googlicius/obsidian-steward/user-defined-command
Claude Code and agent skill by googlicius/obsidian-steward
- community
Checking that the SKILL.md file is still in the repository.
Create and edit Steward user-defined commands (UDCs). Use when the user wants to create, modify, or troubleshoot custom command workflows defined as YAML in the Steward/Commands folder.
Install
npx vskill@latest install googlicius/obsidian-steward/user-defined-commandSKILL.md
User-Defined Command Skill
This skill enables you to create and edit valid Steward user-defined commands — YAML-based command definitions stored as markdown files in the Steward/Commands folder.
File Format
Each command is a markdown file (.md) containing one or more YAML code blocks. The file can also contain plain text, headings, and other markdown content that can be referenced by system prompts.
After creating or updating a UDC note, re-read the file and check the frontmatter status. If it is invalid, use the status error to fix the YAML and re-read again.
YAML Schema
Command-Level Fields
| Field | Type | Required | Description | |
|---|---|---|---|---|
command_name | string | Yes | The name (In kebab-case) to invoke the command (e.g., clean-up invoked as /clean-up) | |
description | string | No | Short summary shown in / Help next to the command; omit if not needed | |
query_required | boolean | No | If true, the command requires user input after the prefix. Default: false | |
model | string | No | Default model for all steps (e.g., gpt-4o, gemini-2.5-flash) | |
system_prompt | array of strings | No | Additional system prompts applied to all steps | |
tools | array of strings | No | Super Agent tool names allowed for this command; omit for full set. Use [switch_agent_capacity] for chat-only until the user switches. If more than five tools, activate_tools is added when missing. | |
hidden | boolean | No | If true, the command does not appear in the autocomplete menu | |
triggers | array of trigger objects | No | Automatically execute when file events match criteria | |
cli | object | No | Shell session settings (v2): optional shell executable and whitelist patterns for auto-approved model shell lines (see CLI settings) | |
steps | array of step objects | Yes | The sequence of steps to execute |
Step-Level Fields
| Field | Type | Required | Description | |
|---|---|---|---|---|
name | string | No | Step name that activates corresponding tools: read, edit, search, vault, generate, image, speech. Use generate for direct AI response without tools | |
query | string | Conditional | The query to send. Required if query_required is true. Use $from_user as placeholder for user input | |
system_prompt | array of strings | No | Additional system prompts for this step only | |
model | string | No | Model override for this step | |
no_confirm | boolean | No | If true, skips confirmation prompts for this step |
Trigger Fields
| Field | Type | Required | Description | |
|---|---|---|---|---|
events | array of strings | Yes | Events to watch: create, modify, delete | |
folders | array of strings | No | Folder paths to watch (e.g., ["Inbox", "Daily Notes"]) | |
patterns | object | No | Pattern matching criteria (all must match) | |
patterns.tags | string or array | No | Tags to match (e.g., "#todo" or ["#todo", "#review"]) | |
patterns.content | string | No | Regex pattern to match file content | |
patterns.<property> | string or array | No | Any frontmatter property name and value to match |
CLI settings (v2)
Use the root-level cli field when a command runs shell tools and you want to control how the local shell behaves.
cli.shell
Optional path to the shell executable when Steward spawns a new session for this command. Falls back to global Steward CLI settings when omitted.
cli.whitelist
Optional list of patterns (max 50 entries). When the Super Agent sends a model shell line in transcript mode (not interactive terminal mode), a matching pattern skips the confirmation prompt.
Matching rules (applied to the trimmed command line):
| Pattern shape | Behavior | |
|---|---|---|
No * | Exact match only (e.g. pwd matches pwd, not pwd -L) | |
Contains * | Glob match: each * matches any run of characters |
Examples:
Get-Content*— commands starting withGet-Contentrm *_temp_transcript.en.srt—rmfollowed by optional flags/whitespace, then that file pathrm *_temp_transcript*—rmcommands that mention_temp_transcript(quoted or unquoted)*_temp_transcript.en.srt— any command that ends with that filename
Notes:
- An entry cannot be only
*wildcards; include at least one literal character. - Empty shell lines never match (opening an interactive shell still requires confirmation).
- Interactive terminal commands always require confirmation, even when whitelisted.
Command Syntax (Direct Tool Calls)
Steps can use command syntax in the query field to invoke tools directly without an AI round trip. This is the preferred approach for deterministic operations.
Syntax
c:prefix identifies a direct command call<tool>is a short alias (see reference below)--key=valuepairs map to the tool's input schema- Multiple commands can be chained with
;separator:c:read --blocks=1; c:edit --mode=replace_by_lines - Quoted values for strings with spaces:
--content="hello world" - Comma-separated values for arrays:
--files=Note1.md,Note2.md
Command Reference
| Alias | Tool | Flags | |
|---|---|---|---|
c:read | Content Reading | --type, --files, --element, --blocks, --pattern | |
c:search | Search | --keywords, --filenames, --folders, --properties | |
c:delete | Delete | --artifact, --files | |
c:list | List | --folder, --pattern | |
c:move | Move | --artifact, --files, --destination | |
c:rename | Rename | --artifact, --pattern, --replace | |
c:grep | Grep | --pattern, --paths, --caseSensitive, --isRegex, --contextLines, --maxResults | |
c:speech | Speech | --text | |
c:image | Image | --prompt |
c:read Flags
| Flag | Type | Default | Description | |
|---|---|---|---|---|
--type | string | above | One of: above, below, pattern, entire, frontmatter | |
--files | string[] | [] | Comma-separated file names to read from | |
--artifact | string | — | Artifact ID (or latest) to resolve file names from. | |
--element | string | null | One of: paragraph, table, code, list, blockquote, image, heading | |
--blocks | number | 1 | Number of blocks to read. Use -1 for all content from current position | |
--pattern | string | — | RegExp pattern (required when --type=pattern) |
c:search Flags
| Flag | Type | Description | |
|---|---|---|---|
--keywords | string[] | Comma-separated search terms | |
--filenames | string[] | Comma-separated file names to search for | |
--folders | string[] | Comma-separated folder paths to search within | |
--properties | json | Property filters in name:value format, comma-separated (e.g. tag:todo,status:active) |
c:delete Flags
This is the start of the file. Read the full SKILL.md on GitHub.
Security
- Security scanPassed, 96 of 100Pattern checks on the skill's files.
- Model reviewNot runA model review is scheduled for the next rescan.
Quality evaluation
- Task evaluationNot runNo evaluation yet. Run one in Skill Studio.
Source
- SKILL.md in the repositoryCheckingskills/user-defined-command/SKILL.md
Popularity
- Repository stars
- 61
- Repository forks
- 2
- 7-day trend score
- 21
Stars and forks are for the whole GitHub repository, not this skill alone. Refreshed 20 Apr 2026, 6 months ago.
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
[](https://verified-skill.com/skills/googlicius/obsidian-steward/user-defined-command)