Help us improve
Share bugs, ideas, or general feedback.
From ai-skills
Use this skill when bootstrapping a target repository to be ai-skills-aware — on the first run of any ai-skills workflow in a fresh repo, when adopting the ai-skills plugin in an existing repo, or after upgrading to a plugin version that adds new memory paths or templates, including when the user does not say "init" but asks to "set up" or "onboard" the repo — to detect codebase type, create CLAUDE.md + AGENTS.md scaffolding, initialize the .ai-skills-memory/ directory tree from L1 templates, and configure .gitignore. Idempotent — safe to re-run. Accepts `--codebase-type <type>` and `--overwrite`. Not for re-initializing only memory — use `/memory-init` instead.
npx claudepluginhub alex-voloshin-dev/ai-skills --plugin ai-skillsHow this skill is triggered — by the user, by Claude, or both
Slash command
/ai-skills:ai-skills-init [--codebase-type <type>] [--overwrite][--codebase-type <type>] [--overwrite]The summary Claude sees in its skill listing — used to decide when to auto-load this skill
One-time (or re-runnable) setup for a target repo. Detects codebase type, scaffolds `CLAUDE.md` + `AGENTS.md`, creates `.ai-skills-memory/` tree from L1 templates, appends `.gitignore` rules. Idempotent.
Measures whether skills, rules, and agent definitions are actually followed by auto-generating test scenarios at 3 strictness levels and reporting compliance rates with full tool call timelines.
Share bugs, ideas, or general feedback.
One-time (or re-runnable) setup for a target repo. Detects codebase type, scaffolds CLAUDE.md + AGENTS.md, creates .ai-skills-memory/ tree from L1 templates, appends .gitignore rules. Idempotent.
/memory-init for that)CLAUDE.md (manual edit — this skill never overwrites without --overwrite)/ai-skills-init
/ai-skills-init --codebase-type python-flask
/ai-skills-init --overwrite # rare; only when CLAUDE.md is empty/stale
| Flag | Default | Effect |
|---|---|---|
--codebase-type | auto-detect | python-flask, python-fastapi, nodejs-express, nodejs-nextjs, astro, sveltekit, remix, nodejs-bun, deno, java-spring, kotlin-spring, kotlin-ktor, elixir-phoenix, go, ruby-rails, rust, dotnet, mixed, generic |
--overwrite | false | If CLAUDE.md already exists, OVERWRITE with fresh scaffold. Default: skip if exists |
<repo>/CLAUDE.md — scaffolded with codebase type, empty sections for user<repo>/AGENTS.md — empty template (optional, for team customization of agents per-repo)<repo>/.ai-skills-memory/ directory tree (per /memory-init spec)<repo>/.gitignore — appended .ai-skills-memory/ exclusion rule (if not present)| Agent | Model | Effort | Tools | Role |
|---|---|---|---|---|
scaffolder (internal — resolves to software-engineer with restricted tools) | haiku | low | Write, Read, Glob | Detects codebase type, generates scaffolds |
┌─ Auto-detect codebase type:
│ └─ Check for: Pipfile, pyproject.toml, package.json, pom.xml,
│ build.gradle.kts, go.mod, Cargo.toml, Gemfile, mix.exs,
│ *.csproj, astro.config.mjs, svelte.config.js, remix.config.js,
│ bun.lockb / bunfig.toml, deno.json / deno.jsonc / deps.ts
│ Multiple matches → mixed; none → generic
│
├─ Generate CLAUDE.md scaffold:
│ └─ Sections: Overview, Tech Stack, Directory Layout, Key Decisions,
│ Constraints, Getting Started
│ Pre-fill: tech stack (detected), codebase type
│ Leave blank for user: business context, architectural decisions
│
├─ Generate (optional) AGENTS.md:
│ └─ List all plugin agents enumerated from `plugin/agents/`
│ (count auto-tracks future additions) with brief role descriptions
│ User can override / add per-repo customization
│
├─ Create .ai-skills-memory/ tree (delegate to /memory-init logic):
│ ├─ .gitignore (from plugin/memory/templates/ai-skills-memory.gitignore)
│ ├─ .committed/ subdir with README + allowlist-extensions
│ ├─ config.json (per-repo override stub for token caps + RALF caps)
│ ├─ learnings.md (empty template)
│ ├─ runs.jsonl, errors.log, redactions.log (touch-create)
│ └─ workflow subdirs: designs/, develop/, bugfix/, refactor/,
│ migrate/, spikes/, security-audits/, env-reports/, docs/
│
├─ Update root .gitignore:
│ └─ Add .ai-skills-memory/ rule (if not already present);
│ also add `.committed/` is tracked exception (negation rule)
│
└─ Print scaffold creation summary + next steps
("Fill business context in CLAUDE.md, run /feature-design or /develop")
No RALF — scaffolding is one-pass; idempotent so safe to re-run.
| Type | Markers | CLAUDE.md template deltas |
|---|---|---|
astro | astro.config.mjs; package.json has "astro" dep | Primary role: frontend-engineer. Note SSG/SSR/hybrid mode. Likely Tailwind / shadcn-ui. Playwright for E2E |
sveltekit | svelte.config.js; package.json has "@sveltejs/kit" dep | Primary role: frontend-engineer. Note SSR/SSG modes. Tailwind / shadcn-ui likely. Playwright for E2E |
remix | remix.config.js; package.json has "@remix-run/*" deps | Primary role: frontend-engineer. Note SSR-first full-stack. Tailwind / shadcn-ui likely. Playwright for E2E |
nodejs-bun | bun.lockb or bunfig.toml | Use bunx over npx. Native TypeScript (no tsc step). Native test runner (bun test) |
deno | deno.json / deno.jsonc; deps.ts | Use deno run / deno test. Built-in TS. Document the permissions model (--allow-net, --allow-read, …) |
elixir-phoenix | mix.exs with :phoenix dep | Primary role: elixir-engineer (NOT software-engineer for stack-specific work). ExUnit for tests. mix release for deploy |
kotlin-spring | build.gradle.kts + kotlin plugin + Spring deps | Primary role: java-engineer. Gradle Kotlin DSL. JUnit + Kotlin idioms |
kotlin-ktor | build.gradle.kts + io.ktor deps | Primary role: java-engineer. Ktor coroutines model. H2 + Exposed common stack |
CLAUDE.md without --overwrite — refuse with: "CLAUDE.md exists; pass --overwrite to replace"pre-tool-use-committed-write.py hook applies to any .committed/ writes (committed-allowlist enforcement)Pointer: plugin/eval/judge-rubrics/ai-skills-init.md (B10).
Dimensions:
CLAUDE.md if --overwrite not setPass: avg ≥ 4.0, no dimension < 3.
| Layer | When | Shape |
|---|---|---|
| L4 | After complete | .ai-skills-memory/init-summary.md — timestamp, plugin version, codebase type detected, files created/skipped |
mixed; user can specify with --codebase-type--overwrite not set: skip CLAUDE.md creation; report exists; continue with /memory-init portion${CLAUDE_PLUGIN_ROOT} empty): error with: "Plugin templates not found. Verify plugin install with /plugin status ai-skills"workflow_start — ai-skills-initcodebase_type_detected — detected typescaffold_created — files/dirs created (vs skipped)workflow_end — COMPLETE${CLAUDE_PLUGIN_ROOT}/memory/templates/ (7 files for memory skeleton). PII pattern file is at ${CLAUDE_PLUGIN_ROOT}/hooks/scripts/pii-patterns.txt (loaded by hooks, not copied during init); project extension at .ai-skills-memory/.committed/pii-patterns.txt (created on demand).plugin/schemas/spawn-payload.schema.json (G7 — even though scaffolder is internal, payload still embedded for consistency)/memory-init (the memory portion of the bootstrap)/plugin-doctor (verify install before init), /context-load (after init, validate context loads correctly)memory-discipline (write rules per layer), untrusted-content-wrapping (G1 wrap on existing CLAUDE.md if --overwrite reads it for backup)pre-tool-use-committed-write.py (committed-allowlist enforcement on .committed/ writes), session-start-context.py (will read newly-created CLAUDE.md on next session)