tokei-agent
Tokei (tokei.io) is a pre-launch, waitlist and giveaway platform — launch pages, competition giveaways, sweepstakes, referral and viral-loop campaigns, Product Hunt launch drives, Gleam-style and KickoffLabs-style entry pages. This CLI controls them from the command line — list, clone, update, publish and unpublish pages, upload images and video, set prizes, reward tiers and deadlines, restyle pages, and read stats, leaderboards, top referrers, signups, survey responses, winner selections and the webhook event catalog, plus manage webhooks (all 5 events) — all via the Tokei v1 REST API.
Rank
62
Safety
84
Downloads
1.2k
Updated
Oct 11, 2026
Version
0.3.6
Source
CLAWHUB
About
What it does, and when to use it.
Capability contract not published. No trust telemetry is available yet. 1.2K downloads reported by the source. Last updated 10/11/2026.
Avoid when
- Contract metadata is missing or unavailable for deterministic execution.
Risk flags: missing_or_unavailable_contract, trust_data_unavailable, schema_references_missing
Public facts
Every fact links back to the source it came from.
- Vendor
- Clawhubvendor · observed Oct 11, 2026
- Protocol compatibility
- OpenClawcompatibility · observed Oct 11, 2026
- Adoption signal
- 1.2K downloadsadoption · observed Oct 11, 2026
- Latest release
- 0.3.6release · observed Sep 4, 2026
- Handshake status
- UNKNOWNsecurity
Install and run
Setup complexity: low.
clawhub skill install s17f49saxv9xfh8dt4h21w9pgs8ax0fm:tokei-agent- Install using `clawhub skill install s17f49saxv9xfh8dt4h21w9pgs8ax0fm:tokei-agent` in an isolated environment before connecting it to live workloads.
- No published capability contract is available yet, so validate auth and request/response behavior manually.
- Review the upstream CLAWHUB listing at https://clawhub.ai/gilesdawe/tokei-agent before using production credentials.
Contract: missing
curl -s "https://www.xpersona.co/api/v1/agents/clawhub-gilesdawe-tokei-agent/snapshot"
Documentation
CLAWHUB
151,250 characters of source documentation, loaded on request.
Extracted files
5 files captured from the source.
SKILL.md
---
name: tokei-agent
description: Tokei (tokei.io) is a pre-launch, waitlist and giveaway platform — launch pages, competition giveaways, sweepstakes, referral and viral-loop campaigns, Product Hunt launch drives, Gleam-style and KickoffLabs-style entry pages. This CLI controls them from the command line — list, clone, update, publish and unpublish pages, upload images and video, set prizes, reward tiers and deadlines, restyle pages, and read stats, leaderboards, top referrers, signups, survey responses, winner selections and the webhook event catalog, plus manage webhooks (all 5 events) — all via the Tokei v1 REST API.
homepage: https://tokei.io/agent
metadata: {"openclaw":{"emoji":"⏱️","requires":{"bins":[],"env":["TOKEI_API_KEY"]}}}
---
# tokei-agent
`tokei-agent` is a zero-dependency CLI for the Tokei v1 REST API (`https://tokei.io/api/v1`). Every command prints JSON to stdout, so pipe it to `jq` or parse it directly.
## Install tokei-agent if it isn't already there
```sh
npm install -g tokei-agent
# or run it without installing:
npx tokei-agent --help
```
Requires Node 22+. npm release: https://www.npmjs.com/package/tokei-agent — official website: https://tokei.io — agent docs: https://tokei.io/agent — API reference: https://tokei.io/docs/api
---
## ⚠️ Four hard rules (read first)
**Rule 1 — Run `tokei-agent me` before anything else.** It proves the key is live and reports the account's **plan**. API access requires an active subscription or lifetime plan — **trial accounts get `403` on every command**, so a whole workflow can fail on its first call for a reason no other command explains.
> `me` does **not** report the key's scope. There is no way to read a key's scope from the API — you discover a read-only key by getting `403 FORBIDDEN` on your first write. If the task involves changing anything, ask the human up front whether their key is read+write.
**Rule 2 — Every media URL you write to a page MUST come from `tokei-agent media:upload`.** Raw filesystem paths (`hero.png`) and third-party URLs (`https://example.com/hero.png`) are **rejected** — the seven media fields on `pages:update` are guarded by a closed host allowlist that only accepts the app's own storage (and `res.cloudinary.com`). Always:
```sh
HERO=$(tokei-agent media:upload ./hero.png | jq -r '.data.public_url')
tokei-agent pages:update "$PAGE_ID" --image-video "$HERO"
```
Every `--image-video` / `--og-image` / `--background-image` example below assumes a `public_url` obtained this way — never a local file.
**Rule 3 — List fields replace wholesale; always read before you write.** `prizes` (max 20) and `reward_thresholds` (max 50) are **not** merged — whatever array you send becomes the entire list, so sending one prize deletes the other nineteen. The pattern is always `pages:get` → modify the array → `pages:update` with the complete list.
**Rule 4 — Get explicit human approval before any action that emails people or changes anything public.** Publishing a page, README.md
# tokei-agent Control your [Tokei](https://tokei.io) pre-launch and waitlist campaigns from the command line — and from AI agents like Claude Code and OpenClaw. Wraps the Tokei v1 REST API with JSON-only output, zero runtime dependencies. ## Install ```sh npm install -g tokei-agent # or run without installing: npx tokei-agent --help ``` Requires Node 22+. ### Claude Code Install it as a plugin and the `tokei-agent` skill comes with it — Claude then knows the whole command surface without being told: ``` /plugin marketplace add gilesdawe/tokei-agent /plugin install tokei-agent@tokei ``` Set `TOKEI_API_KEY` (see [Quick start](#quick-start)) and you're done. The CLI itself still runs via `npx`, so there is nothing else to install. ## Quick start 1. Create an API key at [tokei.io](https://tokei.io) → Dashboard → Settings → API Keys. Pick **read-only** unless you need to change things; API access requires an active subscription or lifetime plan. 2. Export it — the syntax differs by shell: ```sh export TOKEI_API_KEY=tokei_k_... # bash / zsh ``` ```fish set -x TOKEI_API_KEY tokei_k_... # fish ``` ```powershell $env:TOKEI_API_KEY = "tokei_k_..." # PowerShell ``` 3. Try it: ```sh tokei-agent me # verify the key, see plan + API usage tokei-agent pages:list --status active tokei-agent stats <contestId> # analytics for one page ``` Every command prints JSON to stdout with a top-level `rate_limit` object. Exit codes: `0` success, `1` API/network error, `2` usage error (JSON on stderr). > **Interactive output (0.3.1+).** When stdout is an interactive terminal, the CLI renders a banner and a human-readable summary instead of raw JSON. When stdout is a pipe, a redirect, CI, or the `mcp` transport, it prints exactly the JSON it always has — so agents, scripts and MCP clients are unaffected. Set `TOKEI_OUTPUT=json` to force JSON at a terminal too; `NO_COLOR` disables colour and animation, and `TOKEI_NO_ANIM=1` keeps the colour but stops the movement. > **Known issue — exit codes on Node 24 / Windows (fixed in 0.3.0).** On 0.2.2 and earlier the CLI could print its correct JSON output and then abort during process exit, corrupting the exit code (`$LASTEXITCODE` read `-1073740791` / `0xC0000409` on success and failure alike). On an affected version, judge a run by the JSON on stdout, not by the exit status — or upgrade. (Historical labelling slip: the 0.3.0 tarball misreported `--version` as `0.2.2`; 0.3.1+ reports correctly.) ## Commands Read (any key): | Command | Does | | -------------------------- | ----------------------------------------------------------- | | `me` | Verify the key; account, plan, API usage | | `pages:list` | List pages — `--status`, `--mode`, `--page`, `--per-page` | | `pages:get <contestId>` | One page in full (prizes, reward tiers, pub
_meta.json
{
"ownerId": "kn71v6w9gadrqg1bvex24zx4ex8aw3qd",
"slug": "tokei-agent",
"version": "0.3.6",
"publishedAt": 1788552983598
}CHANGELOG.md
# Changelog
All notable changes to `tokei-agent`. Dates are the npm publish times.
This file was seeded on 2026-08-02, after 0.3.2 shipped, by reconstructing the
history from `npm view tokei-agent time` and the commits that touched `cli/`.
Entries before 0.3.3 are therefore summaries written after the fact; entries
from 0.3.3 on are written as part of the release.
The format follows [Keep a Changelog](https://keepachangelog.com/en/1.1.0/).
This package is pre-1.0: minor versions may carry breaking changes, though none
has so far.
## [Unreleased]
## [0.3.5] — 2026-08-28
### Fixed
- **MCP tool calls no longer forward undeclared arguments.** `callTool` built the
request body as `{ ...fixedBody, ...args }` and validated only that *required*
arguments were present, so any extra field a caller invented rode through to the
API. Because `PATCH /api/v1/contests/{id}` replaces `prizes` wholesale, a call of
`pages_publish { contest_id, prizes: [] }` **wiped the page's prize list** — under
a tool annotated `destructiveHint: false`. Arguments are now allowlisted against
the tool's own `inputSchema.properties` before the merge; undeclared fields are
dropped, and the tool result now names the ones it ignored rather than
discarding them in silence. Declared arguments still win over `fixedBody`.
One documented field was caught by this and is declared as part of the same
release: `entries_create` accepted `marketing_consent`
(`docs/using-custom-apis.md`) without advertising it, so the allowlist would
have dropped it. See Added below.
- **`entries_create` was silently discarding `marketing_consent`.** The v1 route
accepts it and the field gates whether an entrant is ever synced to the
creator's connected email provider, so an import of consented entrants would
have returned 201 on every row and synced none of them.
### Added
- `entries_create` declares `marketing_consent`. Set it to `true` only when the
participant genuinely gave marketing consent elsewhere; it records the consent
and its timestamp, and is what enables the email-provider sync.
### Changed
- `pages_update`'s description now states that `status` is not settable there and
points at `pages_publish` / `pages_unpublish`. `status` stays undeclared on
purpose — `pages_publish` enforces a future-`end_date` check that a raw
`status: "active"` would bypass.
- `webhooks_delete` now declares `idempotentHint: true`, and its description states
that the subscription's queued and historical `webhook_deliveries` rows are
deleted with it (`ON DELETE CASCADE`), so past delivery attempts are not
retrievable afterwards.
- The MCP server instructions and the `pages_unpublish` description are reworded
from instructing the agent ("slow down", "Tell your user this…") to describing
what the API does. No behavioural change.
## [0.3.4] — 2026-08-21
### Added
- `pages:update --template simple` — the Custom template: bare structural
markup the creator styles entiskill-card.md
## Description: tokei-agent lets agents and CLI users manage Tokei waitlist, launch, giveaway, referral, webhook, media, and analytics workflows through the Tokei v1 REST API. This skill is ready for commercial/non-commercial use. ## Publisher: [gilesdawe](https://clawhub.ai/user/gilesdawe) ### License/Terms of Use: MIT ## Use Case: Developers and campaign operators use this skill to let agents inspect and manage Tokei pre-launch, waitlist, giveaway, referral, media, analytics, and webhook workflows from CLI or MCP surfaces. ### Deployment Geography for Use: Global ## Known Risks and Mitigations: Risk: The skill can give an agent high-impact control over Tokei account resources, including publishing pages, creating webhooks, adding entries, and uploading media. Mitigation: Use a pinned package version, prefer read-only and short-lived Tokei keys, and require explicit human approval before write actions, public changes, email-affecting actions, or unattended media_upload calls. Risk: Credentials and API destination choices can expand account exposure, especially when TOKEI_API_URL is overridden. Mitigation: Keep TOKEI_API_KEY scoped to the task, rotate or expire keys after use, and avoid setting TOKEI_API_URL unless the destination is fully trusted. Risk: API responses and uploaded files can include personal or campaign-sensitive data that may be exposed through agent transcripts, logs, or public campaign assets. Mitigation: Review command outputs before sharing, limit logging of entrant data and survey responses, and inspect local files before uploading them as campaign media. ## Reference(s): - [Tokei Agent Docs](https://tokei.io/agent) - [Tokei API Reference](https://tokei.io/docs/api) - [Tokei OpenAPI Specification](https://tokei.io/openapi.json) - [tokei-agent npm Package](https://www.npmjs.com/package/tokei-agent) - [ClawHub Skill Page](https://clawhub.ai/gilesdawe/skills/tokei-agent) ## Skill Output: **Output Type(s):** [Text, Markdown, Shell commands, Configuration, Guidance] **Output Format:** [Markdown guidance with shell commands; commands return JSON from the Tokei API.] **Output Parameters:** [1D] **Other Properties Related to Output:** [Requires TOKEI_API_KEY; write workflows may require a read+write key and explicit human approval.] ## Skill Version(s): 0.3.6 (source: release evidence, package.json, server.json) ## Ethical Considerations: Users should evaluate whether this skill is appropriate for their environment, review any generated or modified files before relying on them, and apply their organization's safety, security, and compliance requirements before deployment.
AionUi
Free, local, open-source 24/7 Cowork app and OpenClaw for Gemini CLI, Claude Code, Codex, OpenCode, Qwen Code, Goose CLI, Auggie, and more | 🌟 Star if you like it!
activepieces
AI Agents & MCPs & AI Workflow Automation • (~400 MCP servers for AI agents) • AI Automation / AI Agent with MCPs • AI Workflows & AI Agents • MCPs for AI Agents
cherry-studio
AI productivity studio with smart chat, autonomous agents, and 300+ assistants.
CopilotKit
The Frontend for Agents & Generative UI. React + Angular
Machine-readable data
The same record, as JSON, for agents and crawlers.
{
"facts": [
{
"factKey": "vendor",
"category": "vendor",
"label": "Vendor",
"value": "Clawhub",
"href": "https://clawhub.ai/gilesdawe/skills/tokei-agent",
"sourceUrl": "https://clawhub.ai/gilesdawe/skills/tokei-agent",
"sourceType": "profile",
"confidence": "medium",
"observedAt": "2026-10-11T01:24:02.556Z",
"isPublic": true
},
{
"factKey": "protocols",
"category": "compatibility",
"label": "Protocol compatibility",
"value": "OpenClaw",
"href": "https://www.xpersona.co/api/v1/agents/clawhub-gilesdawe-tokei-agent/contract",
"sourceUrl": "https://www.xpersona.co/api/v1/agents/clawhub-gilesdawe-tokei-agent/contract",
"sourceType": "contract",
"confidence": "medium",
"observedAt": "2026-10-11T01:24:02.556Z",
"isPublic": true
},
{
"factKey": "traction",
"category": "adoption",
"label": "Adoption signal",
"value": "1.2K downloads",
"href": "https://clawhub.ai/gilesdawe/tokei-agent",
"sourceUrl": "https://clawhub.ai/gilesdawe/tokei-agent",
"sourceType": "profile",
"confidence": "medium",
"observedAt": "2026-10-11T01:24:02.556Z",
"isPublic": true
},
{
"factKey": "latest_release",
"category": "release",
"label": "Latest release",
"value": "0.3.6",
"href": "https://clawhub.ai/gilesdawe/tokei-agent",
"sourceUrl": "https://clawhub.ai/gilesdawe/tokei-agent",
"sourceType": "release",
"confidence": "medium",
"observedAt": "2026-09-04T20:16:23.598Z",
"isPublic": true
},
{
"factKey": "handshake_status",
"category": "security",
"label": "Handshake status",
"value": "UNKNOWN",
"href": "https://www.xpersona.co/api/v1/agents/clawhub-gilesdawe-tokei-agent/trust",
"sourceUrl": "https://www.xpersona.co/api/v1/agents/clawhub-gilesdawe-tokei-agent/trust",
"sourceType": "trust",
"confidence": "medium",
"observedAt": null,
"isPublic": true
}
],
"events": [
{
"eventType": "release",
"title": "Release 0.3.6",
"description": "- Removes deprecated skill-card.md file. - Updates dependencies in package.json. - Adjusts and expands tests in __tests__ directory. - Updates internal HTTP, MCP, and media handling logic. - Expands and clarifies documentation in SKILL.md.",
"href": "https://clawhub.ai/gilesdawe/tokei-agent",
"sourceUrl": "https://clawhub.ai/gilesdawe/tokei-agent",
"sourceType": "release",
"confidence": "medium",
"observedAt": "2026-09-04T20:16:23.598Z",
"isPublic": true
}
]
}Record generated Oct 11, 2026.
