
verify-10x-cli
Drive the real 10x CLI (@przeprogramowani/10x-cli) end to end the way a learner does — login, list, get, sync, changelog, doctor — against a local fake delivery API with isolated config and project dirs, and capture stdout/stderr/exit codes, PTY screens and file-tree hashes as proof. Use after changing a command, the writer, conflict handling, auth or the API client, when unit tests pass but you need to see the shipped behaviour, or when asked to "verify", "run the CLI", "prove it works".
- Installs
- 161
- Last 24h
- —
- Trending rank
- —
- Security
- Not audited
Install
Works with every agent the skills CLI supports.
npx skills add https://github.com/przeprogramowani/10x-cli --skill verify-10x-cli- 01
Install
Run the command in your project. The CLI asks which agents to install for.
- 02
Describe the task
Ask your agent for something this skill covers. It loads verify-10x-cli automatically when relevant.
- 03
Review the result
The agent follows the SKILL.md steps, scripts and references bundled with the skill.
SKILL.md
The instructions your agent reads when the skill is triggered.
Verify 10x-cli
The surface is a short-lived CLI (10x <command>), not a server. Every run gets its own
fake delivery API on an OS-assigned free port, its own XDG_CONFIG_HOME, and its own
throwaway project dir — so several agents can verify in parallel on one machine and nothing
touches production, real email, your ~/.config/10x-cli or this checkout's .claude/.
Everything goes through one helper (run from the repo root):
V=.claude/skills/verify-10x-cli/scripts/verify.sh
$V help
Launch
bun install --frozen-lockfile # once per checkout
$V up # prints run=<id> api=http://127.0.0.1:<port> pid=<pid> project=<dir> evidence=<dir>
$V seed-auth # optional: logged-in state without driving the login flow
up is ready when it prints run=…: scripts/fake-api.ts only writes api.json after it
is listening. It generates a fresh Ed25519 key; the CLI accepts it through
BUNDLE_PUBLIC_KEYSET, which src/lib/signing.ts honours only when API_BASE_URL is
localhost/127.0.0.1. The CLI runs from source (bun run src/index.ts); to prove the
shipped Node bundle instead, bun run build and prefix commands with VERIFY_ENTRY=dist.
Fixture served by the fake API (course 10xdevs3, id 10xdevs-3):
| Lesson | Module state | Content |
|---|---|---|
m1l1 | unlocked | skill verify-fixture-skill, prompt verify-fixture-prompt, rule, config verify-fixture.json |
m1l2 | unlocked | skill verify-m1l2-skill |
m2l1 | locked (403) | — |
$V bump <lessonId> publishes a new upstream version (v1 → v2 in every file and a new
catalog contentHash) — use it to prove sync and conflict handling.
Doctor
$V doctor # exit 0 = worth driving
Read-only. Checks: the fake API pid is alive and was started by this run, /health
answers, the URL is loopback, config/project dirs are this run's, the checkout revision has
not changed since up (rebuild/re-up if it did), and the CLI starts (--version). Run it
first, and again whenever output looks wrong. Not the same as 10x doctor (a feature, see
the map).
Drive
Non-TTY (JSON envelope mode — the CLI implies --json when stdout is not a TTY):
$V cli <label> -- <10x args> # e.g. $V cli get -- get m1l1 --tool claude-code
Runs in the run's project dir; saves NN-<label>.cmd|stdout|stderr|exit; prints them. The
helper always exits 0 — the CLI's exit code is data (0 ok, 1 error, 2 usage, 3 auth,
4 forbidden, 5 not found). Always pass --tool claude-code to get/sync in a fresh
project, or tool detection prompts / fails.
TTY (human output, @clack/prompts menus) in a private tmux server (-L 10x-verify-<run>,
never your default tmux):
$V tty <label> -- <10x args> # start
$V wait-screen '<regex>' [seconds] # wait for a prompt string, never a fixed sleep
$V keys Down Enter # tmux key names, or literal text
$V screen <label> # save the screen as evidence
$V wait-screen '10x exited' # the PTY prints "[10x exited <code>]" when done
Fake-world actions: $V click (the learner clicks the newest magic link), $V bump <lesson>,
$V changelog release|off|on (publish a newer toolkit release; remove / restore the
changelog route).
State proof: $V snapshot <label> (sha256 of every file in project + config dirs).
Narrative: $V note "<text>" appends to the run's notes.md.
The feature map in features/ has the exact recipe per feature.
Read its README first; a proof that drives one convenient entry point is incomplete when
the map lists others.
Evidence
All proof lands in .quality-local/verify-10x-cli/<run>/ (gitignored, survives down):
numbered .cmd/.stdout/.stderr/.exit, .screen.txt, .tree.txt, notes.md,
fake-api.log, and requests.log (every HTTP request the CLI made, copied at down).
Proof standards:
- Drive the real user path (
10x …in a project dir). No importingsrc/functions, no writing the manifest by hand.seed-authis the one allowed shortcut, and only for features other than auth. - Capture the action and the resulting state: the command output and a
snapshot(or file contents) showing what was written, kept or removed. - Verify side effects, not just the envelope: files on disk,
.claude/.10x-cli-manifest.json,.10x-cli.json,CLAUDE.mdrule block,auth.json, andrequests.logfor which endpoints were hit. --dry-runwas observed to write nothing (comparesnapshotbefore/after) but still fetch over the network (seerequests.log). Re-check that when you change it; do not trust the flag name.10x doctorcalls the real npm registry (registry.npmjs.org, read-only GET) for its version check. Everything else stays on the fake API.- Report skipped entry points as skipped, with the unmet precondition.
Cleanup
$V down
Kills only the fake API pid recorded by up (after checking its command line contains this
run's scratch dir) and this run's private tmux server, deletes the scratch dir
($TMPDIR/10x-verify-<run>.*), and keeps the evidence dir. Never pkill bun/pkill tmux:
other sessions run on this machine. After a failed attempt, still run down. To target an
older run: VERIFY_RUN=<id> $V down.
Helpers
| Script | Invocation |
|---|---|
scripts/verify.sh | $V <command> — all of the above; $V help lists commands |
scripts/fake-api.ts | started by $V up; standalone: bun .claude/skills/verify-10x-cli/scripts/fake-api.ts <dir> [port] |
Both are verification scaffolding, not product code. When the API contract changes
(bun run generate-types updates src/generated/api-types.ts), update fake-api.ts to
match or verification will lie.
FAQ
What does the verify-10x-cli skill do?
Drive the real 10x CLI (@przeprogramowani/10x-cli) end to end the way a learner does — login, list, get, sync, changelog, doctor — against a local fake delivery API with isolated config and project dirs, and capture stdout/stderr/exit codes, PTY screens and file-tree hashes as proof. Use after changing a command, the writer, conflict handling, auth or the API client, when unit tests pass but you need to see the shipped behaviour, or when asked to "verify", "run the CLI", "prove it works".
How do I install verify-10x-cli?
Run npx skills add https://github.com/przeprogramowani/10x-cli --skill verify-10x-cli in your project. The skills CLI detects the agents you use and copies the skill into the right folder. For Claude Code you can also place the skill folder at ~/.claude/skills/verify-10x-cli/ (personal) or .claude/skills/verify-10x-cli/ (project).
Which AI agents can use verify-10x-cli?
Any agent that supports the open Agent Skills format (a folder with a SKILL.md file), including Claude Code, Codex, Cursor, GitHub Copilot, Gemini CLI, Windsurf, Cline, OpenCode and more.
Is verify-10x-cli safe to install?
No partner security audit is available yet. Skills can run commands and scripts, so read the SKILL.md and any bundled files before installing.
Who maintains verify-10x-cli?
It is published by przeprogramowani in przeprogramowani/10x-cli. It has 161 recorded installs.
More from przeprogramowani/10x-cli
10x-cli-setup
przeprogramowani/10x-cli
Set up or troubleshoot @przeprogramowani/10x-cli for a 10xDevs learner: reuse or install a compatible CLI, check authentication and course access, choose the project and AI tool, and hand off to 10x-cli-guide. Use for installation, updates, npm permissions and onboarding. Excludes CLI source development and everyday download/use/sync guidance once setup is ready.
10x-cli-guide
przeprogramowani/10x-cli
Use when the user wants to download, use or update 10xDevs CLI skills, choose a helper installation channel, inspect course content, switch tool profiles, see what changed in 10x-toolkit releases (changelog) or troubleshoot CLI/auth/content conflicts. Guides filtered get → an actual agent task → sync while preserving local work and course/tool/language context. For first installation or authentication preparation, use an available 10x-cli-setup copy. Does not implement CLI runtime or grant course access.
Popular backend & apis skills
find-skills
vercel-labs/skills
Helps users discover and install agent skills when they ask questions like "how do I do X", "find a skill for X", "is there a skill that can...", or express interest in extending capabilities. This skill should be used when the user is looking for functionality that might exist as an installable skill.
entra-app-registration
microsoft/azure-skills
Guides Microsoft Entra ID app registration, OAuth 2.0 authentication, and MSAL integration. USE FOR: create app registration, register Azure AD app, configure OAuth, set up authentication, add API permissions, generate service principal, MSAL example, console app auth, Entra ID setup, Azure AD authentication. DO NOT USE FOR: Key Vault secrets (use azure-keyvault-expiration-audit), general Azure resource security guidance.
google-agents-cli-adk-code
google/agents-cli
This skill should be used when the user wants to "write agent code", "build an agent with ADK", "add a tool", "create a callback", "define an agent", "use state management" — in a project that needs ADK (Agent Development Kit) API patterns and code examples. It provides a quick reference for agent types, tool definitions, orchestration patterns, callbacks, state management, the graph Workflow API, and reference recipes to study. Do NOT use for scaffolding (use google-agents-cli-scaffold) or deployment (use google-agents-cli-deploy).
embedded-captions
heygen-com/hyperframes
Add captions or subtitles to an existing single-subject talking-head video without editing the footage. Use for plain verbatim captions, cinematic captions embedded behind the subject, VFX captions, “炸/特效/酷炫字幕,” or a named identity from the 35-style catalog. Route by visual identity, not by backend engine. The quiet anchor rail is the default; embed every word only when the user explicitly wants a fully cinematic treatment. The workflow runs locally end to end, including transcription and subject matting; split multi-shot footage before applying it.
entra-agent-id
microsoft/azure-skills
Provision Microsoft Entra Agent Identity Blueprints, BlueprintPrincipals, and per-instance Agent Identities via Microsoft Graph, and configure OAuth 2.0 token exchange (fmipath, OBO, cross-tenant) including the Microsoft Entra SDK for AgentID sidecar. USE FOR: Agent Identity Blueprint, BlueprintPrincipal, agent OAuth, fmipath token exchange, agent OBO, Workload Identity Federation for agents, polyglot agent auth, Microsoft.Identity.Web.AgentIdentities. DO NOT USE FOR: standard Entra app registration (use entra-app-registration), Microsoft Foundry agent authoring (use microsoft-foundry).
neon
neondatabase/agent-skills
Overview of Neon, a complete set of cloud backend primitives around Lakebase Postgres: Auth, Object Storage, Functions, the AI Gateway, and Realtime. Start here to choose Neon for undecided login, files, APIs, and LLM calls, set up the CLI or MCP server, and follow the branch-first workflow. Use when building an app or backend on Neon, or when "Neon" or "Lakebase Postgres" is mentioned. Child skill neon-postgres wins for an existing DATABASEURL, SQL, schema, inspect, or search. Child skill neon-auth wins for login, users, sessions, identity routing, and Managed Better Auth setup. Child skill neon-realtime wins for live queries in reactive apps and agents. Also use for object storage, S3, buckets, serverless functions, function triggers, cron, AI gateway, LLM calls, realtime, logs, Loki, Grafana, observability, postgres, database, backend, Claimable Neon, neon.new, or a no-signup database.