User Input
$ARGUMENTS
Audience and tone (interactive mode)
When KISS_AGENT_MODE=interactive (the default), assume the user
has limited technical background and limited domain knowledge
— they may know basics but lack deep expertise in this skill's
area. Run this skill as a guided questionnaire:
- One question at a time. No walls of questions.
- Yes / no first. Phrase so
yes, no, not sure, or skip
is a valid answer.
- Translate jargon, don't strip it. Use the technical term but
always pair it with a plain-English gloss the first time it
appears.
- Choices, not blank fields. When yes/no isn't enough, offer
2-4 lettered options (A/B/C/D) with one-line plain-language
descriptions of the trade-off. Always include "Not sure — pick
a sensible default".
- Always recommend. State the option you would pick and why in
one sentence so the user can reply "yes" / "ok" to accept. Pull
defaults from upstream artefacts (spec, architecture, ADRs,
standards) before asking blank.
- Show, don't ask. When upstream artefacts already imply an
answer, propose it as a pre-filled finding and ask for a
yes / no confirmation rather than asking the user to fill in a
blank.
not sure / skip triggers a sensible default, marked
"(default applied — confirm later)" in the artefact, and a debt
entry in this skill's debt file.
When KISS_AGENT_MODE=auto (or --auto), skip the questionnaire
entirely: apply sensible defaults from upstream artefacts and log
decisions to the parent agent's decision log.
Inputs
- Project root files (package.json, pyproject.toml, go.mod, …)
- Source tree under
src/, lib/, app/, …
Outputs
{context.paths.docs}/analysis/codebase-scan.md
{context.paths.docs}/analysis/codebase-scan.extract
Context Update
Does not mutate .kiss/context.yml.
Handoffs
kiss-arch-extraction starts from this scan.
kiss-api-docs narrows to detected HTTP / RPC frameworks.
kiss-dependency-map uses the LOC + entry-point list.
AI authoring scope
Does: classify files by extension, count LOC per top-level
dir, detect primary language(s), detect frameworks (web, test,
build, lint), find entry points (main.*, server.*,
index.*).
Does not: modify files, run tests, push anything.
Usage
<SKILL_DIR> = the integration's skills root (e.g. .claude/skills/
for Claude Code, .agents/skills/ for Antigravity / Codex,
.cursor/skills/ for Cursor, .windsurf/workflows/ for Windsurf).
Scripts live at <SKILL_DIR>/<skill-name>/scripts/….
bash <SKILL_DIR>/kiss-codebase-scan/scripts/bash/scan.sh --auto
Answer keys
| Key |
Default |
CS_EXCLUDE_GLOBS |
node_modules/**,dist/**,.venv/**,build/**,target/** |
1---2name: kiss-codebase-scan3description: Scans an existing codebase and produces an overview: language + LOC by directory, detected frameworks, entry points, test coverage signals, build/lint/format tooling. Serves as input for all other technical-analyst skills. Use when onboarding to a new codebase, starting a technical analysis, or before running architecture extraction or dependency mapping.4---567## User Input89```text10$ARGUMENTS11```1213## Audience and tone (interactive mode)1415When `KISS_AGENT_MODE=interactive` (the default), assume the user16has **limited technical background and limited domain knowledge**17— they may know basics but lack deep expertise in this skill's18area. Run this skill as a guided questionnaire:1920- **One question at a time.** No walls of questions.21- **Yes / no first.** Phrase so `yes`, `no`, `not sure`, or `skip`22 is a valid answer.23- **Translate jargon, don't strip it.** Use the technical term but24 always pair it with a plain-English gloss the first time it25 appears.26- **Choices, not blank fields.** When yes/no isn't enough, offer27 2-4 lettered options (A/B/C/D) with one-line plain-language28 descriptions of the trade-off. Always include "Not sure — pick29 a sensible default".30- **Always recommend.** State the option you would pick and why in31 one sentence so the user can reply "yes" / "ok" to accept. Pull32 defaults from upstream artefacts (spec, architecture, ADRs,33 standards) before asking blank.34- **Show, don't ask.** When upstream artefacts already imply an35 answer, propose it as a pre-filled finding and ask for a36 yes / no confirmation rather than asking the user to fill in a37 blank.38- **`not sure` / `skip` triggers a sensible default**, marked39 "(default applied — confirm later)" in the artefact, and a debt40 entry in this skill's debt file.4142When `KISS_AGENT_MODE=auto` (or `--auto`), skip the questionnaire43entirely: apply sensible defaults from upstream artefacts and log44decisions to the parent agent's decision log.4546## Inputs4748- Project root files (package.json, pyproject.toml, go.mod, …)49- Source tree under `src/`, `lib/`, `app/`, …5051## Outputs5253- `{context.paths.docs}/analysis/codebase-scan.md`54- `{context.paths.docs}/analysis/codebase-scan.extract`5556## Context Update5758Does not mutate `.kiss/context.yml`.5960## Handoffs6162- `kiss-arch-extraction` starts from this scan.63- `kiss-api-docs` narrows to detected HTTP / RPC frameworks.64- `kiss-dependency-map` uses the LOC + entry-point list.6566## AI authoring scope6768**Does:** classify files by extension, count LOC per top-level69dir, detect primary language(s), detect frameworks (web, test,70build, lint), find entry points (`main.*`, `server.*`,71`index.*`).7273**Does not:** modify files, run tests, push anything.7475## Usage7677> `<SKILL_DIR>` = the integration's skills root (e.g. `.claude/skills/`78> for Claude Code, `.agents/skills/` for Antigravity / Codex,79> `.cursor/skills/` for Cursor, `.windsurf/workflows/` for Windsurf).80> Scripts live at `<SKILL_DIR>/<skill-name>/scripts/…`.8182```bash83bash <SKILL_DIR>/kiss-codebase-scan/scripts/bash/scan.sh --auto84```8586### Answer keys8788| Key | Default |89|---|---|90| `CS_EXCLUDE_GLOBS` | `node_modules/**,dist/**,.venv/**,build/**,target/**` |