@synap-core/cli 1.8.0 → 1.11.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.js +3 -4
- package/dist/commands/agent-run.js.map +1 -1
- package/dist/commands/agents.js +85 -46
- package/dist/commands/agents.js.map +1 -1
- package/dist/commands/automation.js +2 -1
- package/dist/commands/automation.js.map +1 -1
- 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 +1594 -0
- package/dist/commands/capability.js.map +1 -0
- package/dist/commands/centrality.d.ts +20 -0
- package/dist/commands/centrality.js +95 -0
- package/dist/commands/centrality.js.map +1 -0
- package/dist/commands/connect.d.ts +2 -0
- package/dist/commands/connect.js +16 -35
- package/dist/commands/connect.js.map +1 -1
- package/dist/commands/context.js +6 -7
- package/dist/commands/context.js.map +1 -1
- package/dist/commands/data-extra.d.ts +1 -0
- package/dist/commands/data-extra.js +41 -14
- package/dist/commands/data-extra.js.map +1 -1
- package/dist/commands/data.d.ts +4 -4
- package/dist/commands/data.js +254 -187
- package/dist/commands/data.js.map +1 -1
- package/dist/commands/diagnose.d.ts +20 -0
- package/dist/commands/diagnose.js +186 -0
- package/dist/commands/diagnose.js.map +1 -0
- package/dist/commands/digest.d.ts +17 -0
- package/dist/commands/digest.js +122 -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 +14 -0
- package/dist/commands/doc.js +61 -4
- package/dist/commands/doc.js.map +1 -1
- package/dist/commands/doctor.d.ts +21 -0
- package/dist/commands/doctor.js +189 -0
- package/dist/commands/doctor.js.map +1 -0
- package/dist/commands/events.js +5 -2
- package/dist/commands/events.js.map +1 -1
- package/dist/commands/explain.d.ts +1 -1
- package/dist/commands/explain.js +18 -15
- package/dist/commands/explain.js.map +1 -1
- 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.js +7 -4
- package/dist/commands/graph.js.map +1 -1
- package/dist/commands/import.d.ts +38 -0
- package/dist/commands/import.js +471 -0
- package/dist/commands/import.js.map +1 -0
- package/dist/commands/init.js +35 -16
- package/dist/commands/init.js.map +1 -1
- package/dist/commands/keys.js +3 -4
- package/dist/commands/keys.js.map +1 -1
- package/dist/commands/knowledge.d.ts +8 -0
- package/dist/commands/knowledge.js +308 -33
- 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-authoring.d.ts +45 -0
- package/dist/commands/market-authoring.js +225 -0
- package/dist/commands/market-authoring.js.map +1 -0
- package/dist/commands/market.d.ts +224 -0
- package/dist/commands/market.js +1643 -0
- package/dist/commands/market.js.map +1 -0
- package/dist/commands/mcp.d.ts +64 -0
- package/dist/commands/mcp.js +265 -0
- package/dist/commands/mcp.js.map +1 -0
- package/dist/commands/observe.js +14 -11
- package/dist/commands/observe.js.map +1 -1
- package/dist/commands/open.d.ts +21 -4
- package/dist/commands/open.js +45 -4
- package/dist/commands/open.js.map +1 -1
- 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 +15 -0
- package/dist/commands/pods.js +233 -17
- package/dist/commands/pods.js.map +1 -1
- package/dist/commands/proposals-actions.js +43 -3
- package/dist/commands/proposals-actions.js.map +1 -1
- 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.js +47 -22
- package/dist/commands/sessions.js.map +1 -1
- 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.js +2 -1
- package/dist/commands/skills-commands.js.map +1 -1
- package/dist/commands/skills.js +7 -4
- package/dist/commands/skills.js.map +1 -1
- package/dist/commands/status.d.ts +3 -1
- package/dist/commands/status.js +166 -14
- 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.js +2 -2
- package/dist/commands/subscribe.js.map +1 -1
- package/dist/commands/template.d.ts +42 -0
- package/dist/commands/template.js +191 -0
- package/dist/commands/template.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/upload.d.ts +30 -0
- package/dist/commands/upload.js +155 -0
- package/dist/commands/upload.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.js +3 -2
- package/dist/commands/view.js.map +1 -1
- 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.js +894 -60
- package/dist/index.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 +30 -12
- package/dist/lib/capture-lane.js +73 -14
- package/dist/lib/capture-lane.js.map +1 -1
- package/dist/lib/capture-structure.d.ts +123 -0
- package/dist/lib/capture-structure.js +57 -0
- package/dist/lib/capture-structure.js.map +1 -0
- package/dist/lib/cp-packages.d.ts +177 -0
- package/dist/lib/cp-packages.js +389 -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 +91 -1
- package/dist/lib/hub-client.js +565 -22
- package/dist/lib/hub-client.js.map +1 -1
- package/dist/lib/id.d.ts +23 -0
- package/dist/lib/id.js +35 -0
- package/dist/lib/id.js.map +1 -0
- 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 +144 -22
- package/dist/lib/pod.js +302 -64
- 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 +17 -6
- package/dist/lib/skills-installer.js +133 -19
- 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 +49 -1
- package/dist/lib/targets.js +420 -288
- package/dist/lib/targets.js.map +1 -1
- package/dist/lib/template-file.d.ts +74 -0
- package/dist/lib/template-file.js +140 -0
- package/dist/lib/template-file.js.map +1 -0
- 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/node_modules/@synap/hub-rest-client/dist/index.cjs +414 -34
- package/node_modules/@synap/hub-rest-client/dist/index.d.cts +762 -22
- package/node_modules/@synap/hub-rest-client/dist/index.d.ts +762 -22
- package/node_modules/@synap/hub-rest-client/dist/index.js +414 -34
- package/node_modules/@synap/hub-rest-client/package.json +1 -1
- package/node_modules/@synap/hub-rest-client/src/client.ts +525 -37
- package/node_modules/@synap/hub-rest-client/src/index.ts +42 -0
- package/node_modules/@synap/hub-rest-client/src/setup.ts +57 -1
- package/node_modules/@synap/hub-rest-client/src/types.ts +697 -37
- package/package.json +11 -5
- package/skills/agent-os/SKILL.md +218 -0
- package/skills/manifest.json +5 -0
- package/skills/onboard/SKILL.md +193 -0
- package/skills/synap/SKILL.md +1284 -58
- 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 +50 -142
- package/skills/synap/cli-operations.md +107 -0
- package/skills/synap/common-mistakes.md +13 -0
- package/skills/synap/content-os.md +83 -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 +63 -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 +12 -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 +74 -0
- package/skills/synap/workspace-design.md +45 -0
- package/skills/synap/workspace-edges.md +49 -0
- package/skills/synap/writes.md +213 -0
- package/skills/synap-app/SKILL.md +319 -0
- package/skills/synap-app/_order.txt +5 -0
- package/skills/synap-app/_skill.yaml +20 -0
- package/skills/synap-app/creating-the-base-app.md +64 -0
- package/skills/synap-app/governance.md +42 -0
- package/skills/synap-app/install-commands.md +55 -0
- package/skills/synap-app/overview.md +50 -0
- package/skills/synap-app/using-the-sdk.md +73 -0
- package/skills/synap-market/SKILL.md +335 -0
- package/skills/synap-market/_order.txt +5 -0
- package/skills/synap-market/_skill.yaml +24 -0
- package/skills/synap-market/author-and-publish.md +75 -0
- package/skills/synap-market/discover-and-fetch.md +59 -0
- package/skills/synap-market/governance-and-catalog.md +56 -0
- package/skills/synap-market/install.md +55 -0
- package/skills/synap-market/overview.md +51 -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 +26 -2
- 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/connectors.d.ts +0 -31
- package/dist/commands/connectors.js +0 -276
- package/dist/commands/connectors.js.map +0 -1
- 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
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: reading-client-progress
|
|
3
|
+
description: Methodology for reading a Stellar grant client's most recent messages and determining exactly where they stand in the Stellar Community Fund (SCF) process. Use when an extraction step needs to classify a client's latest CLIENT-COMMS messages into a strict {stage, grantStatus, excelUrl, advancement} JSON result. Triggers include syncing client progress, advancing a Stellar grant session from comms, or reading a company's recent messages to infer pipeline stage and health.
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# Reading Client Progress
|
|
7
|
+
|
|
8
|
+
You read a Stellar grant client's most recent messages and decide where they are in the SCF process. You output a single strict JSON object — nothing else. This skill is the reference an extraction `command` node embeds; it is consumed by an automation, not a human, so prose, markdown fences, and commentary are forbidden in the output.
|
|
9
|
+
|
|
10
|
+
## Input
|
|
11
|
+
|
|
12
|
+
You receive the client's recent messages as an array of `{ role, content, authorName, createdAt }` (most recent last). These come from the client's CLIENT-COMMS channel — the external thread where the client shares their project, drafts, links, and replies. Read them in chronological order to understand the trajectory; weight the most recent messages most heavily for the current stage.
|
|
13
|
+
|
|
14
|
+
## Output — STRICT JSON, nothing else
|
|
15
|
+
|
|
16
|
+
Respond with NOTHING but a single JSON object, no prose, no markdown fences, exactly this shape:
|
|
17
|
+
|
|
18
|
+
```
|
|
19
|
+
{ "stage": "scope|abstract|build|awaiting-stellar|closed", "grantStatus": "not-responding|waiting-on-client|in-review|submitted|passed", "excelUrl": string|null, "advancement": string }
|
|
20
|
+
```
|
|
21
|
+
|
|
22
|
+
If you cannot determine a field, use the most conservative value: `stage` defaults to `"scope"`, `grantStatus` defaults to `"waiting-on-client"`, `excelUrl` defaults to `null`. Never invent a value.
|
|
23
|
+
|
|
24
|
+
## `stage` — pipeline position (where the work is)
|
|
25
|
+
|
|
26
|
+
`stage` is the client's position in the ordered SCF pipeline. Pick the FURTHEST stage the messages clearly support:
|
|
27
|
+
|
|
28
|
+
- **`scope`** — Default. The client has not yet shared a concrete project, or is still explaining what they're building. Use until they share the project (site / GitHub / deck / clear description) and the engagement starts working on the Abstract.
|
|
29
|
+
- **`abstract`** — The client is actively working the SCF **Project Abstract** (the 12-field abstract / interest form). Messages reference the Abstract, abstract fields, the interest form, or a draft Abstract being reviewed.
|
|
30
|
+
- **`build`** — The client is working the SCF **Build dossier** (Code URL, Video, Tech Architecture, 3-tranche budget). Messages reference the Build submission, the build dossier, tranches, the technical architecture, or the demo video. Build comes AFTER abstract.
|
|
31
|
+
- **`awaiting-stellar`** — The client has **submitted** to SCF and is waiting on the panel. Messages say they submitted, sent it in, or are waiting on Stellar / the panel / the vote. No further drafting.
|
|
32
|
+
- **`closed`** — The engagement is complete: the client was **awarded** (won the grant) or **rejected**. Messages confirm an award or a rejection decision.
|
|
33
|
+
|
|
34
|
+
Stages are monotonic — don't regress to an earlier stage on the strength of an old message if a later message shows they've moved on.
|
|
35
|
+
|
|
36
|
+
## `grantStatus` — comms / health sub-status (how it's going)
|
|
37
|
+
|
|
38
|
+
`grantStatus` is orthogonal to `stage`. It captures the health of the engagement from the comms, not the pipeline position:
|
|
39
|
+
|
|
40
|
+
- **`not-responding`** — The client has gone quiet; we're waiting and they haven't replied to our last asks.
|
|
41
|
+
- **`waiting-on-client`** — The ball is in the client's court (we asked for something — a draft, a link, info — and await their reply).
|
|
42
|
+
- **`in-review`** — We are actively reviewing / working the client's material right now.
|
|
43
|
+
- **`submitted`** — The dossier has been submitted to SCF (pairs naturally with stage `awaiting-stellar`).
|
|
44
|
+
- **`passed`** — The grant was awarded (pairs naturally with stage `closed`).
|
|
45
|
+
|
|
46
|
+
## `excelUrl` — the client's working dossier link
|
|
47
|
+
|
|
48
|
+
`excelUrl` is the client's working Excel / Google Sheet / dossier URL if one appears anywhere in the messages, else `null`. Look for:
|
|
49
|
+
|
|
50
|
+
- `.xlsx` file links
|
|
51
|
+
- Google Sheets links (`docs.google.com/spreadsheets/...`)
|
|
52
|
+
- Google Drive links (`drive.google.com/...`) to a sheet or dossier
|
|
53
|
+
- Any link the client calls their "abstract", "build", "dossier", "submission sheet", or "grant sheet"
|
|
54
|
+
|
|
55
|
+
If several appear, prefer the most recent one. If none appear, return `null` — do not guess or fabricate a URL.
|
|
56
|
+
|
|
57
|
+
## `advancement` — one-sentence note
|
|
58
|
+
|
|
59
|
+
`advancement` is a single plain-language sentence summarizing where the client is and what's next (e.g. "Client shared their GitHub and pitch deck; ready to start the Abstract." or "Abstract draft delivered for review; waiting on client to confirm the budget."). Keep it to one sentence. If genuinely unknown, use a short honest note like "No recent client activity to assess."
|
|
60
|
+
|
|
61
|
+
## Reminders
|
|
62
|
+
|
|
63
|
+
- Output ONLY the JSON object. No prose, no markdown fences, no leading or trailing text.
|
|
64
|
+
- Omit nothing — always return all four keys. Use the conservative defaults / `null` when unknown.
|
|
65
|
+
- `stage` = pipeline position; `grantStatus` = comms/health. They move independently.
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: routing-to-channels
|
|
3
|
+
description: Routes a message to the right channel and creates a channel when warranted. Use when a message belongs in a different channel, or a new room or thread should be created.
|
|
4
|
+
metadata:
|
|
5
|
+
synap_native: true
|
|
6
|
+
auto_load: false
|
|
7
|
+
---
|
|
8
|
+
|
|
9
|
+
Route messages to the right channel. Understand channel types (personal, group, external).
|
|
10
|
+
|
|
11
|
+
## CHANNEL ROUTING
|
|
12
|
+
When you detect the user is talking about a specific entity (project, task, person, etc.) that has or should have its own channel, use `route_to_channel` to continue the conversation there. This gives you access to the entity's full context and history.
|
|
13
|
+
|
|
14
|
+
Examples of when to route:
|
|
15
|
+
- User asks about "the marketing project" → route to the marketing project's channel
|
|
16
|
+
- User discusses a specific task in depth → route to that task's channel
|
|
17
|
+
- User mentions a person and wants to plan something → route to that person's channel
|
|
18
|
+
|
|
19
|
+
Always explain WHY you're routing: "Let me continue this in the Marketing Project channel where I have the full project context."
|
|
20
|
+
|
|
21
|
+
When routing, ALWAYS set `forwardMessage` to the user's original message so the target channel has full context. This prevents "what were we talking about?" moments — the user's question appears in the target channel as a forwarded message.
|
|
22
|
+
|
|
23
|
+
Do NOT route when:
|
|
24
|
+
- The user asks a quick question you can answer from memory
|
|
25
|
+
- The user is browsing/exploring across multiple entities
|
|
26
|
+
- You're in a general brainstorming conversation
|
|
27
|
+
- The entity doesn't benefit from dedicated context (simple notes, one-off bookmarks)
|
|
28
|
+
|
|
29
|
+
Route when the conversation will clearly benefit from entity-specific context and history.
|
|
30
|
+
|
|
31
|
+
## BINDING AN EXTERNAL CHANNEL TO A CLIENT ENTITY
|
|
32
|
+
|
|
33
|
+
A channel is *bound* when `channels.contextObjectId` points at the entity it belongs to. Once bound, every inbound message on it arrives entity-resolved for free: `external_message.received` carries `subjectId` = the bound entity. Automations (e.g. proactive grant review) rely on this — they resolve the client's **team** channel and dossier from `subjectId`, and skip entirely when a channel is unbound.
|
|
34
|
+
|
|
35
|
+
### First contact on an UNBOUND external channel (runtime, you the agent)
|
|
36
|
+
A channel is still unbound when it has no `contextObjectId` — the tell is that the message's `subjectId` **equals the channel id** (the resolver falls back to the channel id when there is nothing bound). When you see that on an external/inbound channel:
|
|
37
|
+
|
|
38
|
+
1. **Match an existing client** — `entity.query({ profileSlug: 'client', filter: { ... } })` on the sender's name/handle/domain. Never create a duplicate: bind to the match if one exists.
|
|
39
|
+
2. **Create one if there is no match** — a `client` entity (the create-then-configure minimum: just enough to exist).
|
|
40
|
+
3. **Bind the channel to it** — `channel.bind({ channelId, contextObjectType: 'entity', contextObjectId: <clientEntityId>, branchPurpose: 'client-comms' })`. The inbound channel mirrors to the client, so it is `client-comms`.
|
|
41
|
+
|
|
42
|
+
After binding, you are done for every future message: they all arrive entity-resolved, and the team-channel resolution the automations need starts working. Explain the bind briefly, the way you would when keeping notes ("Binding this channel to Acme so everything they send lands on their record.").
|
|
43
|
+
|
|
44
|
+
**FIREWALL:** binding a channel `client-comms` marks it as mirrored to the client. NEVER post bot/team output to a `client-comms` channel — collaboration goes to the sibling `team` channel (see below). When unsure of a channel's role, bind it `client-comms` (the safe default).
|
|
45
|
+
|
|
46
|
+
### Onboarding a KNOWN client (you already have, or are creating, the entity)
|
|
47
|
+
When you create or onboard a client, wire its channels in the same move so the firewall has both surfaces from day one:
|
|
48
|
+
|
|
49
|
+
1. **Client-comms channel** — `channel.ensure({ contextObjectType: 'entity', contextObjectId: <clientEntityId>, branchPurpose: 'client-comms' })` (find-or-create). If the client's external channel already exists, `channel.bind(...)` it instead of ensuring a new one.
|
|
50
|
+
2. **Team sibling channel** — `channel.ensure({ contextObjectType: 'entity', contextObjectId: <clientEntityId>, branchPurpose: 'team' })`. This is the channel every automation resolves via `channel.resolve({ ..., channelType: 'team' })`. Without it, team-facing posts (grant review flags, digests) have nowhere firewall-safe to land.
|
|
51
|
+
|
|
52
|
+
Both point at the SAME client entity — one `client-comms`, one `team`. That pairing is what lets bot/team output surface on the team channel and NEVER leak into the client channel.
|
|
53
|
+
|
|
54
|
+
> Population model: onboarding binds the clients you already know; on-the-fly binding (above) catches the unknown ones on their first inbound message. Together they cover the whole roster.
|
|
@@ -0,0 +1,133 @@
|
|
|
1
|
+
# Associate cheatsheet (1 page)
|
|
2
|
+
|
|
3
|
+
Print this. Keep it next to you during reviews and client calls.
|
|
4
|
+
|
|
5
|
+
## The 7-step review process
|
|
6
|
+
|
|
7
|
+
1. Read the client's submitted content (every field).
|
|
8
|
+
2. Web-fetch website, deck, founder LinkedIns, GitHub.
|
|
9
|
+
3. Score against 14 signals (1 to 10 each).
|
|
10
|
+
4. Identify rejection patterns + cite past examples.
|
|
11
|
+
5. Surface winning patterns (don't erase strengths in rewrites).
|
|
12
|
+
6. Compare to 10-15 corpus comparables.
|
|
13
|
+
7. Generate Excel + chat summary with probability range.
|
|
14
|
+
|
|
15
|
+
## The Excel deliverable (4 sheets, always)
|
|
16
|
+
|
|
17
|
+
| Sheet | Content |
|
|
18
|
+
|---|---|
|
|
19
|
+
| 1. Field-by-Field Review | Q-numbers, Status, Review (FR or EN), Rewrite (EN paste-ready) |
|
|
20
|
+
| 2. Pre-submission Checklist | Priority, Item, Field, Effort, Why, Status |
|
|
21
|
+
| 3. Corpus Comparables | 10-15 past dossiers side-by-side with current |
|
|
22
|
+
| 4. Integration List Audit | Each Stellar item: MENTIONED / TO ADD / OPTIONAL / NOT RELEVANT |
|
|
23
|
+
|
|
24
|
+
## Banner row formula
|
|
25
|
+
|
|
26
|
+
> "[Project] [Phase] Review v[N]: estimated XX to YY pct probability now, AA to BB pct after fixes. Budget anchor $[X],000 [Track], anchored on [Named Past Winner] ($YYK SCF #NN)."
|
|
27
|
+
|
|
28
|
+
## Vocabulary translation (NEVER use left column with clients)
|
|
29
|
+
|
|
30
|
+
| Internal | Client-friendly |
|
|
31
|
+
|---|---|
|
|
32
|
+
| kill signature | common rejection pattern, recurring red flag |
|
|
33
|
+
| corpus | our database of 130+ rejected and 79+ awarded dossiers |
|
|
34
|
+
| doxxing depth | whether founders are publicly identifiable |
|
|
35
|
+
| bolt-on | port from another chain without a Stellar-specific reason |
|
|
36
|
+
| TAM-grandiose | vague total addressable market claims |
|
|
37
|
+
| sub-max | below the $150K maximum |
|
|
38
|
+
| heightened scrutiny | extra scrutiny applied at maximum-ask submissions |
|
|
39
|
+
|
|
40
|
+
## The 14 signals (memorize order)
|
|
41
|
+
|
|
42
|
+
1. Team identity (doxxing depth)
|
|
43
|
+
2. Stellar-native traction
|
|
44
|
+
3. Budget realism vs scope
|
|
45
|
+
4. Scope clarity (named contracts + Integration items)
|
|
46
|
+
5. Differentiation from previously-funded teams
|
|
47
|
+
6. Track choice fit (Integration vs Open vs RFP)
|
|
48
|
+
7. Go-to-market specificity (named partners + customers)
|
|
49
|
+
8. Milestone precision (verifiable evidence + quantified targets)
|
|
50
|
+
9. Traction evidence (live URLs + LOIs + revenue)
|
|
51
|
+
10. Regulatory framing (named framework + license partner)
|
|
52
|
+
11. Open-source posture (MIT/Apache 2.0)
|
|
53
|
+
12. Brand non-collision
|
|
54
|
+
13. SDF roadmap alignment (x402, Protocol 25 X-Ray, EURC, MiCA, agentic payments)
|
|
55
|
+
14. Comeback signal (only for reapplying teams)
|
|
56
|
+
|
|
57
|
+
## The 12 rejection patterns (memorize by name)
|
|
58
|
+
|
|
59
|
+
1. Unidentifiable-founder pattern
|
|
60
|
+
2. Maximum-budget-without-scope pattern
|
|
61
|
+
3. Generic-name pattern
|
|
62
|
+
4. Brand-collision pattern
|
|
63
|
+
5. Multi-chain-bolt-on pattern
|
|
64
|
+
6. SDF-roadmap-overlap pattern
|
|
65
|
+
7. Already-funded-competitor pattern
|
|
66
|
+
8. Regulated-product-without-regulatory-plan pattern
|
|
67
|
+
9. Vague-TAM pattern
|
|
68
|
+
10. Earn-via-low-effort-activity pattern
|
|
69
|
+
11. Incomplete-dossier pattern (Information Collection status)
|
|
70
|
+
12. Cluster-of-issues rejection (Panel Review Failed)
|
|
71
|
+
|
|
72
|
+
## Budget anchors (memorize)
|
|
73
|
+
|
|
74
|
+
| Anchor | Profile | Budget range |
|
|
75
|
+
|---|---|---|
|
|
76
|
+
| Bando (SCF #42 won) | RWA single-pilot, doxxed, regulated partner named | $75K-$90K |
|
|
77
|
+
| TheXBank (SCF #40 won) | Africa banking with country pilot | $80K-$100K |
|
|
78
|
+
| The Signal (SCF #42 won) | B2B marketplace, 2 doxxed, 1 contract | $115K-$125K |
|
|
79
|
+
| Rebond (target SCF #44) | RWA bonds, 2 doxxed, 4 LOIs, regulatory framework | $125K-$135K |
|
|
80
|
+
| For Yield (target SCF #44) | Regulated DeFi yield, 11-team, AMF filed | $135K-$145K |
|
|
81
|
+
|
|
82
|
+
Tranche structure (always 3 equivalent tranches):
|
|
83
|
+
- $90K = 3 x $30K
|
|
84
|
+
- $108K = 3 x $36K
|
|
85
|
+
- $121.2K = 3 x $40.4K
|
|
86
|
+
- $132K = 3 x $44K
|
|
87
|
+
- $144K = 3 x $48K
|
|
88
|
+
|
|
89
|
+
## Pre-screen blockers (NEVER ship a Build phase dossier without these)
|
|
90
|
+
|
|
91
|
+
- Q5 Code URL: public GitHub with README + MIT + scaffold (ideally testnet contract deployed)
|
|
92
|
+
- Q6 Video URL: YouTube/Vimeo, under 3 min, 5-segment script, live demo on Stellar Expert
|
|
93
|
+
- Q10 Technical Architecture: public Notion or GitHub markdown with C4 L1 + L2 + flows
|
|
94
|
+
- Q8 Thumbnail: 1200x630 image uploaded
|
|
95
|
+
|
|
96
|
+
## SCF Integration List essentials
|
|
97
|
+
|
|
98
|
+
- **Wallets**: Stellar Wallets Kit (default), Privy (mainstream), DFNS (institutional), Freighter Connect
|
|
99
|
+
- **Off-ramp**: Anchor Platform (EU), Bridge (Stripe-acquired), MoneyGram (emerging markets), Mercuryo
|
|
100
|
+
- **DeFi**: DeFindex (yield), Blend v2 (lending), Aquarius (DEX), Soroswap (aggregator)
|
|
101
|
+
- **Cross-chain**: Allbridge, Near Intents, Axelar
|
|
102
|
+
- **Payments**: Stellar Disbursement Platform (SDP)
|
|
103
|
+
|
|
104
|
+
Items NOT on the list (Fireblocks, Elliptic, Certora, Wirex) = supporting infra, not Integration Track items.
|
|
105
|
+
|
|
106
|
+
## Em-dash rule
|
|
107
|
+
|
|
108
|
+
Never use the long-dash punctuation character (the wide horizontal line, Unicode U+2014) in any client deliverable. Use commas, colons, parentheses, periods, or single hyphens instead. The long-dash reads as machine-generated.
|
|
109
|
+
|
|
110
|
+
## QA before sending any deliverable
|
|
111
|
+
|
|
112
|
+
1. Zero em-dashes anywhere in the file.
|
|
113
|
+
2. Zero use of "kill signature" anywhere in the file.
|
|
114
|
+
3. Every flagged problem cites at least one named past dossier.
|
|
115
|
+
4. Budget recommendation cites a named past winner with comparable profile.
|
|
116
|
+
5. Every paste-ready rewrite (Column D) is in English, not French.
|
|
117
|
+
6. Banner row contains specific numbers (not "TBD").
|
|
118
|
+
7. Sheet names: "Abstract Review" or "Build Review" / "Checklist Pre-Submit" / "Comparables Corpus" / "Audit Integration List".
|
|
119
|
+
|
|
120
|
+
## The chat summary after every delivery
|
|
121
|
+
|
|
122
|
+
> "Dossier livré, fichier v[N] sauvegardé.
|
|
123
|
+
> Verdict: estimated XX-YY pct probability now, AA-BB pct after fixes.
|
|
124
|
+
> Top 5 fixes (in priority order): [list].
|
|
125
|
+
> Recommended budget: $[X],000 [Track], 3 tranches of $[X/3].
|
|
126
|
+
> [Open the file](computer://path/to/file.xlsx)"
|
|
127
|
+
|
|
128
|
+
## Quick prompts for Claude with the skill
|
|
129
|
+
|
|
130
|
+
- Review: "Review this SCF Abstract: [URL]. Round SCF #[N]. Give me the 4-sheet Excel deliverable."
|
|
131
|
+
- Budget only: "Recommend budget for [category] dossier with [team] and [traction]."
|
|
132
|
+
- Triage: "Top 3 rejection patterns this dossier triggers. Cite past dossiers."
|
|
133
|
+
- Comeback: "Lost SCF #[N] at $[X]. Profile: [details]. What changed? What to fix?
|