Communitygithub.com

iamvtor/opencode-setup

Search personal websites and blogs using Exa advanced search. Full filter support for finding individual perspectives, portfolios, and personal blogs. Use when searching for personal sites, blog posts, or portfolio websites.

opencode-setup とは?

opencode-setup is a OpenCode agent skill that search personal websites and blogs using Exa advanced search. Full filter support for finding individual perspectives, portfolios, and personal blogs. Use when searching for personal sites, blog posts, or portfolio websites.

対応~Claude Code~Codex CLI~Cursor✓OpenCode
npx skills add https://github.com/iamvtor/opencode-setup/tree/HEAD/skills/exa-personal-site-search

お気に入りのAIに質問する

このエージェントスキルを事前に読み込んだ状態で新しいチャットを開きます。

ドキュメント

Personal Site Search (Exa Python SDK)

Prerequisites

uv pip install exa-py

Set EXA_API_KEY environment variable. Get one at https://dashboard.exa.ai/api-keys

Approach

Use ctx_execute(language: "python", code: "...") to call Exa. Never run Exa searches in main context — always spawn Task agents that return only distilled output.

Supported Parameters

The personal site category supports ALL available parameters:

from exa_py import Exa
import os, json

exa = Exa(os.environ["EXA_API_KEY"])

response = exa.search(
    "building side projects indie hacking journey 2025",
    num_results=15,
    category="personal site",
    type="auto",
    exclude_domains=["medium.com"],  # exclude aggregators for independent blogs
    contents={"highlights": True}
)

results = []
for r in response.results:
    results.append({
        "title": r.title,
        "url": r.url,
        "highlights": getattr(r, 'highlights', [])
    })
print(json.dumps(results, indent=2))

Full Parameter Support

  • query (required)
  • num_results
  • type ("auto", "fast", "instant", "deep-lite", "deep", "deep-reasoning")
  • include_domains / exclude_domains
  • start_published_date / end_published_date (ISO 8601)
  • start_crawl_date / end_crawl_date (ISO 8601)
  • include_text / exclude_text (single-item arrays only; multi-item causes 400)
  • contents={"text": {"max_characters": N}}
  • contents={"highlights": True} / contents={"highlights": {"query": "..."}}
  • contents={"summary": True} / contents={"summary": {"query": "..."}}
  • user_location
  • moderation
  • additional_queries
  • contents={"livecrawl_timeout": 10000, "max_age_hours": 0} for fresh content

関連スキル