---
name: xuzhougeng/customize
source: https://app.decimal.ai/s/xuzhougeng-customize@1/SKILL.md
source_sha256: d0107d444803
---

# Customize Wisp

Wisp exposes customization through explicit tools and Settings UI. Python has
no control-plane SDK. Never invent profile, connector, or skill CRUD methods.

## Create a specialist

Use `save_specialist` only when it is advertised in the current session. It is
create-only.

1. Ask what single job the specialist owns and what it must not do.
2. Draft a display name, one-line description, and concise instructions that
   extend Wisp's base prompt.
3. Decide whether to inherit project skills/connectors or use explicit
   whitelists. Use exact installed skill names returned by `search_skills`.
   Include connector names only when the user supplied or confirmed them.
4. Show the complete proposal and obtain confirmation before creating it.
5. Call `save_specialist` with `name` and `instructions`; add `description`,
   `model_id`, `skills`, or `connectors` only when intentionally chosen.
6. Report the returned specialist id. Direct the user to
   **Settings → Specialists** for edits, deletion, icons, or later loadout
   changes; no Agent tool performs those mutations.

Omit `skills` and `connectors` to inherit project settings. An empty list is an
explicit zero-access whitelist and is not equivalent to omission.

## Author or update a skill

Load `skill-creator`. For a project-local skill, edit files under:

```text
.wisp/skills/<skill-name>/SKILL.md
```

Use `read`, `write`, and `edit`. `search_skills` and `use_skill` are discovery
and loading tools, not mutation tools. If a newly created project skill is not
visible immediately, refresh or reopen the project so Wisp rebuilds its skill
index.

For a user-wide skill, create the folder in the project first, validate it, then
ask the user to install that folder through **Settings → Skills**. Wisp copies
installed skills to its user skill directory; there is no Agent-side publish or
delete interface.

## Boundaries

- Do not modify Wisp's SQLite store directly.
- Do not use `python`, `shell`, or `run_in_context` to bypass Settings or tool
  authorization.
- Do not promise conversation identity switching; the user selects specialists
  through Wisp's UI.
- Do not claim connector enumeration when no connector-management tool is
  advertised.