Retour aux skills
jane-o-o-o-o/agent-pulse-skillVérifier avant exécution

SKILL DETAIL

agent-pulse

jane-o-o-o-o/agent-pulse-skill/agent-pulse

Agent Pulse is a command-line tool for inspecting local AI-agent activity across platforms including Hermes, Claude Code, Codex, DeepSeek, OpenClaw, Copilot, Aider, Qwen, OpenCode, Goose, Cursor, Antigravity, and Amp. It provides insights into sessions, tokens, tool calls, search calls, model usage, estimated costs, budgets, forecasts, health checks, reports, setup diagnostics, web/API/metrics exports, and MCP integration. The tool offers JSON output for detailed data, supports filtering by platform and time range, and includes commands for status, dashboard, demo, doctor, top sessions, model analysis, leaderboard, optimize, budget, forecast, anomaly, health, score, search, compare, heatmap, insights, metrics, export, web dashboard, REST API, and MCP tools.

Installations · 433Voir la source

Installation

npx skills add https://github.com/jane-o-o-o-o/agent-pulse-skill --skill agent-pulse

Fichiers du skill

SKILL.md

Dernière synchronisation · 27 août 2026

agents/openai.yaml
interface:
  display_name: "Agent Pulse"
  short_description: "Inspect AI-agent sessions, tokens, model costs, and health."
  default_prompt: "Use $agent-pulse to summarize my recent AI-agent sessions, token usage, model costs, health, and forecast."
scripts/run_agent_pulse_snapshot.py
"""Run a compact Agent Pulse usage snapshot."""

from __future__ import annotations

import argparse
import json
import os
import shutil
import subprocess
import sys


def command_base() -> list[str]:
    if shutil.which("agent-pulse"):
        return ["agent-pulse"]
    return [sys.executable, "-m", "agent_pulse.cli"]


def run(args: list[str], timeout: int) -> dict:
    env = os.environ.copy()
    env.setdefault("PYTHONUTF8", "1")
    env.setdefault("PYTHONIOENCODING", "utf-8")
    cmd = command_base() + args
    try:
        proc = subprocess.run(
            cmd,
            text=True,
            stdout=subprocess.PIPE,
            stderr=subprocess.STDOUT,
            env=env,
            check=False,
            timeout=timeout,
        )
    except subprocess.TimeoutExpired as exc:
        raw_output = (exc.stdout or "").strip() if isinstance(exc.stdout, str) else ""
        return {
            "command": " ".join(cmd),
            "exit_code": None,
            "timed_out": True,
            "timeout_seconds": timeout,
            "output": raw_output or f"Command timed out after {timeout} seconds.",
        }

    raw = proc.stdout.strip()
    parsed = None
    if raw:
        try:
            parsed = json.loads(raw)
        except json.JSONDecodeError:
            parsed = raw
    return {"command": " ".join(cmd), "exit_code": proc.returncode, "timed_out": False, "output": parsed}


def main() -> int:
    parser = argparse.ArgumentParser(description="Run a compact Agent Pulse JSON snapshot.")
    parser.add_argument("--hours", type=int, default=24, help="Recent activity window in hours.")
    parser.add_argument("--days", type=int, default=7, help="Trend/insight window in days.")
    parser.add_argument("--limit", type=int, default=10, help="Top-session limit.")
    parser.add_argument(
        "--command-timeout",
        type=int,
        default=20,
        help="Timeout in seconds for each Agent Pulse subcommand.",
    )
    args = parser.parse_args()

    hours = str(args.hours)
    days = str(args.days)
    limit = str(args.limit)
    trend_hours = str(args.days * 24)
    timeout = args.command_timeout

    snapshot = {
        "doctor": run(["doctor", "--json"], timeout),
        f"status_{args.hours}h": run(["status", "--json", "--hours", hours], timeout),
        "top_cost": run(
            ["top", "--sort", "cost", "--json", "--hours", trend_hours, "--limit", limit],
            timeout,
        ),
        "models": run(["models", "--json", "--hours", trend_hours], timeout),
        "leaderboard": run(["leaderboard", "--json", "--hours", trend_hours], timeout),
        "forecast": run(["forecast", "--json", "--days", days], timeout),
        "health": run(["health", "--json"], timeout),
        "score": run(["score", "--json", "--hours", trend_hours], timeout),
        "budget": run(["budget", "--json"], timeout),
        "insights": run(["insights", "--json", "--days", days], timeout),
    }
    print(json.dumps(snapshot, indent=2, ensure_ascii=False))
    return 0


if __name__ == "__main__":
    raise SystemExit(main())
SKILL.md
---
name: agent-pulse
description: Use Agent Pulse to inspect local AI-agent activity across Hermes, Claude Code, Codex, DeepSeek, OpenClaw, Copilot, Aider, Qwen, OpenCode, Goose, Cursor, Antigravity, and Amp logs. Use when the user asks about AI-agent sessions, tokens, tool/search calls, model usage, estimated cost, budgets, forecasts, health checks, reports, setup diagnosis, web/API/metrics exports, or MCP integration.
---

# Agent Pulse

## Purpose

Use the installed `agent-pulse` CLI as the source of truth for local AI-agent activity. The PyPI package is `agentpulse-cli`, while the command remains `agent-pulse`. Prefer running commands and summarizing their output over reading the Agent Pulse source code.

Always enable UTF-8 on Windows before running commands because Agent Pulse output contains emoji and box drawing:

```powershell
$env:PYTHONUTF8='1'
$env:PYTHONIOENCODING='utf-8'
```

If `agent-pulse` is not on PATH, ask before installing dependencies. If the user approves, install the PyPI package or try running from a local project checkout:

```powershell
pip install agentpulse-cli
```

```powershell
python -m agent_pulse.cli --version
```

## Source Keys

Use `-P/--platform` when the user asks about one agent tool instead of all local data:

```text
hermes, claude, codex, deepseek, openclaw, copilot, aider, qwen,
opencode, goose, cursor, antigravity, amp
```

## Choose Commands

Use this command selection table first:

| User wants | Run |
|---|---|
| Current status | `agent-pulse status --json` |
| Full dashboard | `agent-pulse --json` or `agent-pulse --no-banner` |
| Demo data | `agent-pulse demo --json` |
| Setup diagnosis | `agent-pulse doctor --json` |
| Recent sessions | `agent-pulse --json --hours 24 --limit 20` |
| Top sessions | `agent-pulse top --sort tokens --json` |
| Top expensive sessions | `agent-pulse top --sort cost --json --hours 168` |
| Model cost analysis | `agent-pulse models --json` |
| Model ranking | `agent-pulse leaderboard --json --rank-by efficiency` |
| Cost savings | `agent-pulse optimize --json` |
| Budget status | `agent-pulse budget --json` |
| Cost forecast | `agent-pulse forecast --json` |
| Cost anomaly check | `agent-pulse anomaly --json` |
| Health/CI check | `agent-pulse health --json` |
| Composite score | `agent-pulse score --json` |
| Search sessions | `agent-pulse search "<query>" --json` |
| Compare periods | `agent-pulse compare --json` |
| Compare projects | `agent-pulse compare-projects --json` |
| Activity calendar | `agent-pulse heatmap --json` |
| Smart recommendations | `agent-pulse insights --json` |
| Prometheus metrics | `agent-pulse metrics --format prometheus` |
| Export report | `agent-pulse export -f markdown` or `agent-pulse export-html` |
| Web dashboard | `agent-pulse web --port 8765` |
| REST API | `agent-pulse api --port 8766` |
| MCP tools | `agent-pulse mcp --list-tools` |

If the installed command lacks an option, run `agent-pulse <command> --help` and adapt.

## Workflow

1. Start with `agent-pulse doctor --json` only when the user asks why data is missing, asks for setup help, or a normal data command returns no sessions.
2. Use JSON output whenever possible. Summarize the fields that matter: sessions, tokens, tools, search calls, model breakdown, source breakdown, estimated cost, warnings.
3. Use time filters for scoped questions. Default to 24 hours for "recent" and 168 hours for "this week":

```powershell
agent-pulse status --json --hours 24
agent-pulse --json --hours 168 --limit 50
```

4. Use platform filters when the user asks about a specific agent system:

```powershell
agent-pulse --json -P codex --hours 24
agent-pulse --json -P claude --hours 24
agent-pulse top --json -P aider --sort cost
agent-pulse status --json -P cursor
```

5. For cost questions, pair summary, model, and top-session views:

```powershell
agent-pulse status --json --hours 24
agent-pulse models --json --hours 24
agent-pulse top --sort cost --json --hours 24
agent-pulse optimize --json --hours 168
```

6. For trend and risk questions, use forecast/history/compare/anomaly:

```powershell
agent-pulse forecast --json
agent-pulse history --json
agent-pulse compare --json
agent-pulse anomaly --json
```

7. For setup, use the discovery commands before guessing paths:

```powershell
agent-pulse doctor --json
agent-pulse scan --json --details
agent-pulse config show
```

## Interpreting Results

- Treat `total_cost_usd` as an estimate based on Agent Pulse's local model pricing table.
- Report both cost and token volume; low-cost models can still have very high token usage.
- Distinguish sources such as `codex`, `claude`, `hermes`, `deepseek`, `openclaw`, `aider`, `cursor`, `opencode`, and `goose`.
- Mention if `doctor` reports missing optional sources, missing `dev_root`, or optional web dependencies.
- If no sessions appear, check `doctor`, then try a wider time window such as `--hours 168`.
- Check whether the user asked for a source (`-P`) filter, a model filter, or a project comparison before giving overall totals.
- If a command emits plain text instead of JSON or fails because an installed version is older, run `agent-pulse <command> --help` and use the closest supported option.

## Reports

For a short human-readable answer, run JSON commands and summarize.

For artifacts, prefer:

```powershell
agent-pulse report --period daily
agent-pulse export -f markdown
agent-pulse export-html
```

Do not invent exact savings or costs. Use the CLI output.

## Integrations

Use the web and API extras only when the user asks for a browser dashboard or programmatic server. Ask before installing missing extras:

```powershell
pip install "agentpulse-cli[web]"
agent-pulse web --port 8765
agent-pulse api --port 8766
```

For monitoring pipelines:

```powershell
agent-pulse metrics --format prometheus
agent-pulse health --cost-limit 100 --token-limit 1000000 --json
```

## MCP

Use MCP mode when the user wants other AI clients to query Agent Pulse:

```powershell
agent-pulse mcp --list-tools
agent-pulse mcp
```

When explaining MCP, mention that it exposes tools such as status, forecast, top sessions, model analytics, optimization, health, search, and leaderboard.

## Local Helper

This skill includes `scripts/run_agent_pulse_snapshot.py`, which runs a compact set of JSON-friendly Agent Pulse checks and prints a combined summary:

```powershell
python scripts/run_agent_pulse_snapshot.py --hours 24 --days 7
```