Agent skill

Local Platform E2E

by computesdk in computesdk/benchmarks

Stand up benchmarks-platform locally (Postgres + MinIO + ClickHouse in docker) and run a real @benchsdk/runner benchmark against it, with no cloud or provider credentials.

MITAuto-check: notesDatabases

Install Local Platform E2E

skills CLI
$ npx skills add computesdk/benchmarks --skill local-platform-e2e -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install computesdk/benchmarks local-platform-e2e --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/computesdk/benchmarks.git skills-src && mkdir -p .claude/skills && cp -r skills-src/.agents/skills/local-platform-e2e .claude/skills/local-platform-e2e && rm -rf skills-src

Use ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.

Claude Code skills documentation · loads skills from .claude/skills/

Facts

Skill name
local-platform-e2e
GitHub stars
126
Token cost
~3k tokens
SKILL.md length
1,044 words
Files
1
Skills in repo
4
Repo updated
First seen
Licence
MIT

At a glance

Stand up benchmarks-platform locally (Postgres + MinIO + ClickHouse in docker) and run a real @benchsdk/runner benchmark against it, with no cloud or provider credentials.

  • Works in 8 steps: Infra (docker) → benchmarks-platform .env.local → Mandatory seed (otherwise every run… → …
  • Testing @benchsdk/client / @benchsdk/runner against the platform end to end
  • SKILL.md covers 1. Infra (docker), 2. benchmarks-platform…, 3. Mandatory seed (otherwise… and 3b. Minting org-scoped bp_ API…, plus 7 more sections
  • Calls docker, npm and curl; needs ADMIN_API_KEY and BENCHMARKS_PLATFORM_API_KEY

What it does

Local Platform E2E is an agent skill from computesdk/benchmarks. Stand up benchmarks-platform locally (Postgres + MinIO + ClickHouse in docker) and run a real @benchsdk/runner benchmark against it, with no cloud or provider credentials. Use when testing @benchsdk/client / @benchsdk/runner against the platform end to end, or when debugging benchmark reporting, worker planning, artifacts, or dashboard results locally.

Its SKILL.md is about 3k tokens, which your agent loads only when the skill is triggered. It is a single SKILL.md file with no bundled scripts.

It sits in Databases, covering End-to-end testing, Data warehousing and Meeting notes and agendas. It works with ClickHouse, Docker and PostgreSQL. The repository describes itself as: Compare performance across sandbox, storage, browsers, and ai gateway providers. The licence is MIT.

When your agent uses it

  • Testing @benchsdk/client / @benchsdk/runner against the platform end to end
  • Debugging benchmark reporting
  • Worker planning
  • Dashboard results locally

Example prompts

  • “/local-platform-e2e”

Requirements

  • Python 3
  • Node.js
  • Docker
  • A credential in ADMIN_API_KEY
  • A credential in BETTER_AUTH_SECRET

Workflow steps

8 steps, taken from the step headings in SKILL.md.

  1. Infra (docker)
  2. benchmarks-platform .env.local
  3. Mandatory seed (otherwise every run creation 500s on an FK)
  4. Dashboard access
  5. Getting results into ClickHouse locally
  6. Running a benchmark with no provider credentials
  7. Useful probes when testing lifecycle behaviour
  8. Known sharp edges (verify before blaming your setup)

What it can do on your machine

Read from SKILL.md and the folder at commit a2ec9d8. It shows what the files ask for, not the result of running them.

  • Tool permissions

    Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.

    From allowed-tools in the SKILL.md frontmatter.

  • Runs code

    Shell commands in SKILL.md call:

    • docker
    • npm
    • curl
    • pnpm
    • npx

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    No URLs in SKILL.md. Its commands use docker, npm, curl, pnpm and npx, which can reach the network depending on how they are called.

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names these keys or tokens, usually read from environment variables:

    • ADMIN_API_KEY
    • BENCHMARKS_PLATFORM_API_KEY
    • CLICKHOUSE_PASSWORD
    • CRON_SECRET
    • POSTGRES_PASSWORD
    • MINIO_ROOT_PASSWORD
    • BETTER_AUTH_SECRET
    • TIGRIS_ACCESS_KEY_ID
    • TIGRIS_SECRET_ACCESS_KEY

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

Local Platform E2E loads about 3k tokens when it runs. Until then it costs about 93 tokens; SKILL.md has 1,044 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~93
When it runs · the whole SKILL.md, loaded when a task matches
~3k

Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.

Safety

Auto-check: notes

The automated check noted patterns worth knowing about, such as sudo or a known installer.

  • NoteMentions a .env fileSKILL.md:38
    ## 2. benchmarks-platform `.env.local`
  • NoteMentions a .env fileSKILL.md:65
    `ch:migrate` does **not** read `.env.local`; without exported vars it silently
  • NoteMentions a .env fileSKILL.md:97
    //   npx tsx --env-file=.env.local scripts/e2e-seed-orgs.ts

Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.

SKILL.md

The full file from computesdk/benchmarks at commit a2ec9d8, republished under its MIT licence (© computesdk). 1,044 words, ~2,951 tokens.

Download SKILL.mdSave it as .claude/skills/local-platform-e2e/SKILL.md (or your agent's skills folder).
name
local-platform-e2e
description
Stand up benchmarks-platform locally (Postgres + MinIO + ClickHouse in docker) and run a real @benchsdk/runner benchmark against it, with no cloud or provider credentials. Use when testing @benchsdk/client / @benchsdk/runner against the platform end to end, or when debugging benchmark reporting, worker planning, artifacts, or dashboard results locally.

Local end-to-end: @benchsdk/runner ↔ benchmarks-platform

Goal: exercise upsert benchmark → create run → planWorkers → claim → heartbeat → task_results → artifact upload → complete → dashboard, with zero external credentials.

1. Infra (docker)

bash
docker run -d --name pg -p 5432:5432 -e POSTGRES_PASSWORD=postgres -e POSTGRES_DB=bench postgres:16
docker run -d --name minio -p 9000:9000 -e MINIO_ROOT_USER=minioadmin -e MINIO_ROOT_PASSWORD=minioadmin \
  quay.io/minio/minio server /data
docker run -d --name ch -p 8123:8123 -e CLICKHOUSE_PASSWORD=chpass clickhouse/clickhouse-server:25.6
docker run --rm --network host --entrypoint sh quay.io/minio/mc -c \
  "mc alias set local http://127.0.0.1:9000 minioadmin minioadmin && mc mb -p local/bench"
  • Use ClickHouse >= 25.x: 24.8 fails ch:migrate with TTL expression result column should have DateTime or Date type, but has DateTime64(3,'UTC').
  • The importer passes clickhouse_settings: { date_time_input_format: 'best_effort' } per insert, so a default-configured server works. If you hit Cannot parse input: expected '"' before: 'Z"...' (older code), work around it server-side, and remember to REMOVE the override before verifying an importer fix — otherwise the server setting masks it:
    bash
    docker exec ch bash -c 'mkdir -p /etc/clickhouse-server/users.d && printf "<clickhouse><profiles><default><date_time_input_format>best_effort</date_time_input_format></default></profiles></clickhouse>" > /etc/clickhouse-server/users.d/besteffort.xml'
    docker restart ch
    # verify which mode is actually active:
    curl -s "http://127.0.0.1:8123/?user=default&password=chpass" \
      --data-binary "SELECT value FROM system.settings WHERE name='date_time_input_format'"

2. benchmarks-platform .env.local

Point TIGRIS_* at MinIO — the events and artifacts routes require S3 or they return 502 on every batch. region: "auto" + presigned PUT works with MinIO.

DATABASE_URL=postgresql://postgres:postgres@127.0.0.1:5432/bench
DATABASE_URL_UNPOOLED=postgresql://postgres:postgres@127.0.0.1:5432/bench
CLICKHOUSE_URL=http://127.0.0.1:8123
CLICKHOUSE_DATABASE=default
CLICKHOUSE_USER=default
CLICKHOUSE_PASSWORD=chpass
ADMIN_API_KEY=local-admin-key
BETTER_AUTH_SECRET=<openssl rand -hex 32>
BETTER_AUTH_URL=http://localhost:3000
TIGRIS_ACCESS_KEY_ID=minioadmin
TIGRIS_SECRET_ACCESS_KEY=minioadmin
TIGRIS_STORAGE_ENDPOINT=http://127.0.0.1:9000
TIGRIS_BUCKET=bench

Then:

bash
npm run db:migrate
CLICKHOUSE_URL=http://127.0.0.1:8123 CLICKHOUSE_USER=default CLICKHOUSE_PASSWORD=chpass npm run ch:migrate
npm run dev

ch:migrate does not read .env.local; without exported vars it silently prints "CLICKHOUSE_URL not set; skipping".

3. Mandatory seed (otherwise every run creation 500s on an FK)

app/api/v1/benchmarks/[slug]/runs/route.ts hardcodes a default org and user id for every created run. Insert those exact rows:

sql
INSERT INTO "user" (id,name,email,email_verified)
VALUES ('mxYI5c90QNkRPhvuc2HvNHy5mM7MG7jG','David Tice','david@example.com',true);
INSERT INTO organization (id,name,slug,created_at,owner_id)
VALUES ('zMrSfAyEyVJ2eKIxgoBZtrMvEd6a78ad','ComputeSDK','computesdk',now(),'mxYI5c90QNkRPhvuc2HvNHy5mM7MG7jG');
INSERT INTO member (id,organization_id,user_id,role,created_at)
VALUES ('mem1','zMrSfAyEyVJ2eKIxgoBZtrMvEd6a78ad','mxYI5c90QNkRPhvuc2HvNHy5mM7MG7jG','owner',now());

Re-read those constants before seeding — they may change.

As of the org-scoped-auth change (lib/api/api-auth.ts requireApiAuth), this seed is only needed for the admin-key path: an org-scoped key supplies the run's organizationId itself and userId from the key's created_by. Admin-key runs with no organizationId in the body still fall back to those two hardcoded ids.

3b. Minting org-scoped bp_ API keys locally

The org API-key HTTP route is session-scoped and answers {"error":"Unauthenticated"} to the admin key, so keys can only be created from the dashboard UI or directly. For scripted multi-tenant tests, mint them with the platform's own generator so the sha256 hash/prefix/lastFour match what verifyApiKey() expects:

ts
// scripts/e2e-seed-orgs.ts (throwaway), run with:
//   npx tsx --env-file=.env.local scripts/e2e-seed-orgs.ts
import { generateApiKey } from "@/lib/api-keys";
import { apiKey, member, organization, user } from "@/db/auth-schema";
const g = generateApiKey();  // g.plaintext is the bp_<prefix>_<secret> to send
await db.insert(apiKey).values({
  id, organizationId, name, prefix: g.prefix, hashedKey: g.hashedKey,
  lastFour: g.lastFour, createdBy: someUserId, createdAt: new Date(),
  revokedAt: null, expiresAt: null,   // set these to test revoked/expired → 401
});

Each org needs user + organization (owner_id) + member rows first. To view an org's runs in the dashboard, add a member row for your dashboard user in that org — dashboard auth is session-based and completely separate from API keys.

4. Dashboard access

Sign up via POST /api/auth/sign-up/email (email+password is enabled), then add a member row for that user in the seeded org, and sign in at http://localhost:3000/signin. Run pages live at /{orgSlug}/benchmarks/{benchmarkSlug}/runs/{runId} (+ /workers).

5. Getting results into ClickHouse locally

@vercel/queue.send() fails locally (swallowed as a warning), so nothing imports automatically. Trigger it by hand — the cron route accepts the admin key when CRON_SECRET is unset:

bash
curl -s "http://localhost:3000/api/cron/import-clickhouse?limit=50" -H "Authorization: Bearer local-admin-key"

Check imported/failed/failureSamples in the response.

6. Running a benchmark with no provider credentials

Build first (packages/*/dist is not committed): pnpm install && pnpm -r --filter "./packages/**" build.

Write a throwaway bench inside the repo (untracked, e.g. e2e-local/local.bench.ts) so pnpm workspace resolution finds @benchsdk/runner, with a fake participant:

ts
import { defineBenchmarkConfig, defineTask } from '@benchsdk/runner';
export const config = defineBenchmarkConfig({
  benchmarkSlug: 'e2e-local', benchmarkName: 'E2E', iterations: 4, concurrency: 1,
  participants: [{ name: 'local', requiredEnvVars: [] }],
});
export const task = defineTask(async (ctx) => {
  await ctx.step('create', () => new Promise((r) => setTimeout(r, 50)));
  ctx.measure({ ok: true });
});

Run it via the bench run CLI (under tsx so the .bench.ts module loads without a build):

bash
BENCHMARKS_PLATFORM_URL=http://localhost:3000 BENCHMARKS_PLATFORM_API_KEY=<org bp_ key> \
  npx tsx packages/benchsdk-runner/dist/bin.js run e2e-local/local.bench.ts --iterations 4 --concurrency 2

BENCHMARKS_PLATFORM_URL is the root URL (the runner appends /api/v1).

The runner authenticates with BENCHMARKS_PLATFORM_API_KEY (an org-scoped bp_ key — mint one locally per the section below) and pulls the owning org slug from the server, so the "View at:" URL it prints always points at the run's real org (no BENCHMARKS_PLATFORM_ORG_SLUG needed).

6b. Probing tenant isolation

With benchmarks-platform#47, all app/api/v1/benchmarks/** routes take either the global ADMIN_API_KEY or an org bp_ key. Expected shapes when a key from org B addresses org A's run: 403 {"error":"API key is not authorized for this organization"} (getScopedRun / requireRunAccess), 404 for an unknown run/benchmark, 401 Invalid API key for revoked/expired/malformed tokens, 401 API key required with no header. Listings (GET /benchmarks/:slug/runs and /results) narrow by organizationScope(auth).

When probing the heartbeat in-process cache, the body must carry currentStep, all four progressDone/InFlight/Errors/Total fields and concurrency (top-level, not nested) or the cache is never populated and your "cache poisoning" probe proves nothing. A cache-served beat is recognisable because the response's worker object is minimal (no status/benchmarkId columns). Route timing metadata (cacheCoalesced) is only logged for requests slower than 1000 ms, so don't rely on the dev-server log for this.

Show full SKILL.md (445 more words)Show less

7. Useful probes when testing lifecycle behaviour

  • psql is not installed on the host — use docker exec pg psql -U postgres -d bench ....
  • To catch transient run statuses (planned → in_progress → completed), poll in a background subshell while the bench runs, then sort -u the samples:
    bash
    (for i in $(seq 1 60); do docker exec pg psql -U postgres -d bench -tA -c \
      "select r.status||'|'||p.status||'|'||w.status from ..."; sleep 0.4; done > /tmp/poll.txt) &
    Note exec's & backgrounds the whole cd X && ... chain — pass workdir instead of a leading cd, or the foreground command runs in the wrong dir.
  • To force a failed run, make the harness task throw for one taskIndex; the CLI calls failWorker when any task fails (runner.ts), which is what drives the run to failed.
  • Worker release / re-claim and oversized event batches are easiest to drive with raw curl/python against the v1 API using the admin key; the events body needs {type:'task_results', sequenceNumber, isFinal, attemptId, records:[...]}.

8. Known sharp edges (verify before blaming your setup)

  • --group-by round: targetConcurrency is read by the platform as tasks-per-worker, so the runner must send the full schedule.length. If it sends 1, only one task is planned (worker range 0-0) while every record is still accepted — results look right but progress/ranges do not.
  • benchmark_run_executions.status should roll up from worker status (in_progress on first claim, completed/failed on the last worker). If a finished run still reads planned, the rollup is broken — the dashboard badge derives status separately and will hide it, so check Postgres and /progress.run.status vs /progress.summary.status, which must agree.
  • Barriers: custom step names work off the concurrency samples the heartbeat sends, but worker.ready and sandbox.live are derived from the worker's progress_in_flight column — for those you must call reporter.setProgress({ inFlight: N, ... }) first or the barrier sees active=0 and hangs until timeout.
  • client.releaseWorker() → 200 puts the worker back to pending and the attempt to released; a re-claim then gets attemptNumber: 2. A duplicate-key error on unique(worker_id, attempt_number) means the claim route hardcoded attempt number 1.
  • Body limits: the events route allows 32 MiB (MAX_EVENT_BODY_BYTES), all other v1 routes 1 MiB. 5,000 records × 3 steps ≈ 3.15 MiB, so full-size SDK batches should be 202. If you see 413 on events, the raised cap is not wired up. Always check benchmark_event_batches.status = 'persisted' too — a 202 only means the body was accepted.
  • Org-scoped bp_… keys on benchmark v1 routes arrived with benchmarks-platform#47 (see §3b/§6b). On a platform checkout without it those routes are admin-only and every bp_… key 401s there, even though the same key works on /api/v1/organizations/... — check which behaviour your checkout has before debugging a 401.

Devin Secrets Needed

None. This entire flow runs offline with local docker containers and a self-chosen ADMIN_API_KEY.

© computesdk, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

Just SKILL.md in .agents/skills/local-platform-e2e of computesdk/benchmarks.

Open the folder on GitHubat commit a2ec9d8

Compare with similar skills

Local Platform E2E next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.

Local Platform E2E compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Local Platform E2E this skillcomputesdk/benchmarks126—~3kAutomated safety check: NotesMIT
Cloud SaaS Modechmonitor/chmonitor298—~2.5kAutomated safety check: NotesGPL-3.0
Funnelcake Deployment Workflowdivinevideo/divine-mobile265—~3.6kAutomated safety check: PassMPL-2.0
E2Eopenathleteorg/openathlete100—~675Automated safety check: PassAGPL-3.0
Debugging Signals PipelinePostHog/posthog-foss721—~2.4kAutomated safety check: NotesMIT
Manual Testhypequery/hypequery103—~618Automated safety check: PassCustom licence

Similar skills

  • Cloud SaaS Mode

    chmonitor/chmonitor

    Work on chmonitor's Cloud (SaaS) vs self-hosted (OSS) behaviour from ONE codebase.

    298 GitHub stars~2.5k tokensUpdated yesterday
    DatabasesAuto-check: notes
  • Funnelcake Deployment Workflow

    divinevideo/divine-mobile

    Deploy funnelcake (api + relay) to ANY environment (production, staging, poc) on GKE via ArgoCD.

    265 GitHub stars~3.6k tokensUpdated today
    DevOps & CloudAuto-check passed
  • E2E

    openathleteorg/openathlete

    Run, debug or extend the OpenAthlete Playwright end-to-end tests, which exercise the production Docker images (API, worker, web, PostgreSQL, Redis) through the API and a real browser on desktop and…

    100 GitHub stars~675 tokensUpdated today
    Testing & QAAuto-check passed
  • Debugging Signals Pipeline

    PostHog/posthog-foss

    Official

    Debug the signals pipeline locally end-to-end. An agent skill from PostHog/posthog-foss.

    721 GitHub stars~2.4k tokensUpdated today
    AI & LLM EngineeringAuto-check: notes
  • Manual Test

    hypequery/hypequery

    Execute one of the model-runnable E2E test specs in testing/ (cli, datasets, serve, mcp, react) against a real ClickHouse instance.

    103 GitHub stars~618 tokensUpdated today
    DatabasesAuto-check passed
  • Cloudrun Development

    TencentCloudBase/CloudBase-AI-Toolkit

    CloudBase Run backend development rules (Function mode/Container mode).

    1.1k GitHub starsUsed in 1 repo~7.2k tokens
    DatabasesAuto-check passed

More from computesdk/benchmarks

  • Add Sandbox Provider

    computesdk/benchmarks

    Prep a new sandbox provider for the ComputeSDK benchmarks (wire up the dependency, env var, providers list, and CI workflow).

    126 GitHub stars~1.1k tokensUpdated today
    Auto-check passed
  • Writing Benchmarks

    computesdk/benchmarks

    Author or improve a ComputeSDK benchmark. An agent skill from computesdk/benchmarks.

    126 GitHub stars~2.1k tokensUpdated today
    Auto-check: notes
  • Benchsdk CLI

    computesdk/benchmarks

    Install, authenticate, and use the unified bench CLI to query and run ComputeSDK benchmarks.

    126 GitHub stars~1.3k tokensUpdated today
    Auto-check passed

Questions about Local Platform E2E

What does Local Platform E2E do?

Stand up benchmarks-platform locally (Postgres + MinIO + ClickHouse in docker) and run a real @benchsdk/runner benchmark against it, with no cloud or provider credentials. Local Platform E2E is an agent skill from computesdk/benchmarks. Stand up benchmarks-platform locally (Postgres + MinIO + ClickHouse in docker) and run a real @benchsdk/runner benchmark against it, with no cloud or provider credentials.

When should I use Local Platform E2E?

Local Platform E2E fits situations like: testing @benchsdk/client / @benchsdk/runner against the platform end to end; debugging benchmark reporting; worker planning; dashboard results locally.

How do I install Local Platform E2E in Claude Code?

Run `npx skills add computesdk/benchmarks --skill local-platform-e2e -a claude-code`. Or copy the skill folder (.agents/skills/local-platform-e2e in computesdk/benchmarks) into .claude/skills/local-platform-e2e in your project. Claude Code loads it when a task matches its description.

How do I install Local Platform E2E in Codex?

Run `npx skills add computesdk/benchmarks --skill local-platform-e2e -a codex`. Or copy the skill folder (.agents/skills/local-platform-e2e in computesdk/benchmarks) into .agents/skills/local-platform-e2e in your project. Codex loads it when a task matches its description.

Can I use Local Platform E2E in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add computesdk/benchmarks --skill local-platform-e2e -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/local-platform-e2e, .gemini/skills/local-platform-e2e, .github/skills/local-platform-e2e and .opencode/skills/local-platform-e2e in your project.

What does Local Platform E2E need to run?

Going by SKILL.md and its folder, Local Platform E2E needs the command-line tools its instructions call (docker, npm, curl, pnpm and npx) and credentials named ADMIN_API_KEY, BENCHMARKS_PLATFORM_API_KEY, CLICKHOUSE_PASSWORD and CRON_SECRET. Our summary lists: Python 3; Node.js; Docker; A credential in ADMIN_API_KEY; A credential in BETTER_AUTH_SECRET.

Does Local Platform E2E access the network?

SKILL.md contains no URLs. Its commands use docker, npm, curl and npx, which can reach the network depending on how they are called. This is read from the text; nothing was executed.

Is Local Platform E2E safe to install?

Our automated static check of SKILL.md found notes only (mentions a .env file), nothing it rates as a warning. It is not a guarantee. Review the folder before installing.

What licence does Local Platform E2E use?

Local Platform E2E is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Local Platform E2E use?

About 3k tokens (SKILL.md is roughly 12k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.

What are the alternatives to Local Platform E2E?

Skills that share tags, products or a category with Local Platform E2E: Cloud SaaS Mode (chmonitor/chmonitor, 298 stars), Funnelcake Deployment Workflow (divinevideo/divine-mobile, 265 stars), E2E (openathleteorg/openathlete, 100 stars) and Debugging Signals Pipeline (PostHog/posthog-foss, 721 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Local Platform E2E?

computesdk (a GitHub organization) maintains it in computesdk/benchmarks, which has 126 GitHub stars. The repository holds 4 skills in this directory. The repository was last updated on October 6, 2026.

Source: computesdk/benchmarks on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.