本文へ移動
cccskills
無料GitHub で公開日本語紹介

live-dashboard

メールやウェブサイト、ローカルファイルから進捗を集め、定期更新するダッシュボードを作成。要対応事項や変更履歴をまとめ、重要な変化があったときに通知します。

原文原文の説明を見る

Build self-updating dashboards from live sources.

インストール方法を見る

こんなときに便利

  • メールとサイトで申請状況を追いたいとき
  • 商談や配送の進捗を一か所で確認
  • 重要な状況変化の通知を受けたいとき
  • 取得失敗時も直前の正常な値を残す

日本語での紹介

できること

メール、ウェブサイト、ローカルファイルに分散した情報を集め、定期更新する進捗ページを作ります。追跡する案件、表示項目、要対応と判断する条件を整理し、取得日時や変更履歴とともに保存します。読み取りに失敗した項目は直前の正常な値を残し、情報が古い状態だと示します。重要な変更や新しい要対応事項がある場合に通知します。

こんなときに便利

申請、商談、配送などの状況を一か所で確認したいときに向いています。メールと外部サイトを毎回見比べる作業や、複数案件の更新確認を定期的に行う場面で役立ちます。

使い方の例

  • 「ビザ申請の状況をメールと申請状況サイトから集め、毎日更新して」
  • 「配送の進捗と要対応事項を一覧にして」

作成前に各情報源から実際に取得できるかを確認し、dashboard.jsonとindex.htmlを生成します。

注意点

情報源に接続するツールと、定期実行用のcronjobが必要です。desktop_previewが使える環境では画面内に表示し、それ以外ではHTMLの保存先を案内します。更新頻度は情報源の利用制限に合わせます。

この紹介文は、公開されている SKILL.md をもとに AI(Claude Haiku)が作成しました。正確な仕様は下の原文を確認してください。

含まれるファイル(1)

  • SKILL.md8.1 KB

SKILL.md(原文)

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

Live Dashboard

Turn one sentence — "make a dashboard for our visa applications, update it daily from the email threads and the case-status site" — into a persistent, self-refreshing status page. The user describes what they want to see; you define the data contract, build a self-contained HTML dashboard, verify one live refresh, then schedule the recurring tick.

Setup runs once in the foreground; the recurring refresh runs as a cronjob tick. Installing this skill offers a daily all-dashboards sweep via /suggestions (the frontmatter blueprint).

When to Use

  • "Make a dashboard for <project/process> and keep it updated."
  • "I want one place to see the status of <deals / applications / bugs / shipments>."
  • "Track <thing> across my email and <website> and show me where it stands."
  • "Show me the <slug> dashboard." (re-render/preview an existing one)
  • A cron tick fires for an existing dashboard (steps 5-7).

Don't use for: one-off status questions (answer directly), price/availability thresholds on a single item (use product-price-monitor), or company news tracking (use competitor-news-monitor).

Prerequisites

  • At least one source connector the dashboard will read from: email/calendar via himalaya or google-workspace, websites via web_extract or browser_navigate, local files via read_file. If none is configured, renegotiate the sources in step 1 before writing any artifact.
  • cronjob for the recurring tick.
  • Optional: the desktop_preview tool (Hermes desktop app sessions). When it is in the toolset, dashboards render in the in-app preview pane; otherwise the user is given the file path.

Procedure — Setup (foreground, once)

1. Define the dashboard contract

From the user's sentence, pin down: the dashboard's purpose in one line, the entities being tracked (rows), the fields per entity (columns/indicators), what "needs attention" means, the sources each field is read from, and the refresh cadence. Ask about anything ambiguous — a dashboard that tracks the wrong grain is worthless. Done when every field on the dashboard names the source it will be read from.

2. Verify each source with one live read

For each source, do one bounded foreground read now: email/calendar via the connector skills (himalaya, google-workspace), websites via web_extract or browser_navigate, local files via read_file. Record what was actually retrievable — auth walls, missing permissions, or empty results surface here, not on the first scheduled run. Drop or replace sources that fail. Done when every field's source returned real data or was explicitly renegotiated with the user.

3. Build the dashboard artifact

Write two files under the Hermes home directory's dashboards/<slug>/ (the same directory that holds config.yaml; never assume a fixed location):

  • dashboard.json — the contract plus current state: purpose, entities, per-field values, per-field source + retrieval timestamp, a needs_attention list, and a change log (append-only, most recent first).
  • index.html — a single self-contained HTML page (inline CSS, no external requests) rendering the state: a header with purpose and last-updated time, a "Needs attention" section on top, the entity table, and the recent-changes list. Regenerate it from dashboard.json on every refresh; never hand-edit HTML state.

Populate both from the step-2 reads, then show the result (step 8). Done when the page renders the live data and every value on it carries a retrieval timestamp in dashboard.json.

4. Schedule the refresh

Only after step 3 succeeded, schedule the tick. If the daily all-dashboards sweep from /suggestions is already scheduled and its cadence suits, it will pick this dashboard up — say so and stop. Otherwise create a per-dashboard job whose prompt names the state file:

cronjob(action="create",
        schedule=<cadence from the contract, e.g. "0 8 * * *">,
        prompt="Load the live-dashboard skill and run the refresh tick for the dashboard at <absolute path to dashboards/<slug>/dashboard.json>.",
        deliver=<user's destination>)

Pick a cadence that respects source rate limits. Done when a job covering this dashboard exists and its prompt names the state-file path (or the sweep).

Procedure — Tick (each scheduled run)

5. Re-read sources and diff

Load dashboard.json (for the sweep: every dashboards/*/dashboard.json, one at a time), re-read each field from its named source, and compute a field-level diff against the stored state. A failed source read means unknown state: keep the last good value, mark the field stale with the failure time, and never overwrite good data with an error. Done when every field is either updated, unchanged, or explicitly marked stale.

6. Update state and re-render

Apply the diff to dashboard.json: update values and timestamps, append material changes to the change log, and recompute needs_attention against the contract's attention rules. Regenerate index.html from the updated state, then show the result (step 8). Done when the JSON and HTML agree and the change log entry for this run exists (or the run is recorded as no-change).

7. Deliver on material change, else stay silent

If the diff contains material changes or new needs-attention items, deliver a short summary: what changed, what needs attention, and where the dashboard is. Otherwise respond with [SILENT] — no "still watching" noise unless the user asked for a periodic digest. Done when delivery matches the diff.

Procedure — Show the dashboard (after every build or re-render, and on request)

8. Render where the user can see it

  • Desktop/GUI session (desktop_preview is in the toolset): desktop_preview(action="open", url=<absolute path to index.html>, label=<dashboard purpose>) so the page renders live in the preview pane beside the chat; re-open after each re-render so the pane shows the new state.
  • Any other session (CLI, messenger, cron tick without a GUI): report the absolute path of index.html and offer to open it where the platform allows.

Done when the user has either seen the rendered page or been told exactly where it lives.

Pitfalls

  • Building the page before verifying the sources — auth failures then surface on an unattended run.
  • Overwriting last-known-good values with an error page or empty read.
  • Rendering state into HTML only — dashboard.json is the source of truth; HTML is a projection.
  • Alerting on every refresh instead of on material change.
  • Tracking the wrong grain (per-thread when the user thinks per-application).
  • Hardcoding the Hermes home path — resolve it from the running install (the directory holding config.yaml) and write absolute paths into cron prompts.
  • Calling desktop_preview outside a desktop session — it is only in the toolset for GUI sessions; fall back to the path.

Verification

  • Every dashboard field names its source, and each source passed one foreground read before scheduling.
  • dashboard.json and index.html exist and agree; every value carries a retrieval timestamp.
  • Failed reads marked fields stale without destroying last-known-good state.
  • Ticks deliver only on material change; no-change runs were [SILENT].
  • The change log replays the dashboard's history from the state file alone.
  • The dashboard was shown in the preview pane (desktop) or its path reported (elsewhere).

レビュー

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

同じリポジトリのスキル

概要と使いどころ

1password

無料日本語概要

1Passwordに保存したパスワードやAPIキーを、コマンド実行や設定テンプレートで使うためのスキル。CLIの導入、認証、秘密情報の取得・受け渡しを案内します。

  • 1Password CLIの導入と設定
  • 保存済みAPIキーでコマンド実行
  • 設定テンプレートへの秘密情報の埋め込み
NousResearch/hermes-agent25.3万2026年10月12日 更新

3-statement-model

無料日本語概要

損益計算書・貸借対照表・キャッシュフロー計算書を数式で連動させるExcelモデルを作ります。実績と予測の入力、前提を変えた比較、財務三表の整合性確認を段階的に進めます。

  • 財務テンプレートへの実績入力
  • 財務三表が連動する予測の作成
  • 基本・上振れ・下振れシナリオの比較
NousResearch/hermes-agent25.3万2026年10月12日 更新

Run PyTorch training across GPUs with minimal changes.

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

NousResearch/hermes-agent25.3万2026年10月12日 更新

Set up Actual Computer (actual.inc) inference in Hermes.

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

NousResearch/hermes-agent25.3万2026年10月12日 更新

adversarial-ux-test

無料日本語概要

技術が苦手で不満を抱きやすい利用者になりきってアプリを試し、操作の分かりにくさや離脱の原因を発見。実際の改善課題と個人的な不満を分け、修正案をまとめます。

  • 公開やデモ前に使いやすさを確認したいとき
  • 新規ユーザーの体験を点検したいとき
  • 登録・課金でのつまずきを探したいとき
NousResearch/hermes-agent25.3万2026年10月12日 更新

agent-merge-conflict-arbiter

無料日本語概要

2つのエージェントが別々に加えた変更のGit競合を、双方の差分と意図から中立的に解決。競合箇所ごとの判断理由を記録し、ビルドやテストで統合結果を確認します。

  • 2つのエージェントのブランチ競合を解消
  • 並行したworktreeの変更を統合
  • 競合する設計判断の理由を確認したいとき
NousResearch/hermes-agent25.3万2026年10月12日 更新

NousResearch のスキルをすべて見る

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