Skip to content

vektis-bootstrap

vektis-bootstrap runs three other skills in sequence — vektis-install, vektis-discover, and vektis-instrument — with two confirmation prompts in between. It’s the fastest path from “I have a codebase” to “Dev Items are populated and vektis.track() calls are in source.”

Terminal window
claude /vektis-bootstrap

For a typical codebase, the whole thing finishes in under 5 minutes.

You’re in this situationUse this skill
Brand new to VEKTIS, want to set up the SDK + instrument existing analytics calls in one passvektis-bootstrap
Already have @vektis-io/tracker installed and vektis.track() calls in sourcevektis-update
Just want to install the SDK, instrument latervektis-install

If you’ve already bootstrapped this codebase, the skill detects that on first launch and exits cleanly with a redirect to vektis-update.

  1. Authentication. The skill opens your browser to a VEKTIS authorization page. Sign in once, click Authorize, and the skill caches the credentials in ~/.vektis/credentials.json for the rest of the run (and future skill runs).

  2. Phase 1 of 3 — install the SDK. Hands off to vektis-install. The framework is auto-detected (Next.js App Router, Pages Router, Vite + React, Nuxt 3, SvelteKit, Create React App, vanilla CDN). You approve three diffs: the env-var write, the init-code insert, and a .gitignore audit if needed. The SDK API key is auto-created — you never see or paste a key value.

  3. Confirmation prompt. “SDK installed. Ready to scan your codebase for features?” Press Enter (default Yes) to continue, or type n to stop here. If you walk away, the prompt times out and continues automatically after 10 seconds.

  4. Phase 2 of 3 — find features. Hands off to vektis-discover. The skill scans for Mixpanel, Segment, Amplitude, PostHog, and GA4 calls in your source. Each detected event becomes a candidate row with a generated feature_id, value type, and title. You review the table in chat — approve all, edit individual rows, reject any you don’t want tracked, or cancel. On done, the candidates are written to .vektis/discover-output.json.

  5. Confirmation prompt. “N features discovered. Ready to instrument them?” Same Enter-to-continue, 10-second timeout pattern.

  6. Phase 3 of 3 — instrument. Hands off to vektis-instrument. The skill calls VEKTIS to bulk-create Dev Items for each candidate, then computes a single multi-file diff that inserts vektis.track() calls in your source. You approve the diff once. Files are written atomically.

  7. Final message. The skill prints a gh pr create command you can run to open a pull request, then exits. Your branch is ready.

The skill never proceeds past these without your input:

  • Authorize button in the browser — once, at the start.
  • Three diff approvals during install — env var, init code, and the optional .gitignore add.
  • Two inter-phase prompts — Press Enter (or wait 10 seconds) between phases.
  • Candidate review table — you type done, cancel, or per-row commands like reject 3 or edit 2 feature_id=....
  • Single bulk-diff approval — at the end of phase 3, you type approve all once for the entire instrumentation diff.

That’s nine total customer actions for a 30-candidate codebase.

  • --paste-token — skip the OAuth browser flow and use a manually-pasted token instead. Useful on headless servers, restrictive corporate firewalls, or anywhere a default browser isn’t available.
  • The skill refuses to run inside the VEKTIS source tree. This catches the developer-test footgun before any browser opens.
  • The skill refuses to proceed if you’re not an admin. Bootstrap creates Dev Items, which requires admin role. If your role is anything else, the skill exits at the auth step with “Ask your admin…” and never opens the browser. (The role check sits in front of every downstream phase, so it can’t sneak through.)
  • No file is written without a diff confirmation. Every code change passes through a unified-diff prompt you approve.
  • Re-bootstrap is detected and short-circuits. If @vektis-io/tracker is in package.json AND at least one vektis.track() call exists in source, the skill exits cleanly and points at vektis-update. No double-instrumentation.
SituationWhat the skill does
Authentication fails or times outSkill exits at the auth step. Nothing else has run. Re-run when ready, or use --paste-token.
You cancel a diff during phase 1Skill stops. Re-run with claude /vektis-install to resume from there.
vektis-discover returns zero candidatesSkill prints a friendly empty-state message — you don’t have any analytics SDK calls yet. Set up tracking in code first, then run vektis-update.
You type cancel at the candidate reviewSkill stops. To resume: claude /vektis-discover (or vektis-instrument if you already approved the candidate list).
Working tree is dirty when phase 3 startsvektis-instrument’s preflight catches this. Stash or commit your changes and re-run.

What you’ll see in your VEKTIS dashboard afterwards

Section titled “What you’ll see in your VEKTIS dashboard afterwards”

Once the skill finishes:

  • A row in your /dev list for each candidate that was approved — pre-filled with a title, value type, and the feature_id the SDK reports.
  • An Impact Tracking badge on each new dev item showing it’s wired up automatically.
  • A pending banner about new Dev Items if you don’t visit /dev immediately.

To see actual measurements, set baseline metrics on each Dev Item, ship the change, and add post-release measurements over time. See Track Your First Feature for the in-app workflow.

  • Modify your CSP headers — fragile detection across platforms. Manual: Content Security Policy.
  • Insert a vektis.reset() call in your logout handler — auth-provider detection is fragile. Manual: Reset on logout.
  • Set baseline metrics for the new Dev Items — that’s a deliberate user choice in the VEKTIS dashboard.
  • Open a pull request automatically — it prints a gh pr create command and lets you run it.