• Projects
  • Service
  • About
  • branding.bz
  • Podcast
  • Tips
  • FAQ
  • Recruit
  • Download
  • Contact
  • branding.bz(ブランド構築SaaS)
  • DESIGN NOW(デザインメディア)
  • X
  • LinkedIn
  • Spotify
  • Facebook

213-0011 神奈川県川崎市高津区久本3-6-7-303

© 2026 ID INC. All rights reserved

claude-skills/スキル
SKILLKnowledge Workmonitoring

store-pulse

プラグイン
Noibu
ソース
GitHub で見る ↗
説明

あなたのストア(オンラインショップ)の過去24時間の健全性を、ひと目で素早く把握できるツールです。ライブダッシュボード(リアルタイム更新される情報表示板)として保存したり、定期的なレポートをスケジュール設定したりすることもできます。 次のような場合に使用: ストア全体の状況をチェックしたい、ライブダッシュボードを保存したい、定期的なサマリー(要約レポート)をスケジュール設定したい。

原文を表示

An instant, at-a-glance read on your store's health from the last 24 hours — with the option to save it as a live Cowork dashboard artifact or schedule a recurring report. Use to check on how the overall store is doing, save a live dashboard, or schedule a recurring summary.

ユースケース
  • ストア全体の状況をチェック
  • ライブダッシュボードを保存
  • 定期的なレポートをスケジュール設定
本文(日本語訳)

Store Pulse

毎日使える、オンライン販売店の現在状況をまとめたレポート。実行するたびに新しい情報が表示され、冒頭に即座に結果が出ます(24時間の集計、重要指標の行、購入フロー)。ダッシュボード(情報板)を保存したり、定期的なレポートを設定したりすることはできますが、これらは任意の操作であり、必須ではありません。

1つのドメイン(ウェブサイトのアドレス)につき、ダッシュボード1つと設定1つ。 異なるドメインであれば、それぞれ独立した形で並行して持つことができます。

デフォルトの流れ

毎回の実行時に動きます(「店舗の状況はどう?」「flyinmiata.comを確認して」、あるいは単に /store-pulse と入力した場合など)。すでに保存されたダッシュボードがあるかどうかを事前にチェックせず、常に最新情報を表示します。既存のダッシュボードについて言及することもありません(保存されているかどうかを実際にチェックするのは「ダッシュボードとして保存」の部分だけです)。

  1. ドメインを特定する — 会話の流れから明確であれば、そのまま使用します。不明な場合は noibu_list_domains で確認します(結果が1つだけなら使用、複数で名前が特定できない場合は AskUserQuestion で質問します)。

  2. references/inline-snapshot.md を読み、その指示に完全に従う — この資料が、表示する内容の全体的な形式を決めています(集計、ウィジェット、終わりの文、調査に関する質問)。


ダッシュボードとして保存

ダッシュボード上の 「ダッシュボードとして保存」 ボタンが押されたとき(「[ドメイン] の Store Pulse ダッシュボードを保存」というリクエストが届く)、または直接的なリクエスト(「これをダッシュボードとして保存してください」)で実行されます。

  1. 既存のダッシュボードがないか確認します。 list_artifacts を実行し、id やタイトルで store-pulse-[ドメイン-スラッグ] に合致するものを探すか、古い形式の store-pulse-dashboard で SP_CONFIG.domain.name が一致するものがないか確認します(移行に関する注記を参照;その id はそのままにします)。

    • 同じ呼び出しで、タイトル も決まります:通常はドメイン接尾辞を外します(例:Store Pulse — Atari)。ただし、別の既存ダッシュボードとタイトルが衝突する場合だけは接尾辞を付けます(例:atari.ca が既に存在する場合)。詳しくは references/live-dashboard.md を参照。
  2. すでに存在する? 確認メッセージを表示します:「既に1つあります。編集しますか?」

    • はい → 何を変更したいか質問し、「既存ダッシュボードを編集」に進みます。
    • いいえ → 確認し、ここで終了します。
  3. 存在しない? オプションブロック(複数選択可、初期状態はすべてオフ;core-kpis と purchase-funnel は常に含まれるため選択肢に出しません)について一度だけ質問します:

    「ダッシュボードには、デフォルトで以下が含まれます:コア指標(セッション数、エンゲージメント、転換率、平均注文額、セッションあたりの収益)と購入フロー。ほかに追加したいものはありますか?」

    • トップ商品 — トラフィック上位5商品とカート追加率
    • チャネルパフォーマンス — トラフィックソース別のセッション数と転換率
    • 有料広告パフォーマンス — 広告プラットフォーム別のセッション数、転換数、セッションあたりの収益

    この3つだけが選択肢です(「なし」は不要 — 複数選択では選ばなければそれで済みます)。選ばれたブロックごとに references/blocks/<id>.md を読みます。

  4. ダッシュボードを作成します — references/live-dashboard.md を読み、その指示に完全に従います(ツール名の確認、テンプレート、プレースホルダー、id・タイトルの命名規則)。設定の形は以下の通り:

    { "version": 1, "domain": { "id": "uuid", "name": "..." }, "blocks": ["core-kpis", "purchase-funnel", "..."] }
    
  5. 確認メッセージ:「Store Pulse for [ドメイン] がサイドバーに表示されました。いつでもクリックしてその店舗を確認できます。」

  6. スケジューリング提案(このドメイン用にすでに設定されている場合はスキップ)をしたら、ここでターンを終了します:

    「このレポートを定期的に送るように設定しますか? メールまたは Slack で、好きな頻度で送信できます。」

    断られた場合 → 終了。このターンでは再度提案しません。


既存ダッシュボードを編集

「ダッシュボードとして保存」の手順2から、または直接的なリクエスト(「flyinmiata.com のダッシュボードにチャネルパフォーマンスを追加して」「atari.com のダッシュボードを別のドメインに切り替えて」など)から到達します。

ターゲットの成果物から SP_CONFIG を読み、内容を変更したうえで references/live-dashboard.md 経由で再構築し、同じ id で update_artifact を実行します。既にダッシュボードを持つドメインに対して、二番目の成果物を作ることはありません。

再構築するたびに、現在のセッションから noibu_search_sessions ツール名を自動的に再確認し(古い成果物に組み込まれたツール名は、インスタンス id が変わっている可能性があるため再利用しません)、mcp_tools として渡します。こうすることで、編集のたびに古いツール名が自動修正されます。「mcp_tools 許可リスト」エラーが出た場合は、再構築と更新を行ってください。このツール名の確認プロセスについて、ユーザーに説明する必要はありません。

  • ブロック変更 → blocks を更新し、再構築して更新します。
  • このダッシュボードのドメイン変更:
    1. noibu_list_domains を実行し、大文字小文字を区別せずマッチングさせます(www. 付きの変種も受け入れます)。見つからない場合 → オプションを列挙し、ここで停止します。
    2. 確認メッセージ:「このダッシュボードを [現在のドメイン] から [新しいドメイン] に切り替えます。データソースが置き換わります。続けますか?」
    3. SP_CONFIG.domain を更新し、再構築して更新します。Id とタイトルは、名前変更を求められない限り、元のドメイン に基づいたままになります。外見上の不一致があっても問題ありません。
    4. 古いドメイン用にスケジュール(定期実行)が存在する場合 → update_scheduled_task を実行し、新しいドメインを組み込み、タスク名を store-pulse-[新ドメイン-スラッグ] に変更します。
    • 別のドメイン用に二番目のダッシュボードを作りたい場合 → そのドメイン用に「ダッシュボードとして保存」を実行し、このダッシュボードは触らないままにしておきます。
  • 成果物が見つからない → 設定も削除されています。「ダッシュボードとして保存」を再度実行してください。

レポートをスケジュール(定期実行)

ダッシュボード上の 「レポートをスケジュール」 ボタンが押されたとき(「[ドメイン] の Store Pulse レポートをスケジュール」というリクエストが届く)、直接的なリクエスト、または上記の手順6から実行されます。保存されたダッシュボードは不要です。スケジュール用の設定を自前で作成し、ライブダッシュボードを読み込みません。

  1. 既存のスケジュール(定期実行)がないか確認します。 list_scheduled_tasks を実行し、store-pulse-[ドメイン-スラッグ] を探します(詳しくは references/schedule.md のタスク識別セクションを参照)。見つかった場合 → これは編集です。

  2. references/schedule.md の ## Scheduling form widget セクションを読み、そこに書かれた HTML を一字一句、そのまま渡します(JavaScript はすべてのセレクターに依存しています)。

  3. show_widget 経由で描画します。タイトルは schedule_store_pulse とします。これが、送信時に自動で送る唯一のレンダラーです。まだ読み込んでいない場合は、read_me(modules: ["interactive"])を一度だけ、静かに読み込みます。

  4. 送信時(frequency、day、time、delivery、detail)、選ばれた配信方法のコネクタ(接続設定)を、配信先を聞く前に確認します。普通のテキストリンクには頼らず、コネクタ推奨ウィジェットを使います:

    • メール → Gmail(create_draft・search_threads・list_drafts)または Outlook ドラフトツールが有効に接続されているか確認します。
      • 見つかった → メールアドレスを聞きます(両方使える場合はどちらのメールボックスかを先に聞きます)。
      • どちらもない → search_mcp_registry(["gmail","email"]) と search_mcp_registry(["outlook","microsoft 365","email"]) を実行したうえで、suggest_connectors(keywords:["email"], uuids: <両方>) を実行し、Gmail と Microsoft 365 がまとめて表示されるようにします。この配信方法は接続されるまでスキップ;他の配信方法は進めます。
    • Slack → slack_search_channels ツールが有効に接続されているか確認します。
      • 見つかった → どのチャネルか質問し、確認します。
      • ない、または認証されていない → search_mcp_registry(["slack","messages","chat"]) を実行し、suggest_connectors(keywords:["messages"], uuids: <マッチ>) を実行します。同じく、スキップルールを適用します。
    • すべての配信方法が未確認 → クロン(定期実行タスク)を作成しません。何かが接続されたら戻ってくるよう伝えます。
  5. クロンを作成または更新します — 既存の場合は update_scheduled_task、新規の場合は create_scheduled_task をタスク名 store-pulse-[ドメイン-スラッグ] で実行します。頻度・日・時刻・詳細度、および確認できた配信方法だけ をプロンプトテンプレート(references/schedule.md を参照)に組み込みます。現在のセッションのツールからコネクタツール名プレースホルダー({{slack_canvas_tool}}、{{slack_message_tool}}、{{gmail_draft_tool}}、{{outlook_draft_tool}})を確認し、置き換えます。詳しくは references/schedule.md の「コネクタツール名も組み込む必要があります」を参照。

  6. 確認メッセージ(権限に関する注記を含む):

    「スケジュール設定完了です。[ドメイン] の Store Pulse レポートは [具体的な配信スケジュール] で送信されます。ご注意:初回は、スケジュール済みタスクから手動で1回実行して、このタスクに必要な権限を許可する必要があります。その後は自動で配信されます。」

フォームをスキップした場合 → 確認して、先に進みます。


移行に関する注記

マルチドメイン対応前の古いダッシュボードは、固定 id store-pulse-dashboard にあります。これはそのままにしておいてください(名前変更、再作成、移行は不要)。「ドメイン X にダッシュボードがあるか」を確認するときは、これをそのドメイン用のダッシュボードとして扱います(SP_CONFIG.domain.name で照合)。新しく作成されるダッシュボードだけが、ドメイン由来の id 命名規則を使用します。


ファイル構成

store-pulse/
├── SKILL.md
├── references/blocks/{core-kpis,purchase-funnel,top-products,channel-performance,paid-performance}.md
├── references/inline
原文(English)を表示

Store Pulse

Daily-driver ecommerce snapshot. Every invocation leads with a fresh inline answer (24h summary, KPI row, funnel). Saving a dashboard artifact and scheduling a recurring report are explicit, optional actions — never prerequisites.

One dashboard + one schedule per domain. Different domains can each have their own, side by side.

Default flow

Runs on every invocation ("how's my store doing", "check on flyinmiata.com", a bare /store-pulse). No existence check gates this and no list_artifacts call here — always fresh, and never mentions an existing saved dashboard even if one exists (see "Save as artifact" for the one place existence is checked).

  1. Resolve the domain — use it without asking if already clear from context; otherwise noibu_list_domains (one result → use it; multiple with none named → AskUserQuestion).
  2. Read references/inline-snapshot.md and follow it exactly — it owns the full response shape (summary, widget, closing line, investigate-thread question).

Save as artifact

Triggered by the snapshot widget's "Save as artifact" button (arrives as Save Store Pulse dashboard for [domain]) or a direct request ("save this as a dashboard").

  1. Check for an existing dashboard. list_artifacts — match on id/title containing store-pulse-[domain-slug], or a legacy store-pulse-dashboard whose SP_CONFIG.domain.name matches (see Migration note; leave its id alone).

    • Same call also decides the title: drop the domain suffix by default (Store Pulse — Atari), add it back only on a Label collision with another live dashboard (e.g. atari.ca already exists) — see references/live-dashboard.md.
  2. Exists? Ask: "You already have one, do you want to edit it?"

    • Yes → ask what to change, go to "Edit an existing dashboard".
    • No → acknowledge, stop.
  3. Doesn't exist? Ask once about optional blocks (multi-select, all default-off; core-kpis/purchase-funnel are always included, don't ask about those):

    "Your dashboard will include Core KPIs (sessions, engagement, conversion, AOV, revenue per session) and a Purchase Funnel by default. Anything else you'd like to add?"

    • Top products — top 5 by traffic with add-to-cart rate
    • Channel performance — sessions and conversion by traffic source
    • Paid ad performance — sessions, conversions, revenue per ad platform

    Exactly these 3 — no "None of these" option (redundant on a multi-select; unchecked or Skip already covers it). Read references/blocks/<id>.md for each picked block.

  4. Build it — read references/live-dashboard.md and follow it exactly (tool-name resolution, template, placeholders, id/title). Config shape:

    { "version": 1, "domain": { "id": "uuid", "name": "..." }, "blocks": ["core-kpis", "purchase-funnel", "..."] }
    
  5. Confirm: "Store Pulse for [domain] is live in your sidebar — open it whenever you want to check that store."

  6. Offer scheduling (skip if already scheduled for this domain), then stop your turn:

    "Want me to set up a recurring report for this too? I can send it on whatever cadence works for you — email or Slack."

    Declined → end, don't re-offer this turn.


Edit an existing dashboard

Reached from "Save as artifact" step 2, or directly ("add channel performance to my flyinmiata.com dashboard", "switch my atari.com dashboard to a different domain").

Read SP_CONFIG from the target artifact, mutate, rebuild via references/live-dashboard.md, update_artifact on the same id — never create a second artifact for a domain that already has one.

Every rebuild silently re-resolves the live noibu_search_sessions tool name from your current session (never reuse the one baked into the old artifact — its instance id may have changed) and passes it as mcp_tools. This self-heals stale tool names on every edit — an "mcp_tools allowlist" error just means rebuild + update. Don't narrate this resolution to the user.

  • Block change → update blocks, rebuild, update.
  • Domain change on this artifact:
    1. noibu_list_domains, match case-insensitively (accept www. variants); not found → list options, stop.
    2. Confirm: "Switching this dashboard from [current] to [new] — it'll replace this dashboard's data source. Continue?"
    3. Update SP_CONFIG.domain, rebuild, update. Id/title stay derived from the old domain unless asked to rename — cosmetic mismatch is harmless.
    4. Schedule exists for the old domain → update_scheduled_task (new domain baked in) and rename the task to store-pulse-[new-domain-slug].
    • Want a second dashboard for a different domain instead? → "Save as artifact" for that domain; leave this one untouched.
  • Artifact missing → its config went with it; re-run "Save as artifact".

Schedule report

Triggered by the snapshot widget's "Schedule report" button (arrives as Schedule Store Pulse report for [domain]), a direct request, or step 6 above. Never requires a saved artifact — the cron bakes its own config and never reads the live dashboard.

  1. Check for an existing schedule. list_scheduled_tasks, look for store-pulse-[domain-slug] (see references/schedule.md's Task identity section) — found → this is an edit.

  2. Read references/schedule.md's ## Scheduling form widget and pass that HTML verbatim (the JS depends on every selector).

  3. Render via show_widget, title schedule_store_pulse — the only renderer that auto-sends on submit. Load read_me (modules: ["interactive"]) once, silently, if not already loaded.

  4. On submit (frequency, day, time, delivery, detail), resolve each picked delivery's connector before asking for its target — never fall back to a plain-text install link, use the connector-recommendation widget instead:

    • Email → look for a live Gmail (create_draft/search_threads/list_drafts) or Outlook draft tool.
      • Found → ask for the email address (ask which inbox first if both are available).
      • Neither found → search_mcp_registry(["gmail","email"]) and search_mcp_registry(["outlook","microsoft 365","email"]), then suggest_connectors(keywords:["email"], uuids: <both>) so Gmail and Microsoft 365 show up together. Skip this delivery until connected; keep going with the rest.
    • Slack → look for a live slack_search_channels tool.
      • Found → ask which channel, resolve it.
      • Missing or unauthenticated → search_mcp_registry(["slack","messages","chat"]), then suggest_connectors(keywords:["messages"], uuids: <match>). Same skip-don't-block rule.
    • All deliveries unresolved → don't create the cron; tell them to come back once something's connected.
  5. Create/update the cron — update_scheduled_task (existing) or create_scheduled_task name store-pulse-[domain-slug] (new). Bake frequency/day/time/detail plus only the resolved deliveries into the prompt template (references/schedule.md). Resolve and substitute the connector tool-name placeholders ({{slack_canvas_tool}}, {{slack_message_tool}}, {{gmail_draft_tool}}, {{outlook_draft_tool}}) from your current session's tools — see references/schedule.md's "Connector tool names must also be baked in".

  6. Confirm, including the permission note:

    "Scheduled — your Store Pulse report for [domain] will go out [readable summary]. One heads-up: you'll need to run the task once manually from your scheduled tasks to grant the permissions it needs. After that first run, it'll deliver on its own."

Skipped form → acknowledge, move on.


Migration note

Pre-multi-domain dashboards sit at the fixed id store-pulse-dashboard — leave exactly as-is (no rename, recreate, or migrate). Any "does domain X already have a dashboard" check must treat it as that domain's dashboard (match via SP_CONFIG.domain.name). Only new dashboards use the domain-derived id scheme.


File map

store-pulse/
├── SKILL.md
├── references/blocks/{core-kpis,purchase-funnel,top-products,channel-performance,paid-performance}.md
├── references/inline-snapshot.md
├── references/live-dashboard.md
└── references/schedule.md
  • references/blocks/<id>.md — block specs (metrics, queries, tooltips); shared by the snapshot, the dashboard, and scheduled reports.
  • references/inline-snapshot.md — default response shape: summary, KPI+funnel widget, action buttons, investigate-thread question.
  • references/live-dashboard.md — persistent artifact: template, tool-name resolution, id/title convention.
  • references/schedule.md — cron windows, task naming, message formats, and the scheduling form widget.

原文・著作権は Anthropic および各プラグイン作者に帰属します。日本語訳は Claude API による自動翻訳です。