---
title: "Scripts"
description: "The zero-dependency plugin scripts and their commands."
canonical_url: "https://razcue-agent-kit.vercel.app/en/reference/scripts"
---
# Scripts

> The zero-dependency plugin scripts and their commands.

The scripts folder path is in the session context; most are also `agent-kit` commands.

## changes

What changed since the base branch: committed + staged + unstaged + untracked. Shared by preflight.mjs and tdd.mjs. Read-only git.

## checkpoint

Stop hook: after every turn (sync: async hooks are dropped when a headless run exits), saves where the work stands so the next session can resume — branch, changed files, active work. Silent; never fails.

## commit

Conventional Commit helpers for agents.

```bash
node commit.mjs draft [--staged]        changed files → suggested scope(s) and type
node commit.mjs check "<message>"       validate: project commitlint if installed,
node commit.mjs check --file <path>     else the built-in rules below (exit 1 = invalid)
```

## config

Shared paths and config for the agent-kit plugin scripts and CLI.

## context

Estimates the context loaded into EVERY Claude Code session of a project (CLAUDE.md chain + imports, memory index, agent-kit session context, skill listings) and finds skills Claude Code can't see. ~4 characters per token.

```bash
node context.mjs [dir] [--budget 8000]      exit 1 over budget
node context.mjs [dir] --sections            cost of every heading in the CLAUDE.md chain
```

## git-guard

PreToolUse(Bash) hook: blocks git commands the project's git flow forbids. Exit 2 blocks the call and shows stderr to Claude. Silent outside agent-kit projects.

## git-rules

Which git commands never change a repository: data for the git guard (git-guard.mjs). Subcommands that never change the repo, whatever their arguments.

## knowledge

Knowledge base: one concept per Markdown file with frontmatter, grouped in scopes, linked with [[name]]. This script does the deterministic work (index, search, validation) so agents spend tokens only on the entries they open.

```bash
node knowledge.mjs paths
node knowledge.mjs find <terms...> [--body]
node knowledge.mjs related <name>       the entry, what it links to, what links to it
node knowledge.mjs index [--global]
node knowledge.mjs check [--global]
```

## preflight

Pre-merge checklist from the diff between the merge base and the working tree (committed + staged + unstaged + untracked). Read-only git.

```bash
node preflight.mjs [base-branch]      exit 1 when a violation is found
```

## qa

QA dimension: a checklist generated from the living specs (one item per scenario), dated QA runs that record results, and the map from scenarios to the test-data fixtures (`-- @fixture <ids…> @tag` in seed.sql).

```bash
node qa.mjs sync [--check]   regenerate work/qa/checklist.md + checklist.html (--check: exit 1 if stale)
node qa.mjs run              start work/qa/runs/<today>.md with every scenario unticked
node qa.mjs status           latest result per scenario (pass / fail / blocked / n/a / re-check / never run)
node qa.mjs gaps             scenarios without a fixture; fixtures naming unknown scenarios (exit 1)
```

## run

Runs a command and returns a compact result for the agent: exit code, time, the lines that matter (failures, errors) and the tail. The full output goes to a log file, so a long run costs a few dozen lines of context, not thousands.

## script-nudge

PostToolUse(Write) hook: when the agent writes a script somewhere it will be lost (outside the project, at the project root, or in a tmp folder), remind it of the `scripts` skill so the script is found and reused next time.

## scripts

Script registry: find, run, test, scaffold and document the scripts agents and users write, so they are reused instead of rebuilt. A script is documented by `@key: value` lines in its first 40 lines (any comment style): @name @summary @usage (required: summary, usage) · @tags <span>

a, b

</span>

 · @test file

```bash
node scripts.mjs find <words...>          scripts (project, scratch, library) + skills
node scripts.mjs list
node scripts.mjs run <name|path> [--lines N] [-- args...]
node scripts.mjs test [name]
node scripts.mjs new <area>/<name>.<ext> --summary "…" [--usage "…"] [--scratch|--library]
node scripts.mjs index                    regenerate scripts/README.md
node scripts.mjs check                    undocumented, duplicate, missing tests
```

## session-start

SessionStart hook: injects the project profile (voice, language, git flow, method, work lanes), a compact knowledge index and the script index. Silent outside agent-kit projects.

## specs

Living specs (work/specs/<capability>

/spec.md) and the delta specs of changes (work/changes/NNN-slug/specs/<capability>

.md). Notation: EARS requirements (`### cap.R1 — name`), Given/When/Then scenarios tagged with one ZOMBIES category (`#### cap.R1.S1 — name @boundary`). IDs are never reused.

</capability>
</capability>



```bash
node specs.mjs lint [cap|NNN]          notation + id checks (exit 1 on errors)
node specs.mjs next <cap|cap.Rn>       next free requirement / scenario id
node specs.mjs merge <NNN>             apply a change's deltas to the living specs
node specs.mjs trace [NNN|cap]         scenario → tests (id in the test name) or ✅ rows
node specs.mjs list                    capabilities with requirement and scenario counts
```

## tdd

TDD support: which changed logic files have no test, and a compact run of only the tests related to the current changes.

```bash
node tdd.mjs status [base]
node tdd.mjs run [test files...] [--all] [--base <branch>] [--lines N]
```

## usage

Usage signals for a retro: what ran and failed, scripts never used, scratch scripts to promote or delete, knowledge nobody links to, work status.

```bash
node usage.mjs [--days 30]
```

## work

Work tracking: fast-track features (work/features/) and changes (work/changes/NNN-slug/: proposal, delta specs, plan, tasks), their status and next task, and traceability (scenario → test or verified check). Living specs (work/specs/<capability>

/spec.md) are handled by specs.mjs.

</capability>



```bash
node work.mjs status              active work with progress and next task
node work.mjs board               regenerate work/BOARD.md
node work.mjs trace [NNN]         scenarios (or legacy AC-n) → tests or ✅ checks
node work.mjs new feature|change <slug> [--title "…"]   next number + files from the templates
```


## Sitemap

See the full [sitemap](https://razcue-agent-kit.vercel.app/sitemap.md) for all pages.
