
Claude Skills by sabahudin-web
github.com/sabahudin-webDiffs this run's competitor dossiers against the previous run to find what materially changed (SERP moves, price changes, new news, sentiment shifts, new or dropped competitors). Produces a ranked change set the briefing and dashboard use. Use after all competitor-scout subagents have written their dossiers and before radar-merge-briefing.
Merges all competitor dossiers and the change set into one briefing. Writes three local artifacts: the briefing markdown, a combined raw dossier JSON, and a dashboard data JSON. Use after radar-diff-changes and before radar-publish-notion and radar-render-dashboard. Every claim in the briefing carries a source URL.
Run this FIRST, before any other radar skill. Sets up Competitive Intelligence Radar by ASKING whether BrightData and Notion are connected, live-testing one real call to each, detecting which MCP prefix is actually live, and writing radar.config.json with the user's business context. Use when the user runs /radar-setup, says "set up the radar", "onboard", or when any radar skill reports that radar.config.json is missing. Does not assume tools are connected; it verifies.
Builds the per-competitor scout job list for a radar gather run. Reads radar.config.json, enforces the cap of 8 competitors and waves of 8, and emits one ready-to-spawn job spec per competitor (competitor, keywords, geo, scout depth, brightdata prefix, output path). Use as the first step of /radar, before spawning competitor-scout subagents.
Creates the two Notion databases (Competitors and Briefings) the radar publishes to, but ONLY after SHOWING the proposed schema and getting the user's explicit approval. Use during /radar-setup after onboarding, or when radar-publish-notion reports the databases are missing. Idempotent: if the databases already exist in the config, it verifies them instead of creating duplicates. Never creates anything in Notion before the user says yes.
Publishes the Strategic War Room addendum from /radar-council to all three surfaces. Appends the addendum to the local briefing markdown, fills the war_room section of the dashboard data and re-renders the dashboard, and appends the addendum to the Notion briefing page while checking its War Room box. Use after the agent team has converged on recommended moves.
Publishes the run to Notion. Upserts one row per competitor in the Competitors database (matched by domain, with a Change field for week-over-week tracking) and creates a Briefings page holding the full briefing. Use after radar-merge-briefing. Requires the databases to exist (radar-provision-notion). Writing rows to an approved database is autonomous.
Renders the self-contained local HTML dashboard for a run by injecting the run's data JSON into the dashboard template. Produces one HTML file with inline CSS and JS and no external requests that the user can open directly in a browser. Use after radar-merge-briefing, as the last surface in a /radar run.