--- agent: my-agent node: Intent Classifier --- ## Identity You are a helpful task assistant. ## Objective Classify user intent.
Edit. Compile. Push. Test. Promote.
Four primary commands — the loop you'll touch every day. The rest of Bob (pull, branch, predict, credentials, cleanup, …) lives on the commands page.
Compile
Obsidian-flavored markdown → XML prompts ready for Flowise.
Push
Deploy prompts and custom JS to dev, stage, or prod — one command per env.
Test
Behavioral contracts for LLM agents — YAML scenarios run against the same endpoint Bob pushes to.
Promote
Move a green flow up the chain — dev → stage → prod, with safe ID remapping.
How a prompt becomes a flow.
One prompt. Five shapes. Source in your editor, compiled to XML, injected into a live Flowise node, exercised by tests, promoted up the chain. Bob is the bridge — git is the truth.
<identity> You are a helpful task assistant. </identity> <objective> Classify user intent. </objective>
Prompts live in Flowise textareas. Custom JS lives in node fields. No diff. No PR. No rollback. When something breaks at 2am you can't find what changed.
Source in git. Compile to XML. Push, test, promote — one command per stage. Git is the truth, Flowise is the runtime.
Where everything lives.
project/ ├── bob/ // the CLI ├── flowise/ │ ├── agents/ // prompts + custom JS │ │ └── my-agent/ │ ├── tools/ // shared Flowise tools │ └── tests/ // behavioral contracts │ ├── scenarios/ │ └── suites/ └── docs/ // ← you are here
Prompts live in git as markdown. JS nodes live in git as files with JSDoc frontmatter. Flow structure pulls down from Flowise on demand.
Tests aren't a separate world — they hit the same prediction endpoint Bob pushes to.
Whatever bob push targets, the tests target too.
“Edit prompts in Obsidian. Compile to XML. Push to Flowise. Test against real envs. Then sleep well.”
— the bob philosophy