@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,267 @@
|
|
|
1
|
+
# Corpus rejects: detailed profiles of past SCF rejections
|
|
2
|
+
|
|
3
|
+
The complement of `10-corpus-winners.md`. Use these by name when explaining to a client why a pattern in their dossier worries you.
|
|
4
|
+
|
|
5
|
+
## SCF #40 rejected dossiers (selected)
|
|
6
|
+
|
|
7
|
+
### Sorotrack, $150K + $50K + $50K, rejected three times (SCF #40, #41, #42)
|
|
8
|
+
|
|
9
|
+
- **Category:** Stellar tracker.
|
|
10
|
+
- **Profile:** solo dev only known by handle "Gemy" / "geemy8166".
|
|
11
|
+
- **Why rejected:** founders not identifiable for high-ask request (rejection pattern 1), maximum ask without team scope (pattern 2), retried unchanged dossiers.
|
|
12
|
+
- **Use as warning** when a dossier has a solo dev not fully doxxed.
|
|
13
|
+
|
|
14
|
+
### AION_FI Protocol, $146.5K, Panel Review Failed
|
|
15
|
+
|
|
16
|
+
- **Category:** Credit cards on Stellar.
|
|
17
|
+
- **Profile:** anonymous team, no BIN sponsor named, no regulatory plan.
|
|
18
|
+
- **Why rejected:** maximum ask with no team and no licensing partner.
|
|
19
|
+
- **Use as warning** for regulated payments dossiers without named partners.
|
|
20
|
+
|
|
21
|
+
### StellarRead, $150K, Panel Review Failed
|
|
22
|
+
|
|
23
|
+
- **Category:** Read-to-earn platform.
|
|
24
|
+
- **Why rejected:** rejection pattern 10 (earn-to-X category) plus pattern 2 (max ask without scope).
|
|
25
|
+
- **Use as warning** when a dossier uses earn-to-X vocabulary.
|
|
26
|
+
|
|
27
|
+
### Cicero, $150K, Panel Review Failed
|
|
28
|
+
|
|
29
|
+
- **Category:** C++ Soroban project.
|
|
30
|
+
- **Why rejected:** no team disclosed at maximum ask.
|
|
31
|
+
|
|
32
|
+
### Solar, $60K, Panel Review Failed
|
|
33
|
+
|
|
34
|
+
- **Category:** Africa unbanked banking.
|
|
35
|
+
- **Why rejected:** lost to TheXBank ($89.5K winner same round, pattern 7), plus brand collision with SatoshiPay Solar Wallet (pattern 4).
|
|
36
|
+
- **Use as warning** for Africa-banking dossiers and any project named "Solar".
|
|
37
|
+
|
|
38
|
+
### MOJA, $110K, Panel Review Failed
|
|
39
|
+
|
|
40
|
+
- **Category:** Group savings for refugees.
|
|
41
|
+
- **Why rejected:** vague TAM (pattern 9).
|
|
42
|
+
|
|
43
|
+
### Easner, $150K, Panel Review Failed
|
|
44
|
+
|
|
45
|
+
- **Category:** "Stripe for Stablecoins".
|
|
46
|
+
- **Why rejected:** generic positioning (pattern 3) plus no banking partner named (pattern 8) plus max ask (pattern 2).
|
|
47
|
+
- **Use as warning** for "Stripe for X" framing.
|
|
48
|
+
|
|
49
|
+
### Riwe, $115K (then $96K, both rejected)
|
|
50
|
+
|
|
51
|
+
- **Category:** unspecified DeFi.
|
|
52
|
+
- **Why rejected:** insufficient differentiation, retried with budget reduction but core issues persisted.
|
|
53
|
+
|
|
54
|
+
### Paenote, $150K, Panel Review Failed
|
|
55
|
+
|
|
56
|
+
- **Category:** Africa B2B payments.
|
|
57
|
+
- **Why rejected:** maximum ask with only $100K processed total volume.
|
|
58
|
+
|
|
59
|
+
### OverSync, $100K, Panel Review Failed
|
|
60
|
+
|
|
61
|
+
- **Category:** Sync infrastructure.
|
|
62
|
+
- **Why rejected:** unspecified scope issues.
|
|
63
|
+
|
|
64
|
+
### Stablpay, $129.1K, Panel Review Failed
|
|
65
|
+
|
|
66
|
+
- **Category:** Regulated stablecoin rail for India.
|
|
67
|
+
- **Why rejected:** no FIU details disclosed beyond registration mention (pattern 8).
|
|
68
|
+
|
|
69
|
+
### Stableyard, $119.5K
|
|
70
|
+
|
|
71
|
+
- **Category:** Asia QR network stablecoin.
|
|
72
|
+
- **Why rejected:** brand collision (pattern 4) plus vague TAM (pattern 9).
|
|
73
|
+
|
|
74
|
+
### Azawire, $80K
|
|
75
|
+
|
|
76
|
+
- **Category:** Web3 Banking for Africa.
|
|
77
|
+
- **Why rejected:** vague TAM.
|
|
78
|
+
|
|
79
|
+
### Gameduk, $60K
|
|
80
|
+
|
|
81
|
+
- **Category:** Gamified EdTech.
|
|
82
|
+
- **Why rejected:** rejection pattern 10 (earn-to-X).
|
|
83
|
+
|
|
84
|
+
### Stellar Nexus Experience, $60K
|
|
85
|
+
|
|
86
|
+
- **Category:** XP / badges learn-to-earn.
|
|
87
|
+
- **Why rejected:** rejection pattern 10.
|
|
88
|
+
|
|
89
|
+
### EduAfrica Learning App, $89K
|
|
90
|
+
|
|
91
|
+
- **Category:** Learn-to-earn Africa.
|
|
92
|
+
- **Why rejected:** pattern 9 (vague TAM) + pattern 10 (earn).
|
|
93
|
+
|
|
94
|
+
### PhishGuard, $65K
|
|
95
|
+
|
|
96
|
+
- **Category:** Anti-phishing tool.
|
|
97
|
+
- **Why rejected:** unspecified.
|
|
98
|
+
|
|
99
|
+
### Offer-Hub, $90K
|
|
100
|
+
|
|
101
|
+
- **Category:** B2B platform.
|
|
102
|
+
- **Why rejected:** unspecified.
|
|
103
|
+
|
|
104
|
+
### Stellar Playground v2, $90K
|
|
105
|
+
|
|
106
|
+
- **Category:** Soroban dev playground.
|
|
107
|
+
- **Why rejected:** duplication of SDF tooling (pattern 6).
|
|
108
|
+
|
|
109
|
+
## SCF #41 rejected dossiers (selected)
|
|
110
|
+
|
|
111
|
+
### Cushion, $118.4K, Information Collection
|
|
112
|
+
|
|
113
|
+
- **Why rejected:** dossier never compiled to panel.
|
|
114
|
+
- **Use as warning** for incomplete submissions.
|
|
115
|
+
|
|
116
|
+
### Payala to Stellar Integration, $150K, Information Collection
|
|
117
|
+
|
|
118
|
+
- **Why rejected:** dossier incomplete.
|
|
119
|
+
|
|
120
|
+
### Neon Wallet, $129K, Information Collection
|
|
121
|
+
|
|
122
|
+
- **Why rejected:** dossier incomplete plus brand collision (pattern 4).
|
|
123
|
+
|
|
124
|
+
### C-Address Toolkit, $120K, rejected
|
|
125
|
+
|
|
126
|
+
- **Why rejected:** lost to Latch + KMP same RFP (pattern 7).
|
|
127
|
+
|
|
128
|
+
### StellarScope, $90K, rejected
|
|
129
|
+
|
|
130
|
+
- **Why rejected:** lost to Orion + OctoPos same RFP (pattern 7).
|
|
131
|
+
|
|
132
|
+
### Soroban-first Block Explorer, $75K, rejected
|
|
133
|
+
|
|
134
|
+
- **Why rejected:** lost to Rumble Fish and OBSRVR Prism same RFP (pattern 7), generic naming (pattern 3).
|
|
135
|
+
|
|
136
|
+
### Reactor Trade, $115K, rejected
|
|
137
|
+
|
|
138
|
+
- **Why rejected:** same co-founder as Helix Labs same-round winner (pattern 7).
|
|
139
|
+
|
|
140
|
+
### Kyros OS, $135K, rejected
|
|
141
|
+
|
|
142
|
+
- **Category:** Spanish tax compliance.
|
|
143
|
+
- **Why rejected:** no named AEAT/Hacienda partnership shown (pattern 8).
|
|
144
|
+
|
|
145
|
+
### Goated App, $120K, rejected
|
|
146
|
+
|
|
147
|
+
- **Category:** Predictions/gambling.
|
|
148
|
+
- **Why rejected:** no licensing plan (pattern 8).
|
|
149
|
+
|
|
150
|
+
### $NRG Token by BLOND:ISH, $150K, rejected
|
|
151
|
+
|
|
152
|
+
- **Category:** Solana fan token porting to Stellar.
|
|
153
|
+
- **Why rejected:** rejection pattern 10 (earn) + pattern 5 (bolt-on) + pattern 2 (max ask).
|
|
154
|
+
- **Use as warning** for fan token launches.
|
|
155
|
+
|
|
156
|
+
### Astrix, $95K, rejected
|
|
157
|
+
|
|
158
|
+
- **Category:** Algorand fan platform porting.
|
|
159
|
+
- **Why rejected:** bolt-on (pattern 5).
|
|
160
|
+
|
|
161
|
+
### WOWMAX, $109K, rejected
|
|
162
|
+
|
|
163
|
+
- **Category:** EVM DEX aggregator.
|
|
164
|
+
- **Why rejected:** bolt-on (pattern 5).
|
|
165
|
+
|
|
166
|
+
### ViFi Labs, $150K, rejected
|
|
167
|
+
|
|
168
|
+
- **Category:** Multi-chain DeFi.
|
|
169
|
+
- **Why rejected:** already-funded multi-chain team at max ask.
|
|
170
|
+
|
|
171
|
+
### Nebula Wallet, multiple rounds, rejected
|
|
172
|
+
|
|
173
|
+
- **Category:** Post-quantum cryptography wallet.
|
|
174
|
+
- **Why rejected:** duplicates SDF roadmap work (pattern 6).
|
|
175
|
+
|
|
176
|
+
### Stellar Fintech OS, $140K, rejected
|
|
177
|
+
|
|
178
|
+
- **Category:** generic fintech infrastructure.
|
|
179
|
+
- **Why rejected:** generic naming (pattern 3) + brand collision (pattern 4, Romanian core-banking FintechOS).
|
|
180
|
+
|
|
181
|
+
## SCF #42 rejected dossiers (selected)
|
|
182
|
+
|
|
183
|
+
### reb.cash, $150K, rejected
|
|
184
|
+
|
|
185
|
+
- **Why rejected:** anonymous, no website, max ask.
|
|
186
|
+
|
|
187
|
+
### Lend.xyz, $120K, rejected
|
|
188
|
+
|
|
189
|
+
- **Category:** RWA real estate.
|
|
190
|
+
- **Why rejected:** lost to Bando same round (pattern 7), no specific pilot.
|
|
191
|
+
|
|
192
|
+
### Tessera Labs, $150K, rejected
|
|
193
|
+
|
|
194
|
+
- **Why rejected:** anonymous team (pattern 1) plus brand collision (pattern 4, a16z's Tessera) plus duplication of Protocol 25 X-Ray (pattern 6).
|
|
195
|
+
|
|
196
|
+
### Remitance, $150K, rejected
|
|
197
|
+
|
|
198
|
+
- **Why rejected:** vague TAM, max ask.
|
|
199
|
+
|
|
200
|
+
### StellarCredit, $55K, Panel Review Failed
|
|
201
|
+
|
|
202
|
+
- **Category:** Invoice factoring.
|
|
203
|
+
- **Why rejected:** regulated lending without licensing plan (pattern 8).
|
|
204
|
+
|
|
205
|
+
### Resolva, $120K, Panel Review Failed
|
|
206
|
+
|
|
207
|
+
- **Category:** Africa crypto-to-fiat.
|
|
208
|
+
- **Why rejected:** no license disclosed (pattern 8) plus pan-Africa TAM (pattern 9).
|
|
209
|
+
|
|
210
|
+
### Galeon, $88K, Panel Review Failed
|
|
211
|
+
|
|
212
|
+
- **Category:** Privacy/compliance tooling.
|
|
213
|
+
- **Why rejected:** overlaps with Protocol 25 X-Ray (pattern 6).
|
|
214
|
+
|
|
215
|
+
### REAPP, $115K, rejected
|
|
216
|
+
|
|
217
|
+
- **Category:** x402 implementation.
|
|
218
|
+
- **Why rejected:** anonymous (pattern 1).
|
|
219
|
+
|
|
220
|
+
### Nuvolari.ai, $84K, rejected
|
|
221
|
+
|
|
222
|
+
- **Category:** Sonic-native AI yield, port to Stellar.
|
|
223
|
+
- **Why rejected:** bolt-on (pattern 5).
|
|
224
|
+
|
|
225
|
+
### Nomadz, $150K, rejected
|
|
226
|
+
|
|
227
|
+
- **Category:** Solana travel app.
|
|
228
|
+
- **Why rejected:** bolt-on (pattern 5) plus max ask.
|
|
229
|
+
|
|
230
|
+
### PathPulse AI, $137K (SCF #41) and $128K (SCF #42), both rejected
|
|
231
|
+
|
|
232
|
+
- **Category:** Computer-vision data network.
|
|
233
|
+
- **Why rejected:** bolt-on (pattern 5) on both submissions.
|
|
234
|
+
|
|
235
|
+
### All Access Fans, $150K, rejected
|
|
236
|
+
|
|
237
|
+
- **Category:** Nigerian Web2 OnlyFans-alt with Stellar bolt-on.
|
|
238
|
+
- **Why rejected:** bolt-on (pattern 5) plus max ask.
|
|
239
|
+
|
|
240
|
+
### Pollar, $72K, rejected
|
|
241
|
+
|
|
242
|
+
- **Why rejected:** anonymous (pattern 1).
|
|
243
|
+
|
|
244
|
+
### ASGCard, $120K, rejected
|
|
245
|
+
|
|
246
|
+
- **Category:** Virtual card issuance for AI agents.
|
|
247
|
+
- **Why rejected:** no BIN sponsor named (pattern 8).
|
|
248
|
+
|
|
249
|
+
### Move-to-Stellar, $115K, rejected
|
|
250
|
+
|
|
251
|
+
- **Category:** Alternate VM runtime.
|
|
252
|
+
- **Why rejected:** contradicts SDF's deliberate Rust+WASM choice (pattern 6).
|
|
253
|
+
|
|
254
|
+
### The Strategists, $150K, Information Collection
|
|
255
|
+
|
|
256
|
+
- **Why rejected:** dossier never compiled to panel.
|
|
257
|
+
|
|
258
|
+
### SendbyKatika, $150K (SCF #40)
|
|
259
|
+
|
|
260
|
+
- **Why rejected:** never passed pre-screen completion.
|
|
261
|
+
|
|
262
|
+
## How to use this catalog
|
|
263
|
+
|
|
264
|
+
When you advise a client, name 2 or 3 past rejects whose pattern matches what worries you in the current dossier. Specific past failures are more persuasive than generic warnings.
|
|
265
|
+
|
|
266
|
+
Example client framing:
|
|
267
|
+
- *"The Q2 description currently uses 'earn rewards by attending events' language. Three past dossiers were rejected for the same framing: StellarRead at $150K, Stellar Nexus Experience at $60K, and EduAfrica Learning at $89K. The fix is to reframe the customer as the protocol (B2B) rather than the user (B2C earning), which the same kind of dossier, The Signal, used to win $121K."*
|
|
@@ -0,0 +1,131 @@
|
|
|
1
|
+
# Client communication rules
|
|
2
|
+
|
|
3
|
+
This document is the most important rule set in the skill. The Arch Consulting's reviews are read by clients who do not work in our methodology. Internal vocabulary creates confusion and breaks trust. Use this document to translate every internal concept into client-friendly language.
|
|
4
|
+
|
|
5
|
+
## The single most important rule
|
|
6
|
+
|
|
7
|
+
**Never use "kill signature" in any output the client sees.** Internal at The Arch Consulting we call certain rejection-prone patterns "kill signatures" because they reliably correlate with rejection. The client has zero context on this term. To them it sounds aggressive, clinical, and proprietary.
|
|
8
|
+
|
|
9
|
+
In all client-facing outputs (Excel reviews, written summaries, chat responses, emails), replace it with one of:
|
|
10
|
+
|
|
11
|
+
- *"common rejection pattern in past SCF rounds"*
|
|
12
|
+
- *"a recurring rejection factor we have observed in our database of past SCF dossiers"*
|
|
13
|
+
- *"a recurring red flag for SCF reviewers"*
|
|
14
|
+
|
|
15
|
+
Then explain the pattern in plain English and cite specific past dossiers by name.
|
|
16
|
+
|
|
17
|
+
## Vocabulary translation table
|
|
18
|
+
|
|
19
|
+
This is the canonical list. When you draft any client-facing output, scan for left-column terms and replace them with right-column phrasing.
|
|
20
|
+
|
|
21
|
+
| Internal vocabulary (NEVER use to client) | Client-friendly phrasing |
|
|
22
|
+
|---|---|
|
|
23
|
+
| Kill signature, kill sig | Common rejection pattern, recurring red flag for SCF reviewers |
|
|
24
|
+
| Kill signature #N | Use the descriptive name of the pattern instead (for example: "the anonymous-founder pattern", "the maximum-ask-without-scope pattern", "the bolt-on pattern") |
|
|
25
|
+
| Corpus | Our database of 130+ rejected and 79+ awarded SCF dossiers (first mention); past SCF rounds (subsequent mentions) |
|
|
26
|
+
| Corpus comparable | Past dossier with a similar profile |
|
|
27
|
+
| Doxxing depth | Whether each founder is publicly identifiable |
|
|
28
|
+
| Bolt-on / bolt-on rejection | Submissions that look like a port from another chain without a Stellar-specific reason |
|
|
29
|
+
| Earn-to-X | Earn-via-low-effort-activity (specify the activity: "read-to-earn", "watch-to-earn", "play-to-earn") |
|
|
30
|
+
| TAM-grandiose | Vague total addressable market claims |
|
|
31
|
+
| Brand collision | Project name overlap with a major unrelated company |
|
|
32
|
+
| Sub-max | Below the $150K maximum |
|
|
33
|
+
| Heightened scrutiny | Maximum-budget submissions get extra scrutiny from reviewers |
|
|
34
|
+
| Pre-screen rejection | The SCF team rejects the dossier before panel review because mandatory fields are missing |
|
|
35
|
+
| Panel Review Failed | The SCF panel explicitly rejected the dossier |
|
|
36
|
+
| Information Collection status | The dossier never reached the panel because fields were missing or incomplete |
|
|
37
|
+
| Pattern N / N triggered | Use the descriptive name of the pattern (see "Naming patterns by description" below) |
|
|
38
|
+
| Anti-budget-misuse signal | A phrase that reassures reviewers the grant will not be used for marketing or non-development costs |
|
|
39
|
+
| Atomic Splits | Soroban payout logic for automatically routing transaction value across multiple parties |
|
|
40
|
+
| Q6 Integration Description | Integration Description field (Q6) |
|
|
41
|
+
| Track 14 framework / 14-signal framework | The 14 evaluation criteria we score every dossier against |
|
|
42
|
+
| Catalogued / catalogued | Documented |
|
|
43
|
+
| Anchor on | Calibrate against (a named past winner) |
|
|
44
|
+
|
|
45
|
+
## Naming patterns by description
|
|
46
|
+
|
|
47
|
+
Instead of "Pattern 1", "Pattern 2", etc., use these descriptive names that any client immediately understands:
|
|
48
|
+
|
|
49
|
+
- Pattern 1 → "the unidentifiable-founder pattern" or "founders the panel cannot verify"
|
|
50
|
+
- Pattern 2 → "the maximum-budget-without-scope pattern"
|
|
51
|
+
- Pattern 3 → "the generic-name pattern"
|
|
52
|
+
- Pattern 4 → "the brand-collision pattern"
|
|
53
|
+
- Pattern 5 → "the multi-chain-bolt-on pattern" or "ports from another chain without a Stellar-specific reason"
|
|
54
|
+
- Pattern 6 → "the SDF-roadmap-overlap pattern" or "work that duplicates what the Stellar Foundation is shipping"
|
|
55
|
+
- Pattern 7 → "the already-funded-competitor pattern"
|
|
56
|
+
- Pattern 8 → "the regulated-product-without-regulatory-plan pattern"
|
|
57
|
+
- Pattern 9 → "the vague-TAM pattern"
|
|
58
|
+
- Pattern 10 → "the earn-via-low-effort-activity pattern" or "the consumer-token-rewards pattern"
|
|
59
|
+
- Pattern 11 → "the incomplete-dossier pattern"
|
|
60
|
+
- Pattern 12 → "the cluster-of-issues rejection"
|
|
61
|
+
|
|
62
|
+
## The three-part explanation structure
|
|
63
|
+
|
|
64
|
+
Every time you flag a problem to a client, structure your explanation in three parts:
|
|
65
|
+
|
|
66
|
+
1. **What we see in the dossier.** Specific. Quote the cell or field.
|
|
67
|
+
|
|
68
|
+
2. **Why this is a recurring rejection factor.** One sentence explaining what SCF reviewers actually care about and why.
|
|
69
|
+
|
|
70
|
+
3. **Specific past dossiers that were rejected for this exact reason, with budget and round.**
|
|
71
|
+
|
|
72
|
+
Then offer the fix.
|
|
73
|
+
|
|
74
|
+
### Example
|
|
75
|
+
|
|
76
|
+
Bad framing (internal jargon):
|
|
77
|
+
> *"Q10 triggers kill signature #1. Risk 30 percent."*
|
|
78
|
+
|
|
79
|
+
Good framing (client-friendly):
|
|
80
|
+
> *"Q10 has a recurring rejection factor we have observed in past SCF rounds: only two of your three co-founders have a verifiable LinkedIn URL. SCF panels treat this as an accountability red flag because they need to know who to follow up with if the project goes off the rails. Three past dossiers were rejected for this exact reason: Sorotrack ($150K in SCF #40, solo dev only known by handle "Gemy"), AION_FI Protocol ($146.5K in SCF #40 PRF, no team disclosed for a credit card project), and Tessera Labs ($150K in SCF #42, anonymous team for a regulated category). The fix takes 30 minutes: add a LinkedIn URL for the third co-founder before submission."*
|
|
81
|
+
|
|
82
|
+
The good version takes more words. That is exactly the point. The client needs to understand the diagnosis, the mechanism, the evidence and the fix.
|
|
83
|
+
|
|
84
|
+
## Tone
|
|
85
|
+
|
|
86
|
+
You write to a peer founder, not to a customer. Your tone is:
|
|
87
|
+
|
|
88
|
+
- **Specific.** "Q4 traction" not "the traction section".
|
|
89
|
+
- **Direct.** "This worries us" not "you may want to consider".
|
|
90
|
+
- **Confident.** When you recommend a $121K budget, you explain why; you do not hedge.
|
|
91
|
+
- **Honest.** When the dossier is weak, you say so; you do not flatter.
|
|
92
|
+
- **Anchored in evidence.** Every claim references a named past dossier or a specific signal.
|
|
93
|
+
- **Respectful of the client's time.** You write tight sentences. No filler.
|
|
94
|
+
- **Warm but not soft.** You believe the client can win this grant; you act like it.
|
|
95
|
+
|
|
96
|
+
Avoid:
|
|
97
|
+
|
|
98
|
+
- Hype words ("game-changing", "revolutionary", "leverage synergies").
|
|
99
|
+
- Filler ("essentially", "basically", "at the end of the day").
|
|
100
|
+
- Empty validation ("great Abstract!", "amazing team!"). Validate with specifics, not adjectives.
|
|
101
|
+
- Vague hedging ("might want to consider", "could be a good idea").
|
|
102
|
+
- Em-dashes anywhere in client-facing outputs. They read as AI-generated.
|
|
103
|
+
|
|
104
|
+
## French vs English
|
|
105
|
+
|
|
106
|
+
Some clients are French (most of The Arch Consulting's pipeline). Default tone:
|
|
107
|
+
|
|
108
|
+
- **French commentary (analysis sections):** the explanatory "Review" or "Status" columns can be in French if the client is French-speaking.
|
|
109
|
+
- **English rewrites:** the actual rewrite text (the content the client will paste into the SCF form) is always English, regardless of client language. SCF reviewers read English.
|
|
110
|
+
|
|
111
|
+
When in doubt, default to all-English. Confirm with the client at the start of an engagement.
|
|
112
|
+
|
|
113
|
+
## Cross-checking your output
|
|
114
|
+
|
|
115
|
+
Before delivering any review, scan for these red flags:
|
|
116
|
+
|
|
117
|
+
1. Does the output contain "kill signature" anywhere? If yes, replace.
|
|
118
|
+
2. Does the output contain em-dashes? If yes, replace with commas, colons, parentheses, or single hyphens.
|
|
119
|
+
3. Is every claim anchored on at least one named past dossier? If a claim is generic, add a name.
|
|
120
|
+
4. Does the budget recommendation cite a named past winner with comparable profile? If not, add one.
|
|
121
|
+
5. Does each flagged problem come with a paste-ready rewrite? If not, write one.
|
|
122
|
+
|
|
123
|
+
A review that passes all five checks is ready to deliver.
|
|
124
|
+
|
|
125
|
+
## What to never do
|
|
126
|
+
|
|
127
|
+
- Never tell the client "your dossier will be rejected" or "you will win this grant". You estimate probability; you do not predict outcomes. Be honest about the range.
|
|
128
|
+
- Never claim certainty about SCF reviewer behavior beyond what the corpus supports. If you have not seen a pattern in past rounds, say "we cannot speak to this from our data" instead of inventing.
|
|
129
|
+
- Never use opinion words like "amazing", "terrible", "garbage" about a client's dossier. Use evidence-based assessments.
|
|
130
|
+
- Never volunteer information about the methodology that the client did not ask for. Keep the focus on the review of their dossier.
|
|
131
|
+
- Never reveal another client's identity, budget, or strategy in another client's review. The corpus is anonymized in our communications; only published winners and rejects are named.
|
|
@@ -0,0 +1,199 @@
|
|
|
1
|
+
# Excel deliverable specification
|
|
2
|
+
|
|
3
|
+
Every review produces a single Excel file with four sheets. This document is the canonical spec.
|
|
4
|
+
|
|
5
|
+
## File naming
|
|
6
|
+
|
|
7
|
+
`{ProjectName}_{Phase}_Review_v{N}.xlsx`
|
|
8
|
+
|
|
9
|
+
Examples:
|
|
10
|
+
- `Antevorta_Abstract_Review_v2.xlsx`
|
|
11
|
+
- `SolarBraves_Build_Review_v1.xlsx`
|
|
12
|
+
- `Tickie_Abstract_Review_v3.xlsx`
|
|
13
|
+
|
|
14
|
+
Always increment the version when you produce a revised review.
|
|
15
|
+
|
|
16
|
+
## Sheet 1: Field-by-Field Review
|
|
17
|
+
|
|
18
|
+
The main sheet. Where the client sees, for each field of their Abstract or Build, what is good and what needs to change.
|
|
19
|
+
|
|
20
|
+
### Columns
|
|
21
|
+
|
|
22
|
+
1. **Field** (column A), the Q-number plus field name. Examples: `Q2 Description`, `Q10 Team`, `Q15 Budget Total`.
|
|
23
|
+
|
|
24
|
+
2. **Status** (column B), short status code: `STRONG`, `SOLID`, `UNDERSELLING`, `WEAK`, `BLOCKER`.
|
|
25
|
+
|
|
26
|
+
3. **Review** (column C), French or English commentary explaining what we see and why. Use the three-part structure from `12-client-communication.md`. Reference past dossiers by name. Do NOT use "kill signature".
|
|
27
|
+
|
|
28
|
+
4. **Rewrite / Action** (column D), paste-ready English text the client can copy directly into the SCF form. For non-rewrite actions (a thumbnail upload, a Discord username fix), describe the action specifically.
|
|
29
|
+
|
|
30
|
+
### Formatting
|
|
31
|
+
|
|
32
|
+
- Column widths: A=22, B=20, C=70, D=80.
|
|
33
|
+
- Header row: bold, white text on Stellar dark blue (`#0E1116`).
|
|
34
|
+
- Status cells: color-coded background (STRONG=green, SOLID=light green, UNDERSELLING=yellow, WEAK=orange, BLOCKER=red).
|
|
35
|
+
- Text wrap: wrap on columns C and D.
|
|
36
|
+
- Row height: auto-fit (or 60-80 px for long rewrites).
|
|
37
|
+
- Borders: thin gray on all cells.
|
|
38
|
+
|
|
39
|
+
### Banner row (above the field rows)
|
|
40
|
+
|
|
41
|
+
Row 1 is a banner spanning columns A-D:
|
|
42
|
+
- Project name in big bold.
|
|
43
|
+
- One-line headline verdict, including: estimated probability of acceptance now, estimated probability after fixes, recommended budget anchor.
|
|
44
|
+
|
|
45
|
+
Example banner text:
|
|
46
|
+
> *"Antevorta Gold Abstract Review v2: estimated 35-45 percent probability of acceptance as currently drafted, lifting to 65-75 percent after the seven fixes below. Recommended budget anchor: $100K to $115K Integration Track, between Bando ($75K winner SCF #42) and Rebond (target $132K SCF #44)."*
|
|
47
|
+
|
|
48
|
+
## Sheet 2: Pre-submission Checklist
|
|
49
|
+
|
|
50
|
+
A prioritized action list. The client uses this as their pre-submit checklist.
|
|
51
|
+
|
|
52
|
+
### Columns
|
|
53
|
+
|
|
54
|
+
1. **Priority** (column A), `BLOCKER`, `CRITICAL`, `IMPORTANT`, `STRATEGIC`.
|
|
55
|
+
|
|
56
|
+
2. **Item** (column B), short action description.
|
|
57
|
+
|
|
58
|
+
3. **Field** (column C), which SCF field this action targets.
|
|
59
|
+
|
|
60
|
+
4. **Effort** (column D), `15 min`, `1h`, `1 day`, `3 days`, `1 week`.
|
|
61
|
+
|
|
62
|
+
5. **Why it matters** (column E), one sentence explaining the impact on acceptance probability.
|
|
63
|
+
|
|
64
|
+
6. **Status** (column F), empty for the client to tick off (`Done`, `In progress`, `Skipped`).
|
|
65
|
+
|
|
66
|
+
### Sorting
|
|
67
|
+
|
|
68
|
+
BLOCKER items first, then CRITICAL, then IMPORTANT, then STRATEGIC. Within each tier, the highest-impact-to-effort ratio first.
|
|
69
|
+
|
|
70
|
+
## Sheet 3: Corpus Comparables
|
|
71
|
+
|
|
72
|
+
Side-by-side comparison of the client's dossier with 10 to 15 past submissions. Helps the client see where they sit.
|
|
73
|
+
|
|
74
|
+
### Columns
|
|
75
|
+
|
|
76
|
+
1. **Project** (column A), past submission name.
|
|
77
|
+
2. **Round** (column B), SCF #40, #41, #42, #44.
|
|
78
|
+
3. **Budget** (column C), amount requested.
|
|
79
|
+
4. **Verdict** (column D), `Won`, `Rejected`, `Panel Review Failed`, `Information Collection`.
|
|
80
|
+
5. **Category** (column E), what category the past submission was in.
|
|
81
|
+
6. **Profile snapshot** (column F), one sentence on team, scope, traction.
|
|
82
|
+
7. **Lesson for current dossier** (column G), one sentence on what this past dossier tells us about the current one.
|
|
83
|
+
|
|
84
|
+
### Selection rule
|
|
85
|
+
|
|
86
|
+
Pick comparables that match the current dossier on at least one of: category, budget range, team size, regulatory profile. Include both winners and rejects so the contrast is informative.
|
|
87
|
+
|
|
88
|
+
The first row should ALWAYS be the current dossier itself (with "TBD" in Verdict column), then comparables sorted with closest comparable first.
|
|
89
|
+
|
|
90
|
+
## Sheet 4: Integration List Audit
|
|
91
|
+
|
|
92
|
+
Audit of the dossier's usage of the official SCF Integration List.
|
|
93
|
+
|
|
94
|
+
### Columns
|
|
95
|
+
|
|
96
|
+
1. **Category** (column A), `On/Off-ramping`, `DeFi`, `Cross-chain`, `Payments`, `Wallets`, `Other`.
|
|
97
|
+
|
|
98
|
+
2. **Item** (column B), the Integration List item name.
|
|
99
|
+
|
|
100
|
+
3. **Status in dossier** (column C), `MENTIONED`, `TO ADD`, `OPTIONAL`, `NOT RELEVANT`.
|
|
101
|
+
|
|
102
|
+
4. **Recommendation** (column D), specific guidance on whether and how to add.
|
|
103
|
+
|
|
104
|
+
5. **Integration effort** (column E), `< 1 day`, `1-5 days`, `1-2 weeks`, `1+ month`.
|
|
105
|
+
|
|
106
|
+
### Rule
|
|
107
|
+
|
|
108
|
+
For each item on the Integration List (the table in `07-integration-list.md`), decide its status for the current dossier:
|
|
109
|
+
- `MENTIONED`: the dossier already cites it in Q6 Integration Description.
|
|
110
|
+
- `TO ADD`: the dossier would clearly benefit from adding it. Explain why in Recommendation column.
|
|
111
|
+
- `OPTIONAL`: the dossier could add it for additional credit. Explain when in Recommendation column.
|
|
112
|
+
- `NOT RELEVANT`: the item does not fit the dossier's use case.
|
|
113
|
+
|
|
114
|
+
## Generation: openpyxl boilerplate
|
|
115
|
+
|
|
116
|
+
The skill's `templates/` folder contains build scripts (`abstract-review-builder.py` and `build-review-builder.py`) that scaffold the four sheets. Use these as the starting point for every review.
|
|
117
|
+
|
|
118
|
+
Key openpyxl patterns:
|
|
119
|
+
|
|
120
|
+
```python
|
|
121
|
+
from openpyxl import Workbook
|
|
122
|
+
from openpyxl.styles import Font, PatternFill, Alignment, Border, Side
|
|
123
|
+
|
|
124
|
+
wb = Workbook()
|
|
125
|
+
ws1 = wb.active
|
|
126
|
+
ws1.title = "Abstract Review"
|
|
127
|
+
|
|
128
|
+
# Banner row
|
|
129
|
+
ws1.merge_cells('A1:D1')
|
|
130
|
+
ws1['A1'] = banner_text
|
|
131
|
+
ws1['A1'].font = Font(bold=True, color="FFFFFF", size=14)
|
|
132
|
+
ws1['A1'].fill = PatternFill(start_color="0E1116", fill_type="solid")
|
|
133
|
+
ws1.row_dimensions[1].height = 80
|
|
134
|
+
|
|
135
|
+
# Headers
|
|
136
|
+
headers = ["Field", "Status", "Review", "Rewrite / Action"]
|
|
137
|
+
for col, h in enumerate(headers, start=1):
|
|
138
|
+
cell = ws1.cell(row=2, column=col, value=h)
|
|
139
|
+
cell.font = Font(bold=True, color="FFFFFF")
|
|
140
|
+
cell.fill = PatternFill(start_color="0E1116", fill_type="solid")
|
|
141
|
+
|
|
142
|
+
# Column widths
|
|
143
|
+
ws1.column_dimensions['A'].width = 22
|
|
144
|
+
ws1.column_dimensions['B'].width = 20
|
|
145
|
+
ws1.column_dimensions['C'].width = 70
|
|
146
|
+
ws1.column_dimensions['D'].width = 80
|
|
147
|
+
|
|
148
|
+
# Status fills
|
|
149
|
+
STATUS_FILLS = {
|
|
150
|
+
"STRONG": PatternFill(start_color="C6EFCE", fill_type="solid"),
|
|
151
|
+
"SOLID": PatternFill(start_color="E2F0D9", fill_type="solid"),
|
|
152
|
+
"UNDERSELLING": PatternFill(start_color="FFEB9C", fill_type="solid"),
|
|
153
|
+
"WEAK": PatternFill(start_color="FCD5B5", fill_type="solid"),
|
|
154
|
+
"BLOCKER": PatternFill(start_color="FFC7CE", fill_type="solid"),
|
|
155
|
+
}
|
|
156
|
+
|
|
157
|
+
# Data rows: text wrap, top alignment
|
|
158
|
+
for row in range(3, n_rows+3):
|
|
159
|
+
for col in range(1, 5):
|
|
160
|
+
cell = ws1.cell(row=row, column=col)
|
|
161
|
+
cell.alignment = Alignment(wrap_text=True, vertical='top')
|
|
162
|
+
```
|
|
163
|
+
|
|
164
|
+
## QA before delivery
|
|
165
|
+
|
|
166
|
+
Before presenting the file, run these checks:
|
|
167
|
+
|
|
168
|
+
1. **Open the file in openpyxl and scan for em-dashes.** No em-dash should remain in any cell.
|
|
169
|
+
|
|
170
|
+
```python
|
|
171
|
+
from openpyxl import load_workbook
|
|
172
|
+
wb = load_workbook(path)
|
|
173
|
+
em = 0
|
|
174
|
+
for ws in wb.worksheets:
|
|
175
|
+
for row in ws.iter_rows():
|
|
176
|
+
for cell in row:
|
|
177
|
+
if cell.value and isinstance(cell.value, str) and ", " in cell.value:
|
|
178
|
+
em += 1
|
|
179
|
+
print(f"em-dash cells: {em}")
|
|
180
|
+
```
|
|
181
|
+
|
|
182
|
+
Expect 0.
|
|
183
|
+
|
|
184
|
+
2. **Check the banner row contains specific named anchors.** If the banner says "based on past winners", that is too generic. It should say "anchored on The Signal ($121K SCF #42)" or similar.
|
|
185
|
+
|
|
186
|
+
3. **Check the rewrite cells (column D) are paste-ready English text.** Not in French. Not commentary. Actual text the client copies.
|
|
187
|
+
|
|
188
|
+
4. **Check the corpus comparables include the current dossier as row 1.** Sometimes the row gets cut. Verify.
|
|
189
|
+
|
|
190
|
+
5. **Confirm all four sheets exist** with the right titles.
|
|
191
|
+
|
|
192
|
+
```python
|
|
193
|
+
print(wb.sheetnames)
|
|
194
|
+
# Expect: ['Abstract Review' or 'Build Review', 'Checklist Pre-Submit', 'Comparables Corpus', 'Audit Integration List']
|
|
195
|
+
```
|
|
196
|
+
|
|
197
|
+
## Saving and presenting
|
|
198
|
+
|
|
199
|
+
Save to `outputs/`. Use `mcp__cowork__present_files` to surface the file to the user. Follow with a chat summary that includes the probability estimate, the top 3 to 5 fixes, and the `computer://` link to the file.
|