reddit-quote-topaz
Create an Instagram carousel from a popular-picks list with Reddit quotes + Topaz 2x upscaling. Cover = "clean" style ("Top CATEGORY in Destination"), attraction slides = "quote" style with Reddit quotes + subreddit attribution. All photos Topaz-enhanced before overlay. Trigger phrase "reddit-quote-topaz". Use when Bernard says "reddit-quote-topaz" or wants a Topaz-enhanced Reddit-quote carousel.
Install via CLI (Recommended)
clawhub install openclaw/skills/skills/psyduckler/reddit-quote-topazReddit Quote Carousel (Topaz Enhanced)
Same as reddit-quote-carousel but adds Topaz Labs 2x AI upscale after photo finding, before text overlays.
Trigger
Bernard says "reddit-quote-topaz" → use this skill.
Bernard says "reddit-quote" → use reddit-quote-carousel (no Topaz).
Parameters
- destination (required): City/region (e.g. "Barcelona")
- category (required): What the picks are (e.g. "Cheap Eats", "Hidden Gems", "Date Night Spots")
- popular_picks_url (required): tabiji.ai popular-picks page URL to pull attractions + Reddit quotes from
- reddit_post_count (optional): Number of Reddit posts analyzed (for subtitle). Pull from the page if available.
Pipeline (3 chained sub-agents)
Working directory: /tmp/ig-reddit-quote/
Sub-agent 1: Scrape Picks + Find Photos + Topaz Enhance
-
Fetch the popular-picks page via
web_fetchto get:- List of attractions (names)
- A compelling Reddit quote for each attraction (vivid, specific, personal — not generic praise)
- The subreddit each quote came from (e.g. "r/london", "r/AskLondon")
- Total Reddit post count if shown on the page
-
Find photos using
instagram-photo-findworkflow:- 1 hero photo for the destination (for cover slide)
- 1 photo per attraction (for quote slides)
- For each:
web_search→ download candidates → vision-score → keep best
-
Topaz 2x Enhance each best photo:
TOPAZ_API_KEY=$(security find-generic-password -s "topaz-api-key" -w)
curl --request POST \
--url https://api.topazlabs.com/image/v1/enhance \
--header "X-API-Key: ${TOPAZ_API_KEY}" \
--header 'accept: image/jpeg' \
--header 'content-type: multipart/form-data' \
--form 'model=Low Resolution V2' \
--form 'output_scale_factor=2' \
--form 'output_format=jpeg' \
--form "image=@/tmp/ig-reddit-quote/${slug}-best.jpg" \
--output "/tmp/ig-reddit-quote/${slug}-enhanced.jpg"
If sync returns JSON with process_id instead of image bytes, use async flow:
# Submit async
RESPONSE=$(curl -s --request POST \
--url https://api.topazlabs.com/image/v1/enhance/async \
--header "X-API-Key: ${TOPAZ_API_KEY}" \
--header 'content-type: multipart/form-data' \
--form 'model=Low Resolution V2' \
--form 'output_scale_factor=2' \
--form 'output_format=jpeg' \
--form "image=@/tmp/ig-reddit-quote/${slug}-best.jpg")
PROCESS_ID=$(echo "$RESPONSE" | jq -r '.process_id')
# Poll until Completed
while true; do
STATUS=$(curl -s --header "X-API-Key: ${TOPAZ_API_KEY}" \
"https://api.topazlabs.com/image/v1/status/${PROCESS_ID}" | jq -r '.status')
[ "$STATUS" = "Completed" ] && break
sleep 3
done
# Download
curl -s --header "X-API-Key: ${TOPAZ_API_KEY}" \
"https://api.topazlabs.com/image/v1/download/${PROCESS_ID}" \
--output "/tmp/ig-reddit-quote/${slug}-enhanced.jpg"
Metadata
Not sure this is the right skill?
Describe what you want to build — we'll match you to the best skill from 16,000+ options.
Find the right skillPaste this into your clawhub.json to enable this plugin.
{
"plugins": {
"official-psyduckler-reddit-quote-topaz": {
"enabled": true,
"auto_update": true
}
}
}Related Skills
aeo-content-free
Create or refresh AEO-optimized content that gets cited by AI assistants (Gemini, ChatGPT, Perplexity) using only free tools. Two modes: CREATE new content targeting a specific prompt, or REFRESH existing content to improve AI citation-worthiness. Researches what AI models currently cite, builds a competitive brief, and produces citation-worthy content. Use when a user wants to: write content optimized for AI citations, create articles that show up in AI answers, refresh/update existing content for better AI visibility, build authority content for answer engines, or produce AEO content without paid tools. No API keys required — uses web_fetch, web_search (free tier), and LLM reasoning only. Pairs with aeo-prompt-research-free (which identifies WHAT to write about; this skill handles HOW to write or refresh it).
lead-scorer
Score leads 0-100 by analyzing a domain's website, DNS, sitemap, and social presence. Uses customizable JSON scoring profiles so users can define what signals matter for their brand. Use when qualifying leads, prioritizing outreach lists, or evaluating potential partners. Supports single domains, multiple domains, and CSV batch mode.
instagram-photo-text-overlay
Overlay text on photos for Instagram posts. Generates portrait (4:5) images with gradient overlays, titles, and optional numbered lists. Use when creating Instagram content that needs text on top of a photo — destination itineraries, top-5 lists, travel highlights, or any branded social image with text overlay.
itinerary-carousel-post
Create and publish an Instagram carousel post from a tabiji.ai itinerary. Given an itinerary URL, finds Instagram-worthy photos for the destination + top attractions, applies text overlays, and publishes as a carousel. Use when asked to create an Instagram post, carousel, or social content for a tabiji destination or itinerary.
email-verifier
Verify email address deliverability via SMTP without sending mail. Checks MX records, performs RCPT TO verification, and detects catch-all domains. Use when validating email lists, checking if an email address exists before sending, cleaning lead lists, or verifying contact information. Supports single emails, batch verification, and CSV input.