# Kit Setup

> One-time starter-kit setup: detects optional AI engines (Codex, Gemini), confirms each with you, writes the engines config, and optionally personalizes how Claude writes for you. Safe to re-run anytime.

- **Type:** Skill
- **Install:** `agentstack add skill-chrisblattman-claudeblattman-kit-setup`
- **Verified:** Yes — security-reviewed for prompt injection and unsafe behavior
- **Seller:** [chrisblattman](https://agentstack.voostack.com/s/chrisblattman)
- **Installs:** 0
- **Category:** [Agent Skills](https://agentstack.voostack.com/c/agent-skills)
- **Latest version:** 0.1.0
- **License:** MIT
- **Upstream author:** [chrisblattman](https://github.com/chrisblattman)
- **Source:** https://github.com/chrisblattman/claudeblattman/tree/main/plugins/starter-kit/skills/kit-setup

## Install

```sh
agentstack add skill-chrisblattman-claudeblattman-kit-setup
```

Requires the [AgentStack CLI](https://agentstack.voostack.com/docs/cli). Works with Claude Code, Cursor, and any MCP-compatible agent.

## About

# Kit Setup

Everything in this kit works on Claude alone. This skill records which optional extra engines exist on this machine, so other kit skills can offer second opinions. **Detect, then confirm.** Never ask the user what subscriptions or plans they have, and never list, describe, or ask about tools that weren't detected.

## Phase 1 — Engines

### 1. Detect

One Bash call:

```bash
command -v codex; command -v gemini; date +%Y-%m-%d
```

For each CLI found, run a quick ` --version`; if that fails, say it looks installed but isn't currently working, record it as unavailable, and move on — don't troubleshoot here. Version output only means "detected," not "usable."

### 2. Confirm each FOUND tool, in plain language

One short yes/no question per tool that was found — and nothing about tools that weren't:

- **codex:** "I found the Codex CLI installed — want me to use it for second opinions and research? (yes/no)"
- **gemini:** "I found the Gemini CLI installed — want me to use it for second opinions and very long documents? (yes/no)"

If nothing was found, skip the questions entirely. Either way, close Phase 1 with one line: "If you later install the Codex or Gemini CLI, run /kit-setup again."

### 3. Smoke-test each accepted tool

For each detected tool the user accepts, create one private temp directory with `mktemp -d`, then run one tiny smoke test through the shipped wrapper:

```bash
smoke_dir="$(mktemp -d)"
printf 'Reply with exactly: starter-kit-ok\n' | bash "${CLAUDE_PLUGIN_ROOT}/scripts/codex-run.sh" "$smoke_dir/codex.txt" light
printf 'Reply with exactly: starter-kit-ok\n' | bash "${CLAUDE_PLUGIN_ROOT}/scripts/gemini-run.sh" "$smoke_dir/gemini.txt"
```

If the wrapper succeeds and the output is non-empty, mark the engine `available: true`. If it fails, mark it unavailable but preserve what happened, for example `{ "available": false, "detected": true, "auth_unverified": true }`. Keep the user-facing message plain: "I found Codex/Gemini, but it did not answer a test prompt yet. Everything still works on Claude."

### 4. Write the config

Target: `~/.claude/starter-kit/engines.json`. Run `mkdir -p ~/.claude/starter-kit` first. If the file already exists, Read it and preserve any fields you don't recognize — newer kit versions may have added some. Schema (full contract: `${CLAUDE_PLUGIN_ROOT}/references/engines-contract.md`):

```json
{
  "schema_version": 1,
  "codex":  { "available": true },
  "gemini": { "available": false },
  "oracle": { "available": false },
  "paste_loop": ["chatgpt", "gemini"],
  "updated": ""
}
```

- `available: true` only if the CLI was detected, the user said yes, and the smoke test returned a non-empty answer.
- If the user says no to an installed tool, write `{ "available": false, "user_declined": true }` so a re-run doesn't quietly switch it back on.
- `paste_loop`: write the default shown above on first write; keep any existing value on re-runs.
- `oracle`: always write `{ "available": false }` — the field is reserved for a future release; this version doesn't probe or enable it.

## Phase 2 — Personalize (optional; offer once)

Ask once: "Want to spend two minutes personalizing how I write for you? Five quick questions — totally skippable."

If yes, ask one at a time, conversationally:

1. What kind of work will you mostly use this for — and what's your role or field?
2. How do you like answers — short and direct, or thorough and explained?
3. What annoys you in AI writing? (buzzwords, bullet overload, hedging…)
4. How formal should drafts be by default?
5. Anything I should always do — or never do?

Then write `~/.claude/starter-kit/my-preferences.md`: start from the template at `${CLAUDE_PLUGIN_ROOT}/references/prompt-preferences-TEMPLATE.md` and fill it in from their answers. If the template is missing, write a simple file with one short section per question. If they skip, say they can run /kit-setup again anytime — and don't offer a second time this run.

## Finish — report in plain language

Two or three sentences, no jargon, no JSON. Pattern:

> "You're set up. Everything runs on Claude — that's the normal setup and it all works."

Add one sentence per enabled engine (e.g. "Codex is also connected, so you can ask it for second opinions with /codex.") and one if preferences were saved. If nothing extra was found, the first sentence is the whole report.

## Re-running

Safe anytime. Re-detect and update `engines.json`: a newly installed tool gets confirmed (Phase 1, step 2) and added; a removed one gets marked unavailable; unknown fields and `paste_loop` are preserved. If `my-preferences.md` already exists, offer to update it rather than starting over.

## Source & license

This open-source skill is cataloged on AgentStack and links to its original source — we do not rehost the code.

- **Author:** [chrisblattman](https://github.com/chrisblattman)
- **Source:** [chrisblattman/claudeblattman](https://github.com/chrisblattman/claudeblattman)
- **License:** MIT

Install and usage instructions live in the source repository linked above.

## Pricing

- **Free** — Free

## Security capabilities

Automated source analysis of v0.1.0 — what this tool can access:

- **Network access:** no
- **Filesystem access:** no
- **Shell / process execution:** no
- **Environment & secrets:** no
- **Dynamic code execution:** no

*"Yes" means the capability is present in the source — more access means more to trust, not that it is unsafe.*


## Versions

- **0.1.0** — security scan: passed — Imported from the upstream source.

## Links

- Listing page: https://agentstack.voostack.com/l/skill-chrisblattman-claudeblattman-kit-setup
- Seller: https://agentstack.voostack.com/s/chrisblattman
- Browse the marketplace: https://agentstack.voostack.com/browse

---
Listed on AgentStack — the marketplace for AI agent skills and MCP servers. Every listing is security-reviewed. Creators keep 70%.
