fix(skill): broaden handle resolution to products/tools/brands, add parody check

Handle resolution was only triggering for "person/brand" topics. Products
and tools like "Nano Banana Pro" or "Seedance" can also have X accounts
(@nanobanana, @seedanceai) but were being skipped.

Changes:
- Broadened trigger: people, brands, products, tools, companies, communities
- Added parody/fan account verification guidance
- Added site:x.com to WebSearch query for better results
- Updated both SKILL.md and OpenClaw variant

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
Matt Van Horn
2026-02-25 20:46:16 -08:00
parent bbaaf28d2e
commit 71903b596f
2 changed files with 17 additions and 11 deletions
+13 -7
View File
@@ -81,26 +81,32 @@ This text MUST appear before you call any tools. It confirms to the user that yo
--- ---
## Step 0.5: Resolve X Handle (if topic is a person/brand) ## Step 0.5: Resolve X Handle (if topic could have an X account)
If TOPIC looks like a **person, creator, brand, or specific account** (1-3 words, proper noun - e.g., "Dor Brothers", "Jason Calacanis", "Linus Ekenstam"), do ONE quick WebSearch before running the script: If TOPIC looks like it could have its own X/Twitter account - **people, creators, brands, products, tools, companies, communities** (e.g., "Dor Brothers", "Jason Calacanis", "Nano Banana Pro", "Seedance", "Midjourney"), do ONE quick WebSearch:
``` ```
WebSearch("{TOPIC} X twitter handle") WebSearch("{TOPIC} X twitter handle site:x.com")
``` ```
From the results, extract their X/Twitter handle. Look for: From the results, extract their X/Twitter handle. Look for:
- Profile URLs like `x.com/{handle}` or `twitter.com/{handle}` - **Verified profile URLs** like `x.com/{handle}` or `twitter.com/{handle}`
- Mentions like "@handle" in bios, articles, or social profiles - Mentions like "@handle" in bios, articles, or social profiles
- "Follow @handle on X" patterns - "Follow @handle on X" patterns
If you find a clear, unambiguous handle, you'll pass it to the script as `--x-handle={handle}` (without the @). This lets the script search that account's posts directly - finding content they posted that doesn't mention their own name. **Verify the account is real, not a parody/fan account.** Check for:
- Verified/blue checkmark in the search results
- Official website linking to the X account
- Consistent naming (e.g., @thedorbrothers for "The Dor Brothers", not @DorBrosFan)
- If results only show fan/parody/news accounts (not the entity's own account), skip - the entity may not have an X presence
If you find a clear, verified handle, pass it as `--x-handle={handle}` (without @). This searches that account's posts directly - finding content they posted that doesn't mention their own name.
**Skip this step if:** **Skip this step if:**
- TOPIC is clearly not an entity (e.g., "best rap songs 2026", "how to use Docker") - TOPIC is clearly a generic concept, not an entity (e.g., "best rap songs 2026", "how to use Docker", "AI ethics debate")
- TOPIC already contains @ (user provided the handle directly) - TOPIC already contains @ (user provided the handle directly)
- Using `--quick` depth - Using `--quick` depth
- You're unsure - the script works fine without it - WebSearch shows no official X account exists for this entity
Store: `RESOLVED_HANDLE = {handle or empty}` Store: `RESOLVED_HANDLE = {handle or empty}`
+4 -4
View File
@@ -31,15 +31,15 @@ Research typically takes 2-8 minutes. Starting now.
--- ---
## Step 0.5: Resolve X Handle (if topic is a person/brand) ## Step 0.5: Resolve X Handle (if topic could have an X account)
If TOPIC looks like a **person, creator, brand, or specific account** (1-3 words, proper noun), do ONE quick WebSearch: If TOPIC looks like it could have its own X account - **people, creators, brands, products, tools, companies** (e.g., "Dor Brothers", "Nano Banana Pro", "Seedance"), do ONE quick WebSearch:
``` ```
WebSearch("{TOPIC} X twitter handle") WebSearch("{TOPIC} X twitter handle site:x.com")
``` ```
Extract their X handle from results (look for `x.com/{handle}` URLs or "@handle" mentions). If found, pass it to the script as `--x-handle={handle}` (no @). Skip if TOPIC is generic, already has @, or uses `--quick`. Extract their X handle from results (look for `x.com/{handle}` URLs or "@handle" mentions). **Verify it's the real account, not a parody/fan page** - check for verified status, official website links, consistent naming. If found, pass as `--x-handle={handle}` (no @). Skip if TOPIC is a generic concept (not an entity), already has @, uses `--quick`, or no official account exists.
--- ---