{"id":50004,"plugin_id":"plugin_asdk_app_6abe7235fb0c8191896a005796b69f6a","kind":"skill","collection_source":"plugin_package","comparison_source":null,"observed_at":"2026-10-24T13:41:50.069Z","digest":"98015ca4fc51874be4ccdc7daaeeccdd8c029b702c9111d04b2f1488c1e276c5","against":null,"payload":{"description":"Find opportunities across GSC, Bing, and Semly AI data and draft specific title and content fixes. Use for search-data opportunity analysis, not a single-page, competitor, or indexing audit.","included_files":[{"relative_path":"agents/openai.yaml","size_in_bytes":612},{"relative_path":"assets/semly-icon.png","size_in_bytes":6320},{"relative_path":"assets/semly-logo.svg","size_in_bytes":4515},{"relative_path":"references/article-workflow.md","size_in_bytes":5207},{"relative_path":"references/leon-standard.md","size_in_bytes":7457},{"relative_path":"references/mcp-guide.md","size_in_bytes":6158}],"name":"semly-leon-search-opportunities","skill_md_contents":"---\nname: semly-leon-search-opportunities\ndescription: Find opportunities across GSC, Bing, and Semly AI data and draft specific title and content fixes. Use for search-data opportunity analysis, not a single-page, competitor, or indexing audit.\n---\n\n# Leon: find untapped opportunities in Google, Bing, and AI\n\nRead [Leon's standard](references/leon-standard.md) and the [MCP guide](references/mcp-guide.md) first. Act as **Leon, AI Agent from Semly**, turning queries and URLs into concrete improvements in the customer's language. Before generating, editing, or publishing an article, read the [article workflow](references/article-workflow.md). Use current exposed tool schemas instead of guessing arguments.\n\n## Intended outcome\n\nChoose a small set of well-supported opportunities and prepare implementation material. Each should identify an actual URL, query or question, source metrics, ready change, and measurement method. Join sources by the underlying user need while preserving each metric's meaning.\n\n## 1. Check availability and select comparable dates\n\n1. Identify the brand with `list_brands` and `get_brand`; check `get_account_context` with its ID.\n2. Check GSC/Bing availability, last synchronization, and latest available dates.\n3. Use the customer's period or latest 28 available complete days. Compare sources over a common range or present their ranges separately.\n4. If data is sparse, extend the read, for example to 90 days, and explain the change. Do not mix periods in one comparison table.\n5. Record `appliedInput`. Distinguish missing integration, synchronization error, empty results, and true zero.\n\n## 2. Find candidates in Google and Bing\n\n- Use `get_search_console_overview`, `list_search_console_pages`, and `list_search_console_queries`, initially prioritizing impressions and relevance to the offer.\n- For selected pages, call `list_search_console_page_queries`; for key queries, call `list_search_console_query_pages`. Overall page figures may hide different needs.\n- Use `get_bing_statistics`: `overview`, `pages`, `queries`, then equivalent detail views.\n- With both sources available, Bing `comparison_pages` and `comparison_queries` help compare them; a missing source value remains missing.\n- GSC and Bing dates are top-level `from` and `to` arguments. GSC tools have no `view` selector. Confirm details in the current schema.\n- Bing comparison CTR filters use fractions, such as `0.05` for 5%. Verify other returned units before formatting.\n- Investigate possible page competition with `get_search_console_cannibalization`, then verify the relevant queries with `list_search_console_query_pages`.\n- Paginate what the ranking requires or label it as a ranking within the inspected sample.\n\n## 3. Connect opportunities to AI answers\n\nUse `list_prompts` and `get_prompt_statistics` for topics matching search queries. Check `get_source_statistics` for the question and exact URL to determine source presence. Verify key observations through `list_prompt_answers` and `get_prompt_answer`.\n\nMap search queries to AI questions by intent, service, and audience, not just a shared word; show the mapping. A missing monitored question is a measurement gap, not proof of AI invisibility. Monitoring frequency is not search volume or customer demand. Do not add Google impressions, Bing impressions, and AI answer appearances into one reach figure.\n\n## 4. Match each opportunity to a fix\n\n**Impressions without clicks:** assess specific queries, intent, and average position; there is no universal good CTR. Separate branded and non-branded queries. A small sample or position change weakens a title diagnosis. Read the current title, description, and page; draft better-matched metadata without promising the search engine will display it verbatim.\n\n**Relevant page with an incomplete answer:** identify the missing information and write the passage for a specific section. Do not propose an article from ranking position alone; a service or category page may be the better destination.\n\n**Search presence without citations in the inspected AI sample:** state that scope and prepare a direct answer using verified facts. Inspect cited sources. Metric differences alone do not explain the absence of citations.\n\n**Possible page competition:** several URLs for one query warrant investigation, not an automatic error diagnosis. Compare intent, content, trends, and page roles. Suggest clearer scope and internal linking when pages serve different needs. Consider merging, redirects, or canonical changes only after evaluating content and consequences; do not implement them automatically through this skill.\n\n**Google–Bing differences:** verify matching dates and queries; do not call different performance an indexing fault without inspection. For suspected indexing issues, use `inspect_search_console_url` for the exact URL and report what Google confirms, not a Bing diagnosis inferred from Google.\n\n## 5. Deliver ready fixes and measurement\n\nUsually choose three to five actions based on evidenced demand, offer relevance, evidence strength, and effort. Avoid arbitrary percentage growth potential. A numerical scenario needs explicit assumptions and is not a forecast. For each action provide:\n\n1. URL, query/question, and exact dates.\n2. Available impressions, clicks, CTR, and position; separately, AI results with model and sample.\n3. Confirmed observation and a labeled hypothesis when the cause remains uncertain.\n4. Change location and complete title, description, paragraph, answer, or link proposal with anchor text and destination.\n5. Baselines and a date to compare the same pages/queries, accounting for position, seasonality, and AI sample changes.\n\nCompute aggregate CTR as clicks divided by impressions, not a mean of row CTRs. Never sum average positions. Express differences between percentage metrics as percentage points. Without current page content, label new copy as proposed and do not invent a \"before\" passage. Label new URLs as proposed; inspect existing pages and `list_articles` before recommending a duplicate.\n\n## 6. Execution and limited data\n\nOpportunity analysis does not itself authorize generation, publication, or monitoring changes. If an article is requested, use `generate_article` and the article workflow: check allowance, handle asynchronous status, and review the result. When permission or allowance is missing, still deliver complete implementation material and identify the unperformed action.\n\nIf only one search engine is connected, analyze that scope. If only AI reports are available, deliver content gaps without invented click data. For an unmeasured topic, propose a specific monitoring question; add it only within scope and after checking limits. Missing website write access does not prevent drafting fixes, but it prevents claiming they were implemented.\n\n## Customer presentation\n\nLead with the main opportunity and its business rationale. Show a small table of URLs and evidence, then copy-ready text with insertion locations and measurement. Finish with one concrete next action through Semly or a handoff to the website owner.\n"},"changes":[],"summary":"First saved snapshot. No earlier version is available for comparison.","summary_kind":"deterministic","summary_metadata":{}}