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...
β 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.
β οΈ API Key Security
Your Yatta! API key provides FULL access to your account:
Security Best Practices:
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:
https://zunahvofybvxpptjkwxk.supabase.co/functions/v1Why Supabase?
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):
https://api.yattadone.com/v1Security 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
jq for clean outputerror field with descriptionclawhub install openclaw-yatta-skill