@rubytech/create-maxy-code 0.1.33 → 0.1.34
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/__tests__/account-id-env.test.js +1 -1
- package/dist/__tests__/apt-resolve.test.js +7 -7
- package/dist/__tests__/brew-install.test.js +1 -1
- package/dist/__tests__/brew-resolve.test.js +1 -1
- package/dist/__tests__/cdp-port-no-silent-fallback.test.js +4 -4
- package/dist/__tests__/init-logging.test.js +1 -1
- package/dist/__tests__/launchd-plist.test.js +1 -1
- package/dist/__tests__/macos-version.test.js +1 -1
- package/dist/__tests__/peer-brand-detect.test.js +1 -1
- package/dist/__tests__/platform-detect.test.js +2 -2
- package/dist/__tests__/port-canonicalisation.test.js +1 -1
- package/dist/__tests__/preflight-port-classifier.test.js +6 -6
- package/dist/__tests__/samba-provision.test.js +1 -1
- package/dist/__tests__/snap-chromium.test.js +1 -1
- package/dist/apt-resolve.js +5 -5
- package/dist/brew-install.js +1 -1
- package/dist/brew-resolve.js +3 -3
- package/dist/index.js +146 -122
- package/dist/init-logging.js +1 -1
- package/dist/launchd-plist.js +1 -1
- package/dist/macos-version.js +2 -2
- package/dist/peer-brand-detect.js +1 -1
- package/dist/pinned-binaries.js +1 -1
- package/dist/platform-detect.js +1 -1
- package/dist/port-resolution.js +2 -2
- package/dist/preflight-port-classifier.js +3 -3
- package/dist/samba-provision.js +1 -1
- package/dist/snap-chromium.js +3 -3
- package/dist/uninstall.js +28 -28
- package/package.json +1 -1
- package/payload/platform/lib/account-enumeration/dist/__tests__/validate-env.test.js +1 -1
- package/payload/platform/lib/account-enumeration/dist/__tests__/validate-env.test.js.map +1 -1
- package/payload/platform/lib/account-enumeration/dist/index.d.ts +1 -1
- package/payload/platform/lib/account-enumeration/src/__tests__/validate-env.test.ts +1 -1
- package/payload/platform/lib/account-enumeration/src/index.ts +1 -1
- package/payload/platform/lib/admins-write/dist/index.js +3 -3
- package/payload/platform/lib/admins-write/dist/index.js.map +1 -1
- package/payload/platform/lib/admins-write/src/index.ts +4 -4
- package/payload/platform/lib/entitlement/dist/index.d.ts +1 -1
- package/payload/platform/lib/entitlement/dist/index.js +2 -2
- package/payload/platform/lib/entitlement/dist/index.js.map +1 -1
- package/payload/platform/lib/graph-mcp/dist/__tests__/warnings-envelope.test.js +1 -1
- package/payload/platform/lib/graph-mcp/dist/__tests__/warnings-envelope.test.js.map +1 -1
- package/payload/platform/lib/graph-mcp/dist/cypher-rewrite-stamp.d.ts +3 -3
- package/payload/platform/lib/graph-mcp/dist/cypher-rewrite-stamp.js +3 -3
- package/payload/platform/lib/graph-mcp/dist/cypher-shim-read.d.ts +1 -1
- package/payload/platform/lib/graph-mcp/dist/cypher-shim-read.js +1 -1
- package/payload/platform/lib/graph-mcp/dist/cypher-shim-write.d.ts +1 -1
- package/payload/platform/lib/graph-mcp/dist/cypher-shim-write.js +1 -1
- package/payload/platform/lib/graph-mcp/dist/cypher-validate.d.ts +1 -1
- package/payload/platform/lib/graph-mcp/dist/cypher-validate.js +1 -1
- package/payload/platform/lib/graph-mcp/dist/index.d.ts +1 -1
- package/payload/platform/lib/graph-mcp/dist/index.js +24 -24
- package/payload/platform/lib/graph-mcp/dist/index.js.map +1 -1
- package/payload/platform/lib/graph-mcp/dist/schema-cache.d.ts +1 -1
- package/payload/platform/lib/graph-mcp/dist/schema-cache.js +2 -2
- package/payload/platform/lib/graph-mcp/dist/schema-cypher-parser.d.ts +3 -3
- package/payload/platform/lib/graph-mcp/dist/schema-cypher-parser.js +3 -3
- package/payload/platform/lib/graph-mcp/src/__tests__/warnings-envelope.test.ts +1 -1
- package/payload/platform/lib/graph-mcp/src/cypher-rewrite-stamp.ts +3 -3
- package/payload/platform/lib/graph-mcp/src/cypher-shim-read.ts +1 -1
- package/payload/platform/lib/graph-mcp/src/cypher-shim-write.ts +1 -1
- package/payload/platform/lib/graph-mcp/src/cypher-validate.ts +1 -1
- package/payload/platform/lib/graph-mcp/src/index.ts +29 -29
- package/payload/platform/lib/graph-mcp/src/schema-cache.ts +2 -2
- package/payload/platform/lib/graph-mcp/src/schema-cypher-parser.ts +3 -3
- package/payload/platform/lib/graph-search/dist/index.d.ts +12 -12
- package/payload/platform/lib/graph-search/dist/index.js +11 -11
- package/payload/platform/lib/graph-search/dist/index.js.map +1 -1
- package/payload/platform/lib/graph-search/src/__tests__/bm25-label-gate.test.ts +2 -2
- package/payload/platform/lib/graph-search/src/__tests__/bm25-strong-bypass-threshold.test.ts +2 -2
- package/payload/platform/lib/graph-search/src/__tests__/brochure-threshold.test.ts +3 -3
- package/payload/platform/lib/graph-search/src/__tests__/expand-batch.test.ts +2 -2
- package/payload/platform/lib/graph-search/src/__tests__/fulltext-coverage.test.ts +6 -6
- package/payload/platform/lib/graph-search/src/__tests__/hybrid.test.ts +5 -5
- package/payload/platform/lib/graph-search/src/__tests__/vector-threshold.test.ts +2 -2
- package/payload/platform/lib/graph-search/src/index.ts +18 -18
- package/payload/platform/lib/graph-trash/dist/index.d.ts +3 -3
- package/payload/platform/lib/graph-trash/dist/index.js +3 -3
- package/payload/platform/lib/graph-trash/src/index.ts +3 -3
- package/payload/platform/lib/graph-write/dist/__tests__/action-provenance-gate.test.js +4 -4
- package/payload/platform/lib/graph-write/dist/__tests__/action-provenance-gate.test.js.map +1 -1
- package/payload/platform/lib/graph-write/dist/audit.d.ts +2 -2
- package/payload/platform/lib/graph-write/dist/audit.js +2 -2
- package/payload/platform/lib/graph-write/dist/conversation-provenance.js +1 -1
- package/payload/platform/lib/graph-write/dist/conversation-provenance.js.map +1 -1
- package/payload/platform/lib/graph-write/dist/index.d.ts +5 -5
- package/payload/platform/lib/graph-write/dist/index.js +12 -12
- package/payload/platform/lib/graph-write/dist/index.js.map +1 -1
- package/payload/platform/lib/graph-write/src/__tests__/action-provenance-gate.test.ts +4 -4
- package/payload/platform/lib/graph-write/src/audit.ts +2 -2
- package/payload/platform/lib/graph-write/src/conversation-provenance.ts +1 -1
- package/payload/platform/lib/graph-write/src/index.ts +13 -13
- package/payload/platform/lib/mcp-eager/dist/index.d.ts +2 -2
- package/payload/platform/lib/mcp-eager/dist/index.js +2 -2
- package/payload/platform/lib/mcp-eager/src/index.ts +2 -2
- package/payload/platform/lib/mcp-spawn-tee/dist/index.d.ts +2 -2
- package/payload/platform/lib/mcp-spawn-tee/dist/index.js +2 -2
- package/payload/platform/lib/mcp-spawn-tee/src/index.ts +2 -2
- package/payload/platform/lib/mcp-stderr-tee/dist/index.d.ts +1 -1
- package/payload/platform/lib/mcp-stderr-tee/dist/index.js +4 -4
- package/payload/platform/lib/mcp-stderr-tee/dist/index.js.map +1 -1
- package/payload/platform/lib/mcp-stderr-tee/src/index.ts +4 -4
- package/payload/platform/lib/oauth-llm/dist/index.d.ts +4 -4
- package/payload/platform/lib/oauth-llm/dist/index.js +3 -3
- package/payload/platform/lib/oauth-llm/dist/index.js.map +1 -1
- package/payload/platform/lib/oauth-llm/src/index.ts +6 -6
- package/payload/platform/lib/persistent-components/dist/index.d.ts +1 -1
- package/payload/platform/lib/persistent-components/dist/index.js +1 -1
- package/payload/platform/lib/persistent-components/src/index.ts +1 -1
- package/payload/platform/lib/task-secrets/dist/index.js +1 -1
- package/payload/platform/lib/task-secrets/dist/index.js.map +1 -1
- package/payload/platform/lib/task-secrets/src/__tests__/redact-secrets.test.ts +1 -1
- package/payload/platform/lib/task-secrets/src/index.ts +1 -1
- package/payload/platform/neo4j/edge-annotations.json +9 -9
- package/payload/platform/neo4j/schema.cypher +32 -33
- package/payload/platform/package.json +2 -2
- package/payload/platform/plugins/admin/PLUGIN.md +0 -2
- package/payload/platform/plugins/admin/hooks/__tests__/archive-ingest-surface-gate.test.sh +4 -4
- package/payload/platform/plugins/admin/hooks/__tests__/playwright-file-guard.test.sh +1 -1
- package/payload/platform/plugins/admin/hooks/__tests__/pre-tool-use-base64-guard.test.sh +1 -1
- package/payload/platform/plugins/admin/hooks/archive-ingest-surface-gate.sh +13 -13
- package/payload/platform/plugins/admin/hooks/pre-tool-use.sh +7 -7
- package/payload/platform/plugins/admin/mcp/dist/__tests__/plugin-read-skill-resolution.test.js +2 -2
- package/payload/platform/plugins/admin/mcp/dist/__tests__/plugin-read-skill-resolution.test.js.map +1 -1
- package/payload/platform/plugins/admin/mcp/dist/__tests__/public-hostname.test.js +1 -1
- package/payload/platform/plugins/admin/mcp/dist/__tests__/public-hostname.test.js.map +1 -1
- package/payload/platform/plugins/admin/mcp/dist/__tests__/skill-load-required-inputs.test.js +2 -2
- package/payload/platform/plugins/admin/mcp/dist/__tests__/skill-load-required-inputs.test.js.map +1 -1
- package/payload/platform/plugins/admin/mcp/dist/__tests__/skill-load.test.js +1 -1
- package/payload/platform/plugins/admin/mcp/dist/__tests__/skill-load.test.js.map +1 -1
- package/payload/platform/plugins/admin/mcp/dist/index.js +38 -65
- package/payload/platform/plugins/admin/mcp/dist/index.js.map +1 -1
- package/payload/platform/plugins/admin/mcp/dist/lib/neo4j.js +2 -2
- package/payload/platform/plugins/admin/mcp/dist/lib/neo4j.js.map +1 -1
- package/payload/platform/plugins/admin/mcp/dist/lib/public-hostname.js +2 -2
- package/payload/platform/plugins/admin/mcp/dist/lib/public-hostname.js.map +1 -1
- package/payload/platform/plugins/admin/mcp/dist/skill-resolution.js +5 -5
- package/payload/platform/plugins/admin/mcp/dist/skill-resolution.js.map +1 -1
- package/payload/platform/plugins/admin/skills/plugin-management/SKILL.md +1 -1
- package/payload/platform/plugins/admin/skills/public-agent-manager/SKILL.md +0 -1
- package/payload/platform/plugins/admin/skills/publish-site/SKILL.md +1 -1
- package/payload/platform/plugins/admin/skills/unzip-attachment/SKILL.md +2 -2
- package/payload/platform/plugins/cloudflare/mcp/dist/index.js +1 -1
- package/payload/platform/plugins/cloudflare/mcp/dist/index.js.map +1 -1
- package/payload/platform/plugins/cloudflare/mcp/dist/lib/cloudflared.d.ts +1 -1
- package/payload/platform/plugins/cloudflare/mcp/dist/lib/cloudflared.js +6 -6
- package/payload/platform/plugins/cloudflare/mcp/dist/lib/cloudflared.js.map +1 -1
- package/payload/platform/plugins/cloudflare/mcp/dist/lib/setup-orchestrator.d.ts +2 -2
- package/payload/platform/plugins/cloudflare/mcp/dist/lib/setup-orchestrator.js +2 -2
- package/payload/platform/plugins/cloudflare/references/dashboard-guide.md +1 -1
- package/payload/platform/plugins/cloudflare/references/manual-setup.md +4 -4
- package/payload/platform/plugins/cloudflare/scripts/__tests__/tunnel-ingress.test.ts +1 -1
- package/payload/platform/plugins/cloudflare/scripts/_stream-log.sh +8 -8
- package/payload/platform/plugins/cloudflare/scripts/list-cf-domains.sh +2 -2
- package/payload/platform/plugins/cloudflare/scripts/list-cf-domains.ts +16 -16
- package/payload/platform/plugins/cloudflare/scripts/reset-tunnel.sh +1 -1
- package/payload/platform/plugins/cloudflare/scripts/setup-tunnel.sh +28 -28
- package/payload/platform/plugins/cloudflare/scripts/tunnel-ingress.ts +5 -5
- package/payload/platform/plugins/cloudflare/skills/setup-tunnel/SKILL.md +3 -3
- package/payload/platform/plugins/contacts/mcp/dist/lib/neo4j.js +2 -2
- package/payload/platform/plugins/contacts/mcp/dist/lib/neo4j.js.map +1 -1
- package/payload/platform/plugins/contacts/mcp/dist/lib/resolve-person.d.ts +1 -1
- package/payload/platform/plugins/contacts/mcp/dist/lib/resolve-person.js +1 -1
- package/payload/platform/plugins/contacts/mcp/dist/tools/contact-create.js +2 -2
- package/payload/platform/plugins/contacts/mcp/dist/tools/contact-create.js.map +1 -1
- package/payload/platform/plugins/contacts/mcp/dist/tools/group-create.js +1 -1
- package/payload/platform/plugins/contacts/mcp/dist/tools/group-create.js.map +1 -1
- package/payload/platform/plugins/docs/references/deployment.md +30 -1
- package/payload/platform/plugins/docs/references/plugins-guide.md +2 -5
- package/payload/platform/plugins/docs/references/troubleshooting.md +3 -3
- package/payload/platform/plugins/email/mcp/dist/index.js +1 -1
- package/payload/platform/plugins/email/mcp/dist/index.js.map +1 -1
- package/payload/platform/plugins/email/mcp/dist/lib/claude-bridge.js +2 -2
- package/payload/platform/plugins/email/mcp/dist/lib/claude-bridge.js.map +1 -1
- package/payload/platform/plugins/email/mcp/dist/lib/credentials.d.ts +1 -1
- package/payload/platform/plugins/email/mcp/dist/lib/credentials.js +1 -1
- package/payload/platform/plugins/email/mcp/dist/lib/neo4j.js +2 -2
- package/payload/platform/plugins/email/mcp/dist/lib/neo4j.js.map +1 -1
- package/payload/platform/plugins/email/mcp/dist/lib/screening.d.ts +1 -1
- package/payload/platform/plugins/email/mcp/dist/lib/screening.js +1 -1
- package/payload/platform/plugins/email/mcp/dist/scripts/email-auto-respond.js +6 -6
- package/payload/platform/plugins/email/mcp/dist/scripts/email-auto-respond.js.map +1 -1
- package/payload/platform/plugins/email/mcp/dist/scripts/email-fetch.d.ts +1 -1
- package/payload/platform/plugins/email/mcp/dist/scripts/email-fetch.js +2 -2
- package/payload/platform/plugins/email/mcp/dist/scripts/email-fetch.js.map +1 -1
- package/payload/platform/plugins/email/references/email-reference.md +2 -2
- package/payload/platform/plugins/loop/mcp/dist/lib/neo4j.js +3 -3
- package/payload/platform/plugins/loop/mcp/dist/lib/neo4j.js.map +1 -1
- package/payload/platform/plugins/loop/mcp/src/lib/neo4j.ts +3 -3
- package/payload/platform/plugins/memory/bin/conversation-archive-ingest.mjs +24 -24
- package/payload/platform/plugins/memory/bin/conversation-archive-ingest.sh +6 -6
- package/payload/platform/plugins/memory/mcp/dist/index.js +8 -8
- package/payload/platform/plugins/memory/mcp/dist/index.js.map +1 -1
- package/payload/platform/plugins/memory/mcp/dist/lib/__tests__/llm-classifier.test.js +33 -33
- package/payload/platform/plugins/memory/mcp/dist/lib/__tests__/llm-classifier.test.js.map +1 -1
- package/payload/platform/plugins/memory/mcp/dist/lib/__tests__/schema-loader.test.js +12 -12
- package/payload/platform/plugins/memory/mcp/dist/lib/__tests__/schema-loader.test.js.map +1 -1
- package/payload/platform/plugins/memory/mcp/dist/lib/__tests__/schema-validator.test.js +3 -3
- package/payload/platform/plugins/memory/mcp/dist/lib/__tests__/schema-validator.test.js.map +1 -1
- package/payload/platform/plugins/memory/mcp/dist/lib/conversation-normalisers/types.js +2 -2
- package/payload/platform/plugins/memory/mcp/dist/lib/conversation-normalisers/types.js.map +1 -1
- package/payload/platform/plugins/memory/mcp/dist/lib/conversation-normalisers/whatsapp-text.d.ts.map +1 -1
- package/payload/platform/plugins/memory/mcp/dist/lib/conversation-normalisers/whatsapp-text.js +1 -1
- package/payload/platform/plugins/memory/mcp/dist/lib/conversation-normalisers/whatsapp-text.js.map +1 -1
- package/payload/platform/plugins/memory/mcp/dist/lib/conversation-pipeline/derive-keys.d.ts.map +1 -1
- package/payload/platform/plugins/memory/mcp/dist/lib/conversation-pipeline/derive-keys.js +1 -2
- package/payload/platform/plugins/memory/mcp/dist/lib/conversation-pipeline/derive-keys.js.map +1 -1
- package/payload/platform/plugins/memory/mcp/dist/lib/conversation-pipeline/sender-bind.js +2 -2
- package/payload/platform/plugins/memory/mcp/dist/lib/conversation-pipeline/sender-bind.js.map +1 -1
- package/payload/platform/plugins/memory/mcp/dist/lib/conversation-pipeline/to-turn-text.js +1 -1
- package/payload/platform/plugins/memory/mcp/dist/lib/conversation-pipeline/to-turn-text.js.map +1 -1
- package/payload/platform/plugins/memory/mcp/dist/lib/document-chunker.d.ts +2 -2
- package/payload/platform/plugins/memory/mcp/dist/lib/document-chunker.js +2 -2
- package/payload/platform/plugins/memory/mcp/dist/lib/document-hierarchy.js +6 -6
- package/payload/platform/plugins/memory/mcp/dist/lib/document-hierarchy.js.map +1 -1
- package/payload/platform/plugins/memory/mcp/dist/lib/graph-prune.d.ts +1 -1
- package/payload/platform/plugins/memory/mcp/dist/lib/graph-prune.js +1 -1
- package/payload/platform/plugins/memory/mcp/dist/lib/graph-write-gate.d.ts +2 -2
- package/payload/platform/plugins/memory/mcp/dist/lib/graph-write-gate.js +7 -7
- package/payload/platform/plugins/memory/mcp/dist/lib/graph-write-gate.js.map +1 -1
- package/payload/platform/plugins/memory/mcp/dist/lib/live-schema-source.d.ts +2 -2
- package/payload/platform/plugins/memory/mcp/dist/lib/live-schema-source.js +2 -2
- package/payload/platform/plugins/memory/mcp/dist/lib/llm-classifier.d.ts +9 -9
- package/payload/platform/plugins/memory/mcp/dist/lib/llm-classifier.d.ts.map +1 -1
- package/payload/platform/plugins/memory/mcp/dist/lib/llm-classifier.js +25 -25
- package/payload/platform/plugins/memory/mcp/dist/lib/llm-classifier.js.map +1 -1
- package/payload/platform/plugins/memory/mcp/dist/lib/llm-ranker.d.ts +1 -1
- package/payload/platform/plugins/memory/mcp/dist/lib/llm-ranker.js +5 -5
- package/payload/platform/plugins/memory/mcp/dist/lib/llm-ranker.js.map +1 -1
- package/payload/platform/plugins/memory/mcp/dist/lib/neo4j.js +2 -2
- package/payload/platform/plugins/memory/mcp/dist/lib/neo4j.js.map +1 -1
- package/payload/platform/plugins/memory/mcp/dist/lib/schema-loader.d.ts +4 -4
- package/payload/platform/plugins/memory/mcp/dist/lib/schema-loader.js +3 -3
- package/payload/platform/plugins/memory/mcp/dist/lib/schema-loader.js.map +1 -1
- package/payload/platform/plugins/memory/mcp/dist/lib/schema-validator.d.ts +3 -3
- package/payload/platform/plugins/memory/mcp/dist/lib/schema-validator.js +5 -5
- package/payload/platform/plugins/memory/mcp/dist/lib/schema-validator.js.map +1 -1
- package/payload/platform/plugins/memory/mcp/dist/lib/uuid.js +1 -1
- package/payload/platform/plugins/memory/mcp/dist/lib/uuid.js.map +1 -1
- package/payload/platform/plugins/memory/mcp/dist/tools/__tests__/conversation-archive-derive-insights.test.js +5 -5
- package/payload/platform/plugins/memory/mcp/dist/tools/__tests__/conversation-archive-derive-insights.test.js.map +1 -1
- package/payload/platform/plugins/memory/mcp/dist/tools/__tests__/conversation-archive-enrich-rejection.test.js +1 -1
- package/payload/platform/plugins/memory/mcp/dist/tools/__tests__/conversation-archive-enrich-rejection.test.js.map +1 -1
- package/payload/platform/plugins/memory/mcp/dist/tools/__tests__/conversation-normalisers-source-agnosticism.test.js +2 -2
- package/payload/platform/plugins/memory/mcp/dist/tools/__tests__/conversation-normalisers-source-agnosticism.test.js.map +1 -1
- package/payload/platform/plugins/memory/mcp/dist/tools/__tests__/conversation-normalisers-whatsapp-text.test.js +4 -4
- package/payload/platform/plugins/memory/mcp/dist/tools/__tests__/conversation-normalisers-whatsapp-text.test.js.map +1 -1
- package/payload/platform/plugins/memory/mcp/dist/tools/__tests__/memory-archive-write.test.js +6 -6
- package/payload/platform/plugins/memory/mcp/dist/tools/__tests__/memory-archive-write.test.js.map +1 -1
- package/payload/platform/plugins/memory/mcp/dist/tools/__tests__/memory-ingest.test.js +7 -7
- package/payload/platform/plugins/memory/mcp/dist/tools/__tests__/memory-ingest.test.js.map +1 -1
- package/payload/platform/plugins/memory/mcp/dist/tools/__tests__/profile-update-not-applicable.test.js +2 -2
- package/payload/platform/plugins/memory/mcp/dist/tools/__tests__/profile-update-not-applicable.test.js.map +1 -1
- package/payload/platform/plugins/memory/mcp/dist/tools/__tests__/profile-update-personfields-open.test.js +3 -3
- package/payload/platform/plugins/memory/mcp/dist/tools/__tests__/profile-update-personfields-open.test.js.map +1 -1
- package/payload/platform/plugins/memory/mcp/dist/tools/conversation-archive-derive-insights.d.ts +1 -1
- package/payload/platform/plugins/memory/mcp/dist/tools/conversation-archive-derive-insights.js +3 -3
- package/payload/platform/plugins/memory/mcp/dist/tools/conversation-archive-derive-insights.js.map +1 -1
- package/payload/platform/plugins/memory/mcp/dist/tools/conversation-archive-enrich-rejection.d.ts +1 -1
- package/payload/platform/plugins/memory/mcp/dist/tools/conversation-archive-enrich-rejection.js +1 -1
- package/payload/platform/plugins/memory/mcp/dist/tools/memory-archive-write.js +2 -2
- package/payload/platform/plugins/memory/mcp/dist/tools/memory-archive-write.js.map +1 -1
- package/payload/platform/plugins/memory/mcp/dist/tools/memory-classify.d.ts +1 -1
- package/payload/platform/plugins/memory/mcp/dist/tools/memory-classify.js +1 -1
- package/payload/platform/plugins/memory/mcp/dist/tools/memory-delete.d.ts +2 -2
- package/payload/platform/plugins/memory/mcp/dist/tools/memory-delete.js +1 -1
- package/payload/platform/plugins/memory/mcp/dist/tools/memory-delete.js.map +1 -1
- package/payload/platform/plugins/memory/mcp/dist/tools/memory-find-candidates.d.ts +3 -3
- package/payload/platform/plugins/memory/mcp/dist/tools/memory-ingest-extract.js +2 -2
- package/payload/platform/plugins/memory/mcp/dist/tools/memory-ingest-extract.js.map +1 -1
- package/payload/platform/plugins/memory/mcp/dist/tools/memory-ingest.d.ts +9 -9
- package/payload/platform/plugins/memory/mcp/dist/tools/memory-ingest.d.ts.map +1 -1
- package/payload/platform/plugins/memory/mcp/dist/tools/memory-ingest.js +10 -11
- package/payload/platform/plugins/memory/mcp/dist/tools/memory-ingest.js.map +1 -1
- package/payload/platform/plugins/memory/mcp/dist/tools/memory-list-attachments.js +1 -1
- package/payload/platform/plugins/memory/mcp/dist/tools/memory-list-attachments.js.map +1 -1
- package/payload/platform/plugins/memory/mcp/dist/tools/memory-search.js +1 -1
- package/payload/platform/plugins/memory/mcp/dist/tools/memory-search.js.map +1 -1
- package/payload/platform/plugins/memory/mcp/dist/tools/memory-update.js +1 -1
- package/payload/platform/plugins/memory/mcp/dist/tools/memory-update.js.map +1 -1
- package/payload/platform/plugins/memory/mcp/dist/tools/memory-write.d.ts +1 -1
- package/payload/platform/plugins/memory/mcp/dist/tools/memory-write.js +3 -3
- package/payload/platform/plugins/memory/mcp/dist/tools/memory-write.js.map +1 -1
- package/payload/platform/plugins/memory/mcp/dist/tools/profile-read.js +9 -9
- package/payload/platform/plugins/memory/mcp/dist/tools/profile-read.js.map +1 -1
- package/payload/platform/plugins/memory/mcp/dist/tools/profile-update.d.ts +5 -5
- package/payload/platform/plugins/memory/mcp/dist/tools/profile-update.js +9 -9
- package/payload/platform/plugins/memory/mcp/dist/tools/profile-update.js.map +1 -1
- package/payload/platform/plugins/memory/mcp/scripts/boot-smoke.sh +1 -1
- package/payload/platform/plugins/memory/mcp/scripts/graph/fixture.cypher +1 -1
- package/payload/platform/plugins/memory/mcp/vitest.config.ts +2 -2
- package/payload/platform/plugins/outlook/mcp/dist/lib/graph-client.js +1 -1
- package/payload/platform/plugins/outlook/mcp/dist/lib/graph-client.js.map +1 -1
- package/payload/platform/plugins/outlook/mcp/scripts/verify-doc-impl.sh +1 -1
- package/payload/platform/plugins/scheduling/PLUGIN.md +1 -1
- package/payload/platform/plugins/scheduling/mcp/dist/__tests__/time-resolve-description.test.js +1 -1
- package/payload/platform/plugins/scheduling/mcp/dist/__tests__/time-resolve-description.test.js.map +1 -1
- package/payload/platform/plugins/scheduling/mcp/dist/index.js +1 -1
- package/payload/platform/plugins/scheduling/mcp/dist/index.js.map +1 -1
- package/payload/platform/plugins/scheduling/mcp/dist/lib/__tests__/getUserTimezone.test.js +3 -3
- package/payload/platform/plugins/scheduling/mcp/dist/lib/__tests__/getUserTimezone.test.js.map +1 -1
- package/payload/platform/plugins/scheduling/mcp/dist/lib/neo4j.d.ts +2 -2
- package/payload/platform/plugins/scheduling/mcp/dist/lib/neo4j.js +5 -5
- package/payload/platform/plugins/scheduling/mcp/dist/lib/neo4j.js.map +1 -1
- package/payload/platform/plugins/scheduling/mcp/dist/scripts/check-due-events.d.ts +1 -1
- package/payload/platform/plugins/scheduling/mcp/dist/scripts/check-due-events.js +6 -6
- package/payload/platform/plugins/scheduling/mcp/dist/scripts/check-due-events.js.map +1 -1
- package/payload/platform/plugins/scheduling/mcp/dist/tools/schedule-event.js +1 -1
- package/payload/platform/plugins/scheduling/mcp/dist/tools/schedule-event.js.map +1 -1
- package/payload/platform/plugins/tasks/mcp/dist/index.js +1 -1
- package/payload/platform/plugins/tasks/mcp/dist/index.js.map +1 -1
- package/payload/platform/plugins/tasks/mcp/dist/lib/neo4j.js +2 -2
- package/payload/platform/plugins/tasks/mcp/dist/lib/neo4j.js.map +1 -1
- package/payload/platform/plugins/tasks/mcp/dist/tools/project-create.js +2 -2
- package/payload/platform/plugins/tasks/mcp/dist/tools/project-create.js.map +1 -1
- package/payload/platform/plugins/tasks/mcp/dist/tools/session-name.d.ts +1 -1
- package/payload/platform/plugins/tasks/mcp/dist/tools/session-name.d.ts.map +1 -1
- package/payload/platform/plugins/tasks/mcp/dist/tools/task-create.d.ts +5 -5
- package/payload/platform/plugins/tasks/mcp/dist/tools/task-create.js +3 -3
- package/payload/platform/plugins/tasks/mcp/dist/tools/task-create.js.map +1 -1
- package/payload/platform/plugins/tasks/mcp/dist/tools/task-update.d.ts +4 -4
- package/payload/platform/plugins/tasks/mcp/dist/tools/task-update.js +2 -2
- package/payload/platform/plugins/tasks/mcp/dist/tools/task-update.js.map +1 -1
- package/payload/platform/plugins/telegram/mcp/dist/tools/message-history.js +2 -2
- package/payload/platform/plugins/telegram/mcp/dist/tools/message-history.js.map +1 -1
- package/payload/platform/plugins/waitlist/mcp/dist/lib/neo4j.js +2 -2
- package/payload/platform/plugins/waitlist/mcp/dist/lib/neo4j.js.map +1 -1
- package/payload/platform/plugins/waitlist/mcp/dist/tools/__tests__/waitlist-persist.test.js +3 -3
- package/payload/platform/plugins/waitlist/mcp/dist/tools/__tests__/waitlist-persist.test.js.map +1 -1
- package/payload/platform/plugins/waitlist/mcp/dist/tools/waitlist-persist.d.ts +1 -1
- package/payload/platform/plugins/waitlist/mcp/dist/tools/waitlist-persist.js +3 -3
- package/payload/platform/plugins/waitlist/mcp/dist/tools/waitlist-persist.js.map +1 -1
- package/payload/platform/plugins/waitlist/mcp/dist/tools/waitlist-setup.js +5 -5
- package/payload/platform/plugins/waitlist/mcp/dist/tools/waitlist-setup.js.map +1 -1
- package/payload/platform/plugins/whatsapp/mcp/dist/call-api.d.ts +1 -1
- package/payload/platform/plugins/whatsapp/mcp/dist/call-api.js +1 -1
- package/payload/platform/plugins/workflows/mcp/dist/index.js +1 -1
- package/payload/platform/plugins/workflows/mcp/dist/index.js.map +1 -1
- package/payload/platform/plugins/workflows/mcp/dist/lib/active-runs.d.ts +1 -1
- package/payload/platform/plugins/workflows/mcp/dist/lib/active-runs.js +1 -1
- package/payload/platform/plugins/workflows/mcp/dist/lib/llm-call.d.ts +1 -1
- package/payload/platform/plugins/workflows/mcp/dist/lib/neo4j.js +2 -2
- package/payload/platform/plugins/workflows/mcp/dist/lib/neo4j.js.map +1 -1
- package/payload/platform/plugins/workflows/mcp/dist/tools/workflow-create.js +1 -1
- package/payload/platform/plugins/workflows/mcp/dist/tools/workflow-create.js.map +1 -1
- package/payload/platform/plugins/workflows/mcp/dist/tools/workflow-execute.js +4 -4
- package/payload/platform/plugins/workflows/mcp/dist/tools/workflow-execute.js.map +1 -1
- package/payload/platform/plugins/workflows/mcp/dist/tools/workflow-update.js +1 -1
- package/payload/platform/plugins/workflows/mcp/dist/tools/workflow-update.js.map +1 -1
- package/payload/platform/plugins/workflows/mcp/test-workflows.sh +2 -2
- package/payload/platform/scripts/__tests__/first-token-creates-stream-log.test.sh +1 -1
- package/payload/platform/scripts/__tests__/logs-read-prefix.sh +6 -6
- package/payload/platform/scripts/admin-conversation-recover.mjs +5 -5
- package/payload/platform/scripts/admin-persist-audit.ts +4 -4
- package/payload/platform/scripts/check-no-conversation-id-leaks.mjs +1 -1
- package/payload/platform/scripts/check-no-direct-clipboard.mjs +1 -1
- package/payload/platform/scripts/check-no-task-id-leaks.mjs +2 -2
- package/payload/platform/scripts/check-skill-load-coverage.mjs +1 -1
- package/payload/platform/scripts/component-knowledgedoc-backfill.ts +1 -1
- package/payload/platform/scripts/dedupe-userprofile-ghosts.sh +2 -2
- package/payload/platform/scripts/generate-entitlement-fixture.mjs +1 -1
- package/payload/platform/scripts/installer-device-verify.sh +6 -6
- package/payload/platform/scripts/lib/resolve-account-dir.sh +6 -6
- package/payload/platform/scripts/log-adherence-check.sh +3 -3
- package/payload/platform/scripts/logs-read.sh +13 -13
- package/payload/platform/scripts/logs-read.test.sh +1 -1
- package/payload/platform/scripts/migrate-import.sh +4 -4
- package/payload/platform/scripts/redact-install-logs.sh +1 -1
- package/payload/platform/scripts/seed-neo4j.sh +26 -32
- package/payload/platform/scripts/test-laptop-vnc-boot.sh +3 -3
- package/payload/platform/scripts/verify-skill-tool-surface.sh +17 -2
- package/payload/platform/scripts/vnc.sh +9 -9
- package/payload/platform/services/claude-session-manager/dist/config.d.ts +7 -2
- package/payload/platform/services/claude-session-manager/dist/config.d.ts.map +1 -1
- package/payload/platform/services/claude-session-manager/dist/config.js +3 -1
- package/payload/platform/services/claude-session-manager/dist/config.js.map +1 -1
- package/payload/platform/services/claude-session-manager/dist/http-server.d.ts +2 -2
- package/payload/platform/services/claude-session-manager/dist/http-server.d.ts.map +1 -1
- package/payload/platform/services/claude-session-manager/dist/http-server.js +133 -90
- package/payload/platform/services/claude-session-manager/dist/http-server.js.map +1 -1
- package/payload/platform/services/claude-session-manager/dist/index.js +17 -4
- package/payload/platform/services/claude-session-manager/dist/index.js.map +1 -1
- package/payload/platform/services/claude-session-manager/dist/jsonl-enumerator.d.ts +2 -2
- package/payload/platform/services/claude-session-manager/dist/jsonl-enumerator.d.ts.map +1 -1
- package/payload/platform/services/claude-session-manager/dist/jsonl-enumerator.js +4 -4
- package/payload/platform/services/claude-session-manager/dist/jsonl-enumerator.js.map +1 -1
- package/payload/platform/services/claude-session-manager/dist/jsonl-observer.js +1 -1
- package/payload/platform/services/claude-session-manager/dist/jsonl-observer.js.map +1 -1
- package/payload/platform/services/claude-session-manager/dist/jsonl-path.js +2 -2
- package/payload/platform/services/claude-session-manager/dist/jsonl-path.js.map +1 -1
- package/payload/platform/services/claude-session-manager/dist/pty-spawner.d.ts +37 -18
- package/payload/platform/services/claude-session-manager/dist/pty-spawner.d.ts.map +1 -1
- package/payload/platform/services/claude-session-manager/dist/pty-spawner.js +101 -44
- package/payload/platform/services/claude-session-manager/dist/pty-spawner.js.map +1 -1
- package/payload/platform/services/claude-session-manager/dist/public-tool-audit.js +1 -1
- package/payload/platform/services/claude-session-manager/dist/public-tool-audit.js.map +1 -1
- package/payload/platform/services/claude-session-manager/dist/session-store.d.ts +36 -11
- package/payload/platform/services/claude-session-manager/dist/session-store.d.ts.map +1 -1
- package/payload/platform/services/claude-session-manager/dist/session-store.js +53 -2
- package/payload/platform/services/claude-session-manager/dist/session-store.js.map +1 -1
- package/payload/platform/services/claude-session-manager/dist/spawn-rate-limiter.js +2 -2
- package/payload/platform/services/claude-session-manager/dist/spawn-rate-limiter.js.map +1 -1
- package/payload/platform/services/claude-session-manager/dist/system-prompt.d.ts +46 -1
- package/payload/platform/services/claude-session-manager/dist/system-prompt.d.ts.map +1 -1
- package/payload/platform/services/claude-session-manager/dist/system-prompt.js +131 -24
- package/payload/platform/services/claude-session-manager/dist/system-prompt.js.map +1 -1
- package/payload/platform/services/claude-session-manager/dist/tool-surface.js +1 -1
- package/payload/platform/services/claude-session-manager/dist/tool-surface.js.map +1 -1
- package/payload/platform/services/claude-session-manager/dist/types.d.ts +8 -1
- package/payload/platform/services/claude-session-manager/dist/types.d.ts.map +1 -1
- package/payload/platform/services/claude-session-manager/dist/url-capture.js +1 -1
- package/payload/platform/services/claude-session-manager/dist/url-capture.js.map +1 -1
- package/payload/platform/templates/agents/admin/IDENTITY.md +14 -0
- package/payload/platform/templates/agents/admin/SOUL.md +1 -3
- package/payload/platform/templates/specialists/agents/personal-assistant.md +1 -3
- package/payload/platform/templates/specialists/agents/project-manager.md +1 -1
- package/payload/platform/templates/systemd/edge.service.template +3 -3
- package/payload/premium-plugins/real-agent/BUNDLE.md +2 -4
- package/payload/premium-plugins/real-agent/plugins/.claude-plugin/marketplace.json +0 -5
- package/payload/premium-plugins/real-agent/plugins/loop/mcp/dist/lib/neo4j.js +3 -3
- package/payload/premium-plugins/real-agent/plugins/loop/mcp/dist/lib/neo4j.js.map +1 -1
- package/payload/premium-plugins/real-agent/plugins/loop/mcp/src/lib/neo4j.ts +3 -3
- package/payload/server/{chunk-ZGJ6CUU2.js → chunk-3G6JMV7N.js} +1 -1
- package/payload/server/{chunk-KVGTWNKQ.js → chunk-NNHHGQJL.js} +314 -5
- package/payload/server/{chunk-RZQMYJVY.js → chunk-QC5LHYPH.js} +3 -3
- package/payload/server/{cloudflare-task-tracker-4PKOLE4H.js → cloudflare-task-tracker-NEB3X6O2.js} +2 -2
- package/payload/server/maxy-edge.js +2 -2
- package/payload/server/public/assets/{admin-Cuu1QdAA.js → admin-CF2ZQvXu.js} +1 -1
- package/payload/server/public/index.html +1 -1
- package/payload/server/server.js +274 -396
- package/payload/platform/plugins/anthropic/.claude-plugin/plugin.json +0 -8
- package/payload/platform/plugins/anthropic/PLUGIN.md +0 -40
- package/payload/platform/plugins/anthropic/references/console-api.md +0 -186
- package/payload/platform/plugins/anthropic/references/setup-guide.md +0 -36
- package/payload/platform/plugins/anthropic/skills/get-api-key/SKILL.md +0 -136
- package/payload/platform/plugins/estate-onboarding/.claude-plugin/plugin.json +0 -8
- package/payload/platform/plugins/estate-onboarding/PLUGIN.md +0 -30
- package/payload/platform/plugins/estate-onboarding/skills/bootstrap/SKILL.md +0 -26
- package/payload/platform/plugins/estate-onboarding/skills/bootstrap/references/onboarding-flow.md +0 -63
- package/payload/premium-plugins/real-agent/plugins/estate-onboarding/.claude-plugin/plugin.json +0 -8
- package/payload/premium-plugins/real-agent/plugins/estate-onboarding/PLUGIN.md +0 -30
- package/payload/premium-plugins/real-agent/plugins/estate-onboarding/skills/bootstrap/SKILL.md +0 -26
- package/payload/premium-plugins/real-agent/plugins/estate-onboarding/skills/bootstrap/references/onboarding-flow.md +0 -63
|
@@ -1,40 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
name: anthropic
|
|
3
|
-
description: Guide users through obtaining an Anthropic API key to power the public agent.
|
|
4
|
-
---
|
|
5
|
-
|
|
6
|
-
# Anthropic / Claude Setup
|
|
7
|
-
|
|
8
|
-
The public agent runs on the Anthropic API. This plugin handles obtaining, storing, and verifying an API key from the Anthropic Console (platform.claude.com).
|
|
9
|
-
|
|
10
|
-
## When to activate
|
|
11
|
-
|
|
12
|
-
- Prerequisites check detects missing Anthropic API key (via `api-key-verify` tool)
|
|
13
|
-
- User asks how to connect Claude, get an Anthropic key, or set up their AI
|
|
14
|
-
- BOOTSTRAP detects no working Anthropic API connection
|
|
15
|
-
- User sees an API authentication error
|
|
16
|
-
- User wants to rotate or replace their API key
|
|
17
|
-
|
|
18
|
-
## What it unlocks
|
|
19
|
-
|
|
20
|
-
- Claude as the AI model powering the public agent — conversations, reasoning, and tool use
|
|
21
|
-
- Pay-per-use via Anthropic API key
|
|
22
|
-
|
|
23
|
-
## Shared module
|
|
24
|
-
|
|
25
|
-
API key management is centralised in `platform/lib/anthropic-key/` — all consumers (claude-agent.ts, admin MCP, email scripts, health route) import `readKey()`, `writeKey()`, `hasKey()`, and `validateKey()` from this module instead of inlining the env-var-then-file lookup pattern.
|
|
26
|
-
|
|
27
|
-
## Skills
|
|
28
|
-
|
|
29
|
-
| Task | When to use | Skill |
|
|
30
|
-
|------|-------------|-------|
|
|
31
|
-
| Obtain API key | `api-key-verify` returns `missing` or user wants to rotate key | `skills/get-api-key/SKILL.md` |
|
|
32
|
-
|
|
33
|
-
## References
|
|
34
|
-
|
|
35
|
-
| Topic | When to use | Reference |
|
|
36
|
-
|-------|-------------|-----------|
|
|
37
|
-
| Troubleshooting & FAQ | API key rejected, billing questions, manual key entry | `references/setup-guide.md` |
|
|
38
|
-
| Console API surface | Understanding the endpoints used by the get-api-key skill | `references/console-api.md` |
|
|
39
|
-
|
|
40
|
-
For API key acquisition (including during onboarding), use the `skills/get-api-key/SKILL.md` skill. For troubleshooting and common questions, load the reference.
|
|
@@ -1,186 +0,0 @@
|
|
|
1
|
-
# Anthropic Console — Internal API Reference
|
|
2
|
-
|
|
3
|
-
Captured 2026-04-07 from `platform.claude.com` (formerly `console.anthropic.com`).
|
|
4
|
-
|
|
5
|
-
These are undocumented internal endpoints used by the Console's React frontend. They are not part of Anthropic's public API and may change without notice.
|
|
6
|
-
|
|
7
|
-
## Authentication
|
|
8
|
-
|
|
9
|
-
Cookie-based via `sessionKey` cookie:
|
|
10
|
-
- Domain: `.platform.claude.com`
|
|
11
|
-
- Flags: `httpOnly`, `secure`, `SameSite=Lax`
|
|
12
|
-
- Expiry: 7 days from sign-in
|
|
13
|
-
|
|
14
|
-
The cookie is set during the OAuth sign-in flow (Google or email verification). Because it is `httpOnly`, it cannot be read by JavaScript — but `fetch()` with `credentials: 'include'` sends it automatically.
|
|
15
|
-
|
|
16
|
-
Common request headers (set by the Console frontend, not required for API auth):
|
|
17
|
-
- `content-type: application/json`
|
|
18
|
-
- `anthropic-client-platform: web_console`
|
|
19
|
-
|
|
20
|
-
## Org Discovery
|
|
21
|
-
|
|
22
|
-
The Console is org-scoped. All billing and key management endpoints require an org UUID. A user may have multiple orgs (e.g., a consumer chat org and an API org).
|
|
23
|
-
|
|
24
|
-
### GET /api/organizations
|
|
25
|
-
|
|
26
|
-
Returns all orgs the user belongs to.
|
|
27
|
-
|
|
28
|
-
```json
|
|
29
|
-
[
|
|
30
|
-
{
|
|
31
|
-
"id": 55730262,
|
|
32
|
-
"uuid": "1882f41b-...",
|
|
33
|
-
"name": "Neo's Individual Org",
|
|
34
|
-
"billing_type": "prepaid",
|
|
35
|
-
"capabilities": ["api", "api_individual"],
|
|
36
|
-
"created_at": "2025-06-28T06:40:26.071676Z"
|
|
37
|
-
}
|
|
38
|
-
]
|
|
39
|
-
```
|
|
40
|
-
|
|
41
|
-
**Selecting the API org:** Filter for the org whose `capabilities` array contains `"api"`. Consumer orgs have `capabilities: ["claude_max", "chat"]` and no API key management.
|
|
42
|
-
|
|
43
|
-
### GET /api/bootstrap
|
|
44
|
-
|
|
45
|
-
Returns current user account info and org memberships. Useful for getting the user's name and email.
|
|
46
|
-
|
|
47
|
-
```json
|
|
48
|
-
{
|
|
49
|
-
"account": {
|
|
50
|
-
"tagged_id": "user_01YW5...",
|
|
51
|
-
"uuid": "ff1a722d-...",
|
|
52
|
-
"email_address": "user@example.com",
|
|
53
|
-
"full_name": "Neo Aeon",
|
|
54
|
-
"memberships": [
|
|
55
|
-
{ "organization": { "uuid": "...", "name": "..." }, "role": "admin" }
|
|
56
|
-
]
|
|
57
|
-
}
|
|
58
|
-
}
|
|
59
|
-
```
|
|
60
|
-
|
|
61
|
-
## Billing Endpoints
|
|
62
|
-
|
|
63
|
-
All GET, org-scoped. Replace `{orgId}` with the org UUID.
|
|
64
|
-
|
|
65
|
-
### GET /api/organizations/{orgId}/prepaid/credits
|
|
66
|
-
|
|
67
|
-
Credit balance.
|
|
68
|
-
|
|
69
|
-
```json
|
|
70
|
-
{
|
|
71
|
-
"amount": 504,
|
|
72
|
-
"currency": "USD",
|
|
73
|
-
"auto_reload_settings": {
|
|
74
|
-
"enabled": true,
|
|
75
|
-
"threshold_in_minor_units": 500,
|
|
76
|
-
"reload_to_in_minor_units": 1500
|
|
77
|
-
},
|
|
78
|
-
"pending_invoice_amount_cents": null
|
|
79
|
-
}
|
|
80
|
-
```
|
|
81
|
-
|
|
82
|
-
`amount` is in **cents** (minor currency units). 504 = $5.04.
|
|
83
|
-
|
|
84
|
-
### GET /api/organizations/{orgId}/current_spend
|
|
85
|
-
|
|
86
|
-
Current billing period spend.
|
|
87
|
-
|
|
88
|
-
```json
|
|
89
|
-
{
|
|
90
|
-
"amount": 39,
|
|
91
|
-
"resets_at": "2026-05-01T00:00:00Z"
|
|
92
|
-
}
|
|
93
|
-
```
|
|
94
|
-
|
|
95
|
-
`amount` is in **cents**. 39 = $0.39.
|
|
96
|
-
|
|
97
|
-
### GET /api/organizations/{orgId}/prepaid/auto_recharge
|
|
98
|
-
|
|
99
|
-
Auto-recharge configuration.
|
|
100
|
-
|
|
101
|
-
```json
|
|
102
|
-
{
|
|
103
|
-
"status": "active",
|
|
104
|
-
"stripe_error_code": null,
|
|
105
|
-
"target_amount": 1500,
|
|
106
|
-
"threshold_amount": 500
|
|
107
|
-
}
|
|
108
|
-
```
|
|
109
|
-
|
|
110
|
-
Amounts in **cents**.
|
|
111
|
-
|
|
112
|
-
### GET /api/organizations/{orgId}/payment_method
|
|
113
|
-
|
|
114
|
-
Payment method on file.
|
|
115
|
-
|
|
116
|
-
```json
|
|
117
|
-
{
|
|
118
|
-
"brand": null,
|
|
119
|
-
"country": null,
|
|
120
|
-
"last4": null,
|
|
121
|
-
"type": "link"
|
|
122
|
-
}
|
|
123
|
-
```
|
|
124
|
-
|
|
125
|
-
## API Key Endpoints
|
|
126
|
-
|
|
127
|
-
### GET /api/console/organizations/{orgId}/api_keys
|
|
128
|
-
|
|
129
|
-
List all API keys for the org.
|
|
130
|
-
|
|
131
|
-
```json
|
|
132
|
-
[
|
|
133
|
-
{
|
|
134
|
-
"id": "apikey_01XY5wjo397BKKLjHNgvHATx",
|
|
135
|
-
"type": "api_key",
|
|
136
|
-
"name": "maxy",
|
|
137
|
-
"workspace_id": null,
|
|
138
|
-
"created_at": "2026-03-22T19:08:25.868735Z",
|
|
139
|
-
"created_by": { "id": "user_01YW5...", "type": "user" },
|
|
140
|
-
"partial_key_hint": "sk-ant-api03-kNh...HAAA",
|
|
141
|
-
"status": "active",
|
|
142
|
-
"expires_at": null
|
|
143
|
-
}
|
|
144
|
-
]
|
|
145
|
-
```
|
|
146
|
-
|
|
147
|
-
`status` values: `"active"`, `"inactive"` (disabled), `"archived"` (deleted).
|
|
148
|
-
|
|
149
|
-
### POST /api/console/organizations/{orgId}/workspaces/default/api_keys
|
|
150
|
-
|
|
151
|
-
Create a new API key. The `raw_key` is only returned once at creation time.
|
|
152
|
-
|
|
153
|
-
**Request:**
|
|
154
|
-
```json
|
|
155
|
-
{ "name": "Maxy" }
|
|
156
|
-
```
|
|
157
|
-
|
|
158
|
-
**Response (200):**
|
|
159
|
-
```json
|
|
160
|
-
{
|
|
161
|
-
"id": "apikey_01Hkz...",
|
|
162
|
-
"type": "api_key",
|
|
163
|
-
"name": "Maxy",
|
|
164
|
-
"workspace_id": null,
|
|
165
|
-
"created_at": "2026-04-07T11:05:39.949811Z",
|
|
166
|
-
"created_by": { "id": "user_01YW5...", "type": "user" },
|
|
167
|
-
"partial_key_hint": "sk-ant-api03-cPs...1AAA",
|
|
168
|
-
"status": "active",
|
|
169
|
-
"expires_at": null,
|
|
170
|
-
"raw_key": "sk-ant-api03-cPsiih...ewev1AAA"
|
|
171
|
-
}
|
|
172
|
-
```
|
|
173
|
-
|
|
174
|
-
### POST /api/console/organizations/{orgId}/workspaces/default/api_keys/{keyId}
|
|
175
|
-
|
|
176
|
-
Update key status.
|
|
177
|
-
|
|
178
|
-
**Disable:**
|
|
179
|
-
```json
|
|
180
|
-
{ "status": "inactive" }
|
|
181
|
-
```
|
|
182
|
-
|
|
183
|
-
**Archive (delete):**
|
|
184
|
-
```json
|
|
185
|
-
{ "status": "archived" }
|
|
186
|
-
```
|
|
@@ -1,36 +0,0 @@
|
|
|
1
|
-
# Anthropic / Claude — Setup Guide
|
|
2
|
-
|
|
3
|
-
Reference for API key troubleshooting, manual key entry, and common questions. For the automated browser-guided flow, use the `skills/get-api-key/SKILL.md` skill instead of this reference.
|
|
4
|
-
|
|
5
|
-
---
|
|
6
|
-
|
|
7
|
-
## Manual key entry
|
|
8
|
-
|
|
9
|
-
If the automated browser flow is unavailable or the user already has a key:
|
|
10
|
-
|
|
11
|
-
1. Verify format: starts with `sk-ant-`, at least 90 characters
|
|
12
|
-
2. Store via `api-key-store` tool: `api-key-store({ apiKey: "<the key>" })`
|
|
13
|
-
3. Confirm: "API key stored. Takes effect immediately."
|
|
14
|
-
|
|
15
|
-
---
|
|
16
|
-
|
|
17
|
-
## Troubleshooting
|
|
18
|
-
|
|
19
|
-
| Problem | Solution |
|
|
20
|
-
|---------|----------|
|
|
21
|
-
| API key rejected | Verify it starts with `sk-ant-`. Check that billing is set up on platform.claude.com — keys don't work without an active billing method. |
|
|
22
|
-
| Key created on zero-balance account | Keys created before credits are loaded are permanently rejected. Create a new key after adding credits. |
|
|
23
|
-
| "Which provider should I pick?" | Anthropic / Claude is the right choice. It powers all of the public agent's conversations and reasoning. |
|
|
24
|
-
| Browser automation failed | Tell the user to get a key from platform.claude.com/settings/keys in their own browser, then paste it in the chat. |
|
|
25
|
-
|
|
26
|
-
---
|
|
27
|
-
|
|
28
|
-
## Common questions
|
|
29
|
-
|
|
30
|
-
| Question | Answer |
|
|
31
|
-
|----------|--------|
|
|
32
|
-
| "Why do I need to sign in again?" | Anthropic runs two separate services: Claude (claude.ai) for the product, and the Console (platform.claude.com) for the API. They share the same credentials — same email, password, or Google account — but they have independent sessions and independent billing. The sign-in you did earlier authenticated you with Claude; this step authenticates you with the Console so we can create an API key. You can have one without the other, but there is no issue using the same account for both. |
|
|
33
|
-
| "How much does the API cost?" | Anthropic charges per API call. For small business use, typical costs are a few dollars per month. See anthropic.com/pricing for current rates. |
|
|
34
|
-
| "Do I need to restart after adding a key?" | No — the API key is applied immediately. |
|
|
35
|
-
| "Can I rotate my key?" | Yes — run the `get-api-key` skill again or paste a new key. The old key is overwritten. |
|
|
36
|
-
| "What if my key stops working?" | Check that billing is still active on platform.claude.com. If the account ran out of credits, add more and the existing key should resume working (unless it was created on a zero-balance account). |
|
|
@@ -1,136 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
name: get-api-key
|
|
3
|
-
description: Obtain an Anthropic API key by calling the Console's internal API endpoints via browser_evaluate, falling back to screenshot-based browser automation if direct API calls fail.
|
|
4
|
-
---
|
|
5
|
-
|
|
6
|
-
# Get Anthropic API Key
|
|
7
|
-
|
|
8
|
-
Obtain an API key from the Anthropic Console (platform.claude.com) on behalf of the user. The personal-assistant calls Console API endpoints directly via `browser_evaluate` + `fetch()` — the browser's session cookies handle auth automatically. This is orders of magnitude faster than navigating pages and interpreting screenshots.
|
|
9
|
-
|
|
10
|
-
**Separate sign-in expected.** The Anthropic Console (`platform.claude.com`) and Claude (`claude.ai`) are separate services with independent sessions and billing. Users who just authenticated via OAuth on `claude.ai` will not have a session on the Console — a second sign-in is required. The same email and password (or Google account) work on both. When the flow requires sign-in, explain this proactively so the user understands why they are signing in again.
|
|
11
|
-
|
|
12
|
-
**Critical ordering rule:** Credits must be confirmed on the account before creating an API key. Keys created on a zero-balance account are permanently rejected by the Anthropic API — even after credits are added later.
|
|
13
|
-
|
|
14
|
-
**Auth model:** The Console uses an `httpOnly` session cookie (`sessionKey`) set during sign-in. Because it's `httpOnly`, JavaScript can't read it — but `fetch()` with `credentials: 'include'` sends it automatically. All API calls in the briefs below rely on this.
|
|
15
|
-
|
|
16
|
-
## Steps
|
|
17
|
-
|
|
18
|
-
1. **Surface the VNC browser to the user.** Tell the user the Anthropic Console will appear in the VNC browser that is already mounted in the chat (no further tool call is needed; the chat surface mounts the VNC view automatically when a personal-assistant subagent is dispatched against `platform.claude.com`). If the VNC browser is not currently visible, ask the user to open the brand's VNC URL and confirm before proceeding.
|
|
19
|
-
|
|
20
|
-
2. **Dispatch personal-assistant for sign-in check and billing assessment.** Use the Agent tool with `specialists:personal-assistant` as the subagent type. Brief:
|
|
21
|
-
|
|
22
|
-
> Navigate to https://platform.claude.com/settings/billing. Wait for the page to load.
|
|
23
|
-
>
|
|
24
|
-
> Then use `browser_evaluate` to run this JavaScript:
|
|
25
|
-
> ```js
|
|
26
|
-
> (async () => {
|
|
27
|
-
> try {
|
|
28
|
-
> const orgsRes = await fetch('/api/organizations', { credentials: 'include', headers: { 'content-type': 'application/json' } });
|
|
29
|
-
> if (orgsRes.status === 401 || orgsRes.status === 403) return { status: 'SIGN_IN_REQUIRED' };
|
|
30
|
-
> const orgs = await orgsRes.json();
|
|
31
|
-
> const apiOrg = orgs.find(o => o.capabilities && o.capabilities.includes('api'));
|
|
32
|
-
> if (!apiOrg) return { status: 'NO_API_ORG', orgs: orgs.map(o => ({ name: o.name, capabilities: o.capabilities })) };
|
|
33
|
-
> const creditsRes = await fetch(`/api/organizations/${apiOrg.uuid}/prepaid/credits`, { credentials: 'include', headers: { 'content-type': 'application/json' } });
|
|
34
|
-
> if (!creditsRes.ok) return { status: 'BILLING_CHECK_FAILED', httpStatus: creditsRes.status };
|
|
35
|
-
> const credits = await creditsRes.json();
|
|
36
|
-
> return { status: 'OK', orgId: apiOrg.uuid, orgName: apiOrg.name, creditsCents: credits.amount, currency: credits.currency };
|
|
37
|
-
> } catch (e) { return { status: 'FETCH_ERROR', error: e.message }; }
|
|
38
|
-
> })()
|
|
39
|
-
> ```
|
|
40
|
-
>
|
|
41
|
-
> Report the result object exactly as returned. Do not interpret or summarize — pass the JSON back verbatim.
|
|
42
|
-
|
|
43
|
-
3. **Handle the billing result.**
|
|
44
|
-
- `status: "OK"` with `creditsCents > 0`: Credits available. Note the `orgId` — it's needed for key creation. Proceed to step 6.
|
|
45
|
-
- `status: "OK"` with `creditsCents === 0`: No credits. Proceed to step 5.
|
|
46
|
-
- `status: "SIGN_IN_REQUIRED"`: Proceed to step 4.
|
|
47
|
-
- `status: "NO_API_ORG"`: Tell the user: "Your Anthropic account doesn't have an API organization. Visit platform.claude.com and set up API access, then try again."
|
|
48
|
-
- `status: "BILLING_CHECK_FAILED"` or `status: "FETCH_ERROR"`: The direct API call failed. Fall back to the screenshot-based billing check (step 2F).
|
|
49
|
-
|
|
50
|
-
4. **Sign-in required.** Explain the two-account situation, then offer to continue or skip. Tell the user:
|
|
51
|
-
|
|
52
|
-
"You'll need to sign in to the Anthropic Console in the browser above. This is a separate sign-in from the one you did earlier — Anthropic treats Claude (claude.ai) and the API Console (platform.claude.com) as independent services with separate sessions and separate billing, even though they use the same credentials. Use the same email and password (or Google account) you used before.
|
|
53
|
-
|
|
54
|
-
You can use Google sign-in or enter your email — Anthropic will send a verification code. If the verification email opens on this device, open it in a new tab in that same browser (not on your phone or another device) so the session stays connected.
|
|
55
|
-
|
|
56
|
-
If you don't have an Anthropic Console account yet, create one at platform.claude.com — you'll need to add credits before a key can be generated.
|
|
57
|
-
|
|
58
|
-
This step is optional — if you'd rather skip it for now, just say so and we'll move on. You can set up the API key any time."
|
|
59
|
-
|
|
60
|
-
If the user skips, return control to the caller without storing a key. If the user confirms they have signed in, return to step 2 to re-check billing.
|
|
61
|
-
|
|
62
|
-
5. **No credits — guide the user.** Tell the user: "Your Anthropic account needs credits loaded before I can create an API key. Add credits or enable auto-top-up on the billing page. Let me know when you're done." Wait for confirmation, then re-dispatch the billing check (step 2). If credits are now present, proceed to step 6. If still no credits, repeat this step (maximum 3 attempts). After 3 attempts with no credits detected, tell the user: "Credits still not detected. You can add them at platform.claude.com/settings/billing and then ask me to create the API key again."
|
|
63
|
-
|
|
64
|
-
6. **Dispatch personal-assistant for key creation.** Use the Agent tool with `specialists:personal-assistant` as the subagent type. Include the `orgId` from step 3. Brief:
|
|
65
|
-
|
|
66
|
-
> Use `browser_evaluate` to run this JavaScript (replace ORG_ID with the orgId from the billing check):
|
|
67
|
-
> ```js
|
|
68
|
-
> (async () => {
|
|
69
|
-
> try {
|
|
70
|
-
> const res = await fetch('/api/console/organizations/ORG_ID/workspaces/default/api_keys', {
|
|
71
|
-
> method: 'POST',
|
|
72
|
-
> credentials: 'include',
|
|
73
|
-
> headers: { 'content-type': 'application/json' },
|
|
74
|
-
> body: JSON.stringify({ name: '{{productName}}' })
|
|
75
|
-
> });
|
|
76
|
-
> if (res.status === 401 || res.status === 403) return { status: 'SIGN_IN_REQUIRED' };
|
|
77
|
-
> if (!res.ok) return { status: 'CREATE_FAILED', httpStatus: res.status, body: await res.text() };
|
|
78
|
-
> const key = await res.json();
|
|
79
|
-
> if (!key.raw_key) return { status: 'NO_RAW_KEY', keyId: key.id };
|
|
80
|
-
> return { status: 'KEY_CREATED', rawKey: key.raw_key, keyName: key.name, keyId: key.id };
|
|
81
|
-
> } catch (e) { return { status: 'FETCH_ERROR', error: e.message }; }
|
|
82
|
-
> })()
|
|
83
|
-
> ```
|
|
84
|
-
>
|
|
85
|
-
> If the result has `status: "KEY_CREATED"`, call `api-key-store` with the `rawKey` value. Report the full result object back.
|
|
86
|
-
>
|
|
87
|
-
> If the result has any other status, report it back verbatim — do not attempt to navigate the Console UI.
|
|
88
|
-
|
|
89
|
-
7. **Handle the key creation result.**
|
|
90
|
-
- `status: "KEY_CREATED"` and specialist confirms key was stored: proceed to step 9 (verify).
|
|
91
|
-
- `status: "SIGN_IN_REQUIRED"`: this is unexpected since sign-in was handled during the billing check. Tell the user to sign in, wait for confirmation, then retry step 6 once. If it fails again, proceed to step 8 (fallback).
|
|
92
|
-
- `status: "CREATE_FAILED"` or `status: "FETCH_ERROR"`: The direct API call failed. Fall back to the screenshot-based key creation (step 6F).
|
|
93
|
-
- `status: "NO_RAW_KEY"`: The key was created but the response didn't include the full key value. Proceed to step 8 (manual fallback).
|
|
94
|
-
|
|
95
|
-
8. **Fallback.** Tell the user: "I could not extract the key automatically. Please copy it from the browser and paste it here in the chat." When the user pastes a key starting with `sk-ant-`, call `api-key-store` with it. Then proceed to step 9.
|
|
96
|
-
|
|
97
|
-
9. **Verify the key works.** Call the `api-key-verify` MCP tool. Handle each status:
|
|
98
|
-
- `valid`: Confirm to the user — "API key stored and verified. Your public agent is ready."
|
|
99
|
-
- `billing`: Credits were confirmed before key creation, so this is unexpected. Tell the user: "The key was stored but credits may not have propagated yet. Please wait a moment." Retry `api-key-verify` once after a brief pause. If still `billing`, tell the user: "Credits are not being detected yet. The key is stored — the public agent will start working once Anthropic recognises the credits on your account."
|
|
100
|
-
- `auth_error`: The key was rejected. Tell the user: "The stored key was rejected by Anthropic. It may have been copied incorrectly. Let's try again." Return to step 6 (maximum 2 retries — if it fails 3 times total, tell the user to visit platform.claude.com/settings/keys in their own browser and paste the key manually).
|
|
101
|
-
- `error`: Could not verify (network or Anthropic issue). Tell the user: "I couldn't verify the key right now — this is likely a temporary issue. The key is stored and should work once the connection is restored."
|
|
102
|
-
|
|
103
|
-
## Fallback Steps (screenshot-based)
|
|
104
|
-
|
|
105
|
-
These steps are used when `browser_evaluate` + `fetch()` fails. They replicate the original browser automation approach.
|
|
106
|
-
|
|
107
|
-
### Step 2F: Screenshot-based billing check
|
|
108
|
-
|
|
109
|
-
Dispatch personal-assistant with brief:
|
|
110
|
-
|
|
111
|
-
> Navigate to https://platform.claude.com/settings/billing. Take a screenshot to assess the page. Report what you see: Is there a credit balance shown? Does it say "Buy credits to get started"? Is a sign-in page shown instead? Report the billing status and any dollar amount visible. If sign-in is required, report "SIGN_IN_REQUIRED" and stop.
|
|
112
|
-
|
|
113
|
-
Handle the result the same as step 3, mapping the specialist's text observations to the structured statuses.
|
|
114
|
-
|
|
115
|
-
### Step 6F: Screenshot-based key creation
|
|
116
|
-
|
|
117
|
-
Dispatch personal-assistant with brief:
|
|
118
|
-
|
|
119
|
-
> Navigate to https://platform.claude.com/settings/keys. Take a screenshot to verify you are on the API Keys page. Create a new API key named "{{productName}}": find and click the "Create Key" button, fill the key name with "{{productName}}", submit the form. After creation, look for a string starting with sk-ant- on the page — Anthropic shows the key only once. If found, call api-key-store with the key. Report what happened. If sign-in is required, report "SIGN_IN_REQUIRED" and stop.
|
|
120
|
-
|
|
121
|
-
Handle the result the same as step 7.
|
|
122
|
-
|
|
123
|
-
## Important
|
|
124
|
-
|
|
125
|
-
- **Confirm the VNC browser is visible before dispatching the personal-assistant.** Without VNC mounted in the chat, automation runs invisibly and the user has no way to see what the specialist is doing. If the VNC view is missing, ask the user to open the brand's VNC URL in the chat and confirm it is showing the desktop before continuing.
|
|
126
|
-
- **Credits before keys.** Never create an API key before confirming that credits are loaded on the account. A key created on a zero-balance account is permanently non-functional.
|
|
127
|
-
- The browser is visible to the user via VNC. They can see everything the specialist does.
|
|
128
|
-
- The user must sign in themselves — the specialist does not fill credentials.
|
|
129
|
-
- For email verification: tell the user to open the verification email in a new tab in the same VNC browser (not on their own device). This keeps the sign-in session in the same browser context.
|
|
130
|
-
- Anthropic shows the API key only once after creation. With the direct API approach, the `raw_key` is in the JSON response — but if the specialist fails to call `api-key-store` before its context ends, the key is lost and a new one must be created.
|
|
131
|
-
- If the personal-assistant is not available (not installed, Agent tool fails), skip the browser-viewer component entirely and tell the user to get a key from platform.claude.com in their own browser, then paste it in the chat.
|
|
132
|
-
- The Console URL `console.anthropic.com` redirects to `platform.claude.com`. All briefs use `platform.claude.com` to avoid redirect latency.
|
|
133
|
-
|
|
134
|
-
## API Reference
|
|
135
|
-
|
|
136
|
-
For the complete captured API surface (endpoint details, response schemas, auth mechanism), see `references/console-api.md`.
|
|
@@ -1,30 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
name: real-agent-onboarding
|
|
3
|
-
description: "First-run member onboarding — career stage assessment, profile capture, and starting content recommendation."
|
|
4
|
-
tools: []
|
|
5
|
-
always: false
|
|
6
|
-
metadata: {"platform":{"optional":true,"embed":["public","admin"]}}
|
|
7
|
-
---
|
|
8
|
-
|
|
9
|
-
# Real Agent — Onboarding
|
|
10
|
-
|
|
11
|
-
First-run member setup — turning a new conversation into a profiled member with a clear starting point in the curriculum.
|
|
12
|
-
|
|
13
|
-
## When to Activate
|
|
14
|
-
|
|
15
|
-
The user is going through initial onboarding (career stage assessment, profile setup, starting content recommendation).
|
|
16
|
-
|
|
17
|
-
## Skills
|
|
18
|
-
|
|
19
|
-
| Skill | Purpose |
|
|
20
|
-
|-------|---------|
|
|
21
|
-
| `bootstrap` | First-run member onboarding — career stage assessment, profile capture, starting content |
|
|
22
|
-
|
|
23
|
-
## Tools Used
|
|
24
|
-
|
|
25
|
-
No MCP server. Skills operate via existing platform tools:
|
|
26
|
-
- `memory-search` — retrieve domain knowledge from the knowledge base
|
|
27
|
-
|
|
28
|
-
## References
|
|
29
|
-
|
|
30
|
-
Domain knowledge files loaded on demand by each skill. See individual skill files for their specific reference listings.
|
|
@@ -1,26 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
name: bootstrap
|
|
3
|
-
description: "First-run member onboarding — assesses career stage, captures profile, recommends starting content."
|
|
4
|
-
---
|
|
5
|
-
|
|
6
|
-
# Bootstrap
|
|
7
|
-
|
|
8
|
-
Handles the first interaction with a new member. Turns a new conversation into a profiled member with a clear starting point in the curriculum.
|
|
9
|
-
|
|
10
|
-
## When to Activate
|
|
11
|
-
|
|
12
|
-
No member profile found at `memory/users/{phone}/profile.md`. This means the person has never been onboarded.
|
|
13
|
-
|
|
14
|
-
## Reference Table
|
|
15
|
-
|
|
16
|
-
| Task | When | Reference |
|
|
17
|
-
|------|------|-----------|
|
|
18
|
-
| Onboarding flow | New member detected (no profile) | `references/onboarding-flow.md` |
|
|
19
|
-
|
|
20
|
-
## Key Rules
|
|
21
|
-
|
|
22
|
-
- Onboarding is conversational, not a form. Ask one thing at a time.
|
|
23
|
-
- Collect: name, career stage, years in industry, goals, email (optional).
|
|
24
|
-
- Create both `profile.md` and `progress.md` before the conversation ends.
|
|
25
|
-
- End with a specific content recommendation — not "check out our modules" but "Based on what you've told me, start with {module} in {pillar}."
|
|
26
|
-
- Never ask for information you already have (identity comes from the platform).
|
package/payload/platform/plugins/estate-onboarding/skills/bootstrap/references/onboarding-flow.md
DELETED
|
@@ -1,63 +0,0 @@
|
|
|
1
|
-
# Onboarding Flow
|
|
2
|
-
|
|
3
|
-
## Purpose
|
|
4
|
-
|
|
5
|
-
Turn a new contact into a profiled member. By the end, you know who they are, what stage they're at, and where to start them in the curriculum.
|
|
6
|
-
|
|
7
|
-
## Context to Gather
|
|
8
|
-
|
|
9
|
-
Collect these conversationally — not as a form, not all at once:
|
|
10
|
-
|
|
11
|
-
1. **Name** — "What should I call you?"
|
|
12
|
-
2. **Career context** — Solo or team? How long in the industry? This tells you their experience level.
|
|
13
|
-
3. **Current challenge** — What brought them here? What's their biggest pain point right now? Common triggers:
|
|
14
|
-
- Getting more listings
|
|
15
|
-
- Building a personal brand
|
|
16
|
-
- Scaling without burning out
|
|
17
|
-
- Social media strategy
|
|
18
|
-
- Converting valuations
|
|
19
|
-
4. **Goals** — Where do they want to be? What does success look like for them?
|
|
20
|
-
5. **Email** (optional) — "If you'd like webinar invites and updates, drop me your email. Totally optional."
|
|
21
|
-
|
|
22
|
-
## How to Approach
|
|
23
|
-
|
|
24
|
-
**Start warm, not corporate.** The member has just started a conversation. They may not know what Real Agency Club is yet. Introduce yourself briefly:
|
|
25
|
-
|
|
26
|
-
"Hey! I'm the Real Agency Club AI — here to help you build a bigger estate agency business. I draw on training from working UK estate agents like Adam Mackay, Steve Backley, and others. Not theory — real practice."
|
|
27
|
-
|
|
28
|
-
**Then discover.** Ask about them. One question at a time. React to their answers — show you're listening, not processing a form.
|
|
29
|
-
|
|
30
|
-
**Assess career stage from their answers:**
|
|
31
|
-
- **New** (0–2 years) — still learning fundamentals, needs structure
|
|
32
|
-
- **Established solo** (2–5 years) — knows the basics, needs growth strategy
|
|
33
|
-
- **Experienced** (5+ years) — looking to scale, differentiate, or build a brand
|
|
34
|
-
- **Team builder** — transitioning from solo to running a team
|
|
35
|
-
|
|
36
|
-
**Don't ask them to self-categorise.** Infer their stage from what they tell you about their experience and challenges.
|
|
37
|
-
|
|
38
|
-
## Where to Search
|
|
39
|
-
|
|
40
|
-
Search `memory/public/courses/` to find the right starting recommendation:
|
|
41
|
-
- New agents → Agency Blueprint pillar
|
|
42
|
-
- Brand-focused → Real Marketing pillar
|
|
43
|
-
- Business/scaling → Real Business pillar
|
|
44
|
-
- Mindset/performance → Real Coaching pillar
|
|
45
|
-
- Just curious → Offer the content directory overview
|
|
46
|
-
|
|
47
|
-
## How to Frame the Recommendation
|
|
48
|
-
|
|
49
|
-
Be specific and personal:
|
|
50
|
-
|
|
51
|
-
"Based on what you've told me, I'd start with **{module title}** in the {pillar} section. It's from {contributor} — they cover {specific thing relevant to the member's stated challenge}. Want to dive in?"
|
|
52
|
-
|
|
53
|
-
Not: "We have several modules you might find interesting."
|
|
54
|
-
|
|
55
|
-
## After Onboarding
|
|
56
|
-
|
|
57
|
-
1. Create `memory/users/{phone}/profile.md` with the member profile schema (see AGENTS.md)
|
|
58
|
-
2. Create `memory/users/{phone}/progress.md` with empty progress schema
|
|
59
|
-
3. If the member wants to start a module, transition to content mode immediately — don't make them ask again
|
|
60
|
-
|
|
61
|
-
## Tone
|
|
62
|
-
|
|
63
|
-
Warm, curious, direct. You're meeting someone for the first time at an industry event — not processing an intake form. Show genuine interest in their situation.
|
|
@@ -1,30 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
name: real-agent-onboarding
|
|
3
|
-
description: "First-run member onboarding — career stage assessment, profile capture, and starting content recommendation."
|
|
4
|
-
tools: []
|
|
5
|
-
always: false
|
|
6
|
-
metadata: {"platform":{"optional":true,"embed":["public","admin"]}}
|
|
7
|
-
---
|
|
8
|
-
|
|
9
|
-
# Real Agent — Onboarding
|
|
10
|
-
|
|
11
|
-
First-run member setup — turning a new conversation into a profiled member with a clear starting point in the curriculum.
|
|
12
|
-
|
|
13
|
-
## When to Activate
|
|
14
|
-
|
|
15
|
-
The user is going through initial onboarding (career stage assessment, profile setup, starting content recommendation).
|
|
16
|
-
|
|
17
|
-
## Skills
|
|
18
|
-
|
|
19
|
-
| Skill | Purpose |
|
|
20
|
-
|-------|---------|
|
|
21
|
-
| `bootstrap` | First-run member onboarding — career stage assessment, profile capture, starting content |
|
|
22
|
-
|
|
23
|
-
## Tools Used
|
|
24
|
-
|
|
25
|
-
No MCP server. Skills operate via existing platform tools:
|
|
26
|
-
- `memory-search` — retrieve domain knowledge from the knowledge base
|
|
27
|
-
|
|
28
|
-
## References
|
|
29
|
-
|
|
30
|
-
Domain knowledge files loaded on demand by each skill. See individual skill files for their specific reference listings.
|
package/payload/premium-plugins/real-agent/plugins/estate-onboarding/skills/bootstrap/SKILL.md
DELETED
|
@@ -1,26 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
name: bootstrap
|
|
3
|
-
description: "First-run member onboarding — assesses career stage, captures profile, recommends starting content."
|
|
4
|
-
---
|
|
5
|
-
|
|
6
|
-
# Bootstrap
|
|
7
|
-
|
|
8
|
-
Handles the first interaction with a new member. Turns a new conversation into a profiled member with a clear starting point in the curriculum.
|
|
9
|
-
|
|
10
|
-
## When to Activate
|
|
11
|
-
|
|
12
|
-
No member profile found at `memory/users/{phone}/profile.md`. This means the person has never been onboarded.
|
|
13
|
-
|
|
14
|
-
## Reference Table
|
|
15
|
-
|
|
16
|
-
| Task | When | Reference |
|
|
17
|
-
|------|------|-----------|
|
|
18
|
-
| Onboarding flow | New member detected (no profile) | `references/onboarding-flow.md` |
|
|
19
|
-
|
|
20
|
-
## Key Rules
|
|
21
|
-
|
|
22
|
-
- Onboarding is conversational, not a form. Ask one thing at a time.
|
|
23
|
-
- Collect: name, career stage, years in industry, goals, email (optional).
|
|
24
|
-
- Create both `profile.md` and `progress.md` before the conversation ends.
|
|
25
|
-
- End with a specific content recommendation — not "check out our modules" but "Based on what you've told me, start with {module} in {pillar}."
|
|
26
|
-
- Never ask for information you already have (identity comes from the platform).
|