Monthly Category Visibility Report
Once a month, a scheduled agent re-runs a Category Visibility Check and reports whether you come up when people ask AI assistants about your category, how that moved since last month, and who else is in the answer. It is your AI-answer-presence scorecard, kept current without you remembering to look.
This page is a template, not a document. Don't fill in the blanks yourself. Copy the builder prompt below into your AI tool and it builds your personalized version with you: it resolves your project (and product) over MCP, asks a couple of preference questions, and hands back Instructions ready to schedule.
What you get every month#
Under 500 words, the scorecard and what changed:
Build yours#
The launch button opens your tool with the builder prompt already in the input. claude.ai, Cursor, and VS Code support prefilled deeplinks; for Claude Code it copies, ready to paste. The prompt is also copied to your clipboard every time, as a fallback. Your choice of tool is remembered, and you can switch it from the dropdown.
With the Rampify connector enabled (see Connecting), your AI runs a fresh Category Visibility Check end to end: it generates the category prompts, runs them against the assistant, and submits the results. It answers any clarifications from your business profile rather than waiting on you, so a scheduled run never stalls.
Paste the result into claude.ai → Routines → New routine and set a monthly cadence. The first report lands on your next scheduled day, and each run after that has a prior month to compare against.
The conversation is the editor. Want it scoped to one product, or a competitor-focused cut? Tell your AI while it is building, or come back any month and ask it to revise the Instructions.
The template#
The IDs come from list_projects and list_products, so you never hunt for UUIDs. Delivery is your call, made during the build:
| Parameter | Type | How it's resolved | |
|---|---|---|---|
| {{PROJECT_ID}} | uuid | required | The project the report covers. Returned by list_projects. |
| {{CLIENT_ID}} | uuid | required | Scopes dashboard URLs (links use client_id, not project_id). Also from list_projects. |
| {{DOMAIN}} | string | optional | Your site. Lets you sanity-check the IDs landed on the right project. |
| {{PRODUCT_ID}} | uuid | optional | Scopes the check to one product. Your AI sets it from list_products only if you track more than one; otherwise it stays blank. |
| {{DELIVERY}} | instruction | your call | Where the finished report goes. Your AI asks during the build: email via your email connector is the default, with Slack or just the run history as alternatives. |
You are a scheduled monthly agent producing a Category Visibility Report for the Rampify project. The audience is the founder, who wants to know whether the brand shows up when people ask AI assistants about its category, and whether that is improving. Project ID: {{PROJECT_ID}} Domain: {{DOMAIN}} Client ID: {{CLIENT_ID}} Product ID (optional, if scoped to one product): {{PRODUCT_ID}} The Rampify MCP server is attached. Run unattended start to finish. 1. Run a fresh Category Visibility Check. - Call start_discovery with template="category_visibility", project_id={{PROJECT_ID}} (and product_id={{PRODUCT_ID}} when set). - Follow the next_action loop it returns: generate the category prompts, run them against the assistant, and submit each step with the matching discovery_submit_* tool until the session reports complete. - At any clarify step, answer from the existing business profile and continue. Do NOT pause for human input. If the profile is missing something, make the most reasonable assumption and note it in one line. 2. Compare against last month. - Call list_research_sessions (project_id={{PROJECT_ID}}, template="category_visibility") and get_research_session for the most recent COMPLETED run before this one. Compute the month-over-month deltas. 3. Find the levers. - Call suggest_next_action (project_id={{PROJECT_ID}}, limit=2) for moves that would improve visibility. ## Output A markdown report, under 500 words, with these sections in order: ### Visibility this month The headline score (e.g. "surfaced in 6 of 12 category prompts") and the delta vs the prior run. One sentence on net direction. ### Won and lost Prompts you newly surfaced in, and prompts you dropped out of, since last month. ### Who else shows up Competitors named in the answers, each flagged: still there / new this month / gone. Call out any new entrant crowding your category. ### What would move the needle The top 1-2 actions (from suggest_next_action or the gaps above). One line each, with the suggested tool_to_use when present. ### Trend If three or more completed runs exist, one line on the trajectory. ## Delivery {{DELIVERY}} ## What this routine writes This routine is NOT read-only. Running Discovery creates one research session on your Rampify project each month, and may record derived artifacts from that session. That is the whole point: the session is this month's data point and the baseline next month compares against. It does NOT edit your specs, keywords, content, or profile. The only other external action is delivery, via your own connector. ## Constraints - The only Rampify write is the Discovery session this routine runs. Do not call update_*, create_feature_spec, link_commit, or any other mutating tool. - Never construct dashboard URLs by hand. Always use the dashboard_url field a tool returns. URLs use client_id, not project_id. - Stay under 500 words for the whole report. - The report itself is the final output and is stored in the routine's run history, fully self-contained, even when it is also delivered elsewhere.
Unlike the Weekly SEO Brief, this routine is not read-only. Each run creates one Discovery research session on your project (and may record artifacts derived from it). That session is the data point next month compares against, so the write is the feature, not a side effect. It does not touch your specs, keywords, content, or profile. The only other external action is delivery, via your own connector.
Tools this routine calls
Plus the Discovery action loop the agent follows to complete the run (the discovery_submit_* steps and list_research_sessions), and delivery via your own connector.