Skip to content
Automation
Skill

/marketing-os-market-intel

Run a market intelligence brief against the Marketing OS, score every find, and turn the ones that clear the bar into scored ideas in the backlog. The watchlist, competitor roster, lookback window and connectors all come from the OS, and what counts as a signal comes from the

From plugin
benai-skills
62152 skills17 agents1 hook4 MCP
Install
$ npx -y skills add naveedharri/benai-skills --skill marketing-os-market-intel --agent claude-code

How it fires

How this skill gets triggered: by you, by Claude, or both.

  • Fires itselfAuto-invocation. Claude auto-loads it when your prompt matches the work.Auto-invocation is when the right skill fires by itself at the right moment, driven by a FLOW.md router and a hook, instead of you invoking it by name. It is the difference between a skill being installed and a skill actually getting used.Read the full definition →
  • You can call itInvoke it directly when you want it.
  • Slash command/marketing-os-market-intel

Context preview

The summary Claude sees to decide when to auto-load this skill.

Run a market intelligence brief against the Marketing OS, score every find, and turn the ones that clear the bar into scored ideas in the backlog. The watchlist, competitor roster, lookback window and connectors all come from the OS, and what counts as a signal comes from the

SKILL.md

marketing-os-market-intel.SKILL.md
name: marketing-os-market-intel
description: "Run a market intelligence brief against the Marketing OS, score every find, and turn the ones that clear the bar into scored ideas in the backlog. The watchlist, competitor roster, lookback window and connectors all come from the OS, and what counts as a signal comes from the positioning file, so the brief reports the translation gap rather than generic AI news. Fans out one agent per stream in a single batch across official sources, practitioners, the competitor roster, search demand and the wider web, with an effort floor and distinct sources so a run cannot conclude from one search. Reads existing daily scan files and pulls live only for the window they miss. Writes a dated standing brief to Intelligence/market/, seeds scored ideas, logs, and always closes by rendering the brief. Use when the user says 'run market intel', or runs /marketing-os-market-intel.\\\"\ndisable-model-invocation: true\nargument-hint: \\\"[optional focus, e.g. 'agents', 'a competitor name', or a lookback like 'last 7 days']"
disable-model-invocation: true

Marketing OS Market Intel

Scan the world, judge what you find against what this business actually needs, and leave the backlog better than you found it.

**This skill carries no watchlist and no ICP.** The original shipped its own Twitter watchlist, its own ICP file, its own offer summary and its own copy of the design language, four things that all exist once in the OS and went stale in the skill folder. Every one of them is read live here.

**The difference between this and a news feed is judgement.** A scan that returns twenty interesting links has done nothing. This one scores every find against the same framework the OS uses to score ideas, and seeds only what clears the bar. Intelligence that produces no action is not intelligence.

Run from the OS root. **Stay inside that root.** **Start from zero on identity:** every handle, account, competitor and threshold comes from the OS.

The boundary, and why it matters

The OS may already run a daily market scan routine. That routine owns one file and this skill must never write it.

| File | Owner | | --- | --- | | `Intelligence/market/YYYY-MM-DD.md` | the daily scan routine. **Never write this** | | `Intelligence/market/YYYY-MM-DD-<slug>.md` | **this skill.** The on-demand standing brief on one question | | `Channels/{primary}/ideas/<slug>.md` | both, and both check for duplicates first |

Two things writing one dated file is how an OS starts contradicting itself. Check `Intelligence/CLAUDE.md` for the routing table before writing anything, because that table is the contract and it names which rows are on demand.

**Read the daily files rather than re-pulling what they cover.** If `Intelligence/market/` already holds today's scan, read it, say you did, and pull live only for what it does not cover or does not go deep enough on. Then say exactly which part of the window you pulled yourself. A skill that silently re-pulls burns the connector budget and produces a second version of the same day.

**Run completely on your own.** No routine has to have run first. If `Intelligence/market/` is empty, do the whole pull yourself and say so.

First, check what you have

| State | Do | | --- | --- | | No `Context/config.md` | Not a Marketing OS. Point at `marketing-os-setup` and stop | | No `Context/brand/positioning.md` | Run, but say the signal test is missing. Without it this degrades to generic news and you must say so | | `Intelligence/market/` empty | Normal on a young OS. Do the full pull and say it is the first brief | | No scan connectors available | Say which are missing, run on web search alone, and label the brief degraded |

Step 1: read what makes a signal

**Never open with a pull.** Read these first, because they decide what is worth collecting.

| Path | Gives you | | --- | --- | | `Context/config.md` | The account watchlist, the competitor keys, the lookback window, which connectors exist, the primary channel | | `Context/brand/positioning.md` | **The signal test.** The category, the enemy, and the strategic edge. If positioning names a translation gap between one audience and another, the highest-value find is something the first audience has absorbed and the second has not seen | | `Intelligence/competitors/_roster.md` | Who is tracked and why, plus the correction log | | `Analytics/what-works.md` | What has measured well here. A finding may license a specific kind of find, for example being early on a newly launched surface | | `Intelligence/research/frameworks/idea-scoring.md` | The scoring framework every find gets judged against in Step 6 | | `Intelligence/market/` recent files | What is already known, and the noise list so you do not resurface it | | `Channels/{primary}/ideas/` and `published/` | What already exists, for deduplication |

**The noise list is the most underused thing in the folder.** A dated scan that recorded what was loud but irrelevant is telling you what to skip today. Read it.

Step 2: pick the depth

Ask for it once, then state which streams you will run given what is connected. **Read `references/collection.md` before you plan.** It carries the connectors, the tool costs, the fallback chains and the per-stream floors, and a plan made without it will under-collect.

| Depth | Agents | Distinct sources, floor | Use for | | --- | --- | --- | --- | | **Quick** | 3 | 12 | A single narrow question, or a same-day top-up on a scan that already ran | | **Standard**, the default | 5, one per stream | 25 | Any normal run | | **Deep** | 8 or more, several per stream | 45 | A launch week, a positioning decision, or a question that will constrain a quarter |

If the operator does not name a depth, **run Standard.** Never silently drop to Quick because it is cheaper.

Step 3: fan out. This is not optional

**Launch one agent per stream, all in a single batch, before you read any result.** Do not run one stream, look

Read more
Ships withbenai-skills

Expert automation skills for Claude Code, organized by department.

Get the whole plugin

Other skills on benai-skills.