---
title: 'Opportunities: the ranked topic clusters a research run found'
description: 'How the Opportunities board and the cluster page rank, filter and show coverage, what Forge brief and Dismiss do, and the MCP tools that read and shape the same clusters.'
slug: opportunities
group: app
order: 26
keywords:
  [
    opportunities,
    topic clusters,
    opportunity score,
    goal filters,
    coverage,
    forge brief,
    list_opportunities,
    set_opportunity_status,
  ]
related: [data-backed-path, content-plan, project-overview, research-history]
updated: '2026-10-26'
---

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](/docs/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.
