ComfyUI Node

Shrug Template

255 ready-made prompts, served from a dropdown

By fblissjr·Created about a year ago·Updated 4 months ago· 25
Shrug Template
    • system
    • user
    • body
    • description
    • metadata
    template

    A VLM node is only as good as the prompts you feed it, and writing good system prompts is the least fun part of the whole setup. Shrug Template is the pack's answer: a dropdown that loads a prompt template from a built-in Markdown library, parsed into pieces you can wire straight into ShrugVLM. The pack ships about 255 of them, and you can drop your own in a folder and get them in the dropdown too.

    The library splits into two flavors. templates/vlm/ has structured templates with explicit system: and user: prompts - caption, structured scene description, that kind of thing. templates/styles/ has 250+ single-purpose style and system-prompt snippets (the author migrated them from a Z-Image experiment repo, so they read like diffusion style guides: octane renders, 80s dark fantasy, analogue horror...). And templates/styles/rewriter/ holds prompt rewriters that expand a short user input into a full image-generation prompt. If you've ever stared at a blank prompt box, this is a decent place to start.

    How it works

    Templates are plain .md files that may start with a YAML-ish frontmatter block - --- delimited, supporting key: value, inline lists (tags: [a, b]), and block scalars (system: | with indented text). The parser is hand-rolled and deliberately minimal; no pyyaml dependency, which keeps install light. If a file has no frontmatter, the whole thing is treated as body.

    The node emits five outputs, and the wiring convention matters:

    • system - the frontmatter system: block scalar (empty if absent).
    • user - the frontmatter user: block scalar (empty if absent).
    • body - everything after the closing --- (or the whole file if no frontmatter).
    • description - the frontmatter description: field.
    • metadata - the rest of the frontmatter as a JSON string.

    For a vlm/ template, wire systemShrugVLM.system_prompt and useruser_prompt. For a styles/ file, the body is the system prompt, so wire bodysystem_prompt and leave the rest alone. Get the two conventions backwards and you'll feed a style description into the user prompt and wonder why nothing changes.

    How to install

    Standard pack install - ComfyUI Manager, search Shrug-Prompter, install, restart:

    cd ComfyUI/custom_nodes
    git clone https://github.com/fblissjr/shrug-prompter
    

    The templates ship inside the repo, so there's nothing extra to download. Dependencies are already in modern ComfyUI (httpx, orjson, pillow, torch, numpy). Note this node is a pure utility - it reads files, parses frontmatter, and doesn't talk to the server at all, so it works without a ShrugConnection.

    Common issues

    • The dropdown doesn't show your new template. The file list is built when ComfyUI loads the node. Drop a .md file into templates/ (or a subdirectory - nested paths become dropdown values) and restart before you hunt for it.
    • Frontmatter silently ignored. The parser is minimal by design. Multi-line flow maps, anchors, and tags won't parse. If a template isn't splitting into system/user as you expect, check that the block scalars are indented properly - that's the part most people get wrong.
    • Blank outputs everywhere. If the file has no frontmatter, system and user are legitimately empty and body is everything. That's not a bug; you picked a styles/-convention file and wired it like a vlm/ one.
    Categoryshrug

    Inputs (1)

    NameTypeDefaultDescription
    templateCOMBO255 options: README.md, styles/3d_render_octane.md, styles/3d_render_stylized.md, styles/80s_dark_fantasy.md, styles/90s_cgi_nostalgia.md, styles/abstract_liquid_metal.md, +249

    Outputs (5)

    NameTypeDescription
    systemSTRING
    userSTRING
    bodySTRING
    descriptionSTRING
    metadataSTRING