kit-setup
GitHub用于发现、测试和配置多种AI代理(如Claude、Grok等)的订阅连接,包括CLI安装、登录认证及连通性验证,确保环境就绪而不修改面板默认设置。
Trigger Scenarios
Install
npx skills add chrisblattman/claudeblattman --skill kit-setup -g -y
SKILL.md
Frontmatter
{
"name": "kit-setup",
"description": "Discover and test optional Claude, Codex, Gemini through Antigravity, and Grok subscription connections. Help with missing CLI or login setup without changing panel defaults."
}
Set up connections
Read neighboring Ask Agents' references/transport.md and this skill's references/host.md. Ask which connection only if unclear. Native local panels need no extra subscription. Optional providers require their own supported CLI and login. Setup does not change panel defaults, global instructions, billing, or top-ups. The Antigravity Auto configuration below changes permissions only with the user's authorization.
- Check Node 18+ and the requested connection with
node <ask-agents>/scripts/run-agent.mjs --agent <provider> --preflight. Record detected versus authenticated separately. Detection alone is never success. Manually connected providers work without a kit registry; every invocation performs live discovery. Ignore obsoleteengines.jsonavailability flags. - For Gemini, discover
agy(Antigravity), notgemini. A desktop sign-in alone does not establish CLI authentication; complete an interactiveagylogin if required. Follow Antigravity unattended setup below to configure and verify command access. Do not grant trust or bypass permissions automatically. - For Grok, follow the Grok setup sequence in neighboring Ask Agents'
references/transport.md. Start withnode <ask-agents>/scripts/grok-setup.mjs check; it reports binary, Python and selected-home auth metadata without running Grok. Within the requested setup scope, use the helper's explicitinstallfor the pinned official release andloginfor interactive subscription sign-in (orlogin --device-auth). Show the selected home before login. A compatible installed Python is discovered automatically unlessSTARTER_KIT_PYTHONis set; an invalid override is never replaced. Rerun normal preflight before the smoke test. Never ask for tokens in chat, use API credentials, buy subscriptions or enable extra usage. - Test each requested connection with
--smoke-test --output-dir <new-private-directory>. This sends only “Reply with exactly: starter-kit-ok” from a new empty temporary folder. No project context. A setup/test request authorizes this small test and, for Antigravity, the harmless command probe below, subject to host approvals. Read the resulting full report and receipt; require a success state and the expected reply. A greeting alone does not verify command access. Grok warnings about model telemetry do not mean billing failure; report them accurately. - For login failure, guide the provider's interactive login and retry only after it is completed. For other failures, report the actual stage and remedy. A failed test remains failed; no fallback or endless retries.
Return a short table: requested service, executable detected, request tested, result/next step. Link retained test receipts if useful. Do not create a durable available:true gate; tests are point-in-time evidence. Never overwrite saved panel preferences. If the user explicitly asks to change those, use Council's preference helper and show the undo command. Setup alone does not prove that a complete multi-provider panel works.
Antigravity unattended setup
Auto is a saved Antigravity CLI preference, not a per-task setup action. Explain that it applies to future CLI sessions, automatically approves workspace edits and routine commands, and requires a supported account and terminal sandbox. Ask before enabling it unless the user has already authorized that change. If Auto is already saved, do not ask again or rewrite it. If the user declines, preserve their settings and report command access separately from authentication.
Configure it directly with the host's filesystem tools; opening a terminal UI is unnecessary:
- Read
~/.gemini/antigravity-cli/settings.jsonas a JSON object, or start with an empty object if the file is absent. If existing JSON is invalid, stop and report the problem rather than replacing it. - Record whether
agentModeexisted and its prior value for undo. Merge only"agentMode": "auto", preserving every other setting and existing permission rule. Create the parent directory if needed and write atomically, retaining existing file permissions (use owner-only access for a new file). Do not print unrelated settings or credentials. Do not change login, data-sharing preferences, or workspace trust. - Read back the setting. Explain that undo restores the previous
agentModevalue, or removes that key if it was absent; it must not replace the entire settings file. Ask Agents inherits the saved preference without a mode override. No interactive selection or repeated setup is required.
After the greeting test, create a new empty temporary workspace and a separate prompt file containing: “Run /usr/bin/true exactly once using your terminal tool and report its exit status. Do not read or change files, browse, or use other tools.” Invoke the neighboring Ask Agents runner with --agent gemini --prompt-file <prompt> --cwd <temporary-workspace> --output-dir <new-private-directory>; do not add a mode override or special allow rule. Require a successful receipt, a substantive report, and raw tool events showing the requested command actually exited 0 without a denial. A model's claim alone is insufficient. Keep the prompt, raw events and receipts outside distributed plugin files.
If the probe fails, retain the evidence and report command access as unverified or blocked; do not silently broaden permissions or switch modes/providers. Auto is not available on every account/platform, and explicit Ask/Deny rules can still block commands. Check the actual tool result rather than relying on the startup permission label alone. State any saved setting change even when verification fails. Do not claim the greeting and command probe establish full file, web, MCP, or Council access.
When the user also asks to change their default panel
Read Council's references/panel-execution.md and use its existing scripts/council.py preferences helper. First show the current preference. Save only the providers or preset the user requested, then show the effective selection and settings path. For example, a request for Claude, Codex and Antigravity maps to preferences set --providers claude,codex,gemini. A two-provider request maps to exactly those two names. Do not edit installed skill files or policy.json to customize the panel.
Explain that ~/.config/starter-kit/settings.json is user-owned and shared by Council and Adversarial Review across both host plugins on this computer. It survives plugin updates. This changes panel membership, not model versions or the fresh native synthesis worker. An explicit provider selection for one task overrides the saved default without changing it. Show preferences reset as the command to restore the bundled local-persona defaults; do not execute it unless requested.
Keep connection setup, a trial panel and saving a panel preference distinct. If the user requested a trial, use a small real task with their exact providers and normal fresh synthesis; verify file access and retrieve substantive reports. A successful greeting alone does not verify that workflow. If the user also requested saving the default after a successful trial, save it after that check passes; do not silently replace an unavailable provider. Setup alone launches no Council or review and saves no panel preference. For a requested persistence check in a new session, run Council or Adversarial Review without a provider/mode override so the saved setting is exercised.
Version History
- a79c756 Current 2026-11-07 15:29
- b35ff89 2026-11-02 19:25


