@vatio-ai/skills 1.17.0 → 1.19.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,8 +11,8 @@
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.",
15
- "version": "1.17.0",
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.",
15
+ "version": "1.19.0",
16
16
  "homepage": "https://vatio.ai/docs/integrations/claude-code",
17
17
  "category": "development",
18
18
  "keywords": [
@@ -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.",
4
- "version": "1.17.0",
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.19.0",
5
5
  "author": {
6
6
  "name": "Vatio",
7
7
  "url": "https://vatio.ai"
package/README.md CHANGED
@@ -22,6 +22,7 @@ need your app’s project on your computer and Node.js 20 or newer.
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 (with no account, as a trial) and hands over a link to try it and one to keep it. With one, gets a developer who joined the project up to speed |
23
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 token for development and one for release, and your signed-in users passed along |
24
24
  | `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
+ | `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 |
25
26
  | `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 |
26
27
 
27
28
  The skills are short on purpose. They tell your coding agent when to reach for
@@ -50,8 +51,9 @@ turn it on once in `/plugin` → **Marketplaces** → **vatio** → **Enable
50
51
  auto-update**, or run `claude plugin update vatio@vatio`.
51
52
 
52
53
  Your coding agent then uses them on its own when you ask it to build, improve
53
- or fix a Vatio agent, or to send the session to Vatio, or you can call them by
54
- name: `/vatio-init`, `/vatio-add-to-app`, `/vatio-improve` and `/vatio-share-session`, or
54
+ or fix a Vatio agent, to analyze its conversations, or to send the session to
55
+ 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
57
  `/vatio:vatio-init` and so on from the plugin.
56
58
 
57
59
  `vatio init` also writes a pointer to `vatio flags` into the workspace's
package/bin/install.mjs CHANGED
@@ -11,8 +11,8 @@ import { fileURLToPath } from "node:url";
11
11
  const usage = `usage: npx @vatio-ai/skills [--dir PATH]
12
12
 
13
13
  Copies the Vatio skills (vatio-init, vatio-add-to-app, vatio-improve,
14
- vatio-share-session) into PATH/.agents/skills and PATH/.claude/skills. PATH
15
- defaults to the current directory.`;
14
+ vatio-analyze, vatio-share-session) into PATH/.agents/skills and
15
+ PATH/.claude/skills. PATH defaults to the current directory.`;
16
16
 
17
17
  const args = process.argv.slice(2);
18
18
  let root = process.cwd();
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@vatio-ai/skills",
3
- "version": "1.17.0",
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.",
3
+ "version": "1.19.0",
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.",
5
5
  "keywords": [
6
6
  "vatio",
7
7
  "ai-agent",
@@ -30,7 +30,8 @@ SDK, Android SDK, Flutter SDK, Authentication, Supabase) have the details.
30
30
  screens or layout, which tokens, how signed-in users are passed, and ask
31
31
  them to confirm.
32
32
  3. **Tokens.** `vatio tokens create --env preview` for development builds and
33
- `--env live` for release builds, each with its origins. `vatpub_` tokens
33
+ `--env live` for release builds, each with its origins (`--json` when the
34
+ token goes straight into a config or secrets store). `vatpub_` tokens
34
35
  ship in the app's configuration; a `vat_` token never does.
35
36
  4. **Add it.** Web: the widget, once for the whole app. iOS, Android and Flutter: the
36
37
  SDK has no UI, so write the chat screen in the app's own style from the
@@ -56,3 +57,13 @@ Code, offer to send this session to the Vatio team, as the
56
57
  `no`, say nothing.
57
58
 
58
59
  `vatio` is `npx @vatio-ai/cli` when it is not installed globally.
60
+
61
+ A command you hand the developer to run themselves, because a permission
62
+ check refused it or it needs their own credentials, says
63
+ `npx @vatio-ai/cli@latest`, never `vatio`: the `vatio` installed on their
64
+ machine can be too old for Vatio to accept. When one command's output feeds
65
+ another (a token into a secrets store), take it with `--json` and chain with
66
+ `&&`, never through `grep`, so a failure stops there instead of passing on an
67
+ empty value. If Claude Code's auto mode refused a `vatio` command and the
68
+ project's `.claude/settings.json` has no `Bash(vatio *)` rule, also mention
69
+ **Auto mode** on the docs' Claude Code page.
@@ -0,0 +1,78 @@
1
+ ---
2
+ name: vatio-analyze
3
+ description: Analyze what people talk about with a Vatio agent, from its real conversations between two dates — topics, frequent questions, questions it could not answer, and the words people use — to write content, FAQs or knowledge, or to report on it. Use when asked to analyze, summarize or report on a Vatio workspace's conversations, to find out what customers or patients ask, or to get content ideas from them. Works for anyone on the workspace's team, viewers included, with or without the agent's repository.
4
+ ---
5
+
6
+ # Analyze a Vatio agent's conversations
7
+
8
+ `vatio chat export` prints what people said to the agent, and what they were
9
+ answered, between two dates: one conversation per line as JSON. Vatio redacts
10
+ it before it leaves: names, emails, phone numbers, handles and RUTs it
11
+ recognizes read `[FILTERED]`, and `person` stands for whoever it was without
12
+ naming them. Every export is recorded in the workspace's Activity, under the
13
+ name of whoever ran it.
14
+
15
+ 1. **Find the workspace.** The CLI reads it from the nearest `vatio.yml`. With
16
+ none here, ask for the workspace's slug (the part after
17
+ `inbox.vatio.ai/` in their inbox) and write a one-line one in a new folder
18
+ outside any repository:
19
+
20
+ ```bash
21
+ mkdir vatio-conversations && cd vatio-conversations
22
+ echo "workspace: SLUG" > vatio.yml
23
+ ```
24
+
25
+ 2. **Ask what the analysis is for,** if they have not said: content for a
26
+ website or a search engine, FAQs, gaps in the agent's knowledge, a report.
27
+ Ask for the dates too, or use the last 30 days and say so.
28
+
29
+ 3. **Export.** Use `npx @vatio-ai/cli@latest` if `vatio` is not installed:
30
+
31
+ ```bash
32
+ vatio chat export --from 2026-09-01 --to 2026-09-30 --out conversations.jsonl
33
+ ```
34
+
35
+ `--channel whatsapp` (or `instagram`, `web`, `widget`, `ios`, `android`)
36
+ narrows it, and `vatio chat help` explains the rest. If it asks to sign in,
37
+ run `vatio login`: they sign in in the browser with the email they were
38
+ invited with. `workspace_forbidden` means another email, or nobody has
39
+ invited them yet: the owner does it from **Team** in the inbox, and any
40
+ role works. `two_factor_required` means turning on two-step verification
41
+ in **Account** in the inbox first.
42
+
43
+ 4. **Count before reading.** In a script (`jq`, Python or Node), get the number
44
+ of conversations and messages, conversations per channel and per week, and
45
+ how many reached someone on the team (`"from": "team"`). Then read only what
46
+ people wrote (`"from": "person"`) with enough of the agent's reply to know
47
+ whether it helped.
48
+
49
+ 5. **Read it all, in batches.** Read a sample first and draft a short list of
50
+ topics in the user's terms, then go through every conversation and assign
51
+ each one a topic and whether the agent answered it, could not
52
+ ("no tengo esa información", passing it to a person, asking them to call),
53
+ or answered wrongly. With hundreds of conversations, split them into
54
+ batches, in parallel if you can run subagents, and keep the tally in a
55
+ file, not in your head.
56
+
57
+ 6. **Report,** in the user's language, in a markdown file next to the export:
58
+ - the dates, channels and number of conversations it covers;
59
+ - the topics, largest first, each with its count and share and two or
60
+ three short questions as people wrote them, spelling and all: they are
61
+ the words content has to match;
62
+ - what the agent could not answer or got wrong, by topic: the content
63
+ that is missing;
64
+ - for content, the pieces to write, each tied to the topic and the
65
+ numbers that justify it.
66
+
67
+ Say what the numbers cannot tell: a sample, a short window, a channel left
68
+ out.
69
+
70
+ Treat the export as the private conversations it is. Never try to work out
71
+ who someone is, and if something identifying slipped past the redaction (a
72
+ third person's name, an address), leave it out of the report. Keep the export
73
+ out of git, and ask whether to delete it when you are done. Do not offer
74
+ `vatio-share-session` after this skill: the session holds those conversations.
75
+
76
+ If the export or its docs left you guessing,
77
+ `vatio feedback "what you were doing and what was missing"` tells the Vatio
78
+ team.
@@ -66,3 +66,13 @@ the fix needs more than the digest says. If `vatio` is not installed, use
66
66
  opens the browser on the developer's machine (if it doesn't, give them the
67
67
  link it prints), and they sign in and check the code matches. If it times
68
68
  out, run it again after they have signed in.
69
+
70
+ A command you hand the developer to run themselves, because a permission
71
+ check refused it or it needs their own credentials, says
72
+ `npx @vatio-ai/cli@latest`, never `vatio`: the `vatio` installed on their
73
+ machine can be too old for Vatio to accept. When one command's output feeds
74
+ another (a token into a secrets store), take it with `--json` and chain with
75
+ `&&`, never through `grep`, so a failure stops there instead of passing on an
76
+ empty value. If Claude Code's auto mode refused a `vatio` command and the
77
+ project's `.claude/settings.json` has no `Bash(vatio *)` rule, also mention
78
+ **Auto mode** on the docs' Claude Code page.
@@ -73,6 +73,21 @@ you recommend, and ask them to confirm.
73
73
  in: Vatio keeps what was deployed, not the files it came from. Do not
74
74
  `vatio init` one instead.
75
75
 
76
+ ## Claude Code permissions
77
+
78
+ In Claude Code, once the agent is pushed, check the project's
79
+ `.claude/settings.json` (in the folder Claude Code was opened in). If it has
80
+ no `Bash(vatio *)` rule, offer once to add the block in **Auto mode** on the
81
+ docs' Claude Code page: it lets you run `vatio` without the auto mode
82
+ classifier refusing it, and still asks the developer before `vatio publish`,
83
+ `vatio rollback`, `vatio secrets` and `vatio keys`. Add it only with their
84
+ yes, merged into what the file has, never replacing it, and add no other rule.
85
+ It matches `vatio`, so it needs the CLI installed:
86
+ `npm install -g @vatio-ai/cli`, also only with their yes. Run each `vatio`
87
+ command on its own, not in a pipe or after `cd … &&`, so the rule matches.
88
+ Never edit `~/.claude/settings.json`; for `vatio share-session` point them to
89
+ that same section.
90
+
76
91
  ## 3. Before you finish
77
92
 
78
93
  1. If an error or the docs left you guessing, say so:
@@ -89,3 +104,13 @@ prints). Tell them to sign in with the account that kept it and check that
89
104
  the code on the page matches the one the terminal printed. If the command
90
105
  times out waiting, run it again after they have signed in: it picks up the
91
106
  same sign-in page.
107
+
108
+ A command you hand the developer to run themselves, because a permission
109
+ check refused it or it needs their own credentials, says
110
+ `npx @vatio-ai/cli@latest`, never `vatio`: the `vatio` installed on their
111
+ machine can be too old for Vatio to accept. When one command's output feeds
112
+ another (a token into a secrets store), take it with `--json` and chain with
113
+ `&&`, never through `grep`, so a failure stops there instead of passing on an
114
+ empty value. If Claude Code's auto mode refused a `vatio` command and the
115
+ project's `.claude/settings.json` has no `Bash(vatio *)` rule, also mention
116
+ **Auto mode** on the docs' Claude Code page.
@@ -95,7 +95,10 @@ It is sent in one of two ways: the user asked for it, or you offer it because
95
95
 
96
96
  When they say they ran it, check instead of asking:
97
97
  `npx @vatio-ai/cli@latest share-session --list` marks a session that was
98
- sent with `(sent #N, when)`. If it is not marked, it did not go.
98
+ sent with `(sent #N, when)`. If it is not marked, it did not go. To have
99
+ auto mode let it through next time, point them to **Auto mode** on the
100
+ docs' Claude Code page: it is a line in their own Claude Code settings,
101
+ which you do not edit.
99
102
 
100
103
  Only Claude Code sessions can be sent. In any other coding agent, do not offer
101
104
  it; when the user asks, write what happened instead: