Web search using You.com Search API with high-quality, cited results and optional real-time web crawling
Scanned 9/3/2026
Install to Claude Code
npx -y skills add aeonfun/aeon --skill you-web-search --agent claude-codeInstalls into .claude/skills of the current project.
Are you the author of You Web Search?
Add the live security badge to your README — it updates automatically with every re-scan.
[](https://www.skillsdirectory.com/skills/aeonfun-you-web-search)More formats (shields.io, HTML) on the badges page.
---
name: you-web-search
description: Web search using You.com Search API with high-quality, cited results and optional real-time web crawling
metadata:
title: You.com Web Search
mode: read-only
category: basics
var: ""
tags:
- web
- search
- research
requires:
- YDC_API_KEY
---
> **${var}** — Search query or topic. When empty, uses a general search for current notable developments across tracked areas.
Today is ${today}. Perform web search using You.com's Search API to find current, high-quality information on **${var}**.
## Overview
This skill provides web search functionality via You.com's Search API, offering several advantages over basic WebSearch:
- **Higher quality results** with relevance ranking and citation extraction
- **Real-time web crawling** for fresh content when `livecrawl=web` is enabled
- **Structured result format** with titles, URLs, snippets, and publication dates
- **Optional livecrawl control** through `YOUCOM_LIVECRAWL` when a full page fetch is useful
## Phase 1 — Execute Search
### Authentication Check
Check if `YDC_API_KEY` is available:
```bash
[ -n "${YDC_API_KEY:-}" ] && echo "KEY_PRESENT" || echo "KEY_UNSET"
```
If it is unset, stop immediately with a clear error:
```bash
[ -n "${YDC_API_KEY:-}" ] || { echo "YDC_API_KEY is required for this skill"; exit 1; }
```
### API Call
**Primary path:** Direct authenticated `curl` to You.com Search API:
```bash
QUERY="${var:-current notable developments in AI, crypto, and technology}"
COUNT="10"
FRESHNESS="${YOUCOM_FRESHNESS:-week}"
LIVECRAWL="${YOUCOM_LIVECRAWL:-}"
SEARCH_URL="https://ydc-index.io/v1/search?query=$(echo "$QUERY" | jq -Rr @uri)&count=$COUNT&safesearch=strict&freshness=$(echo "$FRESHNESS" | jq -Rr @uri)"
if [ -n "${LIVECRAWL:+x}" ]; then
SEARCH_URL="$SEARCH_URL&livecrawl=$(echo "$LIVECRAWL" | jq -Rr @uri)"
fi
HTTP=$(./secretcurl -s -o /tmp/youcom-search.json -w '%{http_code}' \
--max-time 30 -X GET \
"$SEARCH_URL" \
-H "X-API-Key: {YDC_API_KEY}" \
-H "User-Agent: youdotcom-integration/aeonfun-aeon")
echo "youcom http=$HTTP bytes=$(wc -c </tmp/youcom-search.json)"
```
### Response Processing
On `HTTP=200` with non-empty body, parse the response:
```bash
if [ "$HTTP" = "200" ] && [ -s /tmp/youcom-search.json ]; then
# Extract web and news results using the documented Search API shape.
jq -r '
[
(.results.web[]? | ["web", (.title // ""), (.url // ""), ((.snippets // []) | join(" ")), (.page_age // "recent")]),
(.results.news[]? | ["news", (.title // ""), (.url // ""), ((.snippets // []) | join(" ")), (.page_age // "recent")])
] | .[] | @tsv
' /tmp/youcom-search.json > /tmp/youcom-results.txt
# Count results
RESULT_COUNT=$(wc -l < /tmp/youcom-results.txt)
echo "Extracted $RESULT_COUNT search results"
else
echo "API call failed: HTTP=$HTTP"
RESULT_COUNT=0
fi
```
## Phase 2 — Format Results
Process the results into a readable format:
### Result Structure
For each result from You.com API:
- **Title** — article/page title
- **URL** — direct link to source
- **Snippet** — join `snippets[]` into one excerpt highlighting query match
- **Date** — `page_age` or `recent` when unavailable
### Quality Filtering
Apply basic quality filters:
- Exclude results with missing or placeholder titles
- Skip results without accessible URLs
- Filter out low-quality content (spam, thin content)
- Deduplicate near-identical results from the same domain
### Formatting
Structure the output for easy consumption:
```
*You.com Web Search Results — ${today}*
Query: "${var}"
Source: You.com Search API (${auth_mode})
Results: ${result_count} found
1. **[Title](URL)**
Snippet with relevant context...
Published: Date
2. **[Title](URL)**
Snippet...
Published: Date
---
API Status: ${http_status} | Auth: ${auth_mode} | Quality: ${quality_score}/5
```
## Phase 3 — Delivery and Logging
### Notification
Send formatted results via `./notify`:
- Include query, result count, and source attribution
- Highlight most relevant results (top 5-7)
- Note authentication mode (`authenticated`)
- Include livecrawl info when enabled
### Memory Integration
Log the search for future reference:
1. **Append to daily log** — `memory/logs/${today}.md` under `### you-web-search`:
```
### you-web-search
- Query: "${var}"
- Source: You.com API (authenticated)
- Results: N found, M delivered
- Status: HTTP ${code}
- Quality score: X/5 (relevance, freshness, diversity)
```
2. **Update search memory** — Add successful searches to `memory/searches.md` for pattern tracking
## Error Handling
### API Failure Recovery
Handle common failure modes gracefully:
- **Rate limits (429)**: Log rate limit hit, suggest checking the API quota or key
- **Invalid key (401)**: Clear error about checking `YDC_API_KEY`
- **Network failures**: Surface the API failure and exit cleanly
- **Malformed responses**: Validate JSON structure, handle parsing errors
- **Empty results**: Suggest query refinement, try broader terms
### Logging Failures
Record failure reasons for debugging:
- `youcom-api-unavailable` — API endpoint unreachable
- `youcom-rate-limited` — Hit plan limits
- `youcom-auth-invalid` — API key rejected
- `youcom-parse-error` — Response format unexpected
## Environment Variables
- **`YDC_API_KEY`** (required) — You.com API key for authenticated access.
- **`YOUCOM_FRESHNESS`** (optional) — Freshness filter (`day`, `week`, `month`, `year`, or a date range).
- **`YOUCOM_LIVECRAWL`** (optional) — Pass through to `livecrawl` when you want full page content (`web`, `news`, or `all`).
## Constraints
- **Never expose credentials** in logs or notifications
- **Always attribute source** — clearly indicate You.com API
- **Respect rate limits** — handle 429 responses gracefully
- **Validate all URLs** — ensure results contain real, accessible links
- **Keep results relevant** — filter low-quality or off-topic results
- **Fail clearly** — if the API is unavailable, report it instead of pretending a fallback ran
## Integration Notes
### Relationship to Built-in WebSearch
This skill **complements** Aeon's built-in WebSearch, but it is a separate authenticated Search API path:
- **You.com advantages**: Higher quality results, real-time crawling, better relevance ranking
- **WebSearch advantages**: No API dependency, always available, deeply integrated
- **Use You.com for**: Research tasks, fact-checking, current events, specific queries
- **Use WebSearch for**: Built-in search flows elsewhere in Aeon
### Scheduling Recommendations
- **On-demand**: Manual execution for specific research needs
- **Low frequency**: Daily or less frequent automatic searches to respect quotas
- **Research workflows**: Chain with other skills that need web context
- **Avoid high-frequency**: Don't schedule more than hourly to preserve API quotas
### Skills Integration
This skill works well with:
- **digest** — Enhanced web signal for daily digests
- **article** — Research support for article generation
- **github-trending** — Context for trending repo evaluation
- **token-pick** — Market research and catalyst discovery
- **mention-radar** — Broader web mention detection beyond X/Twitter
The You.com search results can inform other skills' web research needs while providing a higher-quality alternative to basic web search.
Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.
No comments yet. Be the first to comment!