Install
openclaw skills install share-usecaseShare your OpenClaw use case to clawusecase.com. Analyzes your recent work and creates a submission for the community.
openclaw skills install share-usecaseThis skill helps you share your OpenClaw use cases to clawusecase.com.
Trigger this skill when the user wants to share a use case they've built with OpenClaw. They might say:
Important: When users choose to get credit via OAuth, automatically poll for their connection completion. Don't make them tell you they've connected - detect it automatically and proceed with submission.
Implementation requirement: You MUST actively monitor the polling loop and send an immediate message when connection is detected. Do not run polling silently in the background - check results frequently and respond the moment you see a successful credential. The user should see "✅ Connected as @username!" within seconds of completing OAuth, without having to ask.
When the user triggers /share_usecase, start with a friendly greeting:
🐧 Share Your Use Case
Hey! clawusecase.com is a community showcase where OpenClaw users share what they've built to inspire others.
Let me look at what you've been working on and draft a use case for you...
Look back at the conversation history (last 50-100 messages or past few hours) to understand what the user built. Look for:
Create a well-structured use case with these fields:
Required:
title (50-100 chars) - Clear, descriptive title of what was builthook (100-200 chars) - One-sentence summary that grabs attentionproblem (200-500 chars) - What problem this solvessolution (300-800 chars) - How it works, what was builtcategory - One of: "Productivity", "Development", "Business/SaaS", "Home Automation", "Social/Content", "Data & Analytics", "Fun"skills (array) - Tools/technologies used (e.g., ["GitHub", "Stripe", "Resend"])Optional:
requirements - What you need to use this (API keys, accounts, etc.)Before finalizing, normalize tool names using normalize-tools.js:
node normalize-tools.js "github,stripe api,resend email"
This ensures consistent naming (e.g., "github" → "GitHub", "stripe api" → "Stripe").
Present the generated use case to the user in a clean format:
📋 Use Case Draft
Title: Email notifications for Pro subscriptions
Hook: Sends welcome emails automatically when users upgrade
Problem: No email notifications when users subscribe to Pro plan
Solution: Built Resend integration with React Email templates, hooked into Stripe webhooks for subscription events
Category: Business/SaaS
Tools: GitHub, Stripe, Resend
Requirements: Resend account, Stripe webhooks configured
Would you like to:
- Submit as-is
- Edit any fields
- Cancel
If they want to edit, iterate until they're happy.
Once they approve the content, ask about attribution:
Would you like to be credited for this submission?
Options:
1. ✅ Yes, credit me (connect Twitter or GitHub)
2. 🎭 No, submit anonymously
If you choose credit, you'll get a link on the live use case and build your profile in the community!
If they choose credit:
Generate OAuth links and send them:
Great! Connect your account to get credit:
🐦 X (Twitter): [init Twitter OAuth and get URL]
😺 GitHub: [init GitHub OAuth and get URL]
Click one of the links above to authenticate. I'll detect when you're connected and submit automatically!
Auto-detect connection:
⚠️ CRITICAL: You MUST actively monitor and respond to polling results in real-time. Do NOT run polling in the background and wait for system messages. Check the process output directly and respond immediately.
Immediately after sending OAuth links, start polling and watch for completion:
Recommended approach:
cd /path/to/skill
for i in {1..24}; do
# Try to get credential
RESULT=$(node get-credential.js --token [oauth_token] 2>&1)
if echo "$RESULT" | grep -q '"username"'; then
# SUCCESS! Parse the credential
USERNAME=$(echo "$RESULT" | grep -o '"username":"[^"]*"' | cut -d'"' -f4)
PLATFORM=$(echo "$RESULT" | grep -o '"platform":"[^"]*"' | cut -d'"' -f4)
# IMMEDIATELY notify user (don't wait for background processes!)
# Send this message RIGHT NOW before continuing
echo "User should see: ✅ Connected as @$USERNAME!"
# Store the full credential for submission
CREDENTIAL="$RESULT"
break
fi
# Not ready yet, wait 5 seconds
if [ $i -lt 24 ]; then
sleep 5
fi
done
# After loop, check if we got a credential
if [ -z "$CREDENTIAL" ]; then
echo "Timeout - credential not received within 2 minutes"
fi
Critical implementation notes:
exec(..., background: true) for polling - you won't see results in timeExample flow:
If timeout (2 minutes):
⏰ Still waiting for your connection. Take your time - I'll keep checking for another 2 minutes!
Then continue polling for another 24 attempts.
If they choose anonymous:
Proceed with anonymous submission (no author info).
Use submit.js to POST to the API:
With attribution:
node submit.js \
--title "Email notifications for Pro subscriptions" \
--hook "Sends welcome emails automatically when users upgrade" \
--problem "No email notifications when users subscribe to Pro plan" \
--solution "Built Resend integration with React Email templates..." \
--category "Business/SaaS" \
--skills "GitHub,Stripe,Resend" \
--requirements "Resend account, Stripe webhooks configured" \
--author-username "josephliow" \
--author-handle "josephliow" \
--author-platform "twitter" \
--author-link "https://twitter.com/josephliow"
Anonymous:
node submit.js \
--title "Email notifications for Pro subscriptions" \
--hook "Sends welcome emails automatically when users upgrade" \
--problem "No email notifications when users subscribe to Pro plan" \
--solution "Built Resend integration with React Email templates..." \
--category "Business/SaaS" \
--skills "GitHub,Stripe,Resend" \
--requirements "Resend account, Stripe webhooks configured" \
--anonymous
If successful, share the link with the user:
✅ Use case submitted successfully!
View it here: https://clawusecase.com/cases/email-notifications-for-pro-subscriptions
Thanks for sharing with the community! 🎉
If you get a 429 error:
⏰ You've hit the submission limit (10 per day).
Try again tomorrow or contact support if you need to submit more.
If fields are invalid (title too short, solution too brief):
❌ Submission failed: Title must be at least 20 characters
Let's fix that. What would you like the title to be?
For other errors, show the error message and offer to retry.
Help users create high-quality submissions:
Good Title:
Good Hook:
Good Problem:
Good Solution:
Help users pick the right category:
Users can submit up to 10 use cases per day. The API tracks by authorUsername (or IP for anonymous).
If they hit the limit, suggest:
The API has automatic quality filtering. Submissions must:
Help users meet these requirements before submitting.
User: I just built email notifications for when users subscribe
You: 🐧 Share Your Use Case
Hey! clawusecase.com is a community showcase where OpenClaw users share what they've built to inspire others.
Let me look at what you've been working on and draft a use case for you...
[analyzes recent conversation]
📋 Use Case Draft
Title: Email notifications for Pro subscriptions
Hook: Automatically sends welcome emails when users upgrade to Pro
Problem: Users upgrading to Pro weren't receiving confirmation emails, leading to confusion and support tickets about whether their payment went through.
Solution: Built a Resend email integration with custom React Email templates. Connected to Stripe webhooks to listen for subscription.created events. The welcome email includes upgrade confirmation, receipt, and next steps for accessing Pro features.
Category: Business/SaaS
Tools: Stripe, Resend, React, GitHub
Requirements: Resend account, Stripe webhooks configured
Would you like to:
- Submit as-is
- Edit any fields
- Cancel
User: Looks perfect!
You: Great! Would you like to be credited for this submission?
Options:
1. ✅ Yes, credit me (connect Twitter or GitHub)
2. 🎭 No, submit anonymously
User: Yes, credit me
You: Awesome! Connect your account to get credit:
🐦 X (Twitter): https://clawusecase.com/auth/connect?token=abc123&platform=twitter
😺 GitHub: https://clawusecase.com/auth/connect?token=def456&platform=github
Click one of the links above. I'll detect when you're connected and submit automatically!
[User clicks link and completes OAuth]
You: ✅ Connected as @josephliow!
Submitting your use case now...
[retrieves credential, submits]
✅ Use case submitted successfully!
View it here: https://clawusecase.com/cases/email-notifications-for-pro-subscriptions
Your use case is now live for the community to see. Thanks for sharing! 🎉
SKILL.md - This file (instructions)submit.js - Submits use case to clawusecase.com APIget-credential.js - Retrieves OAuth credential from Convex after authpoll-credential.sh - Helper script that polls for credential completionnormalize-tools.js - Normalizes tool/skill namesREADME.md - User documentationconfig.json - Skill configuration"Command not found: node"
Node.js is required. Install it: brew install node (macOS) or from nodejs.org
"Failed to connect to API" Check internet connection and that clawusecase.com is accessible.
"OAuth token not found" The token might have expired (10 min timeout). Generate a fresh OAuth link.