sigrank 0.0.177 → 0.0.179
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +100 -0
- package/MCP_SERVER_DESCRIPTION.md +141 -0
- package/README.md +23 -3
- package/adapters/index.mjs +865 -0
- package/adapters/tokenpull.mjs +576 -0
- package/adapters.mjs +1 -750
- package/analytics/cascade.mjs +274 -0
- package/cascade.mjs +1 -274
- package/cli.mjs +1 -1850
- package/connect.mjs +1 -13
- package/identity/connect.mjs +13 -0
- package/identity/keystore.mjs +242 -0
- package/identity/sign.mjs +106 -0
- package/index.mjs +30 -148
- package/keystore.mjs +1 -242
- package/narrate.mjs +1 -77
- package/package.json +31 -15
- package/preflight.mjs +1 -191
- package/presentation/cli.mjs +1874 -0
- package/presentation/narrate.mjs +77 -0
- package/presentation/tui.mjs +2668 -0
- package/prompts/check-my-efficiency.md +1 -0
- package/prompts/compare-with-leader.md +1 -0
- package/prompts/simulate-improvement.md +1 -0
- package/resources/class-tiers.md +23 -0
- package/resources/data-policy.md +27 -0
- package/resources/install-guide.md +59 -0
- package/resources/privacy-model.md +30 -0
- package/resources/scoring-formula.md +28 -0
- package/review.mjs +263 -0
- package/sign.mjs +1 -106
- package/submit/index.mjs +309 -0
- package/submit/preflight.mjs +191 -0
- package/submit.mjs +1 -303
- package/tokenpull.mjs +1 -584
- package/tools/_framing.mjs +139 -0
- package/tools/_helpers.mjs +258 -0
- package/tools/_report.mjs +262 -0
- package/tools/_schemas.mjs +394 -0
- package/tools/_verifiers.mjs +148 -0
- package/tools/compare-operators.mjs +79 -0
- package/tools/compare-self.mjs +122 -0
- package/tools/describe-power-user.mjs +68 -0
- package/tools/diagnose-cascade.mjs +192 -0
- package/tools/enroll.mjs +121 -0
- package/tools/get-best-operator.mjs +58 -0
- package/tools/get-leaderboard.mjs +26 -0
- package/tools/get-operator.mjs +33 -0
- package/tools/index.mjs +257 -0
- package/tools/optimize-efficiency.mjs +160 -0
- package/tools/rank-paste.mjs +51 -0
- package/tools/rank-windows.mjs +120 -0
- package/tools/self-improve.mjs +423 -0
- package/tools/simulate-change.mjs +207 -0
- package/tools/submit-paste.mjs +118 -0
- package/tools/submit-verified.mjs +153 -0
- package/tools/suggest-improvements.mjs +168 -0
- package/tools/tokenpull-compare.mjs +123 -0
- package/tools/tokenpull-submit.mjs +234 -0
- package/tools/tokenpull.mjs +113 -0
- package/tools/tokscale-breakdown.mjs +159 -0
- package/tools/tokscale-competitive-intel.mjs +45 -0
- package/tools/tokscale-cost-analysis.mjs +31 -0
- package/tools/tokscale-developer-profile.mjs +36 -0
- package/tools/tokscale-device-profile.mjs +35 -0
- package/tools/tokscale-market-share.mjs +38 -0
- package/tools/tokscale-mcp-usage.mjs +33 -0
- package/tools/tokscale-model-trends.mjs +32 -0
- package/tools/watch-tokenpull.mjs +134 -0
- package/tools.mjs +1 -3385
- package/tui.mjs +4 -2650
- package/banner.svg +0 -7
package/CHANGELOG.md
ADDED
|
@@ -0,0 +1,100 @@
|
|
|
1
|
+
# Changelog
|
|
2
|
+
|
|
3
|
+
## [0.0.179](https://github.com/SunrisesIllNeverSee/sigrank-mcp/compare/v0.0.178...v0.0.179) (2026-07-27)
|
|
4
|
+
|
|
5
|
+
### Features
|
|
6
|
+
|
|
7
|
+
* consent acknowledgment in enroll + submit flows (D1) — `tools/enroll.mjs` sends `consent_acknowledged=true` + `terms_version` + `privacy_version`; `presentation/cli.mjs` prompts for explicit TTY consent; `submit/index.mjs` embeds consent fields in Schema 1.0 payloads; new `resources/data-policy.md` registered as `sigrank://data-policy` MCP resource ([6789952](https://github.com/SunrisesIllNeverSee/sigrank-mcp/commit/6789952))
|
|
8
|
+
|
|
9
|
+
### Bug Fixes
|
|
10
|
+
|
|
11
|
+
* TUI input during startup — navigation/quit now accepted while startup data is still loading ([d2078ab](https://github.com/SunrisesIllNeverSee/sigrank-mcp/commit/d2078ab))
|
|
12
|
+
* CI failures — `client_rollup: []` + `detected_clients: []` added to empty-data early returns in `tokscale_analytics.mjs`; contract test pointed at `submit/index.mjs` (was `submit.mjs` re-export); `@hono/node-server ^2.0.5` override for fast-uri vuln GHSA-v2hh-gcrm-f6hx ([6b56419](https://github.com/SunrisesIllNeverSee/sigrank-mcp/commit/6b56419), [a2ebe8e](https://github.com/SunrisesIllNeverSee/sigrank-mcp/commit/a2ebe8e))
|
|
13
|
+
* regenerate `package-lock.json` from scratch — previous lock file had invalid package tree (`npm ci` failed in CI) ([81781ec](https://github.com/SunrisesIllNeverSee/sigrank-mcp/commit/81781ec))
|
|
14
|
+
|
|
15
|
+
### Refactor
|
|
16
|
+
|
|
17
|
+
* observatory-spine restructure — `tools.mjs` split into 28 individual tool files under `tools/`; files moved to domain dirs (`adapters/`, `analytics/`, `identity/`, `presentation/`, `prompts/`, `resources/`, `submit/`); inline resources/prompts extracted; root `.mjs` files are now 1-line re-export shims; observatory spine synced from sigrank-app ([6c06fee](https://github.com/SunrisesIllNeverSee/sigrank-mcp/commit/6c06fee), [dc66eff](https://github.com/SunrisesIllNeverSee/sigrank-mcp/commit/dc66eff), [9c92223](https://github.com/SunrisesIllNeverSee/sigrank-mcp/commit/9c92223))
|
|
18
|
+
|
|
19
|
+
### Chores
|
|
20
|
+
|
|
21
|
+
* remove release-please workflow — versioning is now manual per VERSIONING_RULESET.md; release-please was causing version jumps (0.0.178 → 0.11.4 → 0.19.0) despite `bump-patch-only` ([adeeb65](https://github.com/SunrisesIllNeverSee/sigrank-mcp/commit/adeeb65))
|
|
22
|
+
* owner-only tools (ops-review + retire-operator) moved to sigadmin MCP ([0c9564b](https://github.com/SunrisesIllNeverSee/sigrank-mcp/commit/0c9564b))
|
|
23
|
+
* add OKF frontmatter to all spine docs (30 files) ([a6c722e](https://github.com/SunrisesIllNeverSee/sigrank-mcp/commit/a6c722e))
|
|
24
|
+
* remove fake DRS environment.yaml ([71d3d60](https://github.com/SunrisesIllNeverSee/sigrank-mcp/commit/71d3d60))
|
|
25
|
+
* remove restructure planning docs (restructure complete) ([a8ae8cc](https://github.com/SunrisesIllNeverSee/sigrank-mcp/commit/a8ae8cc))
|
|
26
|
+
* CI: bump actions/checkout 4→7, setup-node 4→7, upload-artifact 4→7, github-script 7→9 ([9063b5e](https://github.com/SunrisesIllNeverSee/sigrank-mcp/commit/9063b5e), [e7f5039](https://github.com/SunrisesIllNeverSee/sigrank-mcp/commit/e7f5039), [e897921](https://github.com/SunrisesIllNeverSee/sigrank-mcp/commit/e897921), [c4dcf16](https://github.com/SunrisesIllNeverSee/sigrank-mcp/commit/c4dcf16))
|
|
27
|
+
* deps: bump tokscale in the patch-updates group ([b204b40](https://github.com/SunrisesIllNeverSee/sigrank-mcp/commit/b204b40))
|
|
28
|
+
|
|
29
|
+
## [0.19.1](https://github.com/SunrisesIllNeverSee/sigrank-mcp/compare/v0.19.0...v0.19.1) (2026-07-17)
|
|
30
|
+
|
|
31
|
+
|
|
32
|
+
### Bug Fixes
|
|
33
|
+
|
|
34
|
+
* revert to 3-digit versioning (0.0.178) + enforce in CI ([40aa9a6](https://github.com/SunrisesIllNeverSee/sigrank-mcp/commit/40aa9a6d1c51ca299974e6fdfc4b36f24369635f))
|
|
35
|
+
|
|
36
|
+
## [0.19.0](https://github.com/SunrisesIllNeverSee/sigrank-mcp/compare/v0.18.1...v0.19.0) (2026-07-14)
|
|
37
|
+
|
|
38
|
+
|
|
39
|
+
### Features
|
|
40
|
+
|
|
41
|
+
* add 'other' platform adapter for user-supplied token data ([0e6af8e](https://github.com/SunrisesIllNeverSee/sigrank-mcp/commit/0e6af8e36620df88c13822e292499b003442f645))
|
|
42
|
+
* auto-detect platforms via tokscale instead of brute-force all adapters ([e72d2d9](https://github.com/SunrisesIllNeverSee/sigrank-mcp/commit/e72d2d9f5615832cd58eaeff7e17ab961dc6fa49))
|
|
43
|
+
* complete tokscale client map (40 clients) + model breakdown tool ([657b87a](https://github.com/SunrisesIllNeverSee/sigrank-mcp/commit/657b87a690576ad81396e219c61447198ada67d8))
|
|
44
|
+
* platform sync automation script + weekly CI check ([29096aa](https://github.com/SunrisesIllNeverSee/sigrank-mcp/commit/29096aad1b2f3c0bce6dad15d8c4fa59871793e4))
|
|
45
|
+
|
|
46
|
+
|
|
47
|
+
### Bug Fixes
|
|
48
|
+
|
|
49
|
+
* unescaped backticks in index.mjs template literal + add devin/opencode to CLI platform list ([24cfdfe](https://github.com/SunrisesIllNeverSee/sigrank-mcp/commit/24cfdfe956f4776fe8d88f2108a6dd644f7269d8))
|
|
50
|
+
|
|
51
|
+
## [0.18.1](https://github.com/SunrisesIllNeverSee/sigrank-mcp/compare/v0.18.0...v0.18.1) (2026-07-14)
|
|
52
|
+
|
|
53
|
+
|
|
54
|
+
### Bug Fixes
|
|
55
|
+
|
|
56
|
+
* **test:** ALL_PLATFORMS count 15→16 + accept records() for devin adapter ([8d7f0f5](https://github.com/SunrisesIllNeverSee/sigrank-mcp/commit/8d7f0f56cea3686e046a407732233f9bbd7d4916))
|
|
57
|
+
|
|
58
|
+
## [0.18.0](https://github.com/SunrisesIllNeverSee/sigrank-mcp/compare/v0.17.2...v0.18.0) (2026-07-14)
|
|
59
|
+
|
|
60
|
+
|
|
61
|
+
### Features
|
|
62
|
+
|
|
63
|
+
* Lane 3 — intent schema files + competitive layer + eval benchmark ([42b9607](https://github.com/SunrisesIllNeverSee/sigrank-mcp/commit/42b9607ba4cec8aa5f169b1caf74aa05017c4856))
|
|
64
|
+
* multi-platform support in tokenpull + tokenpull_submit ([c2d1458](https://github.com/SunrisesIllNeverSee/sigrank-mcp/commit/c2d1458d1f899034e9826d2100b8ec60b421ddd4))
|
|
65
|
+
|
|
66
|
+
|
|
67
|
+
### Bug Fixes
|
|
68
|
+
|
|
69
|
+
* align manifest.json version to 0.17.2 (matches package.json + server.json) ([30c3a37](https://github.com/SunrisesIllNeverSee/sigrank-mcp/commit/30c3a372b3ac212bc99fd64535687cf6789922f2))
|
|
70
|
+
* auto-clear code buffer on sign-in failure (0.17.5) ([72caa9a](https://github.com/SunrisesIllNeverSee/sigrank-mcp/commit/72caa9a246c85e38663989981cd233ae98c3b03f))
|
|
71
|
+
* curl fallback for Vercel bot protection 403 (0.0.177) ([abc8610](https://github.com/SunrisesIllNeverSee/sigrank-mcp/commit/abc861041a3db14497383caecb39550667ec3b93))
|
|
72
|
+
* Devin adapter reads from sessions.db (real per-message telemetry) ([a5aaaf2](https://github.com/SunrisesIllNeverSee/sigrank-mcp/commit/a5aaaf275516e793aec0e58c13c09d985e68d05c))
|
|
73
|
+
* Devin tokens now readable via tokenpull (tokscale fallback) ([abfb1eb](https://github.com/SunrisesIllNeverSee/sigrank-mcp/commit/abfb1eb93fd92f669d742ce8b383dffc35ef094f))
|
|
74
|
+
* Esc/arrow-key race condition in TUI (0.17.4) ([555e6bd](https://github.com/SunrisesIllNeverSee/sigrank-mcp/commit/555e6bd3dd5e45963eff2ff95d85b02955d40e2b))
|
|
75
|
+
* resolve CodeQL url-substring-sanitization alert (0.0.176) ([babf863](https://github.com/SunrisesIllNeverSee/sigrank-mcp/commit/babf86379a2d97869738a1c8b01269c1d8c149bf))
|
|
76
|
+
* route Devin through Codex-style ioRatio split ([08d4441](https://github.com/SunrisesIllNeverSee/sigrank-mcp/commit/08d4441437ce38bdfacc8936d1771d654999ac28))
|
|
77
|
+
* unblock sign-in deadlock + keystore resilience (0.17.3) ([569fc94](https://github.com/SunrisesIllNeverSee/sigrank-mcp/commit/569fc948cd0f74fdf930113074c562724927ffe8))
|
|
78
|
+
|
|
79
|
+
## [0.17.0](https://github.com/SunrisesIllNeverSee/sigrank-mcp/compare/v0.16.1...v0.17.0) (2026-07-10)
|
|
80
|
+
|
|
81
|
+
|
|
82
|
+
### Features
|
|
83
|
+
|
|
84
|
+
* add 4 MCP resources (scoring formula, class tiers, install guide, privacy model) ([1227828](https://github.com/SunrisesIllNeverSee/sigrank-mcp/commit/1227828159c299bd1a5e0ebf3bb47aece3d3583d))
|
|
85
|
+
|
|
86
|
+
|
|
87
|
+
### Bug Fixes
|
|
88
|
+
|
|
89
|
+
* add .mcpbignore + fix manifest.json repository object for MCPB bundle ([eb1046f](https://github.com/SunrisesIllNeverSee/sigrank-mcp/commit/eb1046f6e291db8681e01aa06593091a9b94447d))
|
|
90
|
+
* add title annotations to all 15 MCP tools (Anthropic directory requirement E) ([36e7d5d](https://github.com/SunrisesIllNeverSee/sigrank-mcp/commit/36e7d5d793fe25d4dd9d780422309594a4118311))
|
|
91
|
+
* bump manifest.json to 0.16.1 + update description ([abd19b0](https://github.com/SunrisesIllNeverSee/sigrank-mcp/commit/abd19b0a6a713389c1f0b4eb6b17ccc41c9825bd))
|
|
92
|
+
* Smithery bundle + metadata fixes ([d2a3a10](https://github.com/SunrisesIllNeverSee/sigrank-mcp/commit/d2a3a10d5106c506ea2a57ac3f6ccc36ee9a55f6))
|
|
93
|
+
* update server.json — add registryBaseUrl, _meta, better description ([a929a6e](https://github.com/SunrisesIllNeverSee/sigrank-mcp/commit/a929a6e4052b9edb9d549434f803a85f5d4fc572))
|
|
94
|
+
|
|
95
|
+
## [0.16.1](https://github.com/SunrisesIllNeverSee/sigrank-mcp/compare/v0.16.0...v0.16.1) (2026-07-09)
|
|
96
|
+
|
|
97
|
+
|
|
98
|
+
### Bug Fixes
|
|
99
|
+
|
|
100
|
+
* remove readOnlyHint from watch_tokenpull ([c867eed](https://github.com/SunrisesIllNeverSee/sigrank-mcp/commit/c867eedc9de1f4f37e0a9db08bc41aa0d426be33))
|
|
@@ -0,0 +1,141 @@
|
|
|
1
|
+
# SigRank MCP Server
|
|
2
|
+
|
|
3
|
+
> Operator leaderboard measuring users, not models — 15 tools, TUI, signed submit, privacy-first.
|
|
4
|
+
|
|
5
|
+
SigRank is the first leaderboard that ranks **AI operators** — the humans — by token cascade efficiency, not the models. The yield metric (Υ = cache_read × output / input²) turns raw token telemetry into a competitive ranking on [signalaf.com](https://signalaf.com).
|
|
6
|
+
|
|
7
|
+
## Install
|
|
8
|
+
|
|
9
|
+
```bash
|
|
10
|
+
npx sigrank
|
|
11
|
+
```
|
|
12
|
+
|
|
13
|
+
Or add to your MCP client config:
|
|
14
|
+
|
|
15
|
+
```json
|
|
16
|
+
{
|
|
17
|
+
"mcpServers": {
|
|
18
|
+
"sigrank": {
|
|
19
|
+
"command": "npx",
|
|
20
|
+
"args": ["sigrank"],
|
|
21
|
+
"env": {
|
|
22
|
+
"SIGRANK_API_BASE": "https://signalaf.com"
|
|
23
|
+
}
|
|
24
|
+
}
|
|
25
|
+
}
|
|
26
|
+
}
|
|
27
|
+
```
|
|
28
|
+
|
|
29
|
+
**No API key required** for read tools (leaderboard, operator profiles, ranking). Submit tools need a Supabase anon key (free, set during `sigrank enroll`).
|
|
30
|
+
|
|
31
|
+
## Privacy
|
|
32
|
+
|
|
33
|
+
The scanner runs **locally**. Only four token counts leave the machine:
|
|
34
|
+
- `input` — tokens sent to the model
|
|
35
|
+
- `output` — tokens generated by the model
|
|
36
|
+
- `cacheCreate` — tokens written to cache
|
|
37
|
+
- `cacheRead` — tokens read from cache
|
|
38
|
+
|
|
39
|
+
**Never** prompts. **Never** code. **Never** outputs. Submissions are ed25519-signed and server-verifiable.
|
|
40
|
+
|
|
41
|
+
## TUI
|
|
42
|
+
|
|
43
|
+
SigRank ships with a full terminal UI (`sigrank tui`) — a live dashboard for your token cascade:
|
|
44
|
+
|
|
45
|
+
```bash
|
|
46
|
+
npx sigrank tui
|
|
47
|
+
```
|
|
48
|
+
|
|
49
|
+
Features:
|
|
50
|
+
- Live cascade metrics (Υ Yield, SNR, Leverage, Velocity, 10xDEV)
|
|
51
|
+
- Real-time leaderboard feed from signalaf.com
|
|
52
|
+
- Operator class tier display (Burner / Builder / 10xer)
|
|
53
|
+
- Per-window breakdowns (7d / 30d / 90d / all-time)
|
|
54
|
+
- Keyboard-driven — no mouse needed
|
|
55
|
+
|
|
56
|
+
## CLI Commands
|
|
57
|
+
|
|
58
|
+
```bash
|
|
59
|
+
npx sigrank enroll # Register as an operator (generates ed25519 keypair)
|
|
60
|
+
npx sigrank submit # Submit token telemetry to the board
|
|
61
|
+
npx sigrank tui # Launch the terminal UI dashboard
|
|
62
|
+
npx sigrank rank # Quick local rank check (no submit)
|
|
63
|
+
npx sigrank diagnose # Diagnose cascade inefficiencies
|
|
64
|
+
npx sigrank improve # Get improvement suggestions
|
|
65
|
+
```
|
|
66
|
+
|
|
67
|
+
## The 20 MCP Tools
|
|
68
|
+
|
|
69
|
+
### Read-only (no auth required)
|
|
70
|
+
|
|
71
|
+
| # | Tool | What it does |
|
|
72
|
+
|---|------|-------------|
|
|
73
|
+
| 1 | `rank_paste` | Paste token counts, get projected SigRank rank instantly. Computes the full yield cascade locally (Υ, SNR, Leverage, Velocity, 10xDEV, class tier). No network calls. |
|
|
74
|
+
| 2 | `get_leaderboard` | Fetch the live public leaderboard from signalaf.com. Returns all ranked operators sorted by yield, with codename, Υ, leverage, velocity, class, and rank position. |
|
|
75
|
+
| 3 | `get_operator` | Get any operator's full profile by codename. Returns detailed metrics + per-window breakdowns (7d/30d/90d/all-time) with the four token pillars per window. |
|
|
76
|
+
| 4 | `tokenpull` | Pull your LOCAL token usage from session logs and rank it across all four windows — zero paste. Reads token counts, not message content. Numbers stay on your machine. |
|
|
77
|
+
| 5 | `rank_windows` | Rank all four time windows (7d/30d/90d/all-time) in one call from a dashboard paste. Paste the full table from ccusage, tokscale, or Claude Max dashboard. |
|
|
78
|
+
| 6 | `tokenpull_compare` | Pull token usage from ALL four local sources in parallel (JSONL canon, ccusage CLI, token-dashboard SQLite, tokscale) and compare side-by-side with delta % vs baseline. |
|
|
79
|
+
| 7 | `simulate_change` | "What if I changed my token mix?" — takes your current pillars + proposed changes, runs the cascade on both, returns exact Υ delta, class change, and per-metric diffs. Pure local math. |
|
|
80
|
+
| 8 | `diagnose_cascade` | Analyzes your token cascade and diagnoses where you're leaking efficiency. Returns ranked list of leaks with severity, findings, recommendations, and estimated Υ impact per fix. |
|
|
81
|
+
| 9 | `suggest_improvements` | Generates ranked, simulated improvement suggestions. Tests multiple strategies (increase cache reads, reduce input, increase output, optimize cache creation), simulates each, returns ranked by Υ impact. |
|
|
82
|
+
| 10 | `self_improve` | One-click optimize — runs the full cycle in one call: tokenpull → diagnose → suggest → simulate. Returns diagnosis + suggestions + simulated impact of the best change. Supports scope modes (daily/weekly/trend). |
|
|
83
|
+
| 11 | `watch_tokenpull` | One poll per call — pulls local token logs and returns current cascade for the watched window. Re-call at your desired cadence to monitor. With `submit:true`, signs + publishes (rate-limited to once per 5 min). |
|
|
84
|
+
| 12 | `get_best_operator` | Top N operators with behavioral framing in power-user language. **Intent:** "who is the best AI user?" / "show me the AI user leaderboard". Wraps `get_leaderboard` with plain-language interpretation of each operator's cascade. |
|
|
85
|
+
| 13 | `compare_self` | Your metrics vs board averages + power-user assessment + percentile + actionable suggestion. **Intent:** "how do I measure up to other AI users?" / "am I a power user?" Accepts codename (from board) or raw token pillars (local). |
|
|
86
|
+
| 14 | `compare_operators` | Side-by-side comparison of two operators with behavioral verdict. **Intent:** "compare operator X vs Y" / "who is more efficient". Returns both operators' metrics + verdict in power-user language. |
|
|
87
|
+
| 15 | `describe_power_user` | Static explanation of what makes an AI power user, with metrics explained and class tier meanings. **Intent:** "what is an AI power user?" / "what makes a good AI user?" |
|
|
88
|
+
| 16 | `optimize_efficiency` | Ranked efficiency suggestions tied to your current cascade shape. **Intent:** "how can I use AI more efficiently?" / "reduce token burn" / "stop tokenmaxxing". Accepts codename or raw token pillars. |
|
|
89
|
+
|
|
90
|
+
### Write (submit to board)
|
|
91
|
+
|
|
92
|
+
| # | Tool | What it does |
|
|
93
|
+
|---|------|-------------|
|
|
94
|
+
| 17 | `submit_paste` | Ranks a paste of token counts AND publishes to the live board in one call. Computes local preview, then submits to server for authoritative scoring. Returns both local + server results. |
|
|
95
|
+
| 18 | `tokenpull_submit` | Pull your LOCAL token usage AND publish to the board in one call — the zero-paste flow. Reads pillars per window, computes cascade, submits each window server-side. Token-only, no prompt content. |
|
|
96
|
+
| 19 | `submit_verified` | Publish your LOCAL token runs as a VERIFIED operator — the enrolled, signed path. Reads pillars, builds Schema 1.0 snapshot, ed25519-signs with your device key, POSTs to board. Requires `enroll` first. |
|
|
97
|
+
| 20 | `enroll` | Bind THIS device to your SigRank operator. Paste the key from signalaf.com → Settings → "New key". Generates + stores a local ed25519 keypair. Only the PUBLIC key is ever sent. |
|
|
98
|
+
|
|
99
|
+
## Intent Taxonomy
|
|
100
|
+
|
|
101
|
+
The intent-based tools (12-16) are designed to map natural-language queries to the right MCP call. Calling agents and LLMs can use these intent mappings to route user questions:
|
|
102
|
+
|
|
103
|
+
| Intent | Trigger phrases | Tool |
|
|
104
|
+
|--------|----------------|------|
|
|
105
|
+
| `BEST_OPERATOR` | "who is the best AI user?", "AI user leaderboard", "AI champions", "top AI operator" | `get_best_operator` |
|
|
106
|
+
| `COMPARE_SELF` | "how do I measure up?", "am I a power user?", "compare me to others", "am I using AI well?" | `compare_self` |
|
|
107
|
+
| `COMPARE_OPERATORS` | "compare operator X vs Y", "who is more efficient?", "how do two AI users compare?" | `compare_operators` |
|
|
108
|
+
| `DESCRIBE_POWER_USER` | "what is an AI power user?", "what makes a good AI user?", "describe advanced AI user behavior" | `describe_power_user` |
|
|
109
|
+
| `OPTIMIZE_EFFICIENCY` | "optimize token usage", "reduce token burn", "use AI efficiently", "stop tokenmaxxing" | `optimize_efficiency` |
|
|
110
|
+
|
|
111
|
+
### Example prompt → tool mappings
|
|
112
|
+
|
|
113
|
+
- "Who is the best AI user right now?" → `get_best_operator`
|
|
114
|
+
- "How do I measure up to other AI users?" → `compare_self`
|
|
115
|
+
- "Am I an AI power user?" → `compare_self`
|
|
116
|
+
- "Compare operator X vs Y" → `compare_operators`
|
|
117
|
+
- "What is an AI power user?" → `describe_power_user`
|
|
118
|
+
- "How can I use AI more efficiently?" → `optimize_efficiency`
|
|
119
|
+
- "Show me the AI user leaderboard" → `get_best_operator` (or `get_leaderboard` for raw data)
|
|
120
|
+
|
|
121
|
+
## Key Facts
|
|
122
|
+
|
|
123
|
+
| Field | Value |
|
|
124
|
+
|-------|-------|
|
|
125
|
+
| npm package | `sigrank` |
|
|
126
|
+
| GitHub | https://github.com/SunrisesIllNeverSee/sigrank-mcp |
|
|
127
|
+
| Website | https://signalaf.com |
|
|
128
|
+
| License | MIT |
|
|
129
|
+
| Transport | stdio |
|
|
130
|
+
| Platform | Cross-platform (Node.js) |
|
|
131
|
+
| Language | JavaScript |
|
|
132
|
+
| Tools | 20 |
|
|
133
|
+
| Auth | None for reads; Supabase anon key for submits |
|
|
134
|
+
| Category | Developer Tools |
|
|
135
|
+
|
|
136
|
+
## Registries
|
|
137
|
+
|
|
138
|
+
- [Official MCP Registry](https://registry.modelcontextprotocol.io)
|
|
139
|
+
- [Smithery](https://smithery.ai)
|
|
140
|
+
- [Glama](https://glama.ai)
|
|
141
|
+
- [npm](https://www.npmjs.com/package/sigrank)
|
package/README.md
CHANGED
|
@@ -66,10 +66,17 @@ For all builders, burners and 10xers.
|
|
|
66
66
|
| **[sigrank-vscode](https://github.com/SunrisesIllNeverSee/sigrank-vscode)** | The IDE extension — see your cascade metrics inline in VS Code. | `code --install-extension sigrank.sigrank` |
|
|
67
67
|
| **[fundscore](https://github.com/SunrisesIllNeverSee/fundscore)** | The repo scorer — investor-readiness scoring for GitHub repos. CLI + MCP server. | `npx fundscore` |
|
|
68
68
|
|
|
69
|
+
### Also in the MO§ES™ suite
|
|
70
|
+
|
|
71
|
+
| Site | What it is |
|
|
72
|
+
| ---- | ---------- |
|
|
73
|
+
| **[SIGNOMY](https://signomy.xyz)** | Governed AI agent marketplace where ranked agents form teams, fill slots, run missions, and earn revenue under constitutional protocol. Agents are free. Operators pay. |
|
|
74
|
+
| **[MO§ES](https://mos2es.com)** | The governance framework that underpins SigRank, SIGNOMY, and all governed agent operations. Structural accountability for agentic systems. |
|
|
75
|
+
|
|
69
76
|
## Quickstart — 3 steps to the board
|
|
70
77
|
|
|
71
78
|
```bash
|
|
72
|
-
# 1. Install (pulls ccusage + tokscale
|
|
79
|
+
# 1. Install (pulls ccusage + tokscale automatically — no separate installs)
|
|
73
80
|
npm install -g sigrank
|
|
74
81
|
|
|
75
82
|
# 2. Sign in (paste a connect code from signalaf.com → Settings → New key)
|
|
@@ -270,6 +277,14 @@ Or if installed globally:
|
|
|
270
277
|
| `compare_operators(a, b)` | `{codename_a, codename_b}` | Side-by-side comparison with behavioral verdict. Intent: "compare operator X vs Y" |
|
|
271
278
|
| `describe_power_user()` | `{}` | Static explanation of AI power user archetype + metrics explained. Intent: "what is an AI power user?" |
|
|
272
279
|
| `optimize_efficiency(codename? \| text?)` | `{codename?}` or `{text?}` | Ranked efficiency suggestions tied to your cascade shape. Intent: "how can I use AI more efficiently?" |
|
|
280
|
+
| `tokscale_breakdown(threshold?)` | `{threshold?}` | Per-model token breakdown across platforms (models under threshold → "other") |
|
|
281
|
+
| `tokscale_market_share()` | `{}` | AI tool market share: each tool's % of tokens/cost/messages, ranked. From local tokscale data |
|
|
282
|
+
| `tokscale_developer_profile()` | `{}` | Per-developer usage profile across all detected tools: model mix, pillars, sessions, workspaces. Paths redacted |
|
|
283
|
+
| `tokscale_model_trends()` | `{}` | Model adoption over time: per-model first/last seen, active days, month-by-month adoption curve |
|
|
284
|
+
| `tokscale_cost_analysis()` | `{}` | Cost per developer per model: cost_per_million_tokens, cost_per_message, share_cost, client rollup |
|
|
285
|
+
| `tokscale_device_profile()` | `{}` | Device fingerprinting: installed tools, session counts, active days, day-of-week distribution, concurrency. Paths redacted |
|
|
286
|
+
| `tokscale_mcp_usage()` | `{}` | MCP server usage: detected servers, detection window, active days |
|
|
287
|
+
| `tokscale_competitive_intel(target)` | `{target}` | Competitive intelligence for any AI tool: rank, model mix, cost efficiency, share vs all competitors |
|
|
273
288
|
|
|
274
289
|
---
|
|
275
290
|
|
|
@@ -296,10 +311,10 @@ The dashboard pulls from multiple sources and shows them side-by-side for verifi
|
|
|
296
311
|
| ----------------- | ------------------------------------------------------------------------------ | --------------------- |
|
|
297
312
|
| `tokenpull` | On-device JSONL scanner (canon source) | claude, codex, amp, … |
|
|
298
313
|
| `ccusage` | `ccusage <platform> daily --json` CLI (bundled) | claude, codex |
|
|
299
|
-
| `token-dashboard` | `~/.claude/token-dashboard.db` SQLite (
|
|
314
|
+
| `token-dashboard` | `~/.claude/token-dashboard.db` SQLite ([Nate's](https://github.com/nateherkai/token-dashboard)) | claude only |
|
|
300
315
|
| `tokscale` | `tokscale models --json` CLI (bundled, falls back to `~/tokscale_report.json`) | claude, codex |
|
|
301
316
|
|
|
302
|
-
**
|
|
317
|
+
**Non-Claude input is estimated** — most non-Claude systems (Codex, Devin, etc.) combine user input + cache write into a single `input_tokens` field, so true fresh input must be derived. The ruleset (applies to ALL non-Claude systems):
|
|
303
318
|
|
|
304
319
|
```
|
|
305
320
|
input = output × ioRatio (ioRatio derived from Claude ratio, else 2.0)
|
|
@@ -307,6 +322,10 @@ cacheCreate = uncached − input (uncached = input_tokens − cached_inp
|
|
|
307
322
|
cacheRead = exact (from logs)
|
|
308
323
|
```
|
|
309
324
|
|
|
325
|
+
- **Beta** = operator's Claude input/output ratio (if Claude data available)
|
|
326
|
+
- **Alpha** = 2.0 default (when no Claude data)
|
|
327
|
+
- Owner-stated average: 7:1:2 (cache:input:output) → input/output ≈ 0.5
|
|
328
|
+
|
|
310
329
|
Verifier numbers (ccusage/tokscale for codex) show **raw uncached input** (`input_tokens − cached`) — a different field than the estimated input above. The discrepancy is expected and explained inline in the dashboard.
|
|
311
330
|
|
|
312
331
|
---
|
|
@@ -319,6 +338,7 @@ All adapters are token-only (no message content, no cost fields, no credentials)
|
|
|
319
338
|
| ------------------ | ---------------------------------------------- | --------------------------------------------------------------- |
|
|
320
339
|
| Claude Code | ✅ `~/.claude/projects` | Native; dedup by `(session_id, message_id)`; subagents included |
|
|
321
340
|
| Codex | ✅ `~/.codex/sessions` | Estimated input via `io_ratio`; verified vs ccusage |
|
|
341
|
+
| Devin CLI | ✅ `~/.local/share/devin/cli/sessions.db` | Estimated input via `io_ratio`; SQLite; same split as Codex |
|
|
322
342
|
| Amp | ✅ `~/.local/share/amp/threads` | Full 4-pillar; per-message |
|
|
323
343
|
| Kimi | ✅ `~/.kimi/sessions` | Full 4-pillar; `StatusUpdate` lines only |
|
|
324
344
|
| pi-agent | ✅ `~/.pi/agent/sessions` | Full 4-pillar; per-message JSONL |
|