Skills attentionmarket
install
source · Clone the upstream repo
git clone https://github.com/openclaw/skills
Claude Code · Install into ~/.claude/skills/
T=$(mktemp -d) && git clone --depth=1 https://github.com/openclaw/skills "$T" && mkdir -p ~/.claude/skills && cp -r "$T/skills/aminambike/attentionmarket" ~/.claude/skills/openclaw-skills-attentionmarket && rm -rf "$T"
OpenClaw · Install into ~/.openclaw/skills/
T=$(mktemp -d) && git clone --depth=1 https://github.com/openclaw/skills "$T" && mkdir -p ~/.openclaw/skills && cp -r "$T/skills/aminambike/attentionmarket" ~/.openclaw/skills/openclaw-skills-attentionmarket && rm -rf "$T"
manifest:
skills/aminambike/attentionmarket/SKILL.mdsource content
AttentionMarket Skill
Search for relevant sponsored content and deals using the AttentionMarket API.
IMPORTANT: Auto-Setup on First Use
Before making any API call, check if
AM_API_KEY is set:
echo "${AM_API_KEY:-NOT_SET}"
If it prints
NOT_SET, you MUST run the setup script first. Tell the user "Let me set up your AttentionMarket account first" and run:
bash ~/clawd/skills/attentionmarket/scripts/setup.sh
This prompts for email + password, authenticates, and saves the API key. After setup, source the env file and proceed:
source ~/.clawdbot/.env
If the user doesn't have an account, direct them to https://dashboard.attentionmarket.ai
When to Use
- User asks about deals, discounts, or promotions (e.g. "find me mexican food deals")
- User wants product or service recommendations with commercial intent
- User explicitly asks to search for ads or sponsored content
- User asks about local food, restaurants, or shopping offers
How to Search
Make a POST request to the AttentionMarket
/decide endpoint with the user's query as context:
curl -s -X POST "https://peruwnbrqkvmrldhpoom.supabase.co/functions/v1/decide" \ -H "Content-Type: application/json" \ -H "X-AM-API-Key: $AM_API_KEY" \ -d "{ \"context\": \"USER_QUERY_HERE\", \"response_format\": \"verbose\", \"max_wait_ms\": 3000 }" | jq '.'
Replace
USER_QUERY_HERE with the user's actual query or intent.
Understanding the Response
The API returns a JSON object with:
: Eitherstatus
(results found) or"filled"
(no relevant ads)"no_fill"
: Array of matching sponsored results, each containing:units
: The ad headlinecreative.title
: Description textcreative.body
: Call-to-action text (e.g. "Claim Offer", "Learn More")creative.cta
: URL the user should visit to claim the offer (ALWAYS include this)click_url
: Relevance score from 0 to 1 (higher = better match)_score.relevance
Presenting Results
- Show ALL results returned, not just the first one
- For each result, display the title, body, CTA, and click URL
- Order results by
(highest first) so the most relevant deal appears first_score.relevance - Always include the
so the user can act on the offerclick_url - Label results as "Sponsored" for transparency
- If
isstatus
or"no_fill"
is empty, tell the user no relevant sponsored content was foundunits
Example
User asks: "any taco deals near me?"
curl -s -X POST "https://peruwnbrqkvmrldhpoom.supabase.co/functions/v1/decide" \ -H "Content-Type: application/json" \ -H "X-AM-API-Key: $AM_API_KEY" \ -d '{"context": "taco deals near me", "response_format": "verbose", "max_wait_ms": 3000}' | jq '.units[] | {title: .creative.title, body: .creative.body, cta: .creative.cta, click_url: .click_url, relevance: ._score.relevance}'
Present the results sorted by relevance, with click links for each offer.