Skip to content
cloud-signup logo

PopKit Cloud Signup

cloud-signup

Create PopKit Cloud account, generate API key, and configure local connection

SKILL.md

Full skill instructions

PopKit Cloud Signup

Create a new PopKit Cloud account and obtain an API key for enhanced semantic intelligence features.

When to Use

  • User runs /​popkit:cloud signup
  • User wants to enable cloud enhancements (semantic routing, pattern learning)
  • User needs to create an account to access cloud features

Input

User provides (via AskUserQuestion):

  • Email address
  • Password (minimum 8 characters)

Optional flags:

  • --skip-test: Skip connection testing after signup

Process

1. Check for Existing Configuration

Before starting signup, check if user already has cloud config:

from pathlib import Path
import json
import os

config_path = Path.home() / ".claude/​popkit/​cloud-config.json"

# Check config file
if config_path.exists():
    with open(config_path) as f:
        config = json.load(f)
        email = config.get("email")

    print(f"⚠️  Existing cloud config found for {email}")

    # Use AskUserQuestion to confirm
    # question: "You already have a cloud account. What would you like to do?"
    # options:
    #   1. "Continue with new signup" (will overwrite existing)
    #   2. "Login to existing account" (invoke pop-cloud-login skill)
    #   3. "Cancel"

# Check environment variable
if os.environ.get("POPKIT_API_KEY"):
    print("⚠️  POPKIT_API_KEY environment variable is already set")
    # Continue with signup but note it will be overridden

2. Collect User Credentials

Use AskUserQuestion for email, then custom text input for password:

Email Collection:

Use AskUserQuestion tool with:
- question: "What email would you like to use for your PopKit Cloud account?"
- header: "Email"
- options:
  1. label: "Enter email", description: "Type your email address"
- multiSelect: false

After user selects "Enter email", they'll be prompted for custom input.

Password Collection:

Use AskUserQuestion tool with:
- question: "Create a password for your account (minimum 8 characters)"
- header: "Password"
- options:
  1. label: "Enter password", description: "Type your password (will be hidden)"
- multiSelect: false

Validation:

  • Email: Must contain @ and valid domain
  • Password: Minimum 8 characters, no maximum

3. Create Account via Cloud API

Send signup request to PopKit Cloud:

import requests
import json

# Signup endpoint
url = "https://api.thehouseofdeals.com/​v1/​auth/​signup"

# Request payload
payload = {
    "email": email,
    "password": password
}

# Send request
try:
    response = requests.post(url, json=payload, timeout=10)

    if response.status_code == 201:
        # Success
        data = response.json()
        api_key = data["api_key"]
        user_id = data["user_id"]
        tier = data.get("tier", "free")

        print(f"✅ Account created successfully")
        print(f"User ID: {user_id}")
        print(f"Tier: {tier}")

    elif response.status_code == 409:
        # Email already registered
        print("❌ Signup failed: Email already registered")
        print("\nTry logging in instead:")
        print("  /​popkit:cloud login")
        return

    elif response.status_code == 400:
        # Validation error
        error = response.json().get("error", "Invalid input")
        print(f"❌ Signup failed: {error}")
        return

    else:
        # Other error
        print(f"❌ Signup failed: HTTP {response.status_code}")
        print(f"Error: {response.text}")
        return

except requests.exceptions.Timeout:
    print("❌ Signup failed: Request timed out")
    print("Check your internet connection and try again")
    return

except requests.exceptions.ConnectionError:
    print("❌ Signup failed: Could not connect to PopKit Cloud")
    print("Check your internet connection and try again")
    return

except Exception as e:
    print(f"❌ Signup failed: {e}")
    return

4. Save API Key Locally

Store API key securely in local config file:

from pathlib import Path
import json
import os

# Config directory
config_dir = Path.home() / ".claude/​popkit"
config_dir.mkdir(parents=True, exist_ok=True)

# Config file
config_path = config_dir / "cloud-config.json"

# Prepare config
config = {
    "api_key": api_key,
    "email": email,
    "user_id": user_id,
    "tier": tier,
    "created_at": "2025-12-26T00:00:00Z"  # Use current timestamp
}

# Save config
with open(config_path, "w") as f:
    json.dump(config, f, indent=2)

# Set restrictive permissions (Unix/​Mac only)
try:
    os.chmod(config_path, 0o600)
    print(f"🔒 API key saved securely: {config_path}")
except Exception:
    # Windows doesn't support chmod the same way
    print(f"✅ API key saved: {config_path}")

5. Test Connection

Verify the API key works by querying cloud status:

import requests

# Use cloud_client.py from power-mode
# (packages/​popkit-core/​power-mode/​cloud_client.py)

try:
    headers = {"Authorization": f"Bearer {api_key}"}
    response = requests.get(
        "https://api.thehouseofdeals.com/​v1/​health",
        headers=headers,
        timeout=5
    )

    if response.status_code == 200:
        data = response.json()
        latency_ms = response.elapsed.total_seconds() * 1000

        print(f"✅ Cloud connection verified ({latency_ms:.0f}ms)")

    else:
        print(f"⚠️  Warning: Could not verify connection (HTTP {response.status_code})")
        print("Your account was created, but there may be a connection issue")

except Exception as e:
    print(f"⚠️  Warning: Could not test connection: {e}")
    print("Your account was created successfully")

6. Display Setup Instructions

Show user how to use their new API key:

✅ PopKit Cloud Account Created

**Email:** [email protected]
**API Key:** pk_live_abc123def456... (last 6 chars shown)
**Tier:** Free (100 requests/​day)
**Config:** ~/​.claude/​popkit/​cloud-config.json

---

## Quick Start

### Option 1: Use config file (recommended)

Your API key is already saved in `~/​.claude/​popkit/​cloud-config.json`.
PopKit will automatically use it for cloud enhancements.

**Verify connection:**

```bash
/​popkit:cloud status
```

Option 2: Set environment variable

For maximum portability, export the API key:

# Add to ~/​.bashrc or ~/​.zshrc
export POPKIT_API_KEY="pk_live_abc123def456..."

Then restart your shell or run:

source ~/​.bashrc  # or ~/​.zshrc

What's Enhanced?

With your API key configured, PopKit now has:

Core Workflows (Always Available)

✅ All development commands and skills work without API key

Cloud Enhancements (Now Active)

✅ Semantic agent routing - Better agent selection via embeddings ✅ Community pattern learning - Learn from other developers' solutions ✅ Cloud knowledge base - Access shared documentation and patterns ✅ Cross-project insights - Recommendations based on similar projects


Usage Limits

Free Tier:

  • 100 API requests/​day
  • Unlimited local execution
  • All workflows available

Need more? Upgrade at: /​popkit:upgrade


Next Steps

  1. Verify connection:

    /​popkit:cloud status
    
  2. Test semantic routing:

    /​popkit:next  # Uses embeddings to recommend next action
    
  3. View account info:

    /​popkit:account
    

Security Notes

  • API key stored with chmod 600 (user read/​write only)
  • Password never stored locally
  • All requests use HTTPS
  • Config file: ~/​.claude/​popkit/​cloud-config.json

To disconnect:

/​popkit:cloud logout

### 7. Handle Errors

Common error scenarios:

**Email Already Registered (409):**
```markdown
❌ Signup Failed

**Error:** Email already registered

This email is already associated with a PopKit Cloud account.

Try logging in instead:
```bash
/​popkit:cloud login

Or use a different email address.


**Invalid Email/​Password (400):**
```markdown
❌ Signup Failed

**Error:** Invalid email or password

Requirements:
- Email: Must be valid format (contains @ and domain)
- Password: Minimum 8 characters

Please try again with valid credentials.

Connection Timeout:

❌ Signup Failed

**Error:** Request timed out

Could not connect to PopKit Cloud within 10 seconds.

Please check:

1. Your internet connection
2. Firewall/​proxy settings
3. Cloud status: https://status.thehouseofdeals.com

Try again in a moment.

Unknown Error:

❌ Signup Failed

**Error:** {error_message}

If this persists, please:

1. Report the issue: `/​popkit:bug report`
2. Check cloud status: https://status.thehouseofdeals.com
3. Contact support: [email protected]

Output

Success Case

✅ PopKit Cloud Account Created

**Email:** [email protected]
**API Key:** **\*\***def456 (saved securely)
**Tier:** Free (100 requests/​day)

### Quick Start

1. **Verify connection:**
   ```bash
   /​popkit:cloud status
   ```
  1. Cloud enhancements now active:
    • Semantic agent routing ✅
    • Community pattern learning ✅
    • Cloud knowledge base ✅
    • Cross-project insights ✅

Config file: ~/​.claude/​popkit/​cloud-config.json

Run /​popkit:account for detailed account info.


### Failure Case

```markdown
❌ Signup Failed

**Error:** Email already registered

Try logging in instead:
```bash
/​popkit:cloud login

## Related Skills

- `pop-cloud-login` - Login to existing account
- `pop-cloud-status` - Check connection status
- `pop-cloud-logout` - Disconnect from cloud

## Security

**API Key Storage:**
- File: `~/​.claude/​popkit/​cloud-config.json`
- Permissions: chmod 600 (user read/​write only)
- Never logged in full (only last 6 chars shown)

**Password Handling:**
- Never stored locally
- Only transmitted to cloud API over HTTPS
- Never logged or printed

**Best Practices:**
- Use strong passwords (16+ characters recommended)
- Don't share API keys
- Use `/​popkit:cloud logout` when switching accounts

More skills from majiayu000

xiaohongshu logo
majiayu000/claude-arsenal

xiaohongshu

xiaohongshu

286 148
View
agent-task-conductor logo
majiayu000/claude-skill-registry

agent-task-conductor

Conduct multi-agent task orchestration and workflow coordination.

663 1
View
conductor-setup logo
majiayu000/claude-skill-registry

conductor-setup

Initialize project with Conductor artifacts (product definition,

663 1
View
animation-designer logo
majiayu000/claude-skill-registry

animation-designer

Expert in web animations, transitions, and motion design using Framer Motion and CSS

663 1
View
diagramming logo
majiayu000/claude-skill-registry

diagramming

Creates Mermaid and ASCII diagrams for flowcharts, architecture, ERDs, state machines, mindmaps, and more. Use when user mentions diagram, flowchart, mermaid, ASCII diagram, text diagram, terminal diagram, visualize, C4, mindmap, architecture diagram, sequence diagram, ERD, or needs visual docume...

663 1
View
h3-pg logo
majiayu000/claude-skill-registry-data

h3-pg

PostgreSQL bindings for H3 hexagonal grid system. Use when working with H3 cells in Postgres, including spatial indexing, geometry/geography integration, and raster analysis.

23 1
View
conductor-development logo
majiayu000/claude-skill-registry

conductor-development

Context-Driven Development skill for projects using Conductor. Use this skill when you detect a `conductor/` directory in the project, when working on tasks defined in a `plan.md` file, or when the user asks about tracks, specs, or plans. Automatically applies TDD workflow, tracks task completion...

663 1
View
conductor-status logo
majiayu000/claude-skill-registry

conductor-status

Display project status, active tracks, and next actions

663 1
View
dockerization logo
majiayu000/claude-skill-registry

dockerization

Official Stakpak application containerization standard operating procedure, a step-by-step guidline to properly dockerize applications. This is a rule book curated by the Stakpak Team.

663 1
View

Popular AI tools

Kaiber logo
Video

Kaiber

Generate, edit, and beat-sync AI video with leading models in one workspace.

Paid
View
Vimcal logo
Productivity

Vimcal

The world's fastest calendar for remote work

Free
View

Transform Your Design with AI Designer by ImgCreator.ai

Freemium
View
Akool AI logo
Content & writing

Akool AI

Revolutionizing Video Production with AI-Powered Creativity

Paid
View

Extend an image past the frame and let AI fill the new aspect ratio.

Freemium
View
StarByFace logo
Security

StarByFace

Discover your celebrity doppelgänger with StarByFace!

Free
View
C

ChainClarity explains 700+ crypto whitepapers in plain English, with layered summaries, comparisons, research tools, alerts, and a $4.99 Pro plan.

Freemium
View
Opus Clip logo
Coding & apps

Opus Clip

Opus.ai: Revolutionize Your Web Experience

Free
View