本文へ移動
cccskills
無料GitHub で公開

kelly-radar

Kelly's market-intelligence desk (Busabase App-in-Skill). Merges passive competitor monitoring (Radar), agent-run deep research with approved briefs and cited reports (Research), and keyword/topic demand signals (Trends) over one Busabase-backed snapshot, watchlist, and review model. Use when the user invokes $kelly-radar or /kelly-radar, or asks for competitor monitoring, market intelligence, market research, research reports, trends, rising keywords, pricing changes, product launches, changelog diffs, competitor reviews, funding or hiring news, or opportunity triage.

インストール方法を見る

含まれるファイル(80)

  • SKILL.md15.3 KB
  • agents/openai.yaml230 B
  • assets/screenshots/overview-zh-CN.webp130 B
  • assets/screenshots/overview.webp130 B
  • assets/screenshots/research-zh-CN.webp130 B
  • assets/screenshots/research.webp130 B
  • assets/screenshots/signals-zh-CN.webp131 B
  • assets/screenshots/signals.webp131 B
  • assets/screenshots/thumbs/overview-zh-CN.webp130 B
  • assets/screenshots/thumbs/overview.webp130 B
  • assets/screenshots/thumbs/research-zh-CN.webp130 B
  • assets/screenshots/thumbs/research.webp130 B
  • assets/screenshots/thumbs/signals-zh-CN.webp130 B
  • assets/screenshots/thumbs/signals.webp130 B
  • assets/screenshots/thumbs/trends-zh-CN.webp130 B
  • assets/screenshots/thumbs/trends.webp130 B
  • assets/screenshots/thumbs/watchlist-zh-CN.webp130 B
  • assets/screenshots/thumbs/watchlist.webp130 B
  • assets/screenshots/trends-zh-CN.webp130 B
  • assets/screenshots/trends.webp130 B
  • assets/screenshots/watchlist-zh-CN.webp130 B
  • assets/screenshots/watchlist.webp130 B
  • busabase.json927 B
  • content/_folder.json173 B
  • content/briefs/base.json2.0 KB
  • content/kelly-radar-app/_node.json193 B
  • content/kelly-radar-app/.busabaseignore194 B
  • content/kelly-radar-app/app/accent-theme.css8.0 KB
  • content/kelly-radar-app/app/accent-theme.js7.3 KB
  • content/kelly-radar-app/app/app.js28.2 KB
  • content/kelly-radar-app/app/base-ui.css13.0 KB
  • content/kelly-radar-app/app/demo-visuals.css1.5 KB
  • content/kelly-radar-app/app/demo-visuals.js3.3 KB
  • content/kelly-radar-app/app/i18n/messages.js9.3 KB
  • content/kelly-radar-app/app/index.html4.5 KB
  • content/kelly-radar-app/app/js/busabase-client.js226 B
  • content/kelly-radar-app/app/js/config.js10.4 KB
  • content/kelly-radar-app/app/js/connect-gate.js1.6 KB
  • content/kelly-radar-app/app/js/demo-visuals-data.js9.1 KB
  • content/kelly-radar-app/app/js/pagination.js4.6 KB
  • content/kelly-radar-app/app/js/providers/busabase-provider.js12.6 KB
  • content/kelly-radar-app/app/js/providers/demo-provider.js37.1 KB
  • content/kelly-radar-app/app/js/providers/index.js270 B
  • content/kelly-radar-app/app/js/radar-model.js13.7 KB
  • content/kelly-radar-app/app/js/research-views.js17.3 KB
  • content/kelly-radar-app/app/js/runtime.js3.4 KB
  • content/kelly-radar-app/app/styles.css22.3 KB
  • content/kelly-radar-app/app/styles/editorial.css30.7 KB
  • content/kelly-radar-app/app/vendor/busabase-airapp-gate.css6.1 KB
  • content/kelly-radar-app/app/vendor/busabase-airapp-gate.js11.2 KB
  • content/kelly-radar-app/app/vendor/busabase-airapp.js556.0 KB
  • content/kelly-radar-app/app/vendor/busabase-sdk.js849.5 KB
  • content/kelly-radar-app/package.json1.0 KB
  • content/kelly-radar-app/pnpm-lock.yaml5.2 KB
  • content/kelly-radar-app/pnpm-workspace.yaml50 B
  • content/kelly-radar-app/scripts/check-editorial.mjs6.1 KB
  • content/kelly-radar-app/scripts/check.mjs4.2 KB
  • content/kelly-radar-app/server.js3.1 KB
  • content/kelly-radar-app/test/radar-model.test.mjs7.6 KB
  • content/movers/base.json1.6 KB
  • content/opportunities/base.json1.8 KB
  • content/questions/base.json1.7 KB
  • content/reports/base.json1.7 KB
  • content/settings/base.json1.7 KB
  • content/signals/base.json3.0 KB
  • content/signals/records.ndjson3.6 KB
  • content/sync-log/base.json898 B
  • content/watchlist/base.json1.2 KB
  • package.json626 B
  • pnpm-lock.yaml4.3 KB
  • pnpm-workspace.yaml50 B
  • README.md4.0 KB
  • references/radar-schema.md9.8 KB
  • scripts/execute_decisions.mjs7.2 KB
  • scripts/file_report.mjs9.9 KB
  • scripts/ingest_signals.mjs9.4 KB
  • scripts/ingest_trends.mjs9.8 KB
  • scripts/publish_airapp.mjs3.1 KB
  • scripts/setup.mjs6.4 KB
  • scripts/sync-content.mjs2.5 KB

SKILL.md(原文)

インストールする前に、エージェントに与えられる指示の中身を確認できます。

Kelly Radar

App UI Screenshots

<table> <tr> <td width="50%"><img src="assets/screenshots/overview.webp" alt="Kelly Radar overview"></td> <td width="50%"><img src="assets/screenshots/research.webp" alt="Kelly Radar research desk"></td> </tr> <tr> <td><strong>Overview</strong><br>Market-intelligence desk with signals to triage, watchlist freshness, top trend movers, and the research pipeline.</td> <td><strong>Research desk</strong><br>Research questions moving through brief approval, deep research, and cited report review.</td> </tr> <tr> <td width="50%"><img src="assets/screenshots/signals.webp" alt="Kelly Radar competitor signals"></td> <td width="50%"><img src="assets/screenshots/trends.webp" alt="Kelly Radar trends"></td> </tr> <tr> <td><strong>Signals</strong><br>Competitor pricing, changelog, launch, review, and hiring signals with severity badges and Act/Watch/Ignore triage.</td> <td><strong>Trends</strong><br>Rising keywords and community topics with momentum sparklines and opportunity cards for content or roadmap handoff.</td> </tr> </table>

Overview

Use this skill as Kelly's market-intelligence desk. One Busabase-backed App-in-Skill merges three complementary functions that share a snapshot, a watchlist, and the review model:

  1. Radar (passive monitoring): the agent periodically checks a watchlist of competitors and market sources — pricing pages, changelogs, landing pages (diffs), Product Hunt category launches, competitor app-store/G2 reviews, funding/hiring news — and files normalized signals with change highlights via scripts/ingest_signals.mjs. Kelly triages each signal in the app: act / watch / ignore / needs info.
  2. Research (active deep dives): Kelly queues research questions; the agent drafts a research brief (scope, sources, expected depth) for approval, then runs deep multi-source research and files a cited report via scripts/file_report.mjs. Kelly reads, annotates, rates confidence, and asks follow-ups in the app.
  3. Trends (demand signals): keyword/topic trend movers — rising search queries, community topic volume, category interest — collected by the agent (optionally cross-read from a kelly-seo snapshot) and filed via scripts/ingest_trends.mjs, turned into opportunity cards Kelly approves or ignores.

Collection and research are genuine external operations a browser cannot perform (browser automation, web search, cross-skill file reads). The AirApp itself only reads and writes Busabase — it never fetches remote pages, posts anywhere, or mutates remote systems beyond the configured Busabase Space.

Default behavior is AirApp-first. Unless the user explicitly asks only for explanation, collect/research what's due and give the user the clickable AirApp URL (or the local preview URL when local preview is explicitly requested). Use chat-only mode only when the user says "纯聊天", "chat only", "不要打开 UI", or similar; then present numbered signals (Signal #1) and take verdicts in chat.

Mandatory Dependencies

  1. Read and follow $kelly-app-skill-creator for product behavior, visual quality, responsive layout, and the complete canonical content/kelly-radar-app/ artifact.
  2. Read and follow $busabase for connection, target Space, node discovery, ChangeRequests, review, and merge behavior.
  3. Read and follow $busabase-app-creator for resource modeling, AirApp runtime limits, security, validation, and deployment.

If a dependency is unavailable, preserve this skill's local artifact and product contracts, stop before the unavailable Busabase operation, and report the exact missing dependency. Do not invent a second data backend.

Boundary

  • Collection and research are read-only over public pages and Kelly's own analytics. Respect robots.txt and site terms of service, throttle politely, and never scrape private, gated, or personal data.
  • The AirApp reads and writes Busabase records only. It must not fetch remote pages, post anywhere, or mutate remote systems.
  • Handoffs to sibling skills (kelly-writer content briefs, kelly-feedback roadmap candidates) and any outbound artifacts are approval-required: Kelly approves in the app, then scripts/execute_decisions.mjs prints the concrete operation for the agent to carry out. It performs no external side effects itself.
  • Never store crawl credentials or API keys in Busabase. Secrets live only in local env files referenced by name.
  • Never commit payload JSON files, env files, or raw crawled content.

Busabase Resources

Nine Bases under one application Folder (kelly-radar), declared in content/kelly-radar-app/app/js/config.js and the generated template sidecars under content/:

  • watchlist: monitored competitors, categories, keywords, and communities, with per-source method (browser_agent/manual) JSON-encoded on each row. signals_7d is computed client-side from signals, never stored twice.
  • signals: normalized competitor-monitoring signals — headline, change summary, why-it-matters, severity, evidence, optional before→after diff, proposed action, and the human triage verdict.
  • questions: research questions moving through brief_needs_review → researching → report_ready → closed, with embedded follow-up questions.
  • briefs: agent-drafted research briefs (scope, planned sources, expected deliverable) awaiting approval. A question's status is derived client-side from its linked brief's status — approved → researching, blocked → closed — never written back separately.
  • reports: cited research reports — sections with citation chips, sources, annotations, and Kelly's 0-5 confidence rating.
  • movers: rising keyword/topic trend movers with a momentum series for the sparkline.
  • opportunities: opportunity cards turned from sustained movers, with a proposed next-step handoff (handoff_content_brief → kelly-writer, handoff_roadmap_candidate → kelly-feedback) and the human verdict.
  • sync-log: append-only history of ingest/file-report/execute-decisions runs.
  • settings: one row (record-id: "config") with product profile, cadence, research defaults, and trend sources.

Resources provision lazily through an idempotent Busabase ChangeRequest the first time the app runs in a Space; see references/radar-schema.md for exact field shapes.

First Run And Onboarding

On invocation, check the watchlist and signals Bases. If both are empty, guide setup before any monitoring or research: ask, turn by turn, products and positioning (what Kelly sells, to whom, and against whom), watch targets and sources (competitors/categories/keywords/communities, each with monitored source URLs and a method), research defaults (default depth, source policy, citation requirement, max sources), and trend sources (which search/community/category signals to collect). Write the answers into a settings row and watchlist targets with:

node skills/kelly-radar/scripts/ingest_signals.mjs payload.json

(a first monitoring pass auto-creates watchlist targets/sources on the fly; see the Monitoring Workflow below).

Local App

Default behavior is AirApp-first — give the user the clickable AirApp URL. Start pnpm --dir content/kelly-radar-app dev only when local preview/debugging is explicitly requested.

Required app views (hash routes):

  • #/overview: intel command desk — human-attention panel (signals to triage, briefs awaiting approval, reports ready to read, follow-ups running), watchlist freshness, this week's top signals, top trend movers, research pipeline mini-status.
  • #/signals and #/signals/<id>: the radar feed — source-type badge, watch target, headline, change summary, severity, detected time, triage state. Detail shows before→after diff highlights, evidence links, the agent's why-it-matters note, triage buttons (Act / Watch / Ignore / Needs info), a Review note textarea, and stable refs like Signal #1.
  • #/watchlist and #/watchlist/<id>: monitored targets with per-source method, last check, 7-day signal counts, status; detail shows sources, recent signal history, and notes.
  • #/research and #/research/<id>: research desk. Questions table with status (brief_needs_review → researching → report_ready → annotated/closed). Detail switches by stage: brief stage shows the agent-drafted brief with approve/request-changes/block; report stage shows the cited report, annotations, confidence rating, and a follow-up box that files an agent task.
  • #/trends: trend movers with source badge, volume proxy, delta arrow, inline SVG momentum sparkline, and linked opportunity cards carrying an approvable next step.
  • #/settings: sanitized config — watchlist summary, research defaults, trend sources, data provider, onboarding state. Never expose secret values.

Demo mode:

  • ?demo=<scene> opens deterministic mock data: overview, signals, research, trends, detail (a signal detail with a pricing-page diff).
  • lang=en or lang=zh forces UI chrome language for screenshots.
  • Deep links like /?demo=research&lang=en#/research must work.
  • Demo mode never reads or writes Busabase and decision buttons are disabled — a demo notice explains decisions are not persisted.

UI language: English and Chinese chrome with Auto default (navigator.languages), an explicit selector persisted locally, and domain content kept in its original language.

Monitoring Workflow

  1. Cadence comes from settings.cadence_monitor (default daily). On a monitoring run, iterate the configured watchlist sources with method browser_agent (browser automation or web search in the agent session; manual sources are supplied by the user as payloads).
  2. For each changed source, build a normalized signal: headline, 1-3 sentence change summary, why_it_matters, severity, evidence links, and — for page changes — a before→after diff.lines block. Propose a triage (act|watch|ignore|needs_info) and, when acting is obvious, a concrete handoff.
  3. Write signals through the single write path: save the payload JSON, then run node scripts/ingest_signals.mjs <payload.json>. The script validates, dedupes by target+source+content hash, merges, auto-creates/refreshes the watchlist target and source, and appends a sync log entry.
  4. Dedupe rules: a signal whose content_hash already exists is skipped; re-detections of the same change must not create new rows. Prefer one signal per change, not per crawl.
  5. Kelly triages in the app: Act = approve (queues the handoff), Watch = leave in review with a note, Ignore = done, Needs info = blocked.

Research Workflow

  1. Kelly asks a question (in chat or as a follow-up in the app). File it with a drafted brief: node scripts/file_report.mjs <payload.json> with a brief block — scope, planned sources, depth, expected deliverable. The question enters brief_needs_review; include payload.question to create it if it doesn't exist yet.
  2. Kelly reviews the brief in #/research/<id>: approve (question moves to researching), request changes, or block.
  3. After approval, run the deep multi-source research within the brief's scope and source policy. Every claim that matters must carry a citation.
  4. File the report with node scripts/file_report.mjs <payload.json> with a report block. The script validates the citation shape (every section's source_ids resolve; every source has title+url), links the report to its question, and flips the question to report_ready.
  5. Kelly reads, annotates, rates confidence (0-5), and asks follow-ups in the app; follow-ups are appended onto the question's followups[] field for another research round.

Trends Workflow

  1. Cadence from settings.cadence_trends (default weekly). Collect keyword/topic movers from the configured trend sources: rising search queries, community topic volume, category interest.
  2. Optionally cross-read a kelly-seo snapshot (read-only): node scripts/ingest_trends.mjs <payload.json> /path/to/kelly-seo/content/kelly-radar-app/.data/<snapshot>.json imports rising queries when present and degrades gracefully when absent.
  3. ingest_trends.mjs dedupes movers by keyword+source, updates volume/delta/momentum for existing movers, and can add opportunity cards.
  4. Turn sustained movers into opportunity cards with a proposed_next_step (content brief → kelly-writer, roadmap candidate → kelly-feedback). Kelly approves or ignores each card in #/trends.

Decisions Workflow

  1. Kelly's verdicts write directly onto the item record (status, decision_verdict, decision_comment, decided_at) through busabase-sdk. From a standalone local preview the write merges immediately (trusted operator); from the deployed AirApp it creates a pending ChangeRequest for the trusted process to merge.
  2. Before executing anything, run node scripts/execute_decisions.mjs (dry-run). It prints the concrete operation for every approved signal/brief/opportunity: handoff_content_brief → kelly-writer, handoff_roadmap_candidate → kelly-feedback, add_watch_source → watchlist target id, start_research → question id. No external side effects.
  3. After Kelly confirms the dry-run, perform the handoffs (invoke the sibling skill or update the watchlist), then run node scripts/execute_decisions.mjs --apply to mark the approved signals/opportunities done and log the run. Approved briefs are left alone — their lifecycle naturally advances when the report is filed.

Safety Defaults

  • Treat handoffs, outbound artifacts, and anything customer-visible as approval-required.
  • Keep crawls polite: cache, throttle, and store only the minimal excerpt needed for the diff and evidence.
  • Redact tokens and personal data from signals, reports, logs, and UI state.
  • Keep ingestion idempotent via stable ids and content hashes so repeated runs never duplicate rows.
  • If a source cannot be verified (A/B tests, geo-variants), file the signal as needs_info/blocked rather than guessing.

Useful Commands

node skills/kelly-radar/scripts/ingest_signals.mjs payload.json
node skills/kelly-radar/scripts/ingest_trends.mjs payload.json [kelly-seo-snapshot.json]
node skills/kelly-radar/scripts/file_report.mjs payload.json
node skills/kelly-radar/scripts/execute_decisions.mjs
node skills/kelly-radar/scripts/execute_decisions.mjs --apply
pnpm --dir skills/kelly-radar/content/kelly-radar-app dev

In normal use, invoke /kelly-radar, let the skill collect/research what's due, and open the AirApp.

レビュー

まだレビューはありません。使ってみた感想をお寄せください。

同じリポジトリのスキル

概要と使いどころ

Align all AI coding agents to a single source of truth. AGENTS.md for rules, .agents/skills/ for skills, symlinks for everything else. Use when setting up a repo for multiple agents, or when links are missing, broken, or out of date.

日本語の概要は準備中です。原文の説明を表示しています。

mr-kelly/skills52026年10月2日 更新

Read, answer and post on the Buda community forum at community.buda.im through its /api/v1/community REST API. Lists categories and posts, reads a thread with its replies, searches, and publishes posts and replies behind an explicit confirmation. Use when the user invokes $buda-community or /buda-community, asks what is happening in the Buda community, wants an unanswered question triaged or answered, or wants something posted or announced there.

日本語の概要は準備中です。原文の説明を表示しています。

mr-kelly/skills52026年10月2日 更新

Read, answer and post on the Busabase community forum at community.busabase.com through its /api/v1/community REST API. Lists categories and posts, reads a thread with its replies, searches, and publishes posts and replies behind an explicit confirmation. Use when the user invokes $busabase-community or /busabase-community, asks what is happening in the Busabase community, wants an unanswered question triaged or answered, or wants something posted or announced there.

日本語の概要は準備中です。原文の説明を表示しています。

mr-kelly/skills52026年10月2日 更新

kelly-ads

無料

Ad-campaign command desk (投放指挥台, Busabase App-in-Skill) for a cross-border e-commerce seller running Amazon Ads, Meta (FB/IG), TikTok Ads, and Google Ads. Use when the user invokes $kelly-ads or /kelly-ads, or asks about 投放, ad campaigns, ad spend, ACOS, ROAS, Amazon Ads, TikTok ads, Meta ads, Google Ads, search terms, negative keywords, bid adjustment, budget pacing, CPC spikes, rejected ads, ad anomaly detection, 广告优化, or reviewing agent-proposed adjustment cards (negative keyword, bid down/up, pause target, budget shift, creative refresh).

日本語の概要は準備中です。原文の説明を表示しています。

mr-kelly/skills52026年10月2日 更新

Busabase-backed App-in-Skill low-code agent configuration and governance console for a platform team. Use when the user invokes $kelly-agent-builder or /kelly-agent-builder, wants to review or edit a catalog of mock LLM agent configs, check quota usage, find configs that need attention, move a draft to live, pause a live agent, or archive an agent. Mock config/governance console only — it never provisions or calls any real agent.

日本語の概要は準備中です。原文の説明を表示しています。

mr-kelly/skills52026年10月2日 更新

Review board (Busabase App-in-Skill) that runs a fixed suite of mock test cases against a baseline vs candidate agent version and surfaces rubric-scored regressions before a release. Use when the user invokes $kelly-agent-eval or /kelly-agent-eval, wants to review agent-version regressions, compare baseline vs candidate quality, triage a release, or record a release approve/block decision. Deterministic mock rubric scores only — not a real LLM-judge call, and it never deploys anything.

日本語の概要は準備中です。原文の説明を表示しています。

mr-kelly/skills52026年10月2日 更新

mr-kelly のスキルをすべて見る

このスキルの問題を報告する