@synap-core/cli 1.7.0 → 1.10.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/dist/commands/agent-chat.d.ts +47 -0
- package/dist/commands/agent-chat.js +250 -0
- package/dist/commands/agent-chat.js.map +1 -0
- package/dist/commands/agent-run.d.ts +47 -0
- package/dist/commands/agent-run.js +301 -0
- package/dist/commands/agent-run.js.map +1 -0
- package/dist/commands/agents.js +85 -46
- package/dist/commands/agents.js.map +1 -1
- package/dist/commands/artifact.d.ts +26 -0
- package/dist/commands/artifact.js +76 -0
- package/dist/commands/artifact.js.map +1 -0
- package/dist/commands/automation.d.ts +47 -0
- package/dist/commands/automation.js +601 -0
- package/dist/commands/automation.js.map +1 -0
- package/dist/commands/bridge-setup.d.ts +66 -0
- package/dist/commands/bridge-setup.js +1112 -0
- package/dist/commands/bridge-setup.js.map +1 -0
- package/dist/commands/cap-connections.d.ts +28 -0
- package/dist/commands/cap-connections.js +224 -0
- package/dist/commands/cap-connections.js.map +1 -0
- package/dist/commands/capability.d.ts +89 -0
- package/dist/commands/capability.js +1523 -0
- package/dist/commands/capability.js.map +1 -0
- package/dist/commands/cell.d.ts +55 -0
- package/dist/commands/cell.js +277 -0
- package/dist/commands/cell.js.map +1 -0
- package/dist/commands/centrality.d.ts +20 -0
- package/dist/commands/centrality.js +94 -0
- package/dist/commands/centrality.js.map +1 -0
- package/dist/commands/connect.d.ts +2 -0
- package/dist/commands/connect.js +25 -10
- package/dist/commands/connect.js.map +1 -1
- package/dist/commands/connections.js +0 -16
- package/dist/commands/connections.js.map +1 -1
- package/dist/commands/context.d.ts +22 -0
- package/dist/commands/context.js +149 -0
- package/dist/commands/context.js.map +1 -0
- package/dist/commands/data-extra.d.ts +14 -0
- package/dist/commands/data-extra.js +185 -0
- package/dist/commands/data-extra.js.map +1 -0
- package/dist/commands/data.d.ts +14 -10
- package/dist/commands/data.js +353 -192
- package/dist/commands/data.js.map +1 -1
- package/dist/commands/diagnose.d.ts +20 -0
- package/dist/commands/diagnose.js +143 -0
- package/dist/commands/diagnose.js.map +1 -0
- package/dist/commands/digest.d.ts +17 -0
- package/dist/commands/digest.js +121 -0
- package/dist/commands/digest.js.map +1 -0
- package/dist/commands/discover.d.ts +2 -0
- package/dist/commands/discover.js +25 -8
- package/dist/commands/discover.js.map +1 -1
- package/dist/commands/doc.d.ts +39 -0
- package/dist/commands/doc.js +130 -0
- package/dist/commands/doc.js.map +1 -0
- package/dist/commands/events.d.ts +26 -0
- package/dist/commands/events.js +69 -0
- package/dist/commands/events.js.map +1 -0
- package/dist/commands/explain.d.ts +21 -0
- package/dist/commands/explain.js +251 -0
- package/dist/commands/explain.js.map +1 -0
- package/dist/commands/facet.d.ts +29 -0
- package/dist/commands/facet.js +113 -0
- package/dist/commands/facet.js.map +1 -0
- package/dist/commands/graph.d.ts +18 -0
- package/dist/commands/graph.js +74 -0
- package/dist/commands/graph.js.map +1 -0
- package/dist/commands/home.d.ts +12 -0
- package/dist/commands/home.js +54 -0
- package/dist/commands/home.js.map +1 -0
- package/dist/commands/import.d.ts +38 -0
- package/dist/commands/import.js +440 -0
- package/dist/commands/import.js.map +1 -0
- package/dist/commands/init.d.ts +0 -2
- package/dist/commands/init.js +97 -118
- package/dist/commands/init.js.map +1 -1
- package/dist/commands/keys.d.ts +9 -0
- package/dist/commands/keys.js +78 -0
- package/dist/commands/keys.js.map +1 -0
- package/dist/commands/knowledge.d.ts +34 -18
- package/dist/commands/knowledge.js +355 -57
- package/dist/commands/knowledge.js.map +1 -1
- package/dist/commands/launch.d.ts +50 -0
- package/dist/commands/launch.js +790 -0
- package/dist/commands/launch.js.map +1 -0
- package/dist/commands/lens.d.ts +45 -0
- package/dist/commands/lens.js +386 -0
- package/dist/commands/lens.js.map +1 -0
- package/dist/commands/market.d.ts +209 -0
- package/dist/commands/market.js +1368 -0
- package/dist/commands/market.js.map +1 -0
- package/dist/commands/mcp.d.ts +42 -0
- package/dist/commands/mcp.js +184 -0
- package/dist/commands/mcp.js.map +1 -0
- package/dist/commands/observe.d.ts +9 -0
- package/dist/commands/observe.js +93 -0
- package/dist/commands/observe.js.map +1 -0
- package/dist/commands/open.d.ts +32 -0
- package/dist/commands/open.js +85 -0
- package/dist/commands/open.js.map +1 -0
- package/dist/commands/pod.d.ts +100 -0
- package/dist/commands/pod.js +359 -0
- package/dist/commands/pod.js.map +1 -0
- package/dist/commands/pods.d.ts +6 -0
- package/dist/commands/pods.js +160 -50
- package/dist/commands/pods.js.map +1 -1
- package/dist/commands/proposals-actions.d.ts +7 -0
- package/dist/commands/proposals-actions.js +77 -0
- package/dist/commands/proposals-actions.js.map +1 -0
- package/dist/commands/providers.d.ts +38 -0
- package/dist/commands/providers.js +170 -0
- package/dist/commands/providers.js.map +1 -0
- package/dist/commands/purge.d.ts +23 -0
- package/dist/commands/purge.js +148 -0
- package/dist/commands/purge.js.map +1 -0
- package/dist/commands/raycast.d.ts +15 -0
- package/dist/commands/raycast.js +153 -0
- package/dist/commands/raycast.js.map +1 -0
- package/dist/commands/sessions.d.ts +31 -0
- package/dist/commands/sessions.js +248 -0
- package/dist/commands/sessions.js.map +1 -0
- package/dist/commands/skill-manage.d.ts +21 -0
- package/dist/commands/skill-manage.js +195 -0
- package/dist/commands/skill-manage.js.map +1 -0
- package/dist/commands/skills-commands.d.ts +26 -0
- package/dist/commands/skills-commands.js +187 -0
- package/dist/commands/skills-commands.js.map +1 -0
- package/dist/commands/skills.d.ts +26 -0
- package/dist/commands/skills.js +196 -0
- package/dist/commands/skills.js.map +1 -0
- package/dist/commands/status.d.ts +3 -1
- package/dist/commands/status.js +231 -41
- package/dist/commands/status.js.map +1 -1
- package/dist/commands/statusline.d.ts +24 -0
- package/dist/commands/statusline.js +450 -0
- package/dist/commands/statusline.js.map +1 -0
- package/dist/commands/subscribe.d.ts +19 -0
- package/dist/commands/subscribe.js +91 -0
- package/dist/commands/subscribe.js.map +1 -0
- package/dist/commands/tools.d.ts +30 -0
- package/dist/commands/tools.js +315 -0
- package/dist/commands/tools.js.map +1 -0
- package/dist/commands/versions.d.ts +27 -0
- package/dist/commands/versions.js +277 -0
- package/dist/commands/versions.js.map +1 -0
- package/dist/commands/view.d.ts +57 -0
- package/dist/commands/view.js +195 -0
- package/dist/commands/view.js.map +1 -0
- package/dist/commands/whoami.d.ts +21 -0
- package/dist/commands/whoami.js +129 -0
- package/dist/commands/whoami.js.map +1 -0
- package/dist/index.d.ts +3 -4
- package/dist/index.js +1524 -202
- package/dist/index.js.map +1 -1
- package/dist/lib/agent-templates.d.ts +25 -0
- package/dist/lib/agent-templates.js +148 -0
- package/dist/lib/agent-templates.js.map +1 -0
- package/dist/lib/agents-config.d.ts +4 -1
- package/dist/lib/agents-config.js +19 -2
- package/dist/lib/agents-config.js.map +1 -1
- package/dist/lib/approval-poll.d.ts +42 -0
- package/dist/lib/approval-poll.js +52 -0
- package/dist/lib/approval-poll.js.map +1 -0
- package/dist/lib/auth.d.ts +29 -6
- package/dist/lib/auth.js +105 -94
- package/dist/lib/auth.js.map +1 -1
- package/dist/lib/bundle-version.d.ts +11 -0
- package/dist/lib/bundle-version.js +33 -0
- package/dist/lib/bundle-version.js.map +1 -0
- package/dist/lib/capture-lane.d.ts +67 -0
- package/dist/lib/capture-lane.js +136 -0
- package/dist/lib/capture-lane.js.map +1 -0
- package/dist/lib/cp-packages.d.ts +121 -0
- package/dist/lib/cp-packages.js +218 -0
- package/dist/lib/cp-packages.js.map +1 -0
- package/dist/lib/describe-lens.d.ts +46 -0
- package/dist/lib/describe-lens.js +33 -0
- package/dist/lib/describe-lens.js.map +1 -0
- package/dist/lib/hub-client.d.ts +84 -1
- package/dist/lib/hub-client.js +502 -22
- package/dist/lib/hub-client.js.map +1 -1
- package/dist/lib/installed.d.ts +51 -0
- package/dist/lib/installed.js +70 -0
- package/dist/lib/installed.js.map +1 -0
- package/dist/lib/next-steps.d.ts +61 -0
- package/dist/lib/next-steps.js +146 -0
- package/dist/lib/next-steps.js.map +1 -0
- package/dist/lib/pod.d.ts +104 -19
- package/dist/lib/pod.js +245 -57
- package/dist/lib/pod.js.map +1 -1
- package/dist/lib/project-ref.d.ts +95 -0
- package/dist/lib/project-ref.js +144 -0
- package/dist/lib/project-ref.js.map +1 -0
- package/dist/lib/project.d.ts +35 -0
- package/dist/lib/project.js +39 -0
- package/dist/lib/project.js.map +1 -0
- package/dist/lib/session-lens.d.ts +33 -0
- package/dist/lib/session-lens.js +76 -0
- package/dist/lib/session-lens.js.map +1 -0
- package/dist/lib/skill-import.d.ts +40 -0
- package/dist/lib/skill-import.js +203 -0
- package/dist/lib/skill-import.js.map +1 -0
- package/dist/lib/skills-installer.d.ts +16 -5
- package/dist/lib/skills-installer.js +132 -18
- package/dist/lib/skills-installer.js.map +1 -1
- package/dist/lib/suite.d.ts +28 -0
- package/dist/lib/suite.js +29 -0
- package/dist/lib/suite.js.map +1 -0
- package/dist/lib/superwhisper-import.d.ts +40 -0
- package/dist/lib/superwhisper-import.js +389 -0
- package/dist/lib/superwhisper-import.js.map +1 -0
- package/dist/lib/targets.d.ts +66 -2
- package/dist/lib/targets.js +914 -132
- package/dist/lib/targets.js.map +1 -1
- package/dist/lib/unwrapList.d.ts +1 -0
- package/dist/lib/unwrapList.js +20 -0
- package/dist/lib/unwrapList.js.map +1 -0
- package/dist/utils/logger.d.ts +2 -0
- package/dist/utils/logger.js +10 -2
- package/dist/utils/logger.js.map +1 -1
- package/package.json +10 -4
- package/skills/agent-os/SKILL.md +212 -0
- package/skills/manifest.json +5 -0
- package/skills/onboard/SKILL.md +186 -0
- package/skills/synap/SKILL.md +1524 -104
- package/skills/synap/_order.txt +37 -0
- package/skills/synap/_skill.yaml +24 -0
- package/skills/synap/authentication.md +10 -0
- package/skills/synap/automations.md +264 -0
- package/skills/synap/capabilities.md +107 -0
- package/skills/synap/capture.md +10 -0
- package/skills/synap/cli-operations.md +107 -0
- package/skills/synap/common-mistakes.md +12 -0
- package/skills/synap/creative-loop.md +43 -0
- package/skills/synap/crm.md +117 -0
- package/skills/synap/diagnostics.md +35 -0
- package/skills/synap/digesting-a-channel.md +38 -0
- package/skills/synap/document-embeds.md +123 -0
- package/skills/synap/escalation-ladder.md +71 -0
- package/skills/synap/focus-sessions.md +47 -0
- package/skills/synap/governance-rules.md +64 -0
- package/skills/synap/governance.md +6 -6
- package/skills/synap/graph-gardening.md +21 -0
- package/skills/synap/inline-patterns.md +38 -0
- package/skills/synap/lenses.md +38 -0
- package/skills/synap/linking-principle.md +39 -0
- package/skills/synap/linking.md +1 -0
- package/skills/synap/mental-model.md +45 -0
- package/skills/synap/more.md +7 -0
- package/skills/synap/multi-entity-capture.md +10 -0
- package/skills/synap/next-action.md +37 -0
- package/skills/synap/north-star.md +17 -0
- package/skills/synap/operating-mode-rules.md +45 -0
- package/skills/synap/operating-mode.md +9 -0
- package/skills/synap/quick-reference.md +67 -0
- package/skills/synap/reading.md +43 -0
- package/skills/synap/recap.md +21 -0
- package/skills/synap/reflexes.md +46 -0
- package/skills/synap/response-style.md +21 -0
- package/skills/synap/scope.md +13 -0
- package/skills/synap/showing.md +17 -0
- package/skills/synap/user-model.md +25 -0
- package/skills/synap/viewframe-cells.md +290 -0
- package/skills/synap/work-flow.md +113 -0
- package/skills/synap/worked-examples.md +53 -0
- package/skills/synap/workspace-design.md +45 -0
- package/skills/synap/workspace-edges.md +49 -0
- package/skills/synap/writes.md +156 -0
- package/skills/synap-schema/SKILL.md +97 -6
- package/skills/synap-schema/_order.txt +13 -0
- package/skills/synap-schema/_skill.yaml +22 -0
- package/skills/synap-schema/before-you-touch.md +14 -0
- package/skills/synap-schema/common-mistakes.md +9 -0
- package/skills/synap-schema/creating-profiles.md +17 -0
- package/skills/synap-schema/discover-profiles.md +24 -0
- package/skills/synap-schema/entity-scope.md +8 -0
- package/skills/synap-schema/extend-vs-create.md +31 -0
- package/skills/synap-schema/more.md +6 -0
- package/skills/synap-schema/overlay-properties.md +22 -0
- package/skills/synap-schema/profiles.md +3 -0
- package/skills/synap-schema/property-defs.md +29 -0
- package/skills/synap-schema/read-before-write.md +50 -0
- package/skills/synap-schema/relations.md +18 -0
- package/skills/synap-schema/worked-example.md +30 -0
- package/skills/synap-ui/SKILL.md +38 -11
- package/skills/synap-ui/_order.txt +13 -0
- package/skills/synap-ui/_skill.yaml +23 -0
- package/skills/synap-ui/ai-companion.md +27 -0
- package/skills/synap-ui/arranging-bento.md +8 -0
- package/skills/synap-ui/before-you-build.md +20 -0
- package/skills/synap-ui/bento-layouts.md +35 -0
- package/skills/synap-ui/common-mistakes.md +10 -0
- package/skills/synap-ui/creating-views.md +26 -0
- package/skills/synap-ui/four-builds.md +24 -0
- package/skills/synap-ui/more.md +7 -0
- package/skills/synap-ui/proposing-vs-extending.md +11 -0
- package/skills/synap-ui/view-list.md +24 -0
- package/skills/synap-ui/views.md +3 -0
- package/skills/synap-ui/worked-example.md +18 -0
- package/skills/synap-ui/workspaces.md +47 -0
- package/templates/automations/bookmark-enrichment.automation.json +44 -0
- package/templates/automations/mail-feed.automation.json +86 -0
- package/templates/automations/url-bookmark-capture.automation.json +70 -0
- package/templates/skills/README.md +21 -0
- package/templates/skills/authoring-automations/SKILL.md +95 -0
- package/templates/skills/authoring-automations/reference/node-matrix.md +49 -0
- package/templates/skills/authoring-capabilities/SKILL.md +93 -0
- package/templates/skills/authoring-capabilities/reference/template-anatomy.md +70 -0
- package/templates/skills/authoring-playbooks/SKILL.md +102 -0
- package/templates/skills/authoring-playbooks/reference/stages-contract.md +35 -0
- package/templates/skills/authoring-playbooks/reference/worked-example.md +64 -0
- package/templates/skills/bookmark-enrichment/SKILL.md +40 -0
- package/templates/skills/coordinating-agents/SKILL.md +32 -0
- package/templates/skills/coordinating-branches/SKILL.md +27 -0
- package/templates/skills/mapping-the-server/SKILL.md +54 -0
- package/templates/skills/reading-client-progress/SKILL.md +65 -0
- package/templates/skills/routing-to-channels/SKILL.md +54 -0
- package/templates/skills/stellar-scf-grants-advisor/ASSOCIATE-CHEATSHEET.md +133 -0
- package/templates/skills/stellar-scf-grants-advisor/ASSOCIATE-ONBOARDING-GUIDE.md +761 -0
- package/templates/skills/stellar-scf-grants-advisor/CLIENT-FAQ.md +181 -0
- package/templates/skills/stellar-scf-grants-advisor/PARTNER-HANDOVER.md +130 -0
- package/templates/skills/stellar-scf-grants-advisor/SKILL.md +102 -0
- package/templates/skills/stellar-scf-grants-advisor/examples/README.md +43 -0
- package/templates/skills/stellar-scf-grants-advisor/examples/chat-summary-templates.md +158 -0
- package/templates/skills/stellar-scf-grants-advisor/examples/corpus-comparable-rows.md +136 -0
- package/templates/skills/stellar-scf-grants-advisor/examples/q10-team-rewrites.md +109 -0
- package/templates/skills/stellar-scf-grants-advisor/examples/q2-description-rewrites.md +88 -0
- package/templates/skills/stellar-scf-grants-advisor/examples/q6-integration-rewrites.md +107 -0
- package/templates/skills/stellar-scf-grants-advisor/examples/tranche-structures.md +176 -0
- package/templates/skills/stellar-scf-grants-advisor/reference/01-methodology.md +96 -0
- package/templates/skills/stellar-scf-grants-advisor/reference/02-scoring-framework.md +199 -0
- package/templates/skills/stellar-scf-grants-advisor/reference/03-rejection-patterns.md +241 -0
- package/templates/skills/stellar-scf-grants-advisor/reference/04-winner-patterns.md +120 -0
- package/templates/skills/stellar-scf-grants-advisor/reference/05-comeback-patterns.md +92 -0
- package/templates/skills/stellar-scf-grants-advisor/reference/06-budget-benchmarks.md +125 -0
- package/templates/skills/stellar-scf-grants-advisor/reference/07-integration-list.md +147 -0
- package/templates/skills/stellar-scf-grants-advisor/reference/08-abstract-fields.md +258 -0
- package/templates/skills/stellar-scf-grants-advisor/reference/09-build-fields.md +259 -0
- package/templates/skills/stellar-scf-grants-advisor/reference/10-corpus-winners.md +135 -0
- package/templates/skills/stellar-scf-grants-advisor/reference/11-corpus-rejects.md +267 -0
- package/templates/skills/stellar-scf-grants-advisor/reference/12-client-communication.md +131 -0
- package/templates/skills/stellar-scf-grants-advisor/reference/13-excel-output-spec.md +199 -0
- package/templates/skills/stellar-scf-grants-advisor/reference/14-worked-examples.md +160 -0
- package/templates/skills/stellar-scf-grants-advisor/templates/abstract-review-builder.py +253 -0
- package/templates/skills/stellar-scf-grants-advisor/templates/build-review-builder.py +213 -0
- package/dist/commands/finish.d.ts +0 -25
- package/dist/commands/finish.js +0 -274
- package/dist/commands/finish.js.map +0 -1
- package/dist/commands/openclaw.d.ts +0 -40
- package/dist/commands/openclaw.js +0 -1148
- package/dist/commands/openclaw.js.map +0 -1
- package/dist/commands/security-audit.d.ts +0 -12
- package/dist/commands/security-audit.js +0 -100
- package/dist/commands/security-audit.js.map +0 -1
- package/dist/lib/hardening.d.ts +0 -18
- package/dist/lib/hardening.js +0 -214
- package/dist/lib/hardening.js.map +0 -1
- package/dist/lib/templates.d.ts +0 -11
- package/dist/lib/templates.js +0 -13
- package/dist/lib/templates.js.map +0 -1
- package/dist/templates/agent-os.json +0 -3090
- package/node_modules/@synap/hub-rest-client/dist/index.cjs +0 -881
- package/node_modules/@synap/hub-rest-client/dist/index.d.cts +0 -907
- package/node_modules/@synap/hub-rest-client/dist/index.d.ts +0 -907
- package/node_modules/@synap/hub-rest-client/dist/index.js +0 -851
- package/node_modules/@synap/hub-rest-client/package.json +0 -45
- package/node_modules/@synap/hub-rest-client/src/client.ts +0 -1143
- package/node_modules/@synap/hub-rest-client/src/errors.ts +0 -30
- package/node_modules/@synap/hub-rest-client/src/index.ts +0 -111
- package/node_modules/@synap/hub-rest-client/src/setup.ts +0 -77
- package/node_modules/@synap/hub-rest-client/src/types.ts +0 -639
|
@@ -0,0 +1,186 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: onboard
|
|
3
|
+
description: >
|
|
4
|
+
Use this skill when the active LENS (a workspace, a project, or both) has
|
|
5
|
+
little/no data and the user wants it set up — including a NEW project that is
|
|
6
|
+
empty even though its workspace already holds other projects' data. Triggers:
|
|
7
|
+
"onboard this", "set up my <X> workspace", "set up this project", "help me
|
|
8
|
+
fill this in", a freshly-created workspace, or scoping to a project with no
|
|
9
|
+
entities. This is the ONE shared, adaptive onboarding process: it detects
|
|
10
|
+
emptiness THROUGH the active lens, reads the workspace's onboarding context
|
|
11
|
+
(settings.onboarding) for the domain knowledge, runs a goal-driven interview,
|
|
12
|
+
and scopes every captured entity to the active lens (workspace + project). No
|
|
13
|
+
per-domain skill — the domain is data on the workspace; this skill is the
|
|
14
|
+
reusable intelligence that consumes it.
|
|
15
|
+
metadata:
|
|
16
|
+
openclaw:
|
|
17
|
+
requires:
|
|
18
|
+
env: [SYNAP_HUB_API_KEY, SYNAP_POD_URL]
|
|
19
|
+
primaryEnv: SYNAP_HUB_API_KEY
|
|
20
|
+
homepage: https://synap.live
|
|
21
|
+
capabilities: [onboarding, adaptive-interview, capture]
|
|
22
|
+
os: [macos, linux, windows]
|
|
23
|
+
userInvocable: true
|
|
24
|
+
---
|
|
25
|
+
|
|
26
|
+
# Onboard — the shared, adaptive onboarding process (lens-aware)
|
|
27
|
+
|
|
28
|
+
You set up the user's data by _interviewing them_, not by asking them to fill
|
|
29
|
+
forms. The same process works anywhere because the **domain-specific part is
|
|
30
|
+
data on the workspace** (`settings.onboarding`) and this skill is the
|
|
31
|
+
**reusable interview intelligence** that reads it and adapts.
|
|
32
|
+
|
|
33
|
+
Onboarding is keyed to the **active lens**, not to a workspace. A workspace is
|
|
34
|
+
just a lens; a project is a cross-cutting lens; they compose. You onboard when
|
|
35
|
+
**the active lens has little/no data** — whatever that lens is.
|
|
36
|
+
|
|
37
|
+
## 1. Detect emptiness THROUGH THE ACTIVE LENS
|
|
38
|
+
|
|
39
|
+
```
|
|
40
|
+
synap orient --details # projects + workspaces, with each workspace's onboarding hint (empty ones)
|
|
41
|
+
```
|
|
42
|
+
|
|
43
|
+
Figure out the active lens (workspace, project, or both — `synap lens`), then
|
|
44
|
+
check for data **scoped to that lens**:
|
|
45
|
+
|
|
46
|
+
- **Project lens active** → is the PROJECT empty? Ask scoped to it:
|
|
47
|
+
`synap ask "…" --projectId <id>` / `synap_get_entities` with `projectId`.
|
|
48
|
+
A workspace can be full of OTHER projects' data while THIS project has zero —
|
|
49
|
+
that still means "onboard." (e.g. Builder is full of Synap-project work; a new
|
|
50
|
+
"Client X" project scoped to Builder has no entities → onboard Client X.)
|
|
51
|
+
- **Project × Workspace** → is there data for this project _within_ this
|
|
52
|
+
workspace? Scope the check by both `projectId` and `workspaceId`.
|
|
53
|
+
- **Workspace only (no project)** → is the workspace raw-empty?
|
|
54
|
+
|
|
55
|
+
If the lens has data, **don't re-run** a full interview — offer to _extend_.
|
|
56
|
+
|
|
57
|
+
## 1b. Load the onboarding context (the WHAT)
|
|
58
|
+
|
|
59
|
+
The domain knowledge lives on the **workspace** (`settings.onboarding`, also in
|
|
60
|
+
`GET /api/hub/workspaces`):
|
|
61
|
+
|
|
62
|
+
- **`goal`** — the outcome to achieve (one sentence)
|
|
63
|
+
- **`framing`** — the expertise/voice to adopt for this domain (WHO you are)
|
|
64
|
+
- **`expertise`** _(optional)_ — authored domain knowledge to LEAD with (WHAT you
|
|
65
|
+
know): `starters` (concrete proposals), `blindSpots` (what founders here miss),
|
|
66
|
+
`bar` (what great looks like). When present, use it — see §2 "Lead with your
|
|
67
|
+
expertise".
|
|
68
|
+
- **`collect`** — the structured data to capture (profiles + key fields)
|
|
69
|
+
- **`openingQuestions`** — a few starters (you adapt from here)
|
|
70
|
+
- **`doneWhen`** — how to know you're finished
|
|
71
|
+
|
|
72
|
+
Which workspace's spec?
|
|
73
|
+
|
|
74
|
+
- Workspace lens active → that workspace's spec.
|
|
75
|
+
- Project lens only (no workspace) → the project may span several workspaces.
|
|
76
|
+
Confirm with the user which area to set up first, switch to that workspace,
|
|
77
|
+
use its spec. Onboard one workspace's worth at a time.
|
|
78
|
+
- No onboarding spec on the workspace → fall back to first principles: infer
|
|
79
|
+
from its profiles/views and onboard toward its core entity types.
|
|
80
|
+
|
|
81
|
+
## 2. Adopt the framing, run an ADAPTIVE interview
|
|
82
|
+
|
|
83
|
+
Become the expert the `framing` describes (brand strategist, staff engineer,
|
|
84
|
+
sales lead…). Then:
|
|
85
|
+
|
|
86
|
+
- Start with the `openingQuestions`, but **adapt every next question to what
|
|
87
|
+
you just learned.** This is a conversation, not a checklist.
|
|
88
|
+
- Ask ONE focused thing at a time. Short, specific, in the user's language.
|
|
89
|
+
- **Let the `framing` set your posture.** When it says interrogate / pressure-test
|
|
90
|
+
(e.g. Foundation's skeptical cofounder), that OVERRIDES the propose-then-refine
|
|
91
|
+
reflex below: draw the real answer out of them, refuse fuzzy answers, propose a
|
|
92
|
+
concrete option only as a last resort when they're genuinely stuck.
|
|
93
|
+
- **Lead with your `expertise` (when the workspace ships it).** You are not a
|
|
94
|
+
blank-slate interviewer — you are a domain expert who RESOLVES the founder's
|
|
95
|
+
gaps. Bring what they don't know:
|
|
96
|
+
- Use `expertise.starters` to **propose concrete structure** instead of asking
|
|
97
|
+
blank ("Most studios like yours run 3 content pillars — teach, prove,
|
|
98
|
+
provoke; want that as your starting point?"). A recommendation they react to
|
|
99
|
+
beats a blank they have to fill.
|
|
100
|
+
- Proactively raise `expertise.blindSpots` the founder hasn't addressed — a
|
|
101
|
+
great cofounder catches what they _don't_ say, not just what they do ("You
|
|
102
|
+
haven't mentioned distribution — how does this content get discovered?").
|
|
103
|
+
- Push every answer toward `expertise.bar`; don't settle for "present" when you
|
|
104
|
+
can reach "sharp".
|
|
105
|
+
This never overrides the strategy rule below: for mission/positioning, use
|
|
106
|
+
blind-spots to **challenge** and starters to **frame** — never to fabricate
|
|
107
|
+
their strategy for them.
|
|
108
|
+
- **Strategic DNA vs operational detail — capture them differently.** For
|
|
109
|
+
strategy (mission, positioning, voice, differentiators), thin inference becomes
|
|
110
|
+
generic strategy — _extract_ the real thing, don't hand them a plausible one.
|
|
111
|
+
Propose-then-refine is fine for operational fields (a deal stage, a task
|
|
112
|
+
priority): when the user is vague there, **propose** a concrete option and let
|
|
113
|
+
them react ("Sounds like your voice is warm-but-direct — want me to go with
|
|
114
|
+
that?"), infer aggressively, confirm lightly. Don't make them do the
|
|
115
|
+
structuring — that's your job. Turn their prose into entities.
|
|
116
|
+
- Re-evaluate as you go: if an answer opens a more important thread, follow it.
|
|
117
|
+
|
|
118
|
+
## 3. Capture as you learn — structured, linked
|
|
119
|
+
|
|
120
|
+
As each piece firms up, write it immediately (don't wait until the end):
|
|
121
|
+
|
|
122
|
+
```
|
|
123
|
+
synap capture --type <kind> --claim "…" # or synap_create_entity for precise profiles
|
|
124
|
+
```
|
|
125
|
+
|
|
126
|
+
For each `collect` target, create the entity with its `keyFields` filled, and
|
|
127
|
+
**link it** into the graph (`synap_link_entities`) — an isolated entity is
|
|
128
|
+
anti-value. Respect governance: a `proposed` result is normal (queued for the
|
|
129
|
+
user's review), not an error.
|
|
130
|
+
|
|
131
|
+
**Scope every created entity to the active lens.** Create it in the active
|
|
132
|
+
workspace, and — if a **project lens is active** — link it to that project
|
|
133
|
+
(`belongs_to_project`) so the project fills up, not just the workspace. This is
|
|
134
|
+
the whole point of the project-emptiness trigger: onboarding a new project
|
|
135
|
+
populates _that project's_ slice, even inside a workspace that already has other
|
|
136
|
+
projects' data.
|
|
137
|
+
|
|
138
|
+
## 4. Self-evaluate against `doneWhen` — loop until satisfied
|
|
139
|
+
|
|
140
|
+
After each round, check your progress against `doneWhen` and `collect`:
|
|
141
|
+
|
|
142
|
+
- Missing a target? Ask about it.
|
|
143
|
+
- Thin on a key field? Probe deeper.
|
|
144
|
+
- Got everything? **Stop** — don't over-interrogate. Summarize what you created
|
|
145
|
+
and where it lives, and hand back control.
|
|
146
|
+
|
|
147
|
+
The bar is **quality structured data**, not a completed form. A short interview
|
|
148
|
+
that captures the real voice + audience beats 20 questions of mush.
|
|
149
|
+
|
|
150
|
+
## 5. Multi-workspace / multi-project flow
|
|
151
|
+
|
|
152
|
+
**New company** (after `agent-os` creates several workspaces): run this skill
|
|
153
|
+
**once per workspace**, foundational domain first (e.g. Brand before Marketing).
|
|
154
|
+
One workspace, finish, then the next.
|
|
155
|
+
|
|
156
|
+
**New project on an existing pod** (the common case): the workspaces already
|
|
157
|
+
have data from other projects, but the new project is empty. Walk the user
|
|
158
|
+
through the workspaces the project will touch, and for each, run a focused
|
|
159
|
+
interview for **this project's** slice — every entity linked to the new project.
|
|
160
|
+
The user can scope tight ("just set up Client X in CRM") — honor that.
|
|
161
|
+
|
|
162
|
+
## Principles
|
|
163
|
+
|
|
164
|
+
- **Lens-aware, not workspace-bound.** Onboard when the active LENS (workspace,
|
|
165
|
+
project, or both) is empty — including a new project inside a full workspace.
|
|
166
|
+
- **Scope output to the lens.** Created entities go in the workspace AND link to
|
|
167
|
+
the active project.
|
|
168
|
+
- **One skill, many domains.** The domain lives in `settings.onboarding`; you
|
|
169
|
+
are the shared process. Never hardcode domain questions here.
|
|
170
|
+
- **Adaptive, not scripted.** Reshape questions from what you learn.
|
|
171
|
+
- **Lead with expertise, don't just extract.** When the workspace ships
|
|
172
|
+
`expertise`, propose from its `starters`, surface its `blindSpots`, and push
|
|
173
|
+
toward its `bar`. Resolve the founder's gaps — bring what they don't know, not
|
|
174
|
+
just record what they do.
|
|
175
|
+
- **Ask, then structure.** The user talks; you turn it into linked entities.
|
|
176
|
+
- **Sparse-only, through the lens.** Onboard when the active lens is empty/thin
|
|
177
|
+
(a new empty project counts, even in a full workspace); extend — don't restart
|
|
178
|
+
— when the lens already has data.
|
|
179
|
+
- **Quality over coverage.** Stop when `doneWhen` is met.
|
|
180
|
+
|
|
181
|
+
## When NOT to use
|
|
182
|
+
|
|
183
|
+
- Setting up the company structure itself (project + which workspaces) → that's
|
|
184
|
+
the `agent-os` skill (it calls this one per workspace afterward).
|
|
185
|
+
- One-off capture into an already-populated workspace → core `synap` skill.
|
|
186
|
+
- Schema changes (new profile/field) → `synap-schema`.
|