{
  "schemaVersion": "1.0",
  "item": {
    "slug": "share-usecase",
    "name": "Share use case",
    "source": "tencent",
    "type": "skill",
    "category": "内容创作",
    "sourceUrl": "https://clawhub.ai/josephl37/share-usecase",
    "canonicalUrl": "https://clawhub.ai/josephl37/share-usecase",
    "targetPlatform": "OpenClaw"
  },
  "install": {
    "downloadMode": "redirect",
    "downloadUrl": "/downloads/share-usecase",
    "sourceDownloadUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=share-usecase",
    "sourcePlatform": "tencent",
    "targetPlatform": "OpenClaw",
    "installMethod": "Manual import",
    "extraction": "Extract archive",
    "prerequisites": [
      "OpenClaw"
    ],
    "packageFormat": "ZIP package",
    "includedAssets": [
      "config.json",
      "submit.js",
      "normalize-tools.js",
      "README.md",
      "package.json",
      "poll-credential.sh"
    ],
    "primaryDoc": "SKILL.md",
    "quickSetup": [
      "Download the package from Yavira.",
      "Extract the archive and review SKILL.md first.",
      "Import or place the package into your OpenClaw setup."
    ],
    "agentAssist": {
      "summary": "Hand the extracted package to your coding agent with a concrete install brief instead of figuring it out manually.",
      "steps": [
        "Download the package from Yavira.",
        "Extract it into a folder your agent can access.",
        "Paste one of the prompts below and point your agent at the extracted folder."
      ],
      "prompts": [
        {
          "label": "New install",
          "body": "I downloaded a skill package from Yavira. Read SKILL.md from the extracted folder and install it by following the included instructions. Then review README.md for any prerequisites, environment setup, or post-install checks. Tell me what you changed and call out any manual steps you could not complete."
        },
        {
          "label": "Upgrade existing",
          "body": "I downloaded an updated skill package from Yavira. Read SKILL.md from the extracted folder, compare it with my current installation, and upgrade it while preserving any custom configuration unless the package docs explicitly say otherwise. Then review README.md for any prerequisites, environment setup, or post-install checks. Summarize what changed and any follow-up checks I should run."
        }
      ]
    },
    "sourceHealth": {
      "source": "tencent",
      "status": "healthy",
      "reason": "direct_download_ok",
      "recommendedAction": "download",
      "checkedAt": "2026-04-23T16:43:11.935Z",
      "expiresAt": "2026-04-30T16:43:11.935Z",
      "httpStatus": 200,
      "finalUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=4claw-imageboard",
      "contentType": "application/zip",
      "probeMethod": "head",
      "details": {
        "probeUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=4claw-imageboard",
        "contentDisposition": "attachment; filename=\"4claw-imageboard-1.0.1.zip\"",
        "redirectLocation": null,
        "bodySnippet": null
      },
      "scope": "source",
      "summary": "Source download looks usable.",
      "detail": "Yavira can redirect you to the upstream package for this source.",
      "primaryActionLabel": "Download for OpenClaw",
      "primaryActionHref": "/downloads/share-usecase"
    },
    "validation": {
      "installChecklist": [
        "Use the Yavira download entry.",
        "Review SKILL.md after the package is downloaded.",
        "Confirm the extracted package contains the expected setup assets."
      ],
      "postInstallChecks": [
        "Confirm the extracted package includes the expected docs or setup files.",
        "Validate the skill or prompts are available in your target agent workspace.",
        "Capture any manual follow-up steps the agent could not complete."
      ]
    },
    "downloadPageUrl": "https://openagent3.xyz/downloads/share-usecase",
    "agentPageUrl": "https://openagent3.xyz/skills/share-usecase/agent",
    "manifestUrl": "https://openagent3.xyz/skills/share-usecase/agent.json",
    "briefUrl": "https://openagent3.xyz/skills/share-usecase/agent.md"
  },
  "agentAssist": {
    "summary": "Hand the extracted package to your coding agent with a concrete install brief instead of figuring it out manually.",
    "steps": [
      "Download the package from Yavira.",
      "Extract it into a folder your agent can access.",
      "Paste one of the prompts below and point your agent at the extracted folder."
    ],
    "prompts": [
      {
        "label": "New install",
        "body": "I downloaded a skill package from Yavira. Read SKILL.md from the extracted folder and install it by following the included instructions. Then review README.md for any prerequisites, environment setup, or post-install checks. Tell me what you changed and call out any manual steps you could not complete."
      },
      {
        "label": "Upgrade existing",
        "body": "I downloaded an updated skill package from Yavira. Read SKILL.md from the extracted folder, compare it with my current installation, and upgrade it while preserving any custom configuration unless the package docs explicitly say otherwise. Then review README.md for any prerequisites, environment setup, or post-install checks. Summarize what changed and any follow-up checks I should run."
      }
    ]
  },
  "documentation": {
    "source": "clawhub",
    "primaryDoc": "SKILL.md",
    "sections": [
      {
        "title": "Share Use Case Skill",
        "body": "This skill helps you share your OpenClaw use cases to clawusecase.com."
      },
      {
        "title": "When to Use",
        "body": "Trigger this skill when the user wants to share a use case they've built with OpenClaw. They might say:\n\n\"/share_usecase\"\n\"I want to share this use case\"\n\"Let me submit this to clawusecase\"\n\"Share what I just built\"\n\nImportant: 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.\n\nImplementation 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."
      },
      {
        "title": "1. Greet and Explain",
        "body": "When the user triggers /share_usecase, start with a friendly greeting:\n\n🐧 Share Your Use Case\n\nHey! clawusecase.com is a community showcase where OpenClaw users share what they've built to inspire others.\n\nLet me look at what you've been working on and draft a use case for you..."
      },
      {
        "title": "2. Analyze Recent Context",
        "body": "Look back at the conversation history (last 50-100 messages or past few hours) to understand what the user built. Look for:\n\nWhat problem they were trying to solve\nWhat tools/integrations they used (GitHub, Stripe, Resend, etc.)\nHow they solved it\nAny requirements or setup needed"
      },
      {
        "title": "3. Generate Use Case Structure",
        "body": "Create a well-structured use case with these fields:\n\nRequired:\n\ntitle (50-100 chars) - Clear, descriptive title of what was built\nhook (100-200 chars) - One-sentence summary that grabs attention\nproblem (200-500 chars) - What problem this solves\nsolution (300-800 chars) - How it works, what was built\ncategory - One of: \"Productivity\", \"Development\", \"Business/SaaS\", \"Home Automation\", \"Social/Content\", \"Data & Analytics\", \"Fun\"\nskills (array) - Tools/technologies used (e.g., [\"GitHub\", \"Stripe\", \"Resend\"])\n\nOptional:\n\nrequirements - What you need to use this (API keys, accounts, etc.)"
      },
      {
        "title": "4. Normalize Tools/Skills",
        "body": "Before finalizing, normalize tool names using normalize-tools.js:\n\nnode normalize-tools.js \"github,stripe api,resend email\"\n\nThis ensures consistent naming (e.g., \"github\" → \"GitHub\", \"stripe api\" → \"Stripe\")."
      },
      {
        "title": "5. Show Preview and Get Approval",
        "body": "Present the generated use case to the user in a clean format:\n\n📋 Use Case Draft\n\nTitle: Email notifications for Pro subscriptions\nHook: Sends welcome emails automatically when users upgrade\n\nProblem: No email notifications when users subscribe to Pro plan\nSolution: Built Resend integration with React Email templates, hooked into Stripe webhooks for subscription events\n\nCategory: Business/SaaS\nTools: GitHub, Stripe, Resend\nRequirements: Resend account, Stripe webhooks configured\n\nWould you like to:\n- Submit as-is\n- Edit any fields\n- Cancel\n\nIf they want to edit, iterate until they're happy."
      },
      {
        "title": "6. Ask About Attribution",
        "body": "Once they approve the content, ask about attribution:\n\nWould you like to be credited for this submission?\n\nOptions:\n1. ✅ Yes, credit me (connect Twitter or GitHub)\n2. 🎭 No, submit anonymously\n\nIf you choose credit, you'll get a link on the live use case and build your profile in the community!\n\nIf they choose credit:\n\nGenerate OAuth links and send them:\n\nGreat! Connect your account to get credit:\n\n🐦 X (Twitter): [init Twitter OAuth and get URL]\n😺 GitHub: [init GitHub OAuth and get URL]\n\nClick one of the links above to authenticate. I'll detect when you're connected and submit automatically!\n\nAuto-detect connection:\n\n⚠️ 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.\n\nImmediately after sending OAuth links, start polling and watch for completion:\n\nRecommended approach:\n\ncd /path/to/skill\nfor i in {1..24}; do\n  # Try to get credential\n  RESULT=$(node get-credential.js --token [oauth_token] 2>&1)\n  \n  if echo \"$RESULT\" | grep -q '\"username\"'; then\n    # SUCCESS! Parse the credential\n    USERNAME=$(echo \"$RESULT\" | grep -o '\"username\":\"[^\"]*\"' | cut -d'\"' -f4)\n    PLATFORM=$(echo \"$RESULT\" | grep -o '\"platform\":\"[^\"]*\"' | cut -d'\"' -f4)\n    \n    # IMMEDIATELY notify user (don't wait for background processes!)\n    # Send this message RIGHT NOW before continuing\n    echo \"User should see: ✅ Connected as @$USERNAME!\"\n    \n    # Store the full credential for submission\n    CREDENTIAL=\"$RESULT\"\n    break\n  fi\n  \n  # Not ready yet, wait 5 seconds\n  if [ $i -lt 24 ]; then\n    sleep 5\n  fi\ndone\n\n# After loop, check if we got a credential\nif [ -z \"$CREDENTIAL\" ]; then\n  echo \"Timeout - credential not received within 2 minutes\"\nfi\n\nCritical implementation notes:\n\nDO NOT use exec(..., background: true) for polling - you won't see results in time\nDO run polling synchronously or check process output immediately\nIMMEDIATELY send \"✅ Connected as @username!\" message when detected\nDO NOT wait for system messages or background process completion\nParse the credential JSON directly from the command output\n\nExample flow:\n\nSend OAuth links to user\nImmediately start polling (synchronous checks every 5 seconds)\nEach iteration: Check if credential exists\nThe INSTANT it's found: Send message \"✅ Connected as @username! Submitting your use case now...\"\nExtract username/platform from credential JSON\nProceed with submission\n\nIf timeout (2 minutes):\n\n⏰ Still waiting for your connection. Take your time - I'll keep checking for another 2 minutes!\n\nThen continue polling for another 24 attempts.\n\nIf they choose anonymous:\n\nProceed with anonymous submission (no author info)."
      },
      {
        "title": "7. Submit to API",
        "body": "Use submit.js to POST to the API:\n\nWith attribution:\n\nnode submit.js \\\n  --title \"Email notifications for Pro subscriptions\" \\\n  --hook \"Sends welcome emails automatically when users upgrade\" \\\n  --problem \"No email notifications when users subscribe to Pro plan\" \\\n  --solution \"Built Resend integration with React Email templates...\" \\\n  --category \"Business/SaaS\" \\\n  --skills \"GitHub,Stripe,Resend\" \\\n  --requirements \"Resend account, Stripe webhooks configured\" \\\n  --author-username \"josephliow\" \\\n  --author-handle \"josephliow\" \\\n  --author-platform \"twitter\" \\\n  --author-link \"https://twitter.com/josephliow\"\n\nAnonymous:\n\nnode submit.js \\\n  --title \"Email notifications for Pro subscriptions\" \\\n  --hook \"Sends welcome emails automatically when users upgrade\" \\\n  --problem \"No email notifications when users subscribe to Pro plan\" \\\n  --solution \"Built Resend integration with React Email templates...\" \\\n  --category \"Business/SaaS\" \\\n  --skills \"GitHub,Stripe,Resend\" \\\n  --requirements \"Resend account, Stripe webhooks configured\" \\\n  --anonymous"
      },
      {
        "title": "8. Confirm Submission",
        "body": "If successful, share the link with the user:\n\n✅ Use case submitted successfully!\n\nView it here: https://clawusecase.com/cases/email-notifications-for-pro-subscriptions\n\nThanks for sharing with the community! 🎉"
      },
      {
        "title": "Rate Limiting",
        "body": "If you get a 429 error:\n\n⏰ You've hit the submission limit (10 per day).\nTry again tomorrow or contact support if you need to submit more."
      },
      {
        "title": "Validation Errors",
        "body": "If fields are invalid (title too short, solution too brief):\n\n❌ Submission failed: Title must be at least 20 characters\n\nLet's fix that. What would you like the title to be?"
      },
      {
        "title": "API Errors",
        "body": "For other errors, show the error message and offer to retry."
      },
      {
        "title": "Tips for Good Use Cases",
        "body": "Help users create high-quality submissions:\n\nGood Title:\n\n✅ \"Email notifications for Pro subscriptions\"\n❌ \"Email thing I built\"\n\nGood Hook:\n\n✅ \"Sends welcome emails automatically when users upgrade\"\n❌ \"Sends emails\"\n\nGood Problem:\n\n✅ \"Users who upgraded to Pro weren't getting confirmation emails, causing confusion and support tickets\"\n❌ \"No emails\"\n\nGood Solution:\n\n✅ \"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.\"\n❌ \"Made it send emails with Stripe\""
      },
      {
        "title": "Category Guidelines",
        "body": "Help users pick the right category:\n\nProductivity - Task management, scheduling, reminders, automation\nDevelopment - CI/CD, code review, deployment, testing\nBusiness/SaaS - Customer management, billing, analytics, marketing\nHome Automation - Smart home, IoT, cameras, sensors\nSocial/Content - Social media, content creation, publishing\nData & Analytics - Reports, dashboards, data processing\nFun - Games, experiments, creative projects, humor"
      },
      {
        "title": "Rate Limiting",
        "body": "Users can submit up to 10 use cases per day. The API tracks by authorUsername (or IP for anonymous).\n\nIf they hit the limit, suggest:\n\nWait until tomorrow\nMake sure each submission is unique and valuable\nContact support if they need a higher limit"
      },
      {
        "title": "Quality Guidelines",
        "body": "The API has automatic quality filtering. Submissions must:\n\nTitle: 20-200 characters\nHook: 50-500 characters\nProblem: 100-2000 characters\nSolution: 200-5000 characters\nAt least 1 skill/tool\nValid category\n\nHelp users meet these requirements before submitting."
      },
      {
        "title": "Example Interaction",
        "body": "User: I just built email notifications for when users subscribe\nYou: 🐧 Share Your Use Case\n\nHey! clawusecase.com is a community showcase where OpenClaw users share what they've built to inspire others.\n\nLet me look at what you've been working on and draft a use case for you...\n\n[analyzes recent conversation]\n\n📋 Use Case Draft\n\nTitle: Email notifications for Pro subscriptions\nHook: Automatically sends welcome emails when users upgrade to Pro\n\nProblem: Users upgrading to Pro weren't receiving confirmation emails, leading to confusion and support tickets about whether their payment went through.\n\nSolution: 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.\n\nCategory: Business/SaaS\nTools: Stripe, Resend, React, GitHub\nRequirements: Resend account, Stripe webhooks configured\n\nWould you like to:\n- Submit as-is\n- Edit any fields\n- Cancel\n\nUser: Looks perfect!\nYou: Great! Would you like to be credited for this submission?\n\nOptions:\n1. ✅ Yes, credit me (connect Twitter or GitHub)\n2. 🎭 No, submit anonymously\n\nUser: Yes, credit me\nYou: Awesome! Connect your account to get credit:\n\n🐦 X (Twitter): https://clawusecase.com/auth/connect?token=abc123&platform=twitter\n😺 GitHub: https://clawusecase.com/auth/connect?token=def456&platform=github\n\nClick one of the links above. I'll detect when you're connected and submit automatically!\n\n[User clicks link and completes OAuth]\n\nYou: ✅ Connected as @josephliow!\n\nSubmitting your use case now...\n\n[retrieves credential, submits]\n\n✅ Use case submitted successfully!\n\nView it here: https://clawusecase.com/cases/email-notifications-for-pro-subscriptions\n\nYour use case is now live for the community to see. Thanks for sharing! 🎉"
      },
      {
        "title": "Files in This Skill",
        "body": "SKILL.md - This file (instructions)\nsubmit.js - Submits use case to clawusecase.com API\nget-credential.js - Retrieves OAuth credential from Convex after auth\npoll-credential.sh - Helper script that polls for credential completion\nnormalize-tools.js - Normalizes tool/skill names\nREADME.md - User documentation\nconfig.json - Skill configuration"
      },
      {
        "title": "Troubleshooting",
        "body": "\"Command not found: node\"\nNode.js is required. Install it: brew install node (macOS) or from nodejs.org\n\n\"Failed to connect to API\"\nCheck internet connection and that clawusecase.com is accessible.\n\n\"OAuth token not found\"\nThe token might have expired (10 min timeout). Generate a fresh OAuth link."
      }
    ],
    "body": "Share Use Case Skill\n\nThis skill helps you share your OpenClaw use cases to clawusecase.com.\n\nWhen to Use\n\nTrigger this skill when the user wants to share a use case they've built with OpenClaw. They might say:\n\n\"/share_usecase\"\n\"I want to share this use case\"\n\"Let me submit this to clawusecase\"\n\"Share what I just built\"\n\nImportant: 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.\n\nImplementation 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.\n\nHow It Works\n1. Greet and Explain\n\nWhen the user triggers /share_usecase, start with a friendly greeting:\n\n🐧 Share Your Use Case\n\nHey! clawusecase.com is a community showcase where OpenClaw users share what they've built to inspire others.\n\nLet me look at what you've been working on and draft a use case for you...\n\n2. Analyze Recent Context\n\nLook back at the conversation history (last 50-100 messages or past few hours) to understand what the user built. Look for:\n\nWhat problem they were trying to solve\nWhat tools/integrations they used (GitHub, Stripe, Resend, etc.)\nHow they solved it\nAny requirements or setup needed\n3. Generate Use Case Structure\n\nCreate a well-structured use case with these fields:\n\nRequired:\n\ntitle (50-100 chars) - Clear, descriptive title of what was built\nhook (100-200 chars) - One-sentence summary that grabs attention\nproblem (200-500 chars) - What problem this solves\nsolution (300-800 chars) - How it works, what was built\ncategory - One of: \"Productivity\", \"Development\", \"Business/SaaS\", \"Home Automation\", \"Social/Content\", \"Data & Analytics\", \"Fun\"\nskills (array) - Tools/technologies used (e.g., [\"GitHub\", \"Stripe\", \"Resend\"])\n\nOptional:\n\nrequirements - What you need to use this (API keys, accounts, etc.)\n4. Normalize Tools/Skills\n\nBefore finalizing, normalize tool names using normalize-tools.js:\n\nnode normalize-tools.js \"github,stripe api,resend email\"\n\n\nThis ensures consistent naming (e.g., \"github\" → \"GitHub\", \"stripe api\" → \"Stripe\").\n\n5. Show Preview and Get Approval\n\nPresent the generated use case to the user in a clean format:\n\n📋 Use Case Draft\n\nTitle: Email notifications for Pro subscriptions\nHook: Sends welcome emails automatically when users upgrade\n\nProblem: No email notifications when users subscribe to Pro plan\nSolution: Built Resend integration with React Email templates, hooked into Stripe webhooks for subscription events\n\nCategory: Business/SaaS\nTools: GitHub, Stripe, Resend\nRequirements: Resend account, Stripe webhooks configured\n\nWould you like to:\n- Submit as-is\n- Edit any fields\n- Cancel\n\n\nIf they want to edit, iterate until they're happy.\n\n6. Ask About Attribution\n\nOnce they approve the content, ask about attribution:\n\nWould you like to be credited for this submission?\n\nOptions:\n1. ✅ Yes, credit me (connect Twitter or GitHub)\n2. 🎭 No, submit anonymously\n\nIf you choose credit, you'll get a link on the live use case and build your profile in the community!\n\n\nIf they choose credit:\n\nGenerate OAuth links and send them:\n\nGreat! Connect your account to get credit:\n\n🐦 X (Twitter): [init Twitter OAuth and get URL]\n😺 GitHub: [init GitHub OAuth and get URL]\n\nClick one of the links above to authenticate. I'll detect when you're connected and submit automatically!\n\n\nAuto-detect connection:\n\n⚠️ 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.\n\nImmediately after sending OAuth links, start polling and watch for completion:\n\nRecommended approach:\n\ncd /path/to/skill\nfor i in {1..24}; do\n  # Try to get credential\n  RESULT=$(node get-credential.js --token [oauth_token] 2>&1)\n  \n  if echo \"$RESULT\" | grep -q '\"username\"'; then\n    # SUCCESS! Parse the credential\n    USERNAME=$(echo \"$RESULT\" | grep -o '\"username\":\"[^\"]*\"' | cut -d'\"' -f4)\n    PLATFORM=$(echo \"$RESULT\" | grep -o '\"platform\":\"[^\"]*\"' | cut -d'\"' -f4)\n    \n    # IMMEDIATELY notify user (don't wait for background processes!)\n    # Send this message RIGHT NOW before continuing\n    echo \"User should see: ✅ Connected as @$USERNAME!\"\n    \n    # Store the full credential for submission\n    CREDENTIAL=\"$RESULT\"\n    break\n  fi\n  \n  # Not ready yet, wait 5 seconds\n  if [ $i -lt 24 ]; then\n    sleep 5\n  fi\ndone\n\n# After loop, check if we got a credential\nif [ -z \"$CREDENTIAL\" ]; then\n  echo \"Timeout - credential not received within 2 minutes\"\nfi\n\n\nCritical implementation notes:\n\nDO NOT use exec(..., background: true) for polling - you won't see results in time\nDO run polling synchronously or check process output immediately\nIMMEDIATELY send \"✅ Connected as @username!\" message when detected\nDO NOT wait for system messages or background process completion\nParse the credential JSON directly from the command output\n\nExample flow:\n\nSend OAuth links to user\nImmediately start polling (synchronous checks every 5 seconds)\nEach iteration: Check if credential exists\nThe INSTANT it's found: Send message \"✅ Connected as @username! Submitting your use case now...\"\nExtract username/platform from credential JSON\nProceed with submission\n\nIf timeout (2 minutes):\n\n⏰ Still waiting for your connection. Take your time - I'll keep checking for another 2 minutes!\n\n\nThen continue polling for another 24 attempts.\n\nIf they choose anonymous:\n\nProceed with anonymous submission (no author info).\n\n7. Submit to API\n\nUse submit.js to POST to the API:\n\nWith attribution:\n\nnode submit.js \\\n  --title \"Email notifications for Pro subscriptions\" \\\n  --hook \"Sends welcome emails automatically when users upgrade\" \\\n  --problem \"No email notifications when users subscribe to Pro plan\" \\\n  --solution \"Built Resend integration with React Email templates...\" \\\n  --category \"Business/SaaS\" \\\n  --skills \"GitHub,Stripe,Resend\" \\\n  --requirements \"Resend account, Stripe webhooks configured\" \\\n  --author-username \"josephliow\" \\\n  --author-handle \"josephliow\" \\\n  --author-platform \"twitter\" \\\n  --author-link \"https://twitter.com/josephliow\"\n\n\nAnonymous:\n\nnode submit.js \\\n  --title \"Email notifications for Pro subscriptions\" \\\n  --hook \"Sends welcome emails automatically when users upgrade\" \\\n  --problem \"No email notifications when users subscribe to Pro plan\" \\\n  --solution \"Built Resend integration with React Email templates...\" \\\n  --category \"Business/SaaS\" \\\n  --skills \"GitHub,Stripe,Resend\" \\\n  --requirements \"Resend account, Stripe webhooks configured\" \\\n  --anonymous\n\n8. Confirm Submission\n\nIf successful, share the link with the user:\n\n✅ Use case submitted successfully!\n\nView it here: https://clawusecase.com/cases/email-notifications-for-pro-subscriptions\n\nThanks for sharing with the community! 🎉\n\nError Handling\nRate Limiting\n\nIf you get a 429 error:\n\n⏰ You've hit the submission limit (10 per day).\nTry again tomorrow or contact support if you need to submit more.\n\nValidation Errors\n\nIf fields are invalid (title too short, solution too brief):\n\n❌ Submission failed: Title must be at least 20 characters\n\nLet's fix that. What would you like the title to be?\n\nAPI Errors\n\nFor other errors, show the error message and offer to retry.\n\nTips for Good Use Cases\n\nHelp users create high-quality submissions:\n\nGood Title:\n\n✅ \"Email notifications for Pro subscriptions\"\n❌ \"Email thing I built\"\n\nGood Hook:\n\n✅ \"Sends welcome emails automatically when users upgrade\"\n❌ \"Sends emails\"\n\nGood Problem:\n\n✅ \"Users who upgraded to Pro weren't getting confirmation emails, causing confusion and support tickets\"\n❌ \"No emails\"\n\nGood Solution:\n\n✅ \"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.\"\n❌ \"Made it send emails with Stripe\"\nCategory Guidelines\n\nHelp users pick the right category:\n\nProductivity - Task management, scheduling, reminders, automation\nDevelopment - CI/CD, code review, deployment, testing\nBusiness/SaaS - Customer management, billing, analytics, marketing\nHome Automation - Smart home, IoT, cameras, sensors\nSocial/Content - Social media, content creation, publishing\nData & Analytics - Reports, dashboards, data processing\nFun - Games, experiments, creative projects, humor\nRate Limiting\n\nUsers can submit up to 10 use cases per day. The API tracks by authorUsername (or IP for anonymous).\n\nIf they hit the limit, suggest:\n\nWait until tomorrow\nMake sure each submission is unique and valuable\nContact support if they need a higher limit\nQuality Guidelines\n\nThe API has automatic quality filtering. Submissions must:\n\nTitle: 20-200 characters\nHook: 50-500 characters\nProblem: 100-2000 characters\nSolution: 200-5000 characters\nAt least 1 skill/tool\nValid category\n\nHelp users meet these requirements before submitting.\n\nExample Interaction\nUser: I just built email notifications for when users subscribe\nYou: 🐧 Share Your Use Case\n\nHey! clawusecase.com is a community showcase where OpenClaw users share what they've built to inspire others.\n\nLet me look at what you've been working on and draft a use case for you...\n\n[analyzes recent conversation]\n\n📋 Use Case Draft\n\nTitle: Email notifications for Pro subscriptions\nHook: Automatically sends welcome emails when users upgrade to Pro\n\nProblem: Users upgrading to Pro weren't receiving confirmation emails, leading to confusion and support tickets about whether their payment went through.\n\nSolution: 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.\n\nCategory: Business/SaaS\nTools: Stripe, Resend, React, GitHub\nRequirements: Resend account, Stripe webhooks configured\n\nWould you like to:\n- Submit as-is\n- Edit any fields\n- Cancel\n\nUser: Looks perfect!\nYou: Great! Would you like to be credited for this submission?\n\nOptions:\n1. ✅ Yes, credit me (connect Twitter or GitHub)\n2. 🎭 No, submit anonymously\n\nUser: Yes, credit me\nYou: Awesome! Connect your account to get credit:\n\n🐦 X (Twitter): https://clawusecase.com/auth/connect?token=abc123&platform=twitter\n😺 GitHub: https://clawusecase.com/auth/connect?token=def456&platform=github\n\nClick one of the links above. I'll detect when you're connected and submit automatically!\n\n[User clicks link and completes OAuth]\n\nYou: ✅ Connected as @josephliow!\n\nSubmitting your use case now...\n\n[retrieves credential, submits]\n\n✅ Use case submitted successfully!\n\nView it here: https://clawusecase.com/cases/email-notifications-for-pro-subscriptions\n\nYour use case is now live for the community to see. Thanks for sharing! 🎉\n\nFiles in This Skill\nSKILL.md - This file (instructions)\nsubmit.js - Submits use case to clawusecase.com API\nget-credential.js - Retrieves OAuth credential from Convex after auth\npoll-credential.sh - Helper script that polls for credential completion\nnormalize-tools.js - Normalizes tool/skill names\nREADME.md - User documentation\nconfig.json - Skill configuration\nTroubleshooting\n\n\"Command not found: node\" Node.js is required. Install it: brew install node (macOS) or from nodejs.org\n\n\"Failed to connect to API\" Check internet connection and that clawusecase.com is accessible.\n\n\"OAuth token not found\" The token might have expired (10 min timeout). Generate a fresh OAuth link."
  },
  "trust": {
    "sourceLabel": "tencent",
    "provenanceUrl": "https://clawhub.ai/josephl37/share-usecase",
    "publisherUrl": "https://clawhub.ai/josephl37/share-usecase",
    "owner": "josephl37",
    "version": "1.0.1",
    "license": null,
    "verificationStatus": "Indexed source record"
  },
  "links": {
    "detailUrl": "https://openagent3.xyz/skills/share-usecase",
    "downloadUrl": "https://openagent3.xyz/downloads/share-usecase",
    "agentUrl": "https://openagent3.xyz/skills/share-usecase/agent",
    "manifestUrl": "https://openagent3.xyz/skills/share-usecase/agent.json",
    "briefUrl": "https://openagent3.xyz/skills/share-usecase/agent.md"
  }
}