Interactive getting-started walkthrough for new swamp users. Guides through understanding the user's goals, creating and running a first model, inspecting output, and choosing next steps. Uses a state-machine checklist with verification at each step. Triggers on "getting started", "get started", "new to swamp", "first time", "tutorial", "walkthrough", "onboarding", "how do I start", "what do I do first", "quickstart", "quick start", "hello world", "first model", "just installed swamp", "show me how swamp works", "intro to swamp", "new user", "set up swamp", "learn swamp".
Interactive walkthrough for new users. This skill is a state machine — each state gates the next. You MUST NOT advance to the next state until the current state's Verify step passes.
start → goals_understood → model_created → method_run
→ output_inspected → graduated
Core rule: If any Verify fails, execute the On Failure action. Never skip a state. Never reorder states. Each step validates before advancing.
Do not guess CLI commands. If you are unsure whether a subcommand or flag
exists, run swamp <command> --help to check before using it. Never invent
commands — only use what the CLI actually provides.
Pre-check: Before presenting the walkthrough, run
swamp model search --json. If the command succeeds and returns models, the
user does not need onboarding. Skip the entire walkthrough and say:
You already have models set up. You're past the getting-started stage — just tell me what you'd like to work on and I'll use the right skill.
Then stop. Do not proceed with the state machine.
If the command fails (repo not initialized, corrupt config, swamp not
installed), do not silently skip onboarding. Tell the user what went wrong and
suggest running swamp repo init first. If the repo isn't initialized, delegate
to the swamp-repo skill for setup, then return here to continue the
walkthrough.
If no models exist, present the 5-step checklist (Goals → Create → Run → Inspect → Graduate) so the user knows what to expect. Also tell the user:
Then begin with State 1.
Understand what the user wants to accomplish with swamp so the rest of the walkthrough is tailored to their goals.
Gate: None (first state).
Action: Ask the user what they want to automate. Don't categorize by implementation (shell vs cloud vs extension) — just ask them to describe their goal in their own words. Examples: "check disk space on my servers", "manage AWS EC2 instances", "monitor my API uptime", "deploy to Kubernetes". Let them know they can skip the walkthrough if they already know swamp.
Early exit: If the user's response indicates they already know swamp (e.g.,
"I want to create a model for X", "set up a workflow", or describes a specific
task with swamp terminology), skip the rest of this walkthrough. Instead,
delegate directly to the appropriate skill (swamp-model, swamp-workflow,
swamp-vault, etc.) and proceed with their request.
Verify: The user has described their goal. Find the right model type:
swamp model type search <keywords> --jsonswamp extension search <keywords> --jsonswamp extension pull <package>swamp-extension-model skill. Only use command/shell if the user's goal is
genuinely a one-off ad-hoc command (not wrapping a CLI tool or service)Store the user's goal description — use it to name models and tailor examples throughout the remaining steps.
On Failure: If the user is unsure, default to a command/shell model. It
works everywhere without credentials and demonstrates the full lifecycle.
Create the user's first model, tailored to their stated goal.
Gate: State 1 passed (goals understood, model type chosen).
Action: Follow the resolution steps in
references/tracks.md to create the model. Use the user's
goal to pick a meaningful model name (e.g., "check disk space" →
check-disk-space).
The general pattern regardless of model type:
swamp model create <type> <name> --jsonswamp model validate <name> --json
Validation must pass with no errors. Show any warnings to the user.
On Failure: Read the validation errors. Common fixes:
swamp model type describe <type> --jsonswamp model get <name> --jsonFor detailed model guidance, see the swamp-model skill.
Execute a method on the model to show swamp in action.
Gate: State 2 passed (model validates).
Action: Tell the user what's about to happen, then run:
swamp model method run <name> <method>
Where <method> is:
command/shell): executesync,
get) — prefer non-destructive methods for a first runswamp model type describe <type> --jsonVerify: The command completes with a succeeded status.
On Failure:
swamp-vault
skill)After fixing, re-run the method and re-verify.
Show the user what swamp captured and where data lives.
Gate: State 3 passed (method succeeded).
Action:
swamp model output get <name> --json
Verify: The command returns output data. Present the results to the user,