All pages

Opportunities: the ranked topic clusters a research run found

Opportunities is where a research run's output lands: every topic cluster it found, ranked by how much each is worth writing. It is the screen you pick work from on the data-backed path.

What the board shows

Each cluster is a group of related keywords. A card carries the cluster name and headline, an opportunity score from 0 to 100, the volume band, difficulty (KD), the dominant intent, the keyword count, a few keyword pills and a coverage badge: Gap, Partial or Covered. A cluster that your product cannot serve also carries a badge with the reason it was scored down. A gold star marks the top 50 clusters picked for quality and variety, the place to start if you do not know where to focus. Stars decorate; they never filter.

In the default view, the top three clusters get full-width cards, the next tier a compact grid, and low-value long-tail clusters fold behind a Show N long-tail clusters toggle. Table shows the same clusters as rows: Cluster, Coverage, Volume, KD, Keywords, Score. The old /opportunities/all address opens the table view.

Where the data comes from

Clusters are written by the latest completed research run and replaced by the next one. Scores and coverage are computed when the page loads, against the highest-scoring cluster still shown, so dismissing the top cluster or changing a competitor's importance moves the numbers of the rest; goal filters and sub-niche tabs do not. Coverage compares the cluster's keywords with your own pages, both their search positions and their titles and descriptions. A line under the heading says how old the data is.

What you can do here

  • Goal filters: Any, Quick traffic wins, Revenue-driving content, Build authority and Beat a competitor. They narrow the list and never change a score. Beat a competitor needs at least one competitor marked important; without one, a dialog points you to the companies page or the competitor settings. The info icon explains each goal.
  • Sub-niche tabs: All (the default), one tab per named sub-niche and Other narrow the board to one sub-niche. The filters above stay page-level.
  • Sort: Opportunity, Volume, Difficulty or Keywords. Choosing the active one again flips the direction.
  • Plan: All, New or In plan, once a content plan exists.
  • Coverage: Gap and Partial by default. Add Covered to see topics you already rank for, as refresh candidates.
  • Forge brief on a cluster not yet in the plan adds it as a suggestion linked to that cluster and starts its brief. The toast says to check the Desk. A cluster already in the plan shows In Content Plan instead.
  • Dismiss — not my product hides a cluster, with an Undo in the toast. It stays hidden until the next run.
  • Create Content Plan appears when there is no plan yet and harvests the top clusters at once; View Content Plan replaces it afterwards.

The cluster page

Opening a cluster shows its main keyword, badges, three stats (Keywords, Avg Difficulty, Ranked Pages), up to five top competitors in it, your pages that already touch the topic, its article suggestions with their status, the keywords table and the ranked pages, with yours marked. The page is read-only: it has no Forge brief or Dismiss button, and a dismissed cluster's page still opens but offers no restore.

The same clusters over MCP

  • list_opportunities takes the same goal and coverage filters. get_opportunity_detail is the cluster page.
  • set_opportunity_status dismisses with dismissed and restores with default, the only way to restore once the toast is gone.
  • set_excluded_terms names what you do not sell. It has no control in the app.
  • create_content_plan_from_opportunities is Create Content Plan, and the only MCP call that links suggestions to clusters. add_article_suggestion creates one from a title, without the link that Forge brief makes.

Markdown version of this page, for your agent.