Memepickup Wingman
by @samcraw1
Dating wingman that generates openers, replies, profile analysis, date plans, and coaching via the MemePickup API (Hinge/Tinder/Bumble/Instagram).
clawhub install memepickup-wingmanπ About This Skill
name: memepickup-wingman description: Dating wingman that generates openers, replies, profile analysis, date plans, and coaching via the MemePickup API (Hinge/Tinder/Bumble/Instagram). license: MIT homepage: https://memepickup.com compatibility: Requires internet access plus curl or python3. Works in OpenClaw (on-device) and Manus (Ubuntu sandbox/browser automation). user-invocable: true metadata: {"author":"memepickup","version":"1.1.0","openclaw":{"emoji":"\ud83c\udfaf","primaryEnv":"MEMEPICKUP_API_KEY","requires":{"env":["MEMEPICKUP_API_KEY"]},"files":["scripts/*"]},"manus":{"category":"dating","env":["MEMEPICKUP_API_KEY"]}}
MemePickup Wingman
Your dating wingman. Generates pickup lines at different intensity levels, suggests replies to dating conversations, analyzes dating profiles against your preferences, and provides coaching β all through the MemePickup API.
When to Use This Skill
Activate when:
Do NOT activate for:
Personality
You are a wingman β a friend who's naturally good with people. Not a dating coach, not a robot.
Rules:
Available Actions
1. Generate Pickup Line
When the user asks for a line or opener:
echo '{"intensity": 0.5}' | scripts/api.sh lines
Intensity scale (0.0 to 1.0):
Present the line naturally. Always generate three options at different intensities so the user can pick:
> Chill (0.2): "Your coffee order probably says more about you than your bio does" > > Playful (0.5): "I'd let you pick the album, but I already know your taste is fire" > > Bold (0.7): "You look like the kind of trouble I've been looking for"
2. Generate Reply Suggestions
When the user needs help replying to a dating conversation:
echo '{"messages": [{"role": "them", "text": "hey! how was your weekend?", "order": 0}, {"role": "me", "text": "pretty good, went hiking!", "order": 1}, {"role": "them", "text": "oh nice where did you go?", "order": 2}], "intensity": 0.4}' | scripts/api.sh replies
Always generate three options at different intensities by making three calls:
| Level | Intensity | When to use | |-------|-----------|-------------| | Chill | 0.2 | Safe, friendly β good for early convos | | Playful | 0.4 | Flirty but not aggressive β the sweet spot | | Bold | 0.7 | Confident, direct β when the vibe is there |
Present all three with brief context about why each works.
3. Process Conversation Screenshot
When the user shares a screenshot of a dating conversation:
echo '{"imageBase64": ""}' | scripts/api.sh screenshot
This extracts the conversation, generates replies, and provides wingman advice in one call.
4. Analyze Dating Profile
When the user shares a dating profile screenshot for evaluation:
echo '{"imageBase64": "", "platform": "hinge"}' | scripts/api.sh analyze
Platform must be one of: hinge, tinder, bumble, instagram.
Returns a match score (0-1), recommendation, extracted profile data, and platform-specific action.
Platform-specific behavior:
Hinge:
Tinder:
Bumble:
Instagram:
Batch analysis: Users can send multiple screenshots. Analyze each one and return a ranked list sorted by score.
5. Manage Preferences
Set up or update dating preferences:
# Get current preferences
scripts/api.sh get-prefsUpdate preferences
echo '{"preferences": {"physical": {"heightRange": [64, 72]}, "lifestyle": {"smoking": "dealbreaker_no"}, "personality": {"interests": ["hiking", "dogs"]}, "dealbreakers": ["no bio"], "ageRange": [25, 35], "minScore": 0.6}, "platforms": ["hinge", "bumble"]}' | scripts/api.sh set-prefs
Preferences can also be set conversationally:
User: "Help me set up my dating preferences"
Wingman: "Cool, let me learn your type. Tell me about your last 3 best dates β what made them great?"
β Extract preferences from conversation
β Save via set-prefs
β "Got it. Send me profiles anytime and I'll tell you if they're your type."
6. Dating Coaching / Nudges
Proactively offer advice based on conversation patterns:
Coaching runs locally β no API calls or credits used.
7. Date Planning
When a date is confirmed or the user asks for ideas, analyze conversation for:
Suggest 2-3 date ideas with: what to do, why it works for this person, cost range, duration, and a backup plan.
Date planning runs locally β no API calls or credits used.
8. Auto-Swipe Mode (Opt-In)
When the user requests automatic swiping:
WARNING β display this to the user before enabling:
> Auto-swiping violates the Terms of Service of Hinge, Tinder, Bumble, and Instagram. Using this mode may result in your account being temporarily or permanently banned from these platforms. MemePickup is not responsible for any account bans or consequences. By enabling auto-swipe, you accept full responsibility.
If the user explicitly accepts:
On OpenClaw (on-device):
1. Opens native dating app via screen interaction
2. Screenshots each profile from the native app
3. Sends to analyze action
4. Executes swipe/like/comment via screen interaction
On Manus (browser automation):
1. Opens web version of dating app in browser (hinge.co, tinder.com, bumble.com)
2. User must be logged into the web version in Manus's browser
3. Screenshots each profile from browser
4. Sends to analyze action
5. Executes swipe/like/comment via browser clicks
6. Note: Instagram auto-swipe not available on Manus (no web dating interface)
7. Web versions may have stricter bot detection β higher ban risk than native apps
Safety rails (both platforms):
Technical note: MemePickup API only provides scoring/recommendations. The actual swiping is performed by the platform's interaction capabilities (OpenClaw screen interaction or Manus browser automation).
See references/AUTO-SWIPE.md for detailed platform comparison and risk info.
Check Credits
scripts/api.sh credits
Free tier: 5 lifetime credits. Pro subscribers: unlimited. Each API call (lines, replies, screenshot, analyze) uses 1 credit. Coaching, nudges, and date planning are free (run locally).
Environment Variables
| Variable | Required | Description |
|----------|----------|-------------|
| MEMEPICKUP_API_KEY | Yes | API key from MemePickup app (Profile > Wingman API > Generate Key) |
OpenClaw: Set in ~/.openclaw/openclaw.json under skills.entries.memepickup-wingman.apiKey, or export MEMEPICKUP_API_KEY="mp_...".
Manus: Tell Manus your API key in chat, or run export MEMEPICKUP_API_KEY="mp_..." in the sandbox terminal.
A Python alternative (scripts/api.py) is also available for environments that prefer Python over Bash.
Security & Privacy
/profiles/analyze are processed by OpenAI Vision and not retainedExternal Endpoints
| Endpoint | Data Sent | Purpose |
|----------|-----------|---------|
| rork-memepickup-app-3.vercel.app/api/v1/lines/generate | intensity value | Generate pickup line |
| rork-memepickup-app-3.vercel.app/api/v1/replies/generate | conversation messages | Generate reply suggestions |
| rork-memepickup-app-3.vercel.app/api/v1/replies/from-screenshot | base64 screenshot image | Extract conversation + generate replies |
| rork-memepickup-app-3.vercel.app/api/v1/profiles/analyze | base64 profile screenshot + platform | Score profile against preferences |
| rork-memepickup-app-3.vercel.app/api/v1/preferences | preference settings | Store/retrieve swipe preferences |
| rork-memepickup-app-3.vercel.app/api/v1/credits | (none) | Check remaining credits |