Nodes/ComfyUI-PromptList/NS Prompt List
ComfyUI Node

NS Prompt List

NS Prompt List, reviewed

By NakamuraShippo·Created 2 years ago·Updated 6 months ago· 10
NS Prompt List
    • STRING
    select_yamlprompt.yaml
    select
    title
    prompt

    NS Prompt List turns the folder it lives in into your prompt library. Pick a title from a dropdown, its prompt fills the text box, one wire out the side feeds it into a CLIP Text Encode, done. The point is that your best positive and negative prompts stop living in a notepad tab and start living inside ComfyUI, one click from being used.

    It's from NakamuraShippo, a Japanese dev whose bigger, still-maintained pack is ComfyUI-NS-Util. This standalone is the prompt-management piece, and the README is upfront that it's no longer updated - since May 2025 the code has been merged into NS-Util. That's not a red flag so much as a heads-up: it's a small, stable utility that does one thing, but if you want this node plus a bag of other utilities, you'd be better off just installing NS-Util. Same author, same node, still getting commits.

    How it works

    The node reads YAML files from its own yaml/ folder (i.e. ComfyUI/custom_nodes/ComfyUI-NS-PromptList/yaml/). Each entry is a title mapping to a prompt - cyberpunk_city:neon lights, rain-slicked streets…. A watchdog file watcher keeps the dropdowns honest: select_yaml lists every .yaml in the folder, select lists the titles inside whichever file you've picked. Pick a title and the frontend fetches that entry over a small HTTP endpoint and fills the text boxes for you. No model, no API key, nothing heavy - the real dependencies are just pyyaml and watchdog.

    The part that surprises people: it's a writer, not just a reader. When you queue a run with something in title and prompt, the node saves (or overwrites) that entry in the selected YAML file, then passes the prompt out its single STRING output. So you register a prompt by typing it and hitting Queue once; you edit one by typing the existing title over it and queuing again. Saves are atomic - temp file, then rename, under a lock - so a crash mid-write won't shred your library. And if it ever does hit a corrupt file, it renames it bad_<timestamp>_<name>.yaml and starts fresh rather than refusing to load.

    The inputs and output

    There are four widgets and all of them matter:

    • select_yaml - which file in the yaml folder you're working against
    • select - the title to load into the boxes below
    • title - the identifying key; nothing gets saved unless this is non-empty
    • prompt - the actual text, multiline

    Output is a single STRING - the current prompt, wired straight into a CLIP Text Encode. Want the same library to serve negatives too? Just use a different title (the pack ships pony_negative / pony_positive entries as an example - a nod to the fact that Pony and its SDXL relatives still genuinely want a real negative prompt, unlike the LLM-encoded models where the negative box is largely inert).

    Installing it

    Easiest is ComfyUI Manager - search "ComfyUI-NS-PromptList" in Install Custom Nodes, or paste the git URL under Manager → Install via Git URL. Otherwise:

    cd ComfyUI/custom_nodes
    git clone https://github.com/NakamuraShippo/ComfyUI-NS-PromptList
    

    Restart ComfyUI. On Windows the README also has you run pip install pyyaml watchdog filelock inside your ComfyUI venv (the shipped requirements.txt already lists these, so most installers handle it). No models to download - this one is refreshingly light.

    Gotchas worth knowing

    • The README's widget section claims the yaml folder is at ComfyUI-Create\custom_nodes\.... That's a copy-paste typo; it's ComfyUI/custom_nodes/ComfyUI-NS-PromptList/yaml/. If you build a big library, back that folder up.
    • The delete button on the node is a tease - the backend delete was never wired up ("Delete not implemented in this version"). Overwrite or hand-edit the YAML instead.
    • Prompts past ~4096 characters trigger a console warning. Not a hard cap, just the author's recommended ceiling.
    • Mistyped a title and queued? Ctrl+Z restores the box, then generate again to overwrite - the README's own recovery path.
    • Because the dropdown options are generated at runtime, the node bypasses ComfyUI's static validation, so old workflows referencing titles that no longer exist still load.

    Verdict: if you live on one machine and want your prompts saved next to your workflows, this does the job and is wonderfully dependency-light. If you want that plus a lot more, skip the standalone and grab NS-Util.

    CategoryNS

    Inputs (4)

    NameTypeDefaultDescription
    select_yamlCOMBOprompt.yaml4 options: Template_negative.yaml, Template_positive.yaml, free.yaml, prompt.yaml
    selectCOMBO9 options: , abstract_art, anime_character, cyberpunk_city, landscape_sunset, pony_negative, +3
    titleSTRING
    promptSTRING

    Outputs (1)

    NameTypeDescription
    STRINGSTRING