🎁 Get the FREE AI Skills Starter Guide β€” Subscribe β†’
BytesAgainBytesAgain
πŸ¦€ ClawHub

Yatta! - Task & Capacity Management

by @chrisagiddings

Personal productivity system for task and capacity management. Create and organize tasks with rich attributes (priority, effort, complexity, tags), track tim...

Versionv0.2.2
Installs1
πŸ’‘ Examples

❌ Autonomous (NOT allowed):

User: "I should probably archive old tasks"
Agent: *silently archives tasks without confirmation*

βœ… Manual (Required):

User: "Please archive tasks older than 30 days"
Agent: *executes explicit request, shows results*

Policy Enforcement

How it works: 1. Skill metadata declares disable-model-invocation: true 2. OpenClaw respects this setting 3. Agent requires explicit user commands 4. No autonomous background operations

Verification:

# Check package.json
jq '.openclaw["disable-model-invocation"]' package.json

Should output: true

Check SKILL.md frontmatter

grep "disable-model-invocation" SKILL.md

Should show: "disable-model-invocation":true

If You See Unexpected Operations

If Yatta! operations happen without your explicit request:

1. Stop immediately - This indicates a policy violation 2. Revoke API key - Create new key in Yatta! Settings β†’ API Keys 3. File issue - https://github.com/chrisagiddings/openclaw-yatta-skill/issues 4. Report to OpenClaw - Policy enforcement bug

This should never happen - manual invocation is a security requirement.


βš™οΈ Configuration

⚠️ API Key Security

Your Yatta! API key provides FULL access to your account:

  • Can create, read, update, and delete ALL tasks, projects, contexts
  • Can modify calendar subscriptions and follow-up schedules
  • Can archive data and trigger computations
  • No read-only scopes available - keys have full permissions
  • Security Best Practices:

  • Store keys in a secure password manager (1Password CLI recommended)
  • Use environment variables, never hardcode keys in scripts
  • Rotate keys regularly (every 90 days recommended)
  • Create separate keys for different integrations
  • Revoke unused keys immediately
  • Never commit keys to version control
  • 1. Get Your API Key

    1. Log into Yatta! app 2. Go to Settings β†’ API Keys 3. Create new key (e.g., "OpenClaw Integration") 4. Copy the yatta_... key 5. Store it securely

    2. Configure the Skill

    Option A: Environment Variables (Recommended)

    # Add to your shell profile (~/.zshrc, ~/.bashrc)
    export YATTA_API_KEY="yatta_your_key_here"
    export YATTA_API_URL="https://zunahvofybvxpptjkwxk.supabase.co/functions/v1"  # Default
    

    Option B: 1Password CLI (Most Secure)

    # Store key in 1Password
    op item create --category=API_CREDENTIAL \
      --title="Yatta API Key" \
      api_key[password]="yatta_your_key_here"

    Use in commands

    export YATTA_API_KEY=$(op read "op://Private/Yatta API Key/api_key")

    ⚠️ API Endpoint Verification

    The default API endpoint is hosted on Supabase:

  • Default URL: https://zunahvofybvxpptjkwxk.supabase.co/functions/v1
  • Project: Yatta! production backend
  • Owner: Chris Giddings (chris@chrisgiddings.net)
  • App: https://yattadone.com
  • Why Supabase?

  • Yatta! uses Supabase as its backend infrastructure
  • The URL is a direct Supabase project endpoint
  • Branded URL (api.yattadone.com) is on the roadmap
  • Verification steps:

    1. Verify app ownership: - Visit https://yattadone.com - Check Settings β†’ About or footer for API endpoint confirmation 2. Check SSL certificate:

       openssl s_client -connect zunahvofybvxpptjkwxk.supabase.co:443 \
         -servername zunahvofybvxpptjkwxk.supabase.co < /dev/null 2>&1 \
         | openssl x509 -noout -subject -issuer
       

    3. Run verification script:

       # Automated endpoint verification
       bash scripts/verify-endpoint.sh
       

    4. Contact support if uncertain: - Email: support@yattadone.com - Only send API keys to verified endpoints

    Branded URL (Coming Soon):

  • Future: https://api.yattadone.com/v1
  • Current Supabase URL will continue to work
  • Skill will auto-update default when branded URL is live
  • Security note: Only send your API key to endpoints you trust and have verified. If you prefer to wait for the branded API URL, that's a valid security choice.

    3. Test Connection

       curl -s "$YATTA_API_URL/tasks" \
         -H "Authorization: Bearer $YATTA_API_KEY" \
         | jq '.[:3]'  # Show first 3 tasks
       

    πŸ“‹ Tips & Best Practices

  • Store API key securely: Use 1Password CLI, env vars, or secrets manager
  • Use jq for filtering: Pipe responses through jq for clean output
  • Batch operations: Update multiple tasks at once when possible
  • Rate limits: 100 requests/minute per API key
  • Date formats: Always use ISO 8601 (YYYY-MM-DD for dates, YYYY-MM-DDTHH:MM:SSZ for timestamps)
  • Error responses: Include error field with description
  • View on ClawHub
    TERMINAL
    clawhub install openclaw-yatta-skill

    πŸ§ͺ Use this skill with your agent

    Most visitors already have an agent. Pick your environment, install or copy the workflow, then run the smoke-test prompt above.

    πŸ” Can't find the right skill?

    Search 60,000+ AI agent skills β€” free, no login needed.

    Search Skills β†’