Token导航 LogoToken导航TokenDH.com
研究检索敏感数据clawhub未标认证来源可访问clear审计通过

botlington-audit博特灵顿审计

Agent Skill

用于辅助安全审计、权限检查、凭据风险、认证流程和常见漏洞排查。它适合让 Agent 梳理敏感配置、检查依赖风险、分析鉴权逻辑或生成安全复核清单。使用时不能把工具输出直接当最终结论,涉及密钥、令牌、用户数据或生产系统时,应先确认最小权限、脱敏方式和操作边界。

总安装

3,857

周安装

164

GitHub Stars

公开资料未说明

下载量

1,351
OpenClaw

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

GitHub

来源数

2

许可证

MIT-0

最后核验

2026-05-01

来源状态

来源可访问

安装方式

通过对话安装

复制提示词发给支持本地命令或 Skills 的 AI 助手,先确认命令和权限,再让它执行。

请帮我安装这个 Agent Skill:botlington-audit(博特灵顿审计)
来源仓库:https://github.com/gary-botlington/botlington-audit
安装命令:
openclaw skills install botlington-audit
安装前请先检查当前环境是否支持对应 CLI,并向我确认将要执行的命令、安装目录、联网范围和文件读写权限;确认后再执行。

命令行安装

复制命令到本机终端执行。该命令会通过 OpenClaw 从第三方来源获取 Skill;本站只展示命令,不托管安装包,也不自动执行。

ClawHubOpenClaw
openclaw skills install botlington-audit

简介

通过 A2A 端点审核 AI 代理令牌效率,识别浪费与上下文膨胀。

  • 适用于优化 LLM 调用成本、提升上下文利用率场景。
  • 在需要分析 token 使用情况时触发审计流程。
  • 输出为分析报告,建议需人工验证后实施。botlington-audit 属于研究检索类 Skill,可作为该场景下的辅助能力补充。
  • 不涉及代码修改,仅提供观测与建议数据。

SKILL.md

name
botlington-audit
description
Trigger an Agent Token Audit via Botlington's A2A endpoint. Use when you want to audit an AI agent's token efficiency — identifies model waste, context bloat, tool mismatches, and redundant work. Responds to conversational questions (7-turn A2A flow) or accepts a direct config object. Returns a score, findings, and a prioritised remediation plan with estimated euro savings.
metadata

Botlington Agent Token Audit

Botlington audits AI agents for token waste. Gary (Botlington's AI) runs a 7-question consultation, scores your agent across 5 dimensions, and returns a prioritised list of fixes with estimated monthly savings.

Live endpoint: https://botlington.com/a2a Agent Card: https://botlington.com/.well-known/agent.json Pricing: €149/audit — buy at https://botlington.com/checkout Sample audit: https://botlington.com/audits/stripe


Getting an API Key

  1. Go to https://botlington.com/checkout
  2. Complete payment (€149 single / €349 for 3 / €749 for 10)
  3. Success page returns your api_key

Set it in your environment or pass as x-api-key header.


Protocol: JSON-RPC 2.0 over HTTPS

All requests are POST https://botlington.com/a2a with:

  • Content-Type: application/json
  • x-api-key: YOUR_API_KEY

Method: tasks/send

Start a new audit (no taskId = new session):

{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tasks/send",
  "params": {
    "message": {
      "role": "user",
      "parts": [{ "kind": "text", "text": "start" }]
    }
  }
}

Gary responds with question 1 and a taskId:

{
  "jsonrpc": "2.0",
  "id": 1,
  "result": {
    "id": "TASK_ID",
    "status": { "state": "input-required" },
    "artifacts": [{
      "name": "gary-question",
      "parts": [{ "kind": "text", "text": "Hi. I'm Gary Botlington IV — I audit AI agents' token usage. ..." }]
    }]
  }
}

Continue conversation (include taskId):

{
  "jsonrpc": "2.0",
  "id": 2,
  "method": "tasks/send",
  "params": {
    "id": "TASK_ID",
    "message": {
      "role": "user",
      "parts": [{ "kind": "text", "text": "I run 8 cron jobs, firing every 15–60 minutes." }]
    }
  }
}

Repeat for each of Gary's 7 questions. On the final answer, state transitions to completed.

Method: tasks/get

Poll for status after submitting the final answer:

{
  "jsonrpc": "2.0",
  "id": 3,
  "method": "tasks/get",
  "params": { "id": "TASK_ID" }
}

Direct Config Submission (Legacy)

Skip the conversation — submit your config directly:

{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tasks/send",
  "params": {
    "message": {
      "role": "user",
      "parts": [{
        "kind": "data",
        "data": {
          "agentConfig": {
            "cronJobs": [
              {
                "name": "inbox-scan",
                "schedule": "*/30 * * * *",
                "model": "claude-sonnet-4",
                "systemPrompt": "Check email for urgent messages. Load full inbox context.",
                "tools": ["gmail", "browser", "notion"]
              }
            ],
            "primaryModel": "claude-sonnet-4",
            "contextStrategy": "full-file-reads",
            "toolSurface": ["gmail", "browser", "notion", "slack"]
          }
        }
      }]
    }
  }
}

Audit Result Format

{
  "score": 62,
  "grade": "C",
  "summary": "Significant token waste identified across model selection and context strategy.",
  "findings": [
    {
      "id": "finding-001",
      "severity": "critical",
      "dimension": "model-efficiency",
      "description": "3 cron jobs using claude-sonnet for pattern-matching tasks haiku handles fine.",
      "recommendation": "Downgrade mechanical crons to haiku. Reserve sonnet for judgment tasks.",
      "estimatedSaving": {
        "tokensPerRun": 8400,
        "percentReduction": 73
      }
    }
  ],
  "estimatedMonthlySavings": {
    "tokensReduced": 2100000,
    "percentReduction": 41,
    "euroEstimate": 42
  },
  "priorityActions": [
    "Downgrade 3 mechanical crons from sonnet → haiku",
    "Replace full-file context reads with targeted memory queries",
    "Replace browser-based Slack reads with direct API calls"
  ]
}

SSE Streaming (GET)

Stream results as they arrive:

curl -N "https://botlington.com/a2a?taskId=TASK_ID"

Events:

  • event: finding — individual finding as it's scored
  • event: complete — full result object
  • event: working — still processing

The 5 Scoring Dimensions

  1. Model efficiency — right model for the task? (haiku vs sonnet vs opus)
  2. Context hygiene — loading only what's needed per run?
  3. Tool surface — any browser calls replaceable with direct APIs?
  4. Prompt density — clear, tight prompts or verbose/ambiguous ones?
  5. Idempotency — tracking what's already been done to avoid repeat work?

Complete Shell Example

API_KEY="your-api-key"
BASE="https://botlington.com/a2a"

# 1. Start audit
RESPONSE=$(curl -s -X POST $BASE \
  -H "Content-Type: application/json" \
  -H "x-api-key: $API_KEY" \
  -d '{"jsonrpc":"2.0","id":1,"method":"tasks/send","params":{"message":{"role":"user","parts":[{"kind":"text","text":"start"}]}}}')

TASK_ID=$(echo $RESPONSE | python3 -c "import sys,json; print(json.load(sys.stdin)['result']['id'])")
QUESTION=$(echo $RESPONSE | python3 -c "import sys,json; print(json.load(sys.stdin)['result']['artifacts'][0]['parts'][0]['text'])")

echo "Task: $TASK_ID"
echo "Gary: $QUESTION"

# 2. Answer Gary's question
curl -s -X POST $BASE \
  -H "Content-Type: application/json" \
  -H "x-api-key: $API_KEY" \
  -d "{\"jsonrpc\":\"2.0\",\"id\":2,\"method\":\"tasks/send\",\"params\":{\"id\":\"$TASK_ID\",\"message\":{\"role\":\"user\",\"parts\":[{\"kind\":\"text\",\"text\":\"I run 8 cron jobs, every 15-60 minutes.\"}]}}}"

# ... continue for all 7 turns ...

# 3. Stream results
curl -N "$BASE?taskId=$TASK_ID"

Notes

  • One audit credit = one completed 7-turn consultation
  • Credits are deducted at conversation start (turn 0), not on completion
  • A resumed conversation (same taskId) does not consume additional credits
  • If Gary is mid-conversation and you restart with the same taskId, it continues from where it left off
  • The agent card at /.well-known/agent.json enables A2A-compatible orchestrators to auto-discover Botlington

适合场景

01

OpenClaw 用户查找和安装 Skill 时

02

用户想查找某类 Agent Skill 时

03

需要根据任务场景推荐可安装能力包时

04

需要对比不同来源的安装命令和来源信息时

能力概览

能力 1

按任务关键词查找相关 Skills

能力 2

展示可复制的安装命令

能力 3

保留来源站点、仓库和原始说明,方便继续核验

能力 4

补充不同宿主或平台的使用分布数据

能力 5

展示第三方安全扫描或审计结果

安装后应在对应宿主中按原始 README 的触发条件使用;具体调用方式请以来源页面和 README 为准。

平台分布

OpenClaw

86.04%
按下载量换算1,162

安全审计

VirusTotal

通过

ClawScan

通过

Static analysis

通过

权限和风险

敏感数据

该 Skill 可能接触密钥、Token、环境变量或敏感配置,应进入高风险复核队列,默认不自动发布。

安装前确认

本站仅展示第三方公开信息,不托管安装包,不提供自动安装或运行环境。安装前应自行审查源码、依赖和命令行为。当前只有一个来源,正式发布前建议补源仓库或其他目录站核验。

来源信息

继续浏览同类 Skills