plugin/skills/ai-assets-init/SKILL.md
Use when bootstrapping a target repository to be ai-assets-aware on first run in a new repo or when adopting the ai-assets plugin. Creates CLAUDE.md scaffolding, initializes .ai-assets-memory/ directory tree from L1 templates, configures .gitignore. Idempotent — safe to re-run.
npx skillsauth add avav25/ai-assets ai-assets-initInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
One-time (or re-runnable) setup for a target repo. Detects codebase type, scaffolds CLAUDE.md + AGENTS.md, creates .ai-assets-memory/ tree from L1 templates, appends .gitignore rules. Idempotent.
/memory-init for that)CLAUDE.md (manual edit — this skill never overwrites without --overwrite)/ai-assets-init
/ai-assets-init --codebase-type python-flask
/ai-assets-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-assets-memory/ directory tree (per /memory-init spec)<repo>/.gitignore — appended .ai-assets-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-assets-memory/ tree (delegate to /memory-init logic):
│ ├─ .gitignore (from plugin/memory/templates/ai-assets-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-assets-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-assets-init.md (B10).
Dimensions:
CLAUDE.md if --overwrite not setPass: avg ≥ 4.0, no dimension < 3.
| Layer | When | Shape |
|---|---|---|
| L4 | After complete | .ai-assets-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-assets"workflow_start — ai-assets-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-assets-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)development
Use this skill when running the recurring (daily) knowledge-base rescan for a repo that already has knowledge/.knowledge-sync.yml — the main-thread dispatcher that reads the config, computes the git delta since last_scanned_sha, maps changed paths to affected doc areas, early-exits cheaply when nothing changed, then fans out one Agent(content-writer) per affected area, applies the propose/direct update policy, advances the baseline only on success, and writes an L4 run log — all with the G1 untrusted-content choke-point, secret-scan, deny-list, and budget controls woven in. For first-time setup use /knowledge-sync-init.
development
Use this skill when bootstrapping scheduled knowledge-base sync for a repo that has no knowledge/.knowledge-sync.yml yet — to run one-time setup that detects the knowledge_root from CLAUDE.md/AGENTS.md, maps doc areas to source globs, records opt-in external sources (Linear/Notion/WebFetch, all disabled by default), captures a baseline last_scanned_sha, sets the per-area update policy, generates or seeds knowledge/CONVENTIONS.md, provisions the L4 memory dir, and offers to register the daily routine. Routes ongoing recurring sync operations to /knowledge-sync.
tools
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.
tools
Use this skill when extending, repairing, or improving plugin assets, when ingesting a `/feedback` report as a fix-cycle backlog, or when you do not remember which lower-level command is right for the job — the umbrella workflow for ai-skills plugin-asset authoring and maintenance: creating, auditing, fixing, improving, refactoring, and migrating skills, agents, rules, hooks, prompts, schemas, and rubrics inside the plugin. Auto-classifies the request, loads the right knowledge skills (`@prompt-engineering`, `@context-engineering`, `@team-protocols`), and spawns the right subagents (`prompt-engineer`, `system-architect`, `python-engineer`, `software-engineer`, `qa-engineer`, `eval-judge`) via the `Agent` tool.