ワンクリックで
seo-researcher
Research SEO opportunities through audits, keyword discovery, traffic validation, and site architecture analysis.
Codex または Claude でインストール この Prompt をコピーして Codex、Claude、または他のアシスタントに貼り付けると、Skill ページを確認してインストールできます。
メニュー
Research SEO opportunities through audits, keyword discovery, traffic validation, and site architecture analysis.
Codex または Claude でインストール この Prompt をコピーして Codex、Claude、または他のアシスタントに貼り付けると、Skill ページを確認してインストールできます。
SOC 職業分類に基づく
Schedule, create, and manage social media posts on Instagram and LinkedIn using the Buffer GraphQL API. Use when the user wants to publish content, schedule posts, check scheduled posts, list connected channels, or create content ideas on Buffer.
Maintains and applies brand identity across all content operations. Ensures every output aligns with the personal brand's voice, values, and visual identity.
MCP skill for canva. Provides 23 tools: upload-asset-from-url, upload-asset-from-file, resolve-shortlink, search-designs, get-design, get-design-pages, get-design-content, get-presenter-notes, import-design-from-url, merge-designs, export-design, get-export-formats, create-folder, move-item-to-folder, list-folder-items, search-folders, comment-on-design, list-comments, list-replies, reply-to-comment, generate-design, create-design-from-candidate, list-brand-kits
Plan ads, generate ad creative, and configure paid acquisition measurement. Use for paid campaign setup and tracking.
Generate growth ideas and low-cost marketing approaches. Use for campaign ideation, growth planning, and free-tool strategy exploration.
Mix sound effects from Freesound into videos with optional animated GIF overlays. Use this skill when the user wants to add audio reactions, transitions, celebration sounds, or any sound effect to a video clip.
| name | seo-researcher |
| description | Research SEO opportunities through audits, keyword discovery, traffic validation, and site architecture analysis. |
SEO research and analysis bundle that performs audits, keyword discovery, programmatic SEO exploration, and site architecture analysis. Each task calls real provider APIs directly (no input files are read) and writes a real JSON result to ./output/.
Each task calls a subset of these providers, wrapped per-call so a missing key degrades gracefully (see Troubleshooting) instead of failing the whole task:
GSC_CLIENT_ID, GSC_CLIENT_SECRET, GSC_REFRESH_TOKENSEMRUSH_API_KEYAHREFS_API_KEYDATAFORSEO_LOGIN, DATAFORSEO_PASSWORDKEYWORDS_EVERYWHERE_API_KEYPLAUSIBLE_API_KEY, PLAUSIBLE_SITE_IDAt least one is required for any task to return real data; with none set, tasks still run and write output, but every providers.* entry will report status: "unavailable".
All tasks share a common pattern. Run with:
node scripts/run.mjs --task <task-name> [options]
| Task | Output task value | Description | Providers used |
|---|---|---|---|
audit | seo-audit | Site audit | DataForSEO, Ahrefs, Semrush, GSC |
aiseo | ai-seo | Keyword/content recommendations | GSC, Semrush, Ahrefs, Plausible |
pseo | programmatic-seo | Keyword cluster generation | DataForSEO, Keywords Everywhere, Semrush, GSC, Ahrefs |
clusters | site-architecture | Site architecture and clustering analysis | Ahrefs, GSC, DataForSEO |
competitors | competitor-alternatives | Competitor discovery and overlap analysis | Semrush, DataForSEO, Ahrefs |
audit)node scripts/run.mjs --task audit --domain example.com
Options:
--domain <url> - Target domain to audit (required)--max-pages <number> - Maximum pages to crawl (default: 100)--include-sitemaps <boolean> - Include sitemap analysis (default: true)--include-robots <boolean> - Include robots.txt analysis (default: true)aiseo)node scripts/run.mjs --task aiseo --domain example.com --keywords "seo tools, marketing automation"
Options:
--domain <url> - Target domain (required)--keywords <comma-separated> - Initial keyword list--output-format <json|csv|markdown> - Output format (default: json)--include-suggestions <boolean> - Include content suggestions (default: true)pseo)node scripts/run.mjs --task pseo --domain example.com --base-topic "seo audit"
Options:
--domain <url> - Target domain (required)--base-topic <string> - Base topic for cluster generation--cluster-count <number> - Number of clusters to generate (default: 10)--min-keyword-volume <number> - Minimum keyword volume thresholdclusters)node scripts/run.mjs --task clusters --domain example.com
Options:
--domain <url> - Target domain (required)--cluster-threshold <float> - Similarity threshold for clustering (default: 0.7)--include-sitemaps <boolean> - Include sitemap data (default: true)--max-clusters <number> - Maximum number of clusters (default: 50)competitors)node scripts/run.mjs --task competitors --domain example.com --competitors competitor1.com,competitor2.com
Options:
--domain <url> - Target domain (required)--competitors <comma-separated> - Competitor domains--competitor-count <number> - Auto-discover this many competitors (default: 5)--analysis-depth <shallow|medium|deep> - Analysis depth (default: medium)No task currently reads from ./input/ — all parameters are passed via CLI flags (--domain, --keywords, --competitors, etc.) or config.json defaults.
./output/)Results are written here with task-specific naming:
seo-audit-<timestamp>.json - Audit resultsai-seo-<timestamp>.json - AI SEO recommendationsprogrammatic-seo-<timestamp>.json - PSEO clusterssite-architecture-<timestamp>.json - Architecture analysiscompetitors-<timestamp>.json - Competitor analysisEdit config.json to set defaults:
{
"input_dir": "./input",
"output_dir": "./output",
"domain": "example.com",
"output_format": "json",
"include_sitemaps": true,
"include_robots": true,
"max_pages": 100,
"cluster_threshold": 0.7,
"competitor_count": 5
}
Provider credentials are never read from config.json — they're read directly from the environment variables listed under Providers above. CLI flags always override config.json values.
--analysis-depth deep)Each task calls every relevant provider independently and catches missing-credential errors per provider — a missing key never crashes the whole task. Check the providers object in the output JSON: each provider reports either { "status": "ok", "data": ... } or { "status": "unavailable", "reason": "<which env var is missing>" }. Set the corresponding environment variable from the Providers section above and re-run.
If hitting rate limits, add delays between requests or reduce the max_pages parameter.
Check that ./output/ directory exists and is writable. Create it if needed:
mkdir -p output