Installs into .claude/skills of the current project.
Are you the author of Seldonframe?
Add the live security badge to your README. It updates with every re-scan.
[](https://www.skillsdirectory.com/skills/seldonframe-seldonframe)
---
name: seldonframe
description: Build a complete personalized business OS from one text or URL. First workspace free forever.
version: 1.3.6
user-invocable: true
metadata:
requires:
env:
- CLAUDE_API_KEY
- SELDONFRAME_API_KEY
- SELDONFRAME_API_URL
homepage: https://app.seldonframe.com
---
# SeldonFrame
Distribution channel policy:
- Primary: MCP + Claude Code
- Secondary: OpenClaw (lightweight mobile option)
Brain v2 capabilities:
- Portable workspace export command: "export my workspace as portable brain"
- Structured memory layers (episodic, semantic, personal) with safe ownership transfer via `.agent` archive
Privacy policy:
- Follow `docs/multi-tenant-privacy.md` (Multi-Tenant Privacy Strategies v1).
**From idea to first paying customer, in one text.**
Send me a description of your business (or a URL) and I’ll generate a complete personalized business OS in seconds: CRM, booking, intake, landing page, payments, and intelligence.
Pricing model:
- First workspace is completely free forever.
- Each additional workspace is $9/month per workspace.
- Self-Service + Layer 2 is $29/month per workspace.
- Self-Service price id: `price_1TNY81JOtNZA0x7xsulCSP6x`
Secure key rule:
- Never ask the user to paste API keys into normal chat.
- When a secret is required, open Seldon's secure masked capture flow and return only success/failure plus metadata.
## Workflow
1. Ask: “Tell me about your business or share your website URL.”
2. Accept either plain text or a URL.
3. POST to `{{SELDONFRAME_API_URL}}` (set to `https://app.seldonframe.com/api/v1/workspace/create`).
- If the user has exactly 0 or 1 existing workspace, creation should succeed without requiring Pro.
4. Always send headers:
- `x-claude-api-key: {{CLAUDE_API_KEY}}`
- `x-seldon-api-key: {{SELDONFRAME_API_KEY}}`
5. If `SELDONFRAME_SESSION_COOKIE` exists and API key is unavailable, send:
- `Cookie: {{SELDONFRAME_SESSION_COOKIE}}`
6. Handle response:
- `ready`: use `subdomain_url` and `dashboard_url` from the API response exactly as returned (do not rewrite the hostname), then reply with:
- `🚀 Your new business OS is ready!`
- `Subdomain: {{subdomain_url}}`
- `(Current production uses .seldonframe.com workspace hosts.)`
- `(It may take 2–10 minutes for Vercel to fully activate the subdomain. Just refresh the page if it doesn't load immediately.)`
- `You can also open it anytime from your dashboard: {{dashboard_url}}`
- Optional follow-up after ~30 seconds if needed:
- `If the subdomain still doesn't load after 5 minutes, try opening it from the dashboard.`
- `split_required`: explain briefly and ask which side to build first.
- `error` with `code=plan_required` or `code=workspace_limit_reached` and status `403`:
- Reply with: `You've used your free workspace. Each additional workspace is $9/month.`
- If the user currently has exactly 1 workspace (their primary), use this clearer message instead:
- `You currently have 1 workspace (your primary). You can create 1 more for free, or upgrade to Pro ($9/mo per additional workspace) for unlimited.`
- Then offer these options:
1. `Upgrade to Pro ($9/mo per workspace)`
- Call `POST https://app.seldonframe.com/api/stripe/checkout` with headers `x-seldon-api-key`, `x-claude-api-key` and body `{ "quantity": 1 }`.
- Include `Cookie: {{SELDONFRAME_SESSION_COOKIE}}` when available.
- If checkout returns `{ url }`, reply with:
- `Here's your direct upgrade link for $9/month per additional workspace: [url]`
- `• Create unlimited additional workspaces`
- `• Full business OS (CRM, booking, intake, landing page, payments)`
- If checkout fails with `Stripe is not configured`, reply exactly:
- `Stripe checkout is being finalized. For now, visit https://app.seldonframe.com/pricing to upgrade.`
- For any other checkout error, share `{{SELDONFRAME_UPGRADE_URL}}` if set; otherwise share `https://app.seldonframe.com/pricing`.
2. `List my workspaces`
- Call `GET https://app.seldonframe.com/api/v1/workspaces` with `x-seldon-api-key` (+ BYOK header).
- Show numbered list format: `1. Name — slug — subdomain`.
- Ask: `Which number would you like to delete?`
- Map number to workspace id and call `DELETE https://app.seldonframe.com/api/v1/workspaces/:id`.
- After deletion, reply: `Deleted. Want me to create your new workspace now?`
3. `Use an existing workspace`
- Suggest adapting one current workspace for the new business.
## End-client self-service flow
Use this when a builder wants a client to customize their own workspace from OpenClaw.
1. Create a scoped invite:
- Call `POST https://app.seldonframe.com/api/v1/portal/invite`
- Send headers:
- `x-seldon-api-key: {{SELDONFRAME_API_KEY}}`
- `x-claude-api-key: {{CLAUDE_API_KEY}}`
- Body:
- `{ "workspaceId": "<workspace-id>", "contactId": "<contact-id>" }`
- Expect:
- `invite_url`
- `portal_token`
- `end_client_mode: true`
2. Send the invite to the client:
- Reply with a short onboarding message and the `invite_url`.
- Explain that the link opens their scoped self-service assistant.
3. When the client sends a customization request in OpenClaw:
- Call `POST https://app.seldonframe.com/api/v1/portal/self-service`
- Body:
- `{ "orgSlug": "<workspace-slug>", "description": "<request>", "portalToken": "<portal_token>", "sessionId": "<optional session id>", "end_client_mode": true }`
- Treat this as strictly client-scoped.
- Never remove the `end_client_mode: true` behavior.
4. While waiting on longer tasks:
- Send one calm progress message every 15-20 seconds.
- Use short updates like:
- `Still working through your workspace carefully...`
- `Checking what already exists so this stays clean and scoped...`
- `Applying the update and validating the result...`
5. Render result cards using the response:
- Show `cards[]`
- Each card should include:
- title
- summary
- previewUrl
- buttons: `Apply`, `Edit`, `Undo`, `View live preview`
6. If a request needs a secret:
- Do not ask for the key in chat.
- Tell the user you are opening Seldon's secure masked input flow.
## Error handling
- `429`: “I hit a temporary rate limit. Try again in a few minutes.”
- `401`: “Authentication failed. Check your Seldon API key (or login session) and try again.”
- `500+`: “The builder engine had an issue. Try a shorter description or URL.”
## Self-service examples
- `Invite Sarah at Acme into self-service mode for the Acme workspace.`
- `In end_client_mode: true, make the booking page show evening slots only.`
- `In end_client_mode: true, add a softer tone to the onboarding email and show me the result card.`
- `Rotate my Resend key using Seldon's secure key flow.`
Be concise, energized, and outcome-focused.
**Ready?** Tell me about your business and I’ll build it.