skills$openclaw/share_usecase
josephl37877ā˜…

by josephl37

share_usecase – OpenClaw Skill

share_usecase is an OpenClaw Skills integration for coding workflows. Share your OpenClaw use case to clawusecase.com. Analyzes your recent work and creates a submission for the community.

877 stars9.7k forksSecurity L1
Updated Feb 7, 2026Created Feb 7, 2026coding

Skill Snapshot

nameshare_usecase
descriptionShare your OpenClaw use case to clawusecase.com. Analyzes your recent work and creates a submission for the community. OpenClaw Skills integration.
ownerjosephl37
repositoryjosephl37/share-usecase
languageMarkdown
licenseMIT
topics
securityL1
installopenclaw add @josephl37/share-usecase
last updatedFeb 7, 2026

Maintainer

josephl37

josephl37

Maintains share_usecase in the OpenClaw Skills directory.

View GitHub profile
File Explorer
9 files
.
_meta.json
460 B
config.json
122 B
get-credential.js
2.9 KB
normalize-tools.js
4.7 KB
package.json
521 B
poll-credential.sh
866 B
README.md
4.2 KB
SKILL.md
12.2 KB
submit.js
5.5 KB
SKILL.md

name: share_usecase description: "Share your OpenClaw use case to clawusecase.com. Analyzes your recent work and creates a submission for the community." author: "Rex 🐧" version: "2.0.1"

Share Use Case Skill

This skill helps you share your OpenClaw use cases to clawusecase.com.

When to Use

Trigger this skill when the user wants to share a use case they've built with OpenClaw. They might say:

  • "/share_usecase"
  • "I want to share this use case"
  • "Let me submit this to clawusecase"
  • "Share what I just built"

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.

How It Works

1. Greet and Explain

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...

2. Analyze Recent Context

Look back at the conversation history (last 50-100 messages or past few hours) to understand what the user built. Look for:

  • What problem they were trying to solve
  • What tools/integrations they used (GitHub, Stripe, Resend, etc.)
  • How they solved it
  • Any requirements or setup needed

3. Generate Use Case Structure

Create a well-structured use case with these fields:

Required:

  • title (50-100 chars) - Clear, descriptive title of what was built
  • hook (100-200 chars) - One-sentence summary that grabs attention
  • problem (200-500 chars) - What problem this solves
  • solution (300-800 chars) - How it works, what was built
  • category - 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.)

4. Normalize Tools/Skills

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").

5. Show Preview and Get Approval

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.

6. Ask About Attribution

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:

  1. DO NOT use exec(..., background: true) for polling - you won't see results in time
  2. DO run polling synchronously or check process output immediately
  3. IMMEDIATELY send "āœ… Connected as @username!" message when detected
  4. DO NOT wait for system messages or background process completion
  5. Parse the credential JSON directly from the command output

Example flow:

  1. Send OAuth links to user
  2. Immediately start polling (synchronous checks every 5 seconds)
  3. Each iteration: Check if credential exists
  4. The INSTANT it's found: Send message "āœ… Connected as @username! Submitting your use case now..."
  5. Extract username/platform from credential JSON
  6. Proceed with submission

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).

7. Submit to API

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

8. Confirm Submission

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! šŸŽ‰

Error Handling

Rate Limiting

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.

Validation Errors

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?

API Errors

For other errors, show the error message and offer to retry.

Tips for Good Use Cases

Help users create high-quality submissions:

Good Title:

  • āœ… "Email notifications for Pro subscriptions"
  • āŒ "Email thing I built"

Good Hook:

  • āœ… "Sends welcome emails automatically when users upgrade"
  • āŒ "Sends emails"

Good Problem:

  • āœ… "Users who upgraded to Pro weren't getting confirmation emails, causing confusion and support tickets"
  • āŒ "No emails"

Good Solution:

  • āœ… "Built a Resend integration with React Email templates. Set up Stripe webhooks to trigger on subscription.created events. Template includes upgrade details and next steps."
  • āŒ "Made it send emails with Stripe"

Category Guidelines

Help users pick the right category:

  • Productivity - Task management, scheduling, reminders, automation
  • Development - CI/CD, code review, deployment, testing
  • Business/SaaS - Customer management, billing, analytics, marketing
  • Home Automation - Smart home, IoT, cameras, sensors
  • Social/Content - Social media, content creation, publishing
  • Data & Analytics - Reports, dashboards, data processing
  • Fun - Games, experiments, creative projects, humor

Rate Limiting

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:

  • Wait until tomorrow
  • Make sure each submission is unique and valuable
  • Contact support if they need a higher limit

Quality Guidelines

The API has automatic quality filtering. Submissions must:

  • Title: 20-200 characters
  • Hook: 50-500 characters
  • Problem: 100-2000 characters
  • Solution: 200-5000 characters
  • At least 1 skill/tool
  • Valid category

Help users meet these requirements before submitting.

Example Interaction

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! šŸŽ‰

Files in This Skill

  • SKILL.md - This file (instructions)
  • submit.js - Submits use case to clawusecase.com API
  • get-credential.js - Retrieves OAuth credential from Convex after auth
  • poll-credential.sh - Helper script that polls for credential completion
  • normalize-tools.js - Normalizes tool/skill names
  • README.md - User documentation
  • config.json - Skill configuration

Troubleshooting

"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.

README.md

Share Use Case Skill

Share your OpenClaw use cases to clawusecase.com - a community showcase platform.

What It Does

When you trigger /share_usecase in your OpenClaw chat, your assistant will:

  1. Analyze what you built - Looks at your recent conversation to understand your project
  2. Draft a use case - Creates a well-structured submission with title, problem, solution, and tools used
  3. Let you review and edit - Shows you a preview before submitting
  4. Ask about attribution - Choose to be credited (via Twitter/GitHub OAuth) or submit anonymously
  5. Publish to the community - Your use case goes live instantly on clawusecase.com

Quick Start

Just say:

/share_usecase

Your assistant handles the rest!

Examples

"I just built email notifications for when users subscribe to Pro" → Your assistant drafts a use case about building a Stripe + Resend integration

"Built a custom dashboard with real-time updates" → Generates a use case about websockets and data visualization

Attribution Options

When you submit, you can choose:

āœ… Get Credit

Connect your X (Twitter) or GitHub account to:

  • Get a link on the live use case
  • Build your profile in the community
  • Show off your work

šŸŽ­ Stay Anonymous

Submit without attribution if you prefer privacy

How It Works Behind the Scenes

For Users

  1. Trigger /share_usecase
  2. Review the generated draft
  3. Choose attribution or anonymous
  4. Done! Your use case is live

For Developers/Self-Hosters

The skill uses these scripts:

submit.js - Submits use case to API

node submit.js \
  --title "Your title" \
  --hook "Short summary" \
  --problem "What problem this solves" \
  --solution "How it works" \
  --category "Development" \
  --skills "GitHub,Stripe,Resend" \
  --requirements "Optional setup notes" \
  --author-username "yourhandle" \
  --author-handle "yourhandle" \
  --author-platform "twitter" \
  --author-link "https://twitter.com/yourhandle"

Or anonymous:

node submit.js ... --anonymous

get-credential.js - Retrieves OAuth credential after auth

node get-credential.js --token abc123

normalize-tools.js - Normalizes tool/skill names

node normalize-tools.js "github,stripe api,resend email"
# Output: GitHub, Stripe, Resend

Configuration

Edit config.json:

{
  "apiUrl": "clawusecase.com",
  "apiPath": "/api/submissions",
  "convexUrl": "benevolent-tortoise-657.convex.cloud"
}

Categories

  • Productivity - Task management, scheduling, automation
  • Development - CI/CD, deployment, testing, code review
  • Business/SaaS - Customer management, billing, analytics
  • Home Automation - Smart home, IoT, cameras
  • Social/Content - Social media, content creation
  • Data & Analytics - Reports, dashboards, data processing
  • Fun - Games, experiments, creative projects

Quality Guidelines

Your use case should:

  • Title: 20-200 characters, clear and descriptive
  • Hook: 50-500 characters, attention-grabbing summary
  • Problem: 100-2000 characters, what issue this solves
  • Solution: 200-5000 characters, how it works
  • At least 1 skill/tool used
  • Valid category

Rate Limits

  • 10 submissions per day per user
  • Helps maintain quality and prevent spam

Examples of Great Use Cases

Good šŸ‘

Title: "Email notifications for Pro subscriptions" Hook: "Automatically sends welcome emails when users upgrade" Problem: "Users upgrading to Pro weren't receiving confirmation emails, leading to support tickets" Solution: "Built a Resend email integration with React Email templates, connected to Stripe webhooks..."

Needs Work šŸ‘Ž

Title: "Email thing" Hook: "Sends emails" Problem: "No emails" Solution: "Made it work"

Privacy

  • OAuth only accesses your public profile (username, display name)
  • We never post on your behalf or read private data
  • Anonymous submissions are completely private

Support

Issues or questions?

  • Check clawusecase.com
  • Ask your assistant for help
  • Open an issue on the skill repo

License

MIT - See LICENSE file


Built with 🐧 by Rex

Permissions & Security

Security level L1: Low-risk skills with minimal permissions. Review inputs and outputs before running in production.

Requirements

  • OpenClaw CLI installed and configured.
  • Language: Markdown
  • License: MIT
  • Topics:

FAQ

How do I install share_usecase?

Run openclaw add @josephl37/share-usecase in your terminal. This installs share_usecase into your OpenClaw Skills catalog.

Does this skill run locally or in the cloud?

OpenClaw Skills execute locally by default. Review the SKILL.md and permissions before running any skill.

Where can I verify the source code?

The source repository is available at https://github.com/openclaw/skills/tree/main/skills/josephl37/share-usecase. Review commits and README documentation before installing.