Skip to content
Automation
Skill

/marketplace

Install marketplace skills, activate cloud tools, check whether installed skills are up to date, or remove them — without the owner opening the Marketplace. Use when the owner asks to install/activate/enable/remove a skill or cloud tool, asks "are my skills up to date?", or

From plugin
sutando
41087 skills20 hooks

Claude Code

$ npx -y skills add sonichi/sutando --skill marketplace --agent claude-code

SKILL.md

marketplace.SKILL.md
name: marketplace
description: Install marketplace skills, activate cloud tools, check whether installed skills are up to date, or remove them — without the owner opening the Marketplace. Use when the owner asks to install/activate/enable/remove a skill or cloud tool, asks "are my skills up to date?", or hands you a use-case doc and asks you to set up what it needs.

Marketplace

The owner is already signed in to Sutando Cloud (desktop onboarding), so everything the Marketplace UI does can be done from here: activate a cloud tool, install a local skill, update skills, remove them.

The script lives next to this file. Run it with `python3`:

M="<this skill's directory>/scripts/marketplace.py"
python3 "$M" find "lead enrichment"              # search (add --kind skill|cloud_tool|connector)
python3 "$M" status                              # owned vs on this machine
python3 "$M" install intent-leads campaign-runner   # PLAN only — writes nothing
python3 "$M" install intent-leads campaign-runner --yes
python3 "$M" update                              # list missing / outdated skills
python3 "$M" update --yes                        # re-fetch them (never charges)
python3 "$M" uninstall live-preview              # PLAN only
python3 "$M" uninstall live-preview --yes

Add `--json` for machine-readable output. One `install` call takes skills and cloud tools together; the script works out which is which.

How to run a setup

1. **Collect the slugs.** From the owner's request, or from a use-case doc (read it; docs list what they need under a `Requires:` heading). If a name isn't an exact slug, run `find` first. 2. **Plan.** Run `install <all slugs>` without `--yes`. Show the owner the plan in a sentence or two (what gets installed or activated, what's already set up, what's skipped and why). 3. **Confirm when it costs something.** Exit code `3` means the plan spends credits once, or activates a cloud tool that charges per use (the plan says "leads charges per use: 5 credits per result"): tell the owner the price and get their explicit OK first. Exit code `0` means it's free: go ahead. Never pass `--yes` to `uninstall` without the owner's OK. 4. **Apply.** Re-run the same command with `--yes`. One failed item doesn't stop the rest. 5. **Use it now; restart only when told.** A newly activated cloud tool is **usable at once through `station_find` / `station_call`** (the output says "usable now through station_call", `usable_now` in JSON): go on with the owner's request in the same turn. **Only if the output says `RESTART REQUIRED`** (`restart_required: true`) did the running engine start without the Station, or for another account; then tell the owner exactly once, after everything else:

> New cloud tools are active on your account, but I can only use them after > an engine restart: open **Agent settings** (the bot icon, bottom left), > scroll down to **Runtime**, and click **Restart engine**. Restarting ends > my current session; your tasks and files are kept.

When the output says the desktop app hasn't connected the engine to AG2 Cloud yet (`restart_after_sign_in: true`), the tools need that same one restart once the owner signs in; re-check with `status` then.

**Never restart the core yourself, never ask for a restart the output did not name, and never send the owner to a dashboard or Station page to activate: this script is the activation.** Installed **skills** need no restart; they are usable right away. 6. **Report.** Say what's ready and what failed, using the reasons the script prints (not enough credits, plan too low, not found…). 7. **Price before the first paid call.** `station_find` marks a metered tool `confirm_before_call: true`. Before the first `station_call` to such a tool in a conversation, state its price from `pricing` ("5 credits per result") and wait for the owner's OK.

"Are my skills up to date?"

Run `status`. Skills show `ok`, `missing` (owned but not on this machine), `outdated` (local version behind the marketplace), `disabled`, or `bundled` (ships with Sutando). If anything is missing or outdated, offer `update --yes`. Updating never charges.

Things to know

  • **Connectors** (Gmail, Google Calendar, Slack, …) are not installed here:

`install` skips them with a note, and `find` / `install` match them by exact slug. Connect them from chat with the `connect-apps` skill, which sends the owner a Connect card and picks the request up once they sign in.

  • **Paid skills** charge once. Uninstalling one and reinstalling it charges again.
  • Skills install as real directories under `$CLAUDE_CONFIG_DIR/skills/<slug>/`,

verified against the marketplace's sha256. Unsigned bundles are refused. Skills bundled with Sutando are never replaced.

  • **Errors:**
  • "not signed in" / "session expired": the owner signs in again from the desktop app.
  • Exit `2`: a setup problem to relay, not something to retry.

Writing a use-case doc that Sutando can set up

List the slugs under a `Requires:` heading:

## Requires
- Cloud tools: icp-mapper, intent-leads, lead-enricher, email-drafter
- Skills: campaign-runner, campaign-responder
Read more
@sonichi
Ships withsutando

My AI Stand — Realtime by Day, Rewriting Itself by Night. Summon my AI superpower. Voice, vision, screen, meetings, calls when I'm engaged. Learns my patterns, ships its own code when I'm not. Runs across my Macs, interacts with people & their Stands.

Stars on GitHub

Momentum

stars in total
410
Star history of sonichi/sutando on GitHub, a chart by star-history.com

Other skills on sutando.

ag2-space-mcp

ag2-space-mcp

Connect this Sutando install to AG2 Space's hosted MCP as its own agent, without the desktop app, and know which room and Commons…

@sonichi@sonichiInstall Skill
ag2space-voice

ag2space-voice

s.space voice surface — binds the room the s.space client announces to the voice session's origin, so work delegated by voice in…

@sonichi@sonichiInstall Skill
agent-activity

agent-activity

Streams what the agent is doing into the room, as rows the desktop client renders in an **events drawer** above the composer…

@sonichi@sonichiInstall Skill
agent-registry

agent-registry

Local Agent Registry — a standalone, dependency-free service that tracks running Claude Code (and other) agent instances. Agents…

@sonichi@sonichiInstall Skill
agent-room-ops

agent-room-ops

For an all-room analysis sweep, use the tested window collector and coverage contract in…

@sonichi@sonichiInstall Skill
answer-format

answer-format

Deterministic final-answer normalizer — a last-step pass for any task that ends in a *precise* answer (a number, a short string,…

@sonichi@sonichiInstall Skill

More skills from other plugins.

agent-builder

agent-builder

Load immediately after an Agent intent, before the first agent_builder_* call. Governs how you create, configure, test, and…

n8n2w209k
@n8n-io@n8n-ioInstall Skill
browser-use

browser-use

Direct browser control via CDP for web interaction: automation, scraping, testing, screenshots, and site/app work. Also covers…

@browser-use@browser-useInstall Skill
add-anydoc

add-anydoc

Add local office-document-to-Markdown conversion to NanoClaw agent containers with the pinned Firecrawl AnyDoc CLI. Use when…

@nanocoai@nanocoaiInstall Skill

Questions about marketplace.

Which coding agents can use marketplace?
marketplace installs in Claude Code, Codex, Cursor, Gemini CLI, GitHub Copilot, OpenCode and Windsurf with the skills CLI, using each agent's flag shown on this page. Flowy's auto-invocation, which fires a skill when your prompt matches, runs in Claude Code only.