@silverbackbase/root 0.4.9 → 0.5.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/assets/skills/root-onboard/SKILL.md +168 -0
- package/dist/init.js +26 -1
- package/dist/init.js.map +1 -1
- package/package.json +3 -2
|
@@ -0,0 +1,168 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: root-onboard
|
|
3
|
+
description: >
|
|
4
|
+
Onboarding complet d'un nouveau client dans Root. Orchestre le flow en trois phases :
|
|
5
|
+
extraction automatique depuis l'URL, interview structurée sur les gaps, et résumé final.
|
|
6
|
+
À utiliser quand l'utilisateur veut onboarder un nouveau client dans Root, dit "onboarde ce client",
|
|
7
|
+
"ajoute ce client dans Root", "configure Root pour [client]", ou fournit une URL de site client.
|
|
8
|
+
Ne jamais s'arrêter à l'extraction URL seule — l'interview sur les gaps est obligatoire.
|
|
9
|
+
---
|
|
10
|
+
|
|
11
|
+
# Root — Onboarding Client
|
|
12
|
+
|
|
13
|
+
Tu es le guide d'onboarding Root. Ton rôle : orchestrer les trois phases dans l'ordre, ne rien sauter, et t'assurer qu'à la fin l'agent dispose d'une base de connaissance complète et utilisable.
|
|
14
|
+
|
|
15
|
+
**Règle absolue :** ne jamais s'arrêter après la phase 1. L'extraction URL donne 60% des données — les 40% restants (objections terrain, vrais différenciateurs, ce que le client ne publie pas) viennent de l'interview.
|
|
16
|
+
|
|
17
|
+
---
|
|
18
|
+
|
|
19
|
+
## Phase 1 — Extraction automatique
|
|
20
|
+
|
|
21
|
+
**Demander si pas fourni :** l'URL du site client.
|
|
22
|
+
|
|
23
|
+
Appeler l'outil MCP :
|
|
24
|
+
```
|
|
25
|
+
root_onboard_from_url(url)
|
|
26
|
+
```
|
|
27
|
+
|
|
28
|
+
Ce que cet outil fait automatiquement :
|
|
29
|
+
- Scrape le site via Firecrawl (jusqu'à 20 pages)
|
|
30
|
+
- Extrait via LLM : profil, offres, personas, objections, différenciateurs, zones géo, pricing, FAQs
|
|
31
|
+
- Recherche les concurrents locaux via DataForSEO SERP
|
|
32
|
+
- Stocke tout en base
|
|
33
|
+
- Retourne : `context` (ce qui a été trouvé) + `gaps` (ce qui manque) + `saved_counts`
|
|
34
|
+
|
|
35
|
+
Annoncer ce qui a été extrait en une phrase synthétique :
|
|
36
|
+
> *"Extraction terminée — [N] offres, [N] personas, [N] concurrents trouvés. Gaps identifiés : [liste]."*
|
|
37
|
+
|
|
38
|
+
---
|
|
39
|
+
|
|
40
|
+
## Phase 2 — Interview structurée sur les gaps
|
|
41
|
+
|
|
42
|
+
C'est la phase critique. Le scraping capture ce qui est public — l'interview capture ce qui ne l'est pas.
|
|
43
|
+
|
|
44
|
+
**Pour chaque gap retourné**, poser les questions ci-dessous dans l'ordre. Ne pas poser les questions pour les catégories déjà bien remplies.
|
|
45
|
+
|
|
46
|
+
### Gap : `profile`
|
|
47
|
+
> "Je n'ai pas trouvé de positionnement clair sur le site. En une phrase : qu'est-ce que vous faites, pour qui, et pourquoi vous plutôt qu'un autre ?"
|
|
48
|
+
|
|
49
|
+
Relances si la réponse est vague :
|
|
50
|
+
- "Quel est votre secteur exact ?"
|
|
51
|
+
- "Comment vous présentez-vous quand quelqu'un vous demande ce que vous faites ?"
|
|
52
|
+
|
|
53
|
+
Persister avec : `root_create_item(category: "profile", data: { name, sector, positioning, tagline, description })`
|
|
54
|
+
|
|
55
|
+
---
|
|
56
|
+
|
|
57
|
+
### Gap : `offers`
|
|
58
|
+
> "Quelles sont vos offres principales ? Pour chacune : nom, description courte, prix indicatif, et à qui elle s'adresse."
|
|
59
|
+
|
|
60
|
+
Relances :
|
|
61
|
+
- "Y a-t-il une offre d'entrée de gamme ? Une offre premium ?"
|
|
62
|
+
- "Quelle est votre offre la plus vendue ?"
|
|
63
|
+
|
|
64
|
+
Persister chaque offre avec : `root_create_item(category: "offer", data: { name, description, price, target_persona, key_benefits })`
|
|
65
|
+
|
|
66
|
+
---
|
|
67
|
+
|
|
68
|
+
### Gap : `personas`
|
|
69
|
+
> "Qui sont vos clients idéaux ? Décrivez 2 ou 3 profils types — pas des démographies, mais des situations concrètes : quel problème ils ont, pourquoi ils vous contactent, ce qu'ils espèrent."
|
|
70
|
+
|
|
71
|
+
Relances :
|
|
72
|
+
- "Quel est le profil qui signe le plus facilement ?"
|
|
73
|
+
- "Quel est le profil le plus difficile à convaincre ?"
|
|
74
|
+
- "Qu'est-ce qui déclenche le fait qu'ils cherchent une solution maintenant ?"
|
|
75
|
+
|
|
76
|
+
Persister chaque persona avec : `root_create_item(category: "persona", data: { name, description, pain_points, goals, triggers })`
|
|
77
|
+
|
|
78
|
+
---
|
|
79
|
+
|
|
80
|
+
### Gap : `objections`
|
|
81
|
+
> "Quelles sont les 3 objections que vous entendez le plus souvent quand vous présentez votre offre ? Et comment vous y répondez ?"
|
|
82
|
+
|
|
83
|
+
Relances :
|
|
84
|
+
- "Et le prix — comment les gens réagissent quand ils entendent votre tarif ?"
|
|
85
|
+
- "Est-ce qu'on vous compare souvent à un concurrent spécifique ?"
|
|
86
|
+
- "Qu'est-ce qui fait hésiter les gens juste avant de signer ?"
|
|
87
|
+
|
|
88
|
+
Persister chaque objection avec : `root_create_item(category: "objection", data: { objection, response })`
|
|
89
|
+
|
|
90
|
+
---
|
|
91
|
+
|
|
92
|
+
### Gap : `differentiators`
|
|
93
|
+
> "Qu'est-ce que vous faites que vos concurrents ne font pas — ou moins bien ? Pas le discours marketing : la vraie raison pour laquelle vos clients vous choisissent vous."
|
|
94
|
+
|
|
95
|
+
Relances :
|
|
96
|
+
- "Si un client vous a déjà dit 'je vous choisis parce que...', c'était quoi ?"
|
|
97
|
+
- "Qu'est-ce que vous faites dans votre process que peu de gens font ?"
|
|
98
|
+
- "Avez-vous une preuve concrète de ce différenciateur — résultats, chiffres, témoignages ?"
|
|
99
|
+
|
|
100
|
+
Persister chaque différenciateur avec : `root_create_item(category: "differentiator", data: { claim, proof })`
|
|
101
|
+
|
|
102
|
+
---
|
|
103
|
+
|
|
104
|
+
### Gap : `geo`
|
|
105
|
+
> "Dans quelles zones géographiques travaillez-vous principalement ? Y a-t-il des villes ou zones prioritaires ?"
|
|
106
|
+
|
|
107
|
+
Relances :
|
|
108
|
+
- "Est-ce que vous intervenez partout en France ou vous êtes plutôt régional ?"
|
|
109
|
+
- "Y a-t-il des zones où vous voulez développer votre présence ?"
|
|
110
|
+
|
|
111
|
+
Persister avec : `root_create_item(category: "geo", data: { zone, cities, characteristics })`
|
|
112
|
+
|
|
113
|
+
---
|
|
114
|
+
|
|
115
|
+
### Gap : `pricing`
|
|
116
|
+
> "Est-ce que vous avez des packages ou formules tarifaires structurés ? Qu'est-ce qui est inclus / exclu ?"
|
|
117
|
+
|
|
118
|
+
Relances :
|
|
119
|
+
- "Avez-vous un abonnement mensuel ou vous travaillez au projet ?"
|
|
120
|
+
- "Y a-t-il des frais de setup ou d'onboarding ?"
|
|
121
|
+
|
|
122
|
+
Persister avec : `root_create_item(category: "pricing", data: { package_name, price, included, excluded })`
|
|
123
|
+
|
|
124
|
+
---
|
|
125
|
+
|
|
126
|
+
## Règles de conduite de l'interview
|
|
127
|
+
|
|
128
|
+
- **Une catégorie à la fois** — ne pas poser toutes les questions d'un coup
|
|
129
|
+
- **Persister immédiatement** après chaque réponse via `root_create_item` — ne pas accumuler en mémoire
|
|
130
|
+
- **Reformuler avant de persister** — confirmer avec l'utilisateur ce qu'on va enregistrer si la réponse est ambiguë
|
|
131
|
+
- **Sauter les catégories déjà complètes** — ne re-poser que ce qui est dans `gaps`
|
|
132
|
+
- **Accepter l'incomplet** — si l'utilisateur ne sait pas ou ne veut pas répondre, passer à la suivante sans insister. Les gaps restants seront signalés en phase 3.
|
|
133
|
+
|
|
134
|
+
---
|
|
135
|
+
|
|
136
|
+
## Phase 3 — Résumé final
|
|
137
|
+
|
|
138
|
+
Appeler `root_get_context()` pour avoir l'état complet après l'interview.
|
|
139
|
+
|
|
140
|
+
Présenter un résumé structuré :
|
|
141
|
+
|
|
142
|
+
```
|
|
143
|
+
Onboarding [Nom du client] — terminé
|
|
144
|
+
|
|
145
|
+
Base de connaissance :
|
|
146
|
+
✓ Profil — [nom, secteur]
|
|
147
|
+
✓ Offres — [N] offres enregistrées
|
|
148
|
+
✓ Personas — [N] profils
|
|
149
|
+
✓ Objections — [N] objections + réponses
|
|
150
|
+
✓ Différenciateurs — [N] éléments
|
|
151
|
+
✓ Concurrents — [N] identifiés
|
|
152
|
+
✓ Zones géo — [zones]
|
|
153
|
+
○ Pricing — non renseigné
|
|
154
|
+
○ FAQs — non renseigné
|
|
155
|
+
|
|
156
|
+
Gaps restants : [liste si applicable]
|
|
157
|
+
Prochaine étape : root_refresh peut maintenant surveiller les concurrents détectés.
|
|
158
|
+
```
|
|
159
|
+
|
|
160
|
+
Symbole `✓` = renseigné / `○` = manquant.
|
|
161
|
+
|
|
162
|
+
---
|
|
163
|
+
|
|
164
|
+
## Notes techniques
|
|
165
|
+
|
|
166
|
+
- Tous les outils utilisés (`root_onboard_from_url`, `root_create_item`, `root_get_context`) sont des outils MCP standard — disponibles sur Claude Code, Codex/Antigravity, Claude Desktop.
|
|
167
|
+
- Le `ROOT_ACCOUNT_ID` est défini dans l'env du serveur Root — chaque appel est automatiquement scopé au bon compte.
|
|
168
|
+
- Si `root_onboard_from_url` échoue (site inaccessible, clé Firecrawl manquante), passer directement à la phase 2 avec toutes les catégories en gap.
|
package/dist/init.js
CHANGED
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
|
-
import { existsSync, readFileSync, writeFileSync, mkdirSync } from "node:fs";
|
|
2
|
+
import { existsSync, readFileSync, writeFileSync, mkdirSync, copyFileSync } from "node:fs";
|
|
3
3
|
import { homedir } from "node:os";
|
|
4
4
|
import { join, dirname } from "node:path";
|
|
5
|
+
import { fileURLToPath } from "node:url";
|
|
5
6
|
import { createInterface } from "node:readline";
|
|
6
7
|
const args = process.argv.slice(2);
|
|
7
8
|
const tokenIdx = args.indexOf("--token");
|
|
@@ -86,6 +87,17 @@ process.stdin.on("end", () => {
|
|
|
86
87
|
process.exit(0);
|
|
87
88
|
});
|
|
88
89
|
`;
|
|
90
|
+
const SKILL_NAME = "root-onboard";
|
|
91
|
+
function installSkill(skillsDir) {
|
|
92
|
+
const __dir = dirname(fileURLToPath(import.meta.url));
|
|
93
|
+
const src = join(__dir, "..", "assets", "skills", SKILL_NAME, "SKILL.md");
|
|
94
|
+
if (!existsSync(src))
|
|
95
|
+
return false;
|
|
96
|
+
const dest = join(skillsDir, SKILL_NAME, "SKILL.md");
|
|
97
|
+
mkdirSync(dirname(dest), { recursive: true });
|
|
98
|
+
copyFileSync(src, dest);
|
|
99
|
+
return true;
|
|
100
|
+
}
|
|
89
101
|
function installHook(sbbDir, claudeSettingsPath) {
|
|
90
102
|
mkdirSync(sbbDir, { recursive: true });
|
|
91
103
|
const hookPath = join(sbbDir, "root-context-hook.mjs");
|
|
@@ -185,8 +197,21 @@ async function main() {
|
|
|
185
197
|
const sbbDir = join(home, ".silverbackbase");
|
|
186
198
|
const claudeSettingsPath = join(home, ".claude", "settings.json");
|
|
187
199
|
installHook(sbbDir, claudeSettingsPath);
|
|
200
|
+
const skillTargets = [
|
|
201
|
+
{ name: "Claude Code", dir: join(home, ".claude", "skills") },
|
|
202
|
+
{ name: "Codex CLI", dir: join(home, ".agents", "skills"), detectedBy: join(home, ".codex", "config.toml") },
|
|
203
|
+
{ name: "Antigravity", dir: join(home, ".gemini", "antigravity", "skills"), detectedBy: join(home, ".gemini", "antigravity", "mcp_config.json") },
|
|
204
|
+
];
|
|
205
|
+
const skillInstalled = [];
|
|
206
|
+
for (const target of skillTargets) {
|
|
207
|
+
if (target.detectedBy && !existsSync(target.detectedBy))
|
|
208
|
+
continue;
|
|
209
|
+
if (installSkill(target.dir))
|
|
210
|
+
skillInstalled.push(target.name);
|
|
211
|
+
}
|
|
188
212
|
console.log("\n Root MCP configuré\n");
|
|
189
213
|
configured.forEach(name => console.log(` ✓ ${name}`));
|
|
214
|
+
skillInstalled.forEach(name => console.log(` ✓ Skill installé — ${name}`));
|
|
190
215
|
console.log(`\n Mode : ${modeLabel}`);
|
|
191
216
|
console.log(" Hook : rappel automatique du contexte client");
|
|
192
217
|
console.log("\n Redémarrez votre agent IA pour activer Root.\n");
|
package/dist/init.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"init.js","sourceRoot":"","sources":["../src/init.ts"],"names":[],"mappings":";AACA,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,aAAa,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;
|
|
1
|
+
{"version":3,"file":"init.js","sourceRoot":"","sources":["../src/init.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@silverbackbase/root",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.5.0",
|
|
4
4
|
"description": "Business knowledge primitive for AI agents",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"type": "module",
|
|
@@ -19,7 +19,8 @@
|
|
|
19
19
|
}
|
|
20
20
|
},
|
|
21
21
|
"files": [
|
|
22
|
-
"dist"
|
|
22
|
+
"dist",
|
|
23
|
+
"assets"
|
|
23
24
|
],
|
|
24
25
|
"scripts": {
|
|
25
26
|
"build": "tsc -p tsconfig.json && node scripts/fix-shebangs.mjs",
|