@vatio-ai/skills 1.26.4 → 1.27.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -11,7 +11,7 @@
11
11
  {
12
12
  "name": "vatio",
13
13
  "source": "./",
14
- "description": "Vatio skills for Claude Code, Cursor and Codex: add an AI agent to the app you're building with /vatio-init, put it in your web, iOS, Android or Flutter app with /vatio-add-to-app, then improve it daily with /vatio-improve and learn what people ask it with /vatio-analyze.",
14
+ "description": "Vatio skills for Claude Code, Cursor and Codex: add an AI agent to the app you're building with /vatio-init, then improve it daily with /vatio-improve and learn what people ask it with /vatio-analyze.",
15
15
  "version": "1.25.1",
16
16
  "homepage": "https://vatio.ai/docs/integrations/claude-code",
17
17
  "category": "development",
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "vatio",
3
- "description": "Vatio skills for Claude Code, Cursor and Codex: add an AI agent to the app you're building with /vatio-init, put it in your web, iOS, Android or Flutter app with /vatio-add-to-app, then improve it daily with /vatio-improve and learn what people ask it with /vatio-analyze.",
4
- "version": "1.26.4",
3
+ "description": "Vatio skills for Claude Code, Cursor and Codex: add an AI agent to the app you're building with /vatio-init, then improve it daily with /vatio-improve and learn what people ask it with /vatio-analyze.",
4
+ "version": "1.27.0",
5
5
  "author": {
6
6
  "name": "Vatio",
7
7
  "url": "https://vatio.ai"
package/README.md CHANGED
@@ -20,7 +20,6 @@ need your app’s project on your computer and Node.js 20 or newer.
20
20
  | Skill | What it does |
21
21
  |---|---|
22
22
  | `vatio-init` | The first one in a project: looks at what is already there (a `vatio.yml` anywhere in the repository, the app's code) and recommends from it. With no agent yet, builds one: asks the owner what the code does not answer, writes `vatio.yml`, pushes it and hands over a link to try. With one, gets a developer who joined the project up to speed |
23
- | `vatio-add-to-app` | Puts the agent in your app once you have tried it: the web widget, or the iOS, Android or Flutter SDK with a chat screen in your app's style, a publishable key for development and one for release, and your signed-in users passed along |
24
23
  | `vatio-improve` | Takes every reply your supervisors reported in the inbox in one session: reads `vatio flags`, fixes each cause, `vatio push`, proves it with `vatio test` (on Vatio's servers, in the background) and publishes with `vatio publish` after your approval |
25
24
  | `vatio-analyze` | Reads what people talked about with the agent between two dates, from `vatio chat export` (redacted by Vatio before it leaves): topics with their counts, the questions it could not answer and the words people use, in a report for writing content, FAQs or knowledge. Anyone on the workspace's team can run it, viewers included |
26
25
  | `vatio-share-session` | Sends the coding session to the Vatio team when you ask it to, or offers to when the others finish (send it, not now, or don't ask again), after showing you what goes (images left out, anything that looks like a secret redacted), with your feedback if you want to add some |
@@ -53,7 +52,7 @@ auto-update**, or run `claude plugin update vatio@vatio`.
53
52
  Your coding agent then uses them on its own when you ask it to build, improve
54
53
  or fix a Vatio agent, to analyze its conversations, or to send the session to
55
54
  Vatio, or you can call them by
56
- name: `/vatio-init`, `/vatio-add-to-app`, `/vatio-improve`, `/vatio-analyze` and `/vatio-share-session`, or
55
+ name: `/vatio-init`, `/vatio-improve`, `/vatio-analyze` and `/vatio-share-session`, or
57
56
  `/vatio:vatio-init` and so on from the plugin.
58
57
 
59
58
  `vatio init` also writes a pointer to `vatio flags` into the workspace's
package/bin/install.mjs CHANGED
@@ -10,8 +10,8 @@ import { fileURLToPath } from "node:url";
10
10
 
11
11
  const usage = `usage: npx @vatio-ai/skills [--dir PATH]
12
12
 
13
- Copies the Vatio skills (vatio-init, vatio-add-to-app, vatio-improve,
14
- vatio-analyze, vatio-share-session) into PATH/.agents/skills and
13
+ Copies the Vatio skills (vatio-init, vatio-improve, vatio-analyze,
14
+ vatio-share-session) into PATH/.agents/skills and
15
15
  PATH/.claude/skills. PATH defaults to the current directory.`;
16
16
 
17
17
  const args = process.argv.slice(2);
@@ -39,9 +39,9 @@ const source = join(dirname(fileURLToPath(import.meta.url)), "..", "skills");
39
39
  // older than the published skills (cli/lib/skills-hint.mjs).
40
40
  const VERSION_FILE = ".vatio-skills-version";
41
41
  const { version } = JSON.parse(readFileSync(join(source, "..", "package.json"), "utf8"));
42
- // Skills this package used to ship under another name. Left in place, the old
43
- // copy would answer the same requests as the new one.
44
- const RENAMED = { "vatio-new": "vatio-init" };
42
+ // Skills this package used to ship, and what replaced them (null: nothing).
43
+ // Left in place, an old copy would keep answering requests.
44
+ const RETIRED = { "vatio-new": "vatio-init", "vatio-add-to-app": null };
45
45
  const skills = readdirSync(source, { withFileTypes: true })
46
46
  .filter((entry) => entry.isDirectory())
47
47
  .map((entry) => entry.name);
@@ -53,11 +53,11 @@ for (const target of [".agents/skills", ".claude/skills"]) {
53
53
  writeFileSync(join(dest, VERSION_FILE), `${version}\n`);
54
54
  console.log(` ${relative(process.cwd(), join(dest, "SKILL.md")) || dest}`);
55
55
  }
56
- for (const [old, current] of Object.entries(RENAMED)) {
56
+ for (const [old, current] of Object.entries(RETIRED)) {
57
57
  const dest = join(root, target, old);
58
58
  if (!installedByUs(dest, old)) continue;
59
59
  rmSync(dest, { recursive: true, force: true });
60
- console.log(` removed ${relative(process.cwd(), dest) || dest} (now ${current})`);
60
+ console.log(` removed ${relative(process.cwd(), dest) || dest}${current ? ` (now ${current})` : ""}`);
61
61
  }
62
62
  }
63
63
 
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@vatio-ai/skills",
3
- "version": "1.26.4",
4
- "description": "Vatio skills for Claude Code, Cursor and Codex: add an AI agent to the app you're building with /vatio-init, put it in your web, iOS, Android or Flutter app with /vatio-add-to-app, then improve it daily with /vatio-improve and learn what people ask it with /vatio-analyze.",
3
+ "version": "1.27.0",
4
+ "description": "Vatio skills for Claude Code, Cursor and Codex: add an AI agent to the app you're building with /vatio-init, then improve it daily with /vatio-improve and learn what people ask it with /vatio-analyze.",
5
5
  "keywords": [
6
6
  "vatio",
7
7
  "ai-agent",
@@ -61,8 +61,6 @@ you recommend, and ask them to confirm.
61
61
  publish yet and you need not explain preview and live. Every push says
62
62
  which of the two states the workspace is in; once it says visitors still
63
63
  get an older version, publish with `vatio publish` only when they ask.
64
- 6. Once they have tried it, offer to put it in the app (the web widget,
65
- or the iOS, Android or Flutter SDK) with the `vatio-add-to-app` skill.
66
64
  - **A `vatio.yml`: the agent exists.** Never `vatio init` here: it writes a
67
65
  starter agent, and pushing that replaces the real one. Work from the
68
66
  directory of the `vatio.yml` and follow **Joining an existing workspace**:
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  name: vatio-share-session
3
3
  allowed-tools: AskUserQuestion
4
- description: Send this coding session to the Vatio team, so they can see where building or improving a Vatio agent got stuck. Use when the user asks to share, send or report this session (or "the conversation", "what we did") to Vatio, when the Vatio team asked them for it, when Vatio itself got in the way and they want the team to see exactly how, or when vatio-init, vatio-add-to-app or vatio-improve finish and say to offer it.
4
+ description: Send this coding session to the Vatio team, so they can see where building or improving a Vatio agent got stuck. Use when the user asks to share, send or report this session (or "the conversation", "what we did") to Vatio, when the Vatio team asked them for it, when Vatio itself got in the way and they want the team to see exactly how, or when vatio-init or vatio-improve finish and say to offer it.
5
5
  ---
6
6
 
7
7
  # Send this session to the Vatio team
@@ -15,7 +15,7 @@ to see where Vatio got in the way and fix it; every read is logged, and it is
15
15
  deleted 30 days after it arrives (sooner on request to dpo@vatio.ai).
16
16
 
17
17
  It is sent in one of two ways: the user asked for it, or you offer it because
18
- `vatio-init`, `vatio-add-to-app` or `vatio-improve` just finished.
18
+ `vatio-init` or `vatio-improve` just finished.
19
19
 
20
20
  1. **Only when you are offering it**, ask the CLI first:
21
21
 
@@ -1,79 +0,0 @@
1
- ---
2
- name: vatio-add-to-app
3
- description: Puts a Vatio agent where the app's users talk to it — the web widget in a web app, the Swift package in an iOS app, the Kotlin library in an Android app, the Dart package in a Flutter app — with a publishable key per environment, the signed-in user passed along, and, on mobile, a chat screen in the app's own style. Use after vatio-init, or when asked to add the agent, the chat, the widget or the Vatio SDK to a website, a web app, an iPhone/iOS app, an Android app or a Flutter app.
4
- ---
5
-
6
- # Put the agent in the app
7
-
8
- The agent already exists: a `vatio.yml` in this repository, pushed at least
9
- once. If there is none, use the `vatio-init` skill first.
10
-
11
- Vatio keeps the procedure on the platform, so it is never out of date here.
12
- Read it first:
13
-
14
- ```bash
15
- npx @vatio-ai/cli docs
16
- ```
17
-
18
- Under **For coding agents**, follow **Putting the agent in the app**. It takes
19
- precedence over the summary below, and the pages it links (Web widget, iOS
20
- SDK, Android SDK, Flutter SDK, Authentication) have the details.
21
-
22
- ## In short
23
-
24
- 1. **Find where it goes.** Web, iOS, Android, Flutter, or several, and every origin a
25
- build will call from: local and production web addresses,
26
- `ios-app://BUNDLE_ID`, `android-app://APPLICATION_ID` (debug ids count).
27
- A Flutter app needs both app origins. React Native and Expo have no Vatio SDK yet: say so, and
28
- `vatio feedback` that one was asked for.
29
- 2. **Tell the user what you will add before changing anything**: which
30
- screens or layout, which keys, how signed-in users are passed, and ask
31
- them to confirm.
32
- 3. **Keys.** `vatio keys create publishable --env preview` for development builds and
33
- `--env live` for release builds, each with its origins (`--json` when the
34
- key goes straight into a config or secrets store). `vatpub_` keys
35
- ship in the app's configuration; a `vat_` token never does.
36
- 4. **Add it.** Web: the widget, once for the whole app. iOS, Android and Flutter: the
37
- SDK has no UI, so write the chat screen in the app's own style from the
38
- example in [vatio-ai/ios](https://github.com/vatio-ai/ios)
39
- (`Example/VatioExample/Views.swift`),
40
- [vatio-ai/android](https://github.com/vatio-ai/android)
41
- (`example/src/main/kotlin/ai/vatio/example/Views.kt`) or
42
- [vatio-ai/flutter](https://github.com/vatio-ai/flutter) (`example/lib/views.dart`).
43
- For more than one screen (the conversation list, photos, voice notes, the
44
- feedback card, settings), read a whole app built on the SDK:
45
- [Vatio Chat for iOS](https://github.com/vatio-ai/vatio-chat-ios) or [for Android](https://github.com/vatio-ai/vatio-chat-android); each README
46
- says which file shows what.
47
- 5. **Signed-in users.** The app's own backend signs the visitor token (`vatio auth --new-key`,
48
- then `auth: public_key:` in `vatio.yml`), the web widget and the SDKs take
49
- it, and the private key never goes into the app.
50
- 6. **Try it in a development build**, signed out and signed in, then say what
51
- you added and where each key lives. While the workspace is a draft
52
- (nobody outside the team has talked to the agent yet) live follows every
53
- push, so release builds answer right away; after that they answer with
54
- what is published, and `vatio publish` runs only when they ask.
55
-
56
- ## Before you finish
57
-
58
- If an error or the docs left you guessing, say so:
59
- `vatio feedback "what you were doing and what was missing"`. Then, in Claude
60
- Code, offer to send this session to the Vatio team, as the
61
- `vatio-share-session` skill says; if `vatio share-session --should-ask` prints
62
- `no`, say nothing.
63
-
64
- There are two ways to run the CLI, and the package name appears once in
65
- either: `vatio ARGS` when it is installed globally, and
66
- `npx @vatio-ai/cli@latest ARGS` when it is not. Pick one per command and
67
- leave it whole — `npx @vatio-ai/cli @vatio-ai/cli push` is the commonest way
68
- to get this wrong, and the CLI reads the second name as the command and
69
- fails.
70
-
71
- A command you hand the developer to run themselves, because a permission
72
- check refused it or it needs their own credentials, says
73
- `npx @vatio-ai/cli@latest`, never `vatio`: the `vatio` installed on their
74
- machine can be too old for Vatio to accept. When one command's output feeds
75
- another (a key into a secrets store), take it with `--json` and chain with
76
- `&&`, never through `grep`, so a failure stops there instead of passing on an
77
- empty value. If Claude Code's auto mode refused a `vatio` command and the
78
- project's `.claude/settings.json` has no `Bash(vatio *)` rule, also mention
79
- **Auto mode** on the docs' Claude Code page.