@vatio-ai/skills 1.4.0 → 1.6.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.
- package/.claude-plugin/marketplace.json +1 -1
- package/.claude-plugin/plugin.json +2 -2
- package/README.md +7 -5
- package/bin/install.mjs +21 -3
- package/package.json +1 -1
- package/skills/vatio-improve/SKILL.md +27 -24
- package/skills/vatio-init/SKILL.md +80 -0
- package/skills/vatio-share-session/SKILL.md +75 -0
- package/skills/vatio-new/SKILL.md +0 -41
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
{
|
|
6
6
|
"name": "vatio",
|
|
7
7
|
"source": "./",
|
|
8
|
-
"description": "Build a Vatio agent from your coding agent, then fix what supervisors
|
|
8
|
+
"description": "Build a Vatio agent from your coding agent, then fix what supervisors report and prove it with evals."
|
|
9
9
|
}
|
|
10
10
|
]
|
|
11
11
|
}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "vatio",
|
|
3
|
-
"description": "Build a Vatio agent from your coding agent, then fix what supervisors
|
|
4
|
-
"version": "1.
|
|
3
|
+
"description": "Build a Vatio agent from your coding agent, then fix what supervisors report and prove it with evals.",
|
|
4
|
+
"version": "1.6.0",
|
|
5
5
|
"author": { "name": "Vatio", "url": "https://vatio.ai" },
|
|
6
6
|
"homepage": "https://vatio.ai/docs",
|
|
7
7
|
"repository": "https://github.com/vatio-ai/skills",
|
package/README.md
CHANGED
|
@@ -4,8 +4,9 @@ Skills for the coding agent working on your [Vatio](https://vatio.ai) agent.
|
|
|
4
4
|
|
|
5
5
|
| Skill | What it does |
|
|
6
6
|
|---|---|
|
|
7
|
-
| `vatio-
|
|
8
|
-
| `vatio-improve` |
|
|
7
|
+
| `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 |
|
|
8
|
+
| `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 eval` (in the background in Claude Code) and publishes with `vatio publish` |
|
|
9
|
+
| `vatio-share-session` | Sends the Claude Code session to the Vatio team when you ask it to, or offers to when the other two 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 |
|
|
9
10
|
|
|
10
11
|
The skills are short on purpose. They tell your coding agent when to reach for
|
|
11
12
|
the Vatio CLI; the instructions themselves come from the platform when it runs
|
|
@@ -19,7 +20,7 @@ Any coding agent, from the root of your project:
|
|
|
19
20
|
npx @vatio-ai/skills
|
|
20
21
|
```
|
|
21
22
|
|
|
22
|
-
It copies
|
|
23
|
+
It copies the skills into `.agents/skills/` (Codex, Cursor, Gemini CLI,
|
|
23
24
|
GitHub Copilot, OpenCode and others) and `.claude/skills/` (Claude Code). Run
|
|
24
25
|
it again to update them.
|
|
25
26
|
|
|
@@ -38,8 +39,9 @@ Or in Claude Code, as a plugin:
|
|
|
38
39
|
```
|
|
39
40
|
|
|
40
41
|
Your agent then uses them on its own when you ask it to build, improve or fix
|
|
41
|
-
a Vatio agent, or you can call them by name:
|
|
42
|
-
|
|
42
|
+
a Vatio agent, or to send the session to Vatio, or you can call them by name:
|
|
43
|
+
`/vatio-init`, `/vatio-improve` and `/vatio-share-session`, or
|
|
44
|
+
`/vatio:vatio-init` and so on from the plugin.
|
|
43
45
|
|
|
44
46
|
`vatio init` also writes a pointer to `vatio flags` into the workspace's
|
|
45
47
|
`AGENTS.md`, which most coding agents read without installing anything.
|
package/bin/install.mjs
CHANGED
|
@@ -4,14 +4,15 @@
|
|
|
4
4
|
// .agents/skills/ Codex, Cursor, Gemini CLI, GitHub Copilot, OpenCode, Cline, Amp
|
|
5
5
|
// .claude/skills/ Claude Code, which does not read .agents/
|
|
6
6
|
// Running it again overwrites the copies with this version's.
|
|
7
|
-
import { cpSync, existsSync, readdirSync } from "node:fs";
|
|
7
|
+
import { cpSync, existsSync, readFileSync, readdirSync, rmSync } from "node:fs";
|
|
8
8
|
import { dirname, join, relative } from "node:path";
|
|
9
9
|
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-
|
|
14
|
-
PATH/.claude/skills. PATH defaults to the current
|
|
13
|
+
Copies the Vatio skills (vatio-init, vatio-improve, vatio-share-session) into
|
|
14
|
+
PATH/.agents/skills and PATH/.claude/skills. PATH defaults to the current
|
|
15
|
+
directory.`;
|
|
15
16
|
|
|
16
17
|
const args = process.argv.slice(2);
|
|
17
18
|
let root = process.cwd();
|
|
@@ -34,6 +35,9 @@ if (!existsSync(root)) {
|
|
|
34
35
|
}
|
|
35
36
|
|
|
36
37
|
const source = join(dirname(fileURLToPath(import.meta.url)), "..", "skills");
|
|
38
|
+
// Skills this package used to ship under another name. Left in place, the old
|
|
39
|
+
// copy would answer the same requests as the new one.
|
|
40
|
+
const RENAMED = { "vatio-new": "vatio-init" };
|
|
37
41
|
const skills = readdirSync(source, { withFileTypes: true })
|
|
38
42
|
.filter((entry) => entry.isDirectory())
|
|
39
43
|
.map((entry) => entry.name);
|
|
@@ -44,6 +48,20 @@ for (const target of [".agents/skills", ".claude/skills"]) {
|
|
|
44
48
|
cpSync(join(source, skill), dest, { recursive: true, force: true });
|
|
45
49
|
console.log(` ${relative(process.cwd(), join(dest, "SKILL.md")) || dest}`);
|
|
46
50
|
}
|
|
51
|
+
for (const [old, current] of Object.entries(RENAMED)) {
|
|
52
|
+
const dest = join(root, target, old);
|
|
53
|
+
if (!installedByUs(dest, old)) continue;
|
|
54
|
+
rmSync(dest, { recursive: true, force: true });
|
|
55
|
+
console.log(` removed ${relative(process.cwd(), dest) || dest} (now ${current})`);
|
|
56
|
+
}
|
|
57
|
+
}
|
|
58
|
+
|
|
59
|
+
function installedByUs(dir, name) {
|
|
60
|
+
try {
|
|
61
|
+
return readFileSync(join(dir, "SKILL.md"), "utf8").includes(`\nname: ${name}\n`);
|
|
62
|
+
} catch {
|
|
63
|
+
return false;
|
|
64
|
+
}
|
|
47
65
|
}
|
|
48
66
|
|
|
49
67
|
console.log(`
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@vatio-ai/skills",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.6.0",
|
|
4
4
|
"description": "Agent skills for building and improving a Vatio agent from your coding agent: Claude Code, Codex, Cursor, Gemini CLI, Copilot and any agent that reads SKILL.md",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"vatio",
|
|
@@ -1,46 +1,49 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: vatio-improve
|
|
3
|
-
description: Improve a Vatio agent from what its supervisors
|
|
3
|
+
description: Improve a Vatio agent from what its supervisors reported. Use when asked to improve, fix or debug a Vatio agent, to work through reported or flagged replies or wrong answers in production, or when the daily Vatio email says there are open reports. Works in any directory with a vatio.yml.
|
|
4
4
|
---
|
|
5
5
|
|
|
6
|
-
# Improve a Vatio agent from its
|
|
6
|
+
# Improve a Vatio agent from its reports
|
|
7
7
|
|
|
8
|
-
Supervisors
|
|
9
|
-
|
|
10
|
-
or does not have.
|
|
11
|
-
platform, so they are never out of date
|
|
8
|
+
Supervisors report wrong replies in the Vatio inbox and write what it should
|
|
9
|
+
have said: a different answer, an action, or a tool the agent should have
|
|
10
|
+
used or does not have. One session takes every open report. Vatio keeps the
|
|
11
|
+
instructions for working them on the platform, so they are never out of date
|
|
12
|
+
here. Start by reading them:
|
|
12
13
|
|
|
13
14
|
```bash
|
|
14
15
|
vatio flags
|
|
15
16
|
```
|
|
16
17
|
|
|
17
18
|
Run it from the directory with the workspace's `vatio.yml` (or below it). It
|
|
18
|
-
prints every open
|
|
19
|
+
prints every open report — the conversation, each tool call with what the
|
|
19
20
|
backend answered, and the supervisor's note — with how to work them at the
|
|
20
21
|
top. Follow those instructions; they take precedence over anything below.
|
|
21
22
|
|
|
22
23
|
In short:
|
|
23
24
|
|
|
24
|
-
1. Group the
|
|
25
|
-
a knowledge entry, a tool, or the backend a tool
|
|
26
|
-
live` shows each tool's error rate, timeouts and
|
|
27
|
-
|
|
28
|
-
failing tool rarely gets
|
|
25
|
+
1. Group the reports by cause, and fix each cause where it lives:
|
|
26
|
+
`vatio.yml`, a knowledge entry, a tool, or the developer's backend a tool
|
|
27
|
+
calls. `vatio tools --env live` shows each tool's error rate, timeouts and
|
|
28
|
+
latency, and the calls that failed with what the backend answered: a
|
|
29
|
+
failing tool rarely gets reported, because the agent apologizes and moves
|
|
29
30
|
on. Fix those too.
|
|
30
|
-
2.
|
|
31
|
-
environment
|
|
32
|
-
3.
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
inbox, which publishes it. Never `vatio publish` it yourself.
|
|
31
|
+
2. `vatio push`. It updates preview and runs no tests. No branch or
|
|
32
|
+
environment to set up: preview is the one.
|
|
33
|
+
3. `vatio eval` tests every report against preview. It can take several
|
|
34
|
+
minutes, so in Claude Code start it with the Bash tool's
|
|
35
|
+
`run_in_background` and read its report when it finishes. Iterate (fix,
|
|
36
|
+
push, eval) until the reports pass and nothing that passes on live fails.
|
|
37
|
+
Name reports by id (`F-7K2QX`).
|
|
38
|
+
4. Show the developer what passes now, and `vatio publish` once they agree:
|
|
39
|
+
it changes what visitors get. If it is refused, follow its message: it
|
|
40
|
+
says what to run. Never pass `--force` unless the developer explicitly
|
|
41
|
+
asks for it.
|
|
42
42
|
5. If the digest, an error or the docs left you guessing, say so:
|
|
43
43
|
`vatio feedback "what you were doing and what was missing"`.
|
|
44
|
+
6. Last, in Claude Code, offer to send this session to the Vatio team, as
|
|
45
|
+
the `vatio-share-session` skill says. It starts with
|
|
46
|
+
`vatio share-session --should-ask`: if that prints `no`, say nothing.
|
|
44
47
|
|
|
45
48
|
`vatio docs` prints the whole contract (manifest, tools, knowledge, CLI) if
|
|
46
49
|
the fix needs more than the digest says. If `vatio` is not installed, use
|
|
@@ -0,0 +1,80 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: vatio-init
|
|
3
|
+
description: The first Vatio skill in a project. Looks at what is already there — a vatio.yml anywhere in the repository, the workspace on the platform, the app's own code — and recommends from it, then either builds a customer-facing AI agent (for WhatsApp, Instagram, a website widget or an app) and gets it to the console's Test screen, or gets a developer who joined a project that already has one up to speed. Use when asked to create, set up, start or ship a Vatio agent, a chatbot or a support/sales assistant on Vatio, to get started on or onboard onto a project that uses Vatio, or when the user pastes the prompt from vatio.ai.
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# Start with Vatio in this project
|
|
7
|
+
|
|
8
|
+
Look before you create: the project may already have an agent. Vatio keeps
|
|
9
|
+
the contract and the procedures on the platform, so they are never out of
|
|
10
|
+
date here. Read them first:
|
|
11
|
+
|
|
12
|
+
```bash
|
|
13
|
+
npx @vatio-ai/cli docs
|
|
14
|
+
```
|
|
15
|
+
|
|
16
|
+
Under **For coding agents**, **Starting a new agent** and **Joining an
|
|
17
|
+
existing workspace** are the two procedures. Follow the one that fits; it
|
|
18
|
+
takes precedence over the summary below. The rest of that output is the
|
|
19
|
+
contract for `vatio.yml`, tools, knowledge and the CLI.
|
|
20
|
+
|
|
21
|
+
## 1. Look at what is there
|
|
22
|
+
|
|
23
|
+
- **An agent.** Every `vatio.yml`, at or above the current directory and
|
|
24
|
+
anywhere in the repository (`git ls-files '*vatio.yml'`). Its
|
|
25
|
+
`workspace:` line names the workspace.
|
|
26
|
+
- **The app.** What the project does and for whom; the API an agent could
|
|
27
|
+
call (routes, controllers, an OpenAPI file); how its users sign in; and the
|
|
28
|
+
docs, FAQs or policies an agent could read as knowledge.
|
|
29
|
+
- **This machine.** `vatio doctor`: whether it is signed in, and which
|
|
30
|
+
workspace this directory resolves to.
|
|
31
|
+
|
|
32
|
+
## 2. Say what you found, and recommend
|
|
33
|
+
|
|
34
|
+
Before changing anything, tell the user in a few lines what is there and what
|
|
35
|
+
you recommend, and ask them to confirm.
|
|
36
|
+
|
|
37
|
+
- **No `vatio.yml`: a new agent.** Propose what it could do from what you
|
|
38
|
+
read: what it answers, which endpoints become tools, what becomes
|
|
39
|
+
knowledge. Then follow **Starting a new agent**, in short:
|
|
40
|
+
1. Ask the owner only what the code does not answer: what the business
|
|
41
|
+
does, what the agent must never say, when it hands off to a person,
|
|
42
|
+
which of their systems it should read from. Do not invent business
|
|
43
|
+
facts.
|
|
44
|
+
2. `vatio init SLUG` in the repository the agent belongs in, then write
|
|
45
|
+
`vatio.yml` (and `tools/` for their APIs).
|
|
46
|
+
3. `vatio diff`, `vatio push`, then try it with `vatio chat`, including a
|
|
47
|
+
conversation that should hand off.
|
|
48
|
+
4. Give them the link `vatio push` prints after `Try it:` (the console's
|
|
49
|
+
Test screen, with web chat, WhatsApp and Instagram) with what you
|
|
50
|
+
tried. Publish with `vatio publish` only when they ask.
|
|
51
|
+
- **A `vatio.yml`: the agent exists.** Never `vatio init` here: it writes a
|
|
52
|
+
starter agent, and pushing that replaces the real one. Work from the
|
|
53
|
+
directory of the `vatio.yml` and follow **Joining an existing workspace**:
|
|
54
|
+
sign in with the address they were invited with, then
|
|
55
|
+
`vatio diff --env live` and `vatio status`. Explain the agent from
|
|
56
|
+
`vatio.yml` (what it is for, its tools, its knowledge, when it hands off)
|
|
57
|
+
and recommend from what you see:
|
|
58
|
+
- the folder differs from live: say so first, the repository may be behind;
|
|
59
|
+
- open reports in `vatio flags`: work them with the `vatio-improve` skill;
|
|
60
|
+
- tool calls failing in `vatio tools`: the fix is in the backend they call;
|
|
61
|
+
- `workspace_forbidden`: they are not in the workspace yet, and the owner
|
|
62
|
+
invites them from **Team** in the console.
|
|
63
|
+
- **A workspace slug but no `vatio.yml`.** Ask for the repository it lives
|
|
64
|
+
in: Vatio keeps what was deployed, not the files it came from. Do not
|
|
65
|
+
`vatio init` one instead.
|
|
66
|
+
|
|
67
|
+
## 3. Before you finish
|
|
68
|
+
|
|
69
|
+
1. If an error or the docs left you guessing, say so:
|
|
70
|
+
`vatio feedback "what you were doing and what was missing"`.
|
|
71
|
+
2. Last, in Claude Code, offer to send this session to the Vatio team, as
|
|
72
|
+
the `vatio-share-session` skill says. It starts with
|
|
73
|
+
`vatio share-session --should-ask`: if that prints `no`, say nothing.
|
|
74
|
+
|
|
75
|
+
`vatio` is `npx @vatio-ai/cli` when it is not installed globally. The first
|
|
76
|
+
`vatio push` (or `vatio login`) signs the developer in: it opens the browser
|
|
77
|
+
on their machine (if it doesn't, give them the link it prints). Tell them to
|
|
78
|
+
sign in with email, Google or GitHub and check that the code on the page
|
|
79
|
+
matches the one the terminal printed. If the command times out waiting, run
|
|
80
|
+
it again after they have signed in: it picks up the same sign-in page.
|
|
@@ -0,0 +1,75 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: vatio-share-session
|
|
3
|
+
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.
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# Send this session to the Vatio team
|
|
7
|
+
|
|
8
|
+
`vatio share-session` sends the Claude Code session you are running in: what
|
|
9
|
+
the user asked, what you read and ran, and what came back. It leaves out
|
|
10
|
+
images, replaces anything that looks like a key, token or password with
|
|
11
|
+
`[REDACTED]`, and the home directory with `~`. Only the Vatio team reads it,
|
|
12
|
+
to see where Vatio got in the way and fix it.
|
|
13
|
+
|
|
14
|
+
It is sent in one of two ways: the user asked for it, or you offer it because
|
|
15
|
+
`vatio-init` or `vatio-improve` just finished.
|
|
16
|
+
|
|
17
|
+
1. **Only when you are offering it**, ask the CLI first:
|
|
18
|
+
|
|
19
|
+
```bash
|
|
20
|
+
npx @vatio-ai/cli@latest share-session --should-ask
|
|
21
|
+
```
|
|
22
|
+
|
|
23
|
+
If it prints `no`, stop here and do not mention it: the developer said not
|
|
24
|
+
to ask again, or was asked recently. If it prints `yes`, go on.
|
|
25
|
+
|
|
26
|
+
2. Show the user what would go, without sending anything:
|
|
27
|
+
|
|
28
|
+
```bash
|
|
29
|
+
npx @vatio-ai/cli@latest share-session --save /tmp/vatio-session.jsonl
|
|
30
|
+
```
|
|
31
|
+
|
|
32
|
+
Tell them which session it is (the summary it prints), that it is the
|
|
33
|
+
whole conversation, and that the file is there if they want to read it.
|
|
34
|
+
|
|
35
|
+
3. Ask whether to send it, once. It is their conversation: never send it on
|
|
36
|
+
your own, even when the task seems to call for it.
|
|
37
|
+
|
|
38
|
+
When you are offering it, ask with three answers (in Claude Code, as a
|
|
39
|
+
multiple-choice question), for example: "Do you want to send this session
|
|
40
|
+
to the Vatio team, so they can see where Vatio got in the way and improve
|
|
41
|
+
it?"
|
|
42
|
+
|
|
43
|
+
- **Send it**
|
|
44
|
+
- **Not now**: do nothing more. It will not be offered again for a week.
|
|
45
|
+
- **Don't ask again**: run
|
|
46
|
+
`npx @vatio-ai/cli@latest share-session --never`.
|
|
47
|
+
|
|
48
|
+
In the same question, suggest they add feedback: what got in the way, what
|
|
49
|
+
they expected Vatio to do, or anything else they want the team to know.
|
|
50
|
+
It is optional — the session is what matters, and it goes fine on its own.
|
|
51
|
+
A no is a fine answer: do not insist.
|
|
52
|
+
|
|
53
|
+
4. If they say to send it, send it. With their feedback, in their words, as
|
|
54
|
+
they gave it:
|
|
55
|
+
|
|
56
|
+
```bash
|
|
57
|
+
npx @vatio-ai/cli@latest share-session --yes "their feedback"
|
|
58
|
+
```
|
|
59
|
+
|
|
60
|
+
Without it, just the session:
|
|
61
|
+
|
|
62
|
+
```bash
|
|
63
|
+
npx @vatio-ai/cli@latest share-session --yes
|
|
64
|
+
```
|
|
65
|
+
|
|
66
|
+
Never write feedback for them: a summary of the session in your words adds
|
|
67
|
+
nothing the session does not already say.
|
|
68
|
+
|
|
69
|
+
The first time it may ask to sign in: it opens the browser (if it doesn't,
|
|
70
|
+
give them the link it prints). Tell them it was sent and the number it
|
|
71
|
+
printed.
|
|
72
|
+
|
|
73
|
+
Only Claude Code sessions can be sent. In any other coding agent, do not offer
|
|
74
|
+
it; when the user asks, write what happened instead:
|
|
75
|
+
`npx @vatio-ai/cli@latest feedback "…"`.
|
|
@@ -1,41 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
name: vatio-new
|
|
3
|
-
description: Build someone a customer-facing AI agent on Vatio and get it to the console's Test screen, where they can try it — for WhatsApp, Instagram, a website widget or an app. Use when asked to create, set up, start or ship a Vatio agent, a chatbot or a support/sales assistant on Vatio, or when the user pastes the prompt from vatio.ai.
|
|
4
|
-
---
|
|
5
|
-
|
|
6
|
-
# Start a Vatio agent
|
|
7
|
-
|
|
8
|
-
Vatio keeps the contract and the procedure on the platform, so they are never
|
|
9
|
-
out of date here. Read them first:
|
|
10
|
-
|
|
11
|
-
```bash
|
|
12
|
-
npx @vatio-ai/cli docs
|
|
13
|
-
```
|
|
14
|
-
|
|
15
|
-
The section **For coding agents → Starting a new agent** is the procedure;
|
|
16
|
-
follow it, it takes precedence over the summary below. The rest of that
|
|
17
|
-
output is the contract for `vatio.yml`, tools, knowledge and the CLI.
|
|
18
|
-
|
|
19
|
-
In short:
|
|
20
|
-
|
|
21
|
-
1. If a `vatio.yml` exists at or above the current directory, work in that
|
|
22
|
-
workspace and keep its slug.
|
|
23
|
-
2. Before writing anything, ask the owner briefly: what the business does,
|
|
24
|
-
what the agent must never say, when it must hand off to a person, and which
|
|
25
|
-
of their systems it should read from. Do not invent business facts.
|
|
26
|
-
3. `vatio init SLUG` in the repository the agent belongs in, then write
|
|
27
|
-
`vatio.yml` (and `tools/` for their APIs).
|
|
28
|
-
4. `vatio diff`, `vatio push`, then try it with `vatio chat` —
|
|
29
|
-
including a conversation that should hand off.
|
|
30
|
-
5. Give them the link `vatio push` prints after `Try it:` — the console's
|
|
31
|
-
Test screen, with web chat, WhatsApp and Instagram — with what you tried.
|
|
32
|
-
Publish with `vatio publish` only when they ask.
|
|
33
|
-
6. If an error or the docs left you guessing, say so before you finish:
|
|
34
|
-
`vatio feedback "what you were doing and what was missing"`.
|
|
35
|
-
|
|
36
|
-
`vatio` is `npx @vatio-ai/cli` when it is not installed globally. The first
|
|
37
|
-
`vatio push` signs the developer in: it opens the browser on their machine
|
|
38
|
-
(if it doesn't, give them the link it prints). Tell them to sign in with
|
|
39
|
-
email, Google or GitHub and check that the code on the page matches the one
|
|
40
|
-
the terminal printed. If the command times out waiting, run it again after
|
|
41
|
-
they have signed in: it picks up the same sign-in page.
|