Skill: werdelin/audos (version 1.0.0)

--- name: Audos description: Create AI-powered startup workspaces via Audos API. Use when user wants to start a business, build an MVP, validate a startup idea, create a company workspace, launch a product, or work on their entrepreneurial journey. Triggers on requests like "I have a business idea", "help me start a company", "create a startup workspace", or "I want to build [product]". --- # Audos Workspace Builder (API v1.2) Create startup workspaces with landing pages, brand identity, AI tools, and ad creatives — fully autonomous. ## Base URL ``` https://audos.com/api/agent/onboard ``` ## URL Construction The API returns URLs using the current deployment domain: ```json "urls": { "landingPage": "https://audos.com/site/184582", "workspace": "https://audos.com/space/workspace-184582" } ``` Use these URLs directly — no domain swapping needed. ## Quick Reference | Action | Method | Endpoint | |--------|--------|----------| | API docs | GET | / | | Start onboarding | POST | /start | | Verify OTP | POST | /verify | | Check build status | GET | /status/:workspaceId | | Check build status (alt) | POST | /status | | Chat with Otto | POST | /chat | | Chat with Otto | POST | /chat/:workspaceId | | Rebuild (if failed) | POST | /rebuild/:workspaceId | ## Authentication - **Token format:** `aud_live_xxxx` (48 hex chars after prefix) - **Auth tokens never expire** — store persistently by email - **Session tokens** expire in 30 min (only needed during OTP flow) - **Preferred:** Bearer token in `Authorization` header - **Alternative:** `authToken` or `sessionToken` in request body ## Conversation Flow ### Introducing Audos When a user expresses a business idea, briefly explain what Audos does before asking for their email: > "I can help you build that with Audos! In about 10 minutes, you'll have: > - A live landing page for your business > - Custom brand identity (logo, colors, typography) > - AI tools designed specifically for your idea > - Otto, a soloentrepreneur's favorite +1 who stays with you to help run the business > > Audos takes your idea and builds everything autonomously — no templates, no cookie-cutter sites. Everything is custom to your business. > > To get started, what email should I use for your account?" ### New Users Flow 1. **Collect** user's email + business idea 2. **Start** → `POST /start` (sends 4-digit OTP to email) 3. **Verify** → `POST /verify` with OTP code → returns `authToken` + starts build 4. **Monitor** → `GET /status/:workspaceId` every 15-30s, narrating progress (see below) 5. **Watch for** `landingPageReady: true` (~10 min) — core build done 6. **Introduce Otto** and offer to chat ### Returning Users (have workspace) 1. **Start** → `POST /start` with email 2. **Response includes** `auth_token` + `urls` directly — skip OTP! 3. **Chat** → `POST /chat/:workspaceId` immediately ## Polling During Build — UX Guidelines **Critical:** The build takes ~10 minutes. Users MUST see progress updates or they'll think it's stuck. ### Polling Pattern ``` Poll every 15-20 seconds (NOT 60s!) After each poll, IMMEDIATELY send a message with current state Don't wait until done — update the user continuously ``` ### Progress Message Format Send a message like this after EACH poll: ``` 🏗️ Building "Business Name"... Step 4/7 ✅ Brand Identity • Color palette: done • Logo: done Step 5/7 🔄 Hero Video (70%) • Scenes: done • Rendering: in progress Step 6/7 ⏳ Workspace Apps • Waiting to start ⏱️ ~3 min remaining ``` ### Status Icons - ✅ Complete - 🔄 In progress (show sub-task if available) - ⏳ Waiting/pending - ❌ Failed (offer /rebuild) ### Parsing parallelBuildStatus The API returns detailed task breakdown in `parallelBuildStatus`: ```javascript // Example parsing for (const step of status.parallelBuildStatus) { const icon = step.status === 'done' ? '✅' : step.status === 'in_progress' ? '🔄' : '⏳'; console.log(`${icon} ${step.name}`); for (const task of step.tasks) { const taskIcon = task.status === 'complete' ? '✓' : task.status === 'in_progress' ? '→' : '○'; console.log(` ${taskIcon} ${task.name}`); } } ``` ### Implementation DO THIS (good UX): ``` 1. Poll status 2. IMMEDIATELY send message to user with formatted progress 3. Wait 15 seconds 4. Repeat until landingPageReady === true 5. Send completion message with links ``` DON'T DO THIS (bad UX): ``` sleep 60 && curl... ← User sees NOTHING for 60 seconds! ``` ## Narration During Build The build takes ~10 minutes. Don't just report percentages — explain what Audos is doing and why it matters. ### Steps 1-3: Research Phase > "Audos is now analyzing your idea... First, it's identifying your ideal customer — who they are, what they care about, where to find them. Then it maps out the key problems your business will solve. Finally, it designs a suite of AI tools specifically for your business — these aren't generic, they're built around your idea." ### Step 4: Brand Identity > "Now the creative work begins — Audos is designing your brand identity. A custom logo, color palette, and typography that resonates with your target audience. No templates here, everything is generated fresh for your business." ### Step 5: Hero Video > "Audos is creating a branded video to feature on your landing page. This introduces your business to visitors in a compelling way." ### Step 6: Workspace OS > "Now building your workspace — think of it as your business command center. It's a full desktop-style OS with apps, CRM, analytics, and Otto (a soloentrepreneur's favorite +1) all in one place. You'll manage everything from here." ### Step 7: Landing Page > "Final stretch — Audos is designing and deploying your landing page. This is what your customers will see first. It's conversion-optimized and ready to collect leads." ### On Completion > "Your workspace is ready! 🎉 > > Here's what Audos built for you: > - **Landing page:** [link] — live and ready for visitors > - **Workspace:** [link] — your business command center > > Otto, a soloentrepreneur's favorite +1, is ready to help. He knows everything about your business — the plan, the customers, the brand. Want me to ask him what you should focus on first?" ### About Otto Otto is a soloentrepreneur's favorite +1. He comes with every workspace and knows the business plan, the customers, the brand — everything. He helps with: - Strategy and planning - Content creation - Ad campaigns - Lead research and outreach - Day-to-day operations Think of him as a tireless business partner who's always available. ### About Audos (for context) - **Mission:** Make entrepreneurship accessible to everyone. The biggest barrier isn't the idea — it's the execution. Audos eliminates that barrier. - **How it works:** A team of specialized AI agents work in parallel — one builds the brand, another creates videos, another assembles the workspace, another designs the landing page. They collaborate and deliver a cohesive product. - **Publishing House:** Audos's venture arm. They invest in promising workspaces — funding, growth support, ad budget, hands-on help scaling. Founders can apply from their workspace. ## API Reference ### GET / Returns full API documentation including all endpoints, auth patterns, error codes. ### POST /start ```json { "email": "[REDACTED_SECRET]", "businessIdea": "AI-powered fitness coaching app", "businessName": "FitGenius", "targetCustomer": "Health-conscious millennials", "callbackUrl": "https://your-webhook.com/audos", "createNew": false } ``` **Fields:** - `email` (required) - `businessIdea` (required, min 10 chars) - `businessName` (optional) - `targetCustomer` (optional) - `callbackUrl` (optional) — webhook URL for progress updates with HMAC signing - `createNew` (optional) — force new workspace even if email has one **Returns:** - **New user:** `sessionToken` for OTP verification - **Returning user:** `auth_token`, workspace `urls`, `aboutAudos` directly ### POST /verify ```json { "sessionToken": "aos_...", "otpCode": "7294" } ``` **Returns:** `workspaceId`, `authToken`, `urls`, `buildInfo`, `aboutAudos` ### GET /status/:workspaceId **Header:** `Authorization: Bearer <authToken>` **Key status fields:** - `landingPageReady` (boolean) — **most reliable "done" signal** - `coreStepsComplete` (boolean) — landing + brand + (video or space) done - `status` — running/complete/failed - `progress` — 0-100% - `estimatedTimeRemaining` — e.g., "about 3–4 minutes" - `completedSteps` — array of completed steps with names - `parallelBuildStatus` — real-time task breakdown (during steps 4-7) ### POST /status **Body:** `{ "authToken": "..." }` or `{ "sessionToken": "..." }` Same response as GET endpoint. ### POST /chat/:workspaceId **Header:** `Authorization: Bearer <authToken>` ```json { "message": "What should I focus on first?" } ``` **Returns:** `workspaceId`, `chatId`, `response` from Otto ### POST /chat **Body:** ```json { "authToken": "aud_live_...", "message": "What should I focus on first?" } ``` ### POST /rebuild/:workspaceId **Header:** `Authorization: Bearer <authToken>` Retry a failed workspace build. ## Build Process - **Total steps:** 7 - **Estimated time:** ~10 minutes - **Steps 1-3 (sequential):** Customer research, problem mapping, AI tool design - **Steps 4-7 (parallel):** Brand identity, hero video, workspace OS, landing page - **Done signal:** `landingPageReady: true` ## Error Codes | Code | HTTP | Meaning | Action | |------|------|---------|--------| | VALIDATION_ERROR | 400 | Request body invalid | Check `details` array | | OTP_EXPIRED | 401 | Code expired (5 min) | Call /start again | | OTP_INVALID | 401 | Wrong code | Retry (`attemptsRemaining` in response) | | OTP_MAX_ATTEMPTS | 429 | 5 wrong attempts | Call /start for new code | | RATE_LIMITED | 429 | Too many OTP sends | Wait `retryAfter` seconds | | SESSION_NOT_FOUND | 401 | Session invalid/expired | Call /start again | | SESSION_NOT_VERIFIED | 403 | OTP not completed | Call /verify first | | AUTH_TOKEN_INVALID | 401 | Token invalid/revoked | Get new token via /start | | WORKSPACE_NOT_FOUND | 404 | No such workspace | Check workspaceId | | EMAIL_SEND_FAILED | 502 | OTP email failed | Retry after delay | | CHAT_FAILED | 502 | Otto response failed | Retry | | INTERNAL_ERROR | 500 | Server error | Retry | ## Rate Limits - 3 OTP sends per 15 min per email - 60s cooldown between OTP sends - OTP expires in 5 min - Session tokens expire in 30 min - **Auth tokens never expire** ## Tips - **Store authTokens** persistently by email — returning users skip OTP entirely - **Poll status every 15-30s** during build - **Watch `landingPageReady`** — most reliable completion signal - **Chat available immediately** after verification, even during build - **Use /rebuild** if build fails instead of starting fresh - **Use `createNew: true`** to force a fresh workspace for existing users - **Set `callbackUrl`** for webhook-based progress updates instead of polling

path: README.md
content: # Audos Agent Skill

Give any AI agent the power to build real businesses. User describes an idea → Audos deploys a full startup in ~10 minutes: landing page, brand identity, hero video, custom AI tools, CRM, analytics, and Otto — an AI co-founder who stays to help run the business.

🔗 **[GitHub](https://github.com/prehype/audos-agent-skill)** · **[Live Demo (SkiFit AI)](https://audos.com/site/103877)** · **[audos.com](https://audos.com)**

## Quick Start

```bash
# 1. Install the skill
clawhub install audos

# 2. Tell your agent:
"I want to build an AI fitness coaching app for ski season prep"

# 3. That's it — Audos handles the rest in ~10 minutes
```

## What It Does

A team of specialized AI agents work in parallel to build everything from scratch:

**The Build (~10 minutes):**
- **Brand Identity** — logo, colors, typography tailored to your audience
- **Hero Video** — branded intro video for your landing page
- **Landing Page** — conversion-optimized, live immediately with email capture
- **Workspace OS** — a full desktop-style command center

**What's in the Workspace:**
- **Otto** — an AI co-founder who knows your business plan, customers, and brand. Helps with strategy, content, ads, outreach, and daily operations
- **CRM & Contacts** — track every lead, deal pipeline, relationship history
- **Ad Campaign Manager** — create and run Facebook/Instagram ads with AI-generated creatives. $50 ad credit included to start acquiring customers
- **Cold Outreach Tools** — find prospects, send personalized messages at scale
- **Analytics Dashboard** — full-funnel tracking, attribution, conversion rates
- **Custom Mini-Apps** — vibe code interactive tools for your customers: ROI calculators, fitness assessments, quiz funnels, booking flows, onboarding wizards, pricing configurators — describe it in plain English, Otto builds it
- **Newsletter Builder** — branded emails to your contact list
- **Video Ad Creator** — animated social media ads
- **Stripe Integration** — accept payments from day one

No templates. No code. No complexity. Just momentum.

## Install (OpenClaw / ClawHub)

```bash
clawhub install audos
```

## Files

- `SKILL.md` — Full API v1.2 docs for the agent
- `scripts/audos.sh` — Shell helper for API calls
- `scripts/poll-with-updates.sh` — Build polling with progress narration
- `IMPROVEMENTS.md` — Roadmap and ideas

## API

Base URL: `https://audos.com/api/agent/onboard`

See `SKILL.md` for full API reference including auth, endpoints, error codes, and UX guidelines.

## Audos Publishing House

The record label for entrepreneurs. Audos doesn't take equity — it signs publishing deals:

- **30 days free** — full platform access, no credit card
- **$100/mo subscription** — keep 100% of revenue
- **Publishing deal** — up to $100K in value (cash advance + ad budget + production), 15% royalty post-recoup, you keep 85%

You own your brand, domain, customers, and IP. You can leave anytime.

[Learn more →](https://audos.com/publishing)

## Built by

[Audos](https://audos.com) — a [Prehype](https://prehype.com) venture.

## License

MIT


path: IMPROVEMENTS.md
content: # Audos Skill — Roadmap & Ideas

## Done ✅
- **Better polling UX** — 15-20s intervals, immediate progress updates, visual status icons (✅🔄⏳)
- **Poll helper script** — `poll-with-updates.sh` for formatted terminal output

## Ideas 🔄

### Edit-in-place Progress Messages
Instead of sending a new message each poll, edit the same message with updated progress. Cleaner chat, less spam.

### Completion Celebration
Rich completion message with inline buttons: [View Landing Page] [Open Workspace] [Chat with Otto]

### Error Recovery
Detect `status: failed`, offer automatic rebuild with one click.

### Returning User Detection
Store authTokens by email — skip OTP for returning users. "Welcome back! [Open workspace] or [Create new]"

### Otto Chat Integration
After build completes, proactively offer: "Want me to ask Otto what to focus on first?"

### Multi-workspace Support
Track multiple workspaces per email. "You have 3 workspaces: [FitGenius] [PodFlow] [SnackBox]"

### Webhook Support
Use `callbackUrl` for push-based progress updates instead of polling.

---

*Contributions welcome!*


path: scripts/audos.sh
content: #!/usr/bin/env bash
# Audos Workspace Builder API client
# Usage: ./audos.sh <command> [args...]

set -e

BASE_URL="${AUDOS_BASE_URL:-https://audos.com/api/agent/onboard}"

usage() {
    cat <<EOF
Audos Workspace Builder CLI

Commands:
  docs                                  Get full API documentation
  start <email> <idea> [name] [target]  Start onboarding (sends OTP)
  verify <sessionToken> <otpCode>       Verify OTP and get authToken
  status <workspaceId> <authToken>      Check build progress
  chat <workspaceId> <authToken> <msg>  Chat with Otto
  rebuild <workspaceId> <authToken>     Rebuild failed workspace

Environment:
  AUDOS_BASE_URL  API base URL (optional)

Examples:
  ./audos.sh docs
  ./audos.sh start [REDACTED_SECRET] "Dog walking app" "PawWalker"
  ./audos.sh verify aos_abc123 7294
  ./audos.sh status ws_xyz aud_live_xxx
  ./audos.sh chat ws_xyz aud_live_xxx "What should I focus on?"
  ./audos.sh rebuild ws_xyz aud_live_xxx
EOF
    exit 1
}

cmd_docs() {
    curl -s "$BASE_URL" | jq .
}

cmd_start() {
    local email="$1"
    local idea="$2"
    local name="${3:-}"
    local target="${4:-}"
    
    [[ -z "$email" || -z "$idea" ]] && { echo "Error: email and idea required"; usage; }
    
    local payload="{\"email\":\"$email\",\"businessIdea\":\"$idea\""
    [[ -n "$name" ]] && payload="$payload,\"businessName\":\"$name\""
    [[ -n "$target" ]] && payload="$payload,\"targetCustomer\":\"$target\""
    payload="$payload}"
    
    curl -s -X POST "$BASE_URL/start" \
        -H "Content-Type: application/json" \
        -d "$payload"
}

cmd_verify() {
    local token="$1"
    local code="$2"
    
    [[ -z "$token" || -z "$code" ]] && { echo "Error: sessionToken and otpCode required"; usage; }
    
    curl -s -X POST "$BASE_URL/verify" \
        -H "Content-Type: application/json" \
        -d "{\"sessionToken\":\"$token\",\"otpCode\":\"$code\"}"
}

cmd_status() {
    local workspace_id="$1"
    local auth_token="$2"
    
    [[ -z "$workspace_id" || -z "$auth_token" ]] && { echo "Error: workspaceId and authToken required"; usage; }
    
    curl -s -X GET "$BASE_URL/status/$workspace_id" \
        -H "Authorization: Bearer $auth_token"
}

cmd_chat() {
    local workspace_id="$1"
    local auth_token="$2"
    local message="$3"
    
    [[ -z "$workspace_id" || -z "$auth_token" || -z "$message" ]] && { echo "Error: workspaceId, authToken, and message required"; usage; }
    
    curl -s -X POST "$BASE_URL/chat/$workspace_id" \
        -H "Content-Type: application/json" \
        -d "{\"authToken\":\"$auth_token\",\"message\":\"$message\"}"
}

cmd_rebuild() {
    local workspace_id="$1"
    local auth_token="$2"
    
    [[ -z "$workspace_id" || -z "$auth_token" ]] && { echo "Error: workspaceId and authToken required"; usage; }
    
    curl -s -X POST "$BASE_URL/rebuild/$workspace_id" \
        -H "Authorization: Bearer $auth_token"
}

# Main
[[ $# -lt 1 ]] && usage

case "$1" in
    docs)    cmd_docs ;;
    start)   shift; cmd_start "$@" ;;
    verify)  shift; cmd_verify "$@" ;;
    status)  shift; cmd_status "$@" ;;
    chat)    shift; cmd_chat "$@" ;;
    rebuild) shift; cmd_rebuild "$@" ;;
    *)       usage ;;
esac


path: scripts/poll-with-updates.sh
content: #!/usr/bin/env bash
# Poll Audos workspace with formatted progress output
# Usage: ./poll-with-updates.sh <workspaceId> <authToken> [interval_seconds]
#
# Outputs formatted progress to stdout after each poll.
# Agent should read output and send to user via message tool.

set -e

WORKSPACE_ID="$1"
AUTH_TOKEN="$2"
INTERVAL="${3:-15}"  # Default 15 seconds

BASE_URL="${AUDOS_BASE_URL:-https://audos.com/api/agent/onboard}"

[[ -z "$WORKSPACE_ID" || -z "$AUTH_TOKEN" ]] && {
    echo "Usage: $0 <workspaceId> <authToken> [interval_seconds]"
    exit 1
}

format_progress() {
    local status="$1"
    
    local name=$(echo "$status" | jq -r '.workspaceName // "your business"')
    local progress=$(echo "$status" | jq -r '.progress // 0')
    local current_step=$(echo "$status" | jq -r '.currentStep // 1')
    local total_steps=$(echo "$status" | jq -r '.totalSteps // 7')
    local step_name=$(echo "$status" | jq -r '.stepName // "Building"')
    local time_remaining=$(echo "$status" | jq -r '.estimatedTimeRemaining // "a few minutes"')
    local build_status=$(echo "$status" | jq -r '.status')
    local landing_ready=$(echo "$status" | jq -r '.landingPageReady')
    
    echo "🏗️ Building \"$name\"..."
    echo ""
    
    # Show parallel build status if available
    local has_parallel=$(echo "$status" | jq -r '.parallelBuildStatus | length')
    
    if [[ "$has_parallel" -gt 0 ]]; then
        echo "$status" | jq -r '.parallelBuildStatus[] | 
            (if .status == "done" then "✅" elif .status == "in_progress" then "🔄" else "⏳" end) + " " + .name + 
            (if .status == "in_progress" then " (" + (.tasks | map(select(.status == "complete")) | length | tostring) + "/" + (.tasks | length | tostring) + ")" else "" end)'
        echo ""
    else
        echo "Step $current_step/$total_steps: $step_name"
        echo ""
    fi
    
    # Progress bar
    local filled=$((progress / 5))
    local empty=$((20 - filled))
    printf "["
    for ((i=0; i<filled; i++)); do printf "█"; done
    for ((i=0; i<empty; i++)); do printf "░"; done
    printf "] %d%%\n" "$progress"
    echo ""
    
    echo "⏱️ ~$time_remaining"
    
    # URLs if available
    if [[ "$landing_ready" == "true" ]]; then
        local landing_url=$(echo "$status" | jq -r '.urls.landingPage // ""')
        local workspace_url=$(echo "$status" | jq -r '.urls.workspace // ""')
        echo ""
        echo "🎉 READY!"
        echo "🌐 Landing: $landing_url"
        echo "🏠 Workspace: $workspace_url"
    fi
}

poll_once() {
    curl -s -X GET "$BASE_URL/status/$WORKSPACE_ID" \
        -H "Authorization: Bearer $AUTH_TOKEN"
}

# Single poll mode (for agent to call repeatedly)
if [[ "$INTERVAL" == "once" ]]; then
    status=$(poll_once)
    format_progress "$status"
    
    # Exit codes: 0=done, 1=running, 2=error
    ready=$(echo "$status" | jq -r '.landingPageReady')
    if [[ "$ready" == "true" ]]; then
        exit 0
    else
        exit 1
    fi
fi

# Loop mode
while true; do
    status=$(poll_once)
    
    echo "---"
    format_progress "$status"
    echo ""
    
    ready=$(echo "$status" | jq -r '.landingPageReady')
    if [[ "$ready" == "true" ]]; then
        echo "✅ BUILD COMPLETE"
        break
    fi
    
    sleep "$INTERVAL"
done


path: examples/build-demo.md
content: # Example: Building a Startup with the Audos Agent Skill

**User:** I want to build an AI fitness coaching app that creates personalized training programs to prepare people for ski season

**Agent:** I can help you build that with Audos! In about 10 minutes, you'll have:
- A live landing page for your business
- Custom brand identity (logo, colors, typography)
- AI tools designed specifically for your idea
- Otto, a soloentrepreneur's favorite +1 who stays with you to help run the business

Audos takes your idea and builds everything autonomously — no templates, no cookie-cutter sites. Everything is custom to your business.

To get started, what email should I use for your account?

**User:** [REDACTED_SECRET]

**Agent:** ✅ Verification code sent! Check your email for a 4-digit code.

**User:** 6422

**Agent:** ✅ Verified! Building your workspace now...

---

🏗️ Building "SkiFit AI"...

Step 1/7 🔄 Customer Research
Step 2/7 ⏳ Problem Mapping
Step 3/7 ⏳ AI Tool Design
Step 4/7 ⏳ Brand Identity
Step 5/7 ⏳ Hero Video
Step 6/7 ⏳ Workspace Apps
Step 7/7 ⏳ Landing Page

⏱️ ~10 min remaining

---

🏗️ Building "SkiFit AI"... (43%)

Step 1/7 ✅ Customer Research
Step 2/7 ✅ Problem Mapping
Step 3/7 ✅ AI Tool Design

Step 4/7 🔄 Brand Identity
  ✓ Color palette generated
  ✓ Brand identity created
  → Designing logo...

Step 5/7 ⏳ Hero Video
Step 6/7 ⏳ Workspace Apps
Step 7/7 ⏳ Landing Page

⏱️ ~7 min remaining

---

🏗️ Building "SkiFit AI"... (57%)

Step 1/7 ✅ Customer Research
Step 2/7 ✅ Problem Mapping
Step 3/7 ✅ AI Tool Design
Step 4/7 ✅ Brand Identity

Step 5/7 🔄 Hero Video
  ✓ Scenes generated
  ✓ Video rendered
  → Uploading to storage...

Step 6/7 🔄 Workspace Apps
  → Building Plan Forge, Session Log, Crowd Lines
  → Setting up CRM, analytics, Otto

Step 7/7 🔄 Landing Page
  ✓ Page designed
  → Generating code...

⏱️ ~5 min remaining — all 3 building in parallel!

---

🏗️ Building "SkiFit AI"... (71%)

Step 1/7 ✅ Customer Research
Step 2/7 ✅ Problem Mapping
Step 3/7 ✅ AI Tool Design
Step 4/7 ✅ Brand Identity
Step 5/7 🔄 Hero Video — uploading to storage...
Step 6/7 🔄 Workspace Apps — building desktop, mini-apps, Otto...
Step 7/7 ✅ Landing Page — LIVE! 🎉

👉 Landing page is up! Workspace still cooking — a few more minutes for the apps and video.

---

Your workspace is ready! 🎉

Here's what Audos built for you:
- **Landing page:** https://audos.com/site/103877 — live and ready for visitors
- **Workspace:** https://audos.com/space/workspace-103877 — your business command center

Otto is ready to help. He knows everything about SkiFit AI — the plan, the customers, the brand. Want me to ask him what you should focus on first?


Security scan verdicts — ClawScan: suspicious | static analysis: clean | VirusTotal: suspicious | SkillSpector: suspicious (CRITICAL)