googlicius/obsidian-steward/user-defined-command

Claude Code and agent skill by googlicius/obsidian-steward

Trust tier 2
  • community
LLM review pending
Source check pending

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-command

SKILL.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
FieldTypeRequiredDescription
command_namestringYesThe name (In kebab-case) to invoke the command (e.g., clean-up invoked as /clean-up)
descriptionstringNoShort summary shown in / Help next to the command; omit if not needed
query_requiredbooleanNoIf true, the command requires user input after the prefix. Default: false
modelstringNoDefault model for all steps (e.g., gpt-4o, gemini-2.5-flash)
system_promptarray of stringsNoAdditional system prompts applied to all steps
toolsarray of stringsNoSuper 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.
hiddenbooleanNoIf true, the command does not appear in the autocomplete menu
triggersarray of trigger objectsNoAutomatically execute when file events match criteria
cliobjectNoShell session settings (v2): optional shell executable and whitelist patterns for auto-approved model shell lines (see CLI settings)
stepsarray of step objectsYesThe sequence of steps to execute
Step-Level Fields
FieldTypeRequiredDescription
namestringNoStep name that activates corresponding tools: read, edit, search, vault, generate, image, speech. Use generate for direct AI response without tools
querystringConditionalThe query to send. Required if query_required is true. Use $from_user as placeholder for user input
system_promptarray of stringsNoAdditional system prompts for this step only
modelstringNoModel override for this step
no_confirmbooleanNoIf true, skips confirmation prompts for this step
Trigger Fields
FieldTypeRequiredDescription
eventsarray of stringsYesEvents to watch: create, modify, delete
foldersarray of stringsNoFolder paths to watch (e.g., ["Inbox", "Daily Notes"])
patternsobjectNoPattern matching criteria (all must match)
patterns.tagsstring or arrayNoTags to match (e.g., "#todo" or ["#todo", "#review"])
patterns.contentstringNoRegex pattern to match file content
patterns.<property>string or arrayNoAny 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.

yaml
cli:
shell: /bin/zsh # optional: override the shell executable for new sessions
whitelist:
- 'yt-dlp*'
- 'Get-Content*'
- 'rm *_temp_transcript*'
- 'cat _temp_transcript.en.srt'
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 shapeBehavior
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 with Get-Content
  • rm *_temp_transcript.en.srt — rm followed by optional flags/whitespace, then that file path
  • rm *_temp_transcript* — rm commands 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:<tool> [--arg=value]...
  • c: prefix identifies a direct command call
  • <tool> is a short alias (see reference below)
  • --key=value pairs 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
AliasToolFlags
c:readContent Reading--type, --files, --element, --blocks, --pattern
c:searchSearch--keywords, --filenames, --folders, --properties
c:deleteDelete--artifact, --files
c:listList--folder, --pattern
c:moveMove--artifact, --files, --destination
c:renameRename--artifact, --pattern, --replace
c:grepGrep--pattern, --paths, --caseSensitive, --isRegex, --contextLines, --maxResults
c:speechSpeech--text
c:imageImage--prompt
c:read Flags
FlagTypeDefaultDescription
--typestringaboveOne of: above, below, pattern, entire, frontmatter
--filesstring[][]Comma-separated file names to read from
--artifactstring—Artifact ID (or latest) to resolve file names from.
--elementstringnullOne of: paragraph, table, code, list, blockquote, image, heading
--blocksnumber1Number of blocks to read. Use -1 for all content from current position
--patternstring—RegExp pattern (required when --type=pattern)
c:search Flags
FlagTypeDescription
--keywordsstring[]Comma-separated search terms
--filenamesstring[]Comma-separated file names to search for
--foldersstring[]Comma-separated folder paths to search within
--propertiesjsonProperty 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

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
vskill VERIFIED badge
[![vskill VERIFIED](https://verified-skill.com/api/v1/skills/googlicius/obsidian-steward/user-defined-command/badge)](https://verified-skill.com/skills/googlicius/obsidian-steward/user-defined-command)

Something wrong with this skill or its page? Tell us.