/aiwg-regenerate-claude
Regenerate CLAUDE.md for Claude Code with hook file architecture
$ npx -y skills add jmagly/aiwg --skill aiwg-regenerate-claude --agent claude-codeHow it fires
How this skill gets triggered: by you, by Claude, or both.
- Fires itselfAuto-invocation. Claude auto-loads it when your prompt matches the work.Auto-invocation is when the right skill fires by itself at the right moment, driven by a FLOW.md router and a hook, instead of you invoking it by name. It is the difference between a skill being installed and a skill actually getting used.Read the full definition →
- You can call itInvoke it directly when you want it.
- Slash command
/aiwg-regenerate-claude
Context preview
The summary Claude sees to decide when to auto-load this skill.
Regenerate CLAUDE.md for Claude Code with hook file architecture
SKILL.md
aiwg-regenerate-claude.SKILL.mdnamespace: aiwg
name: aiwg-regenerate-claude
platforms: [all]
description: Regenerate CLAUDE.md for Claude Code with hook file architecture
<!-- AIWG-SKILL-CALLOUT --> > **Skill access pattern (post-kernel-pivot, 2026.5+)** > > Skill names referenced in this document's *narrative* are AIWG skills, **not slash commands**. Most are not kernel-listed and cannot be invoked as `/skill-name` by the platform. Reach them via: > > ```bash > aiwg discover "<capability>" > aiwg show skill <name> > ``` > > Only kernel-listed skills (`aiwg-doctor`, `aiwg-refresh`, `aiwg-status`, `aiwg-help`, `use`, `steward`) are directly invokable as slash commands. See [skill-discovery rule](../../rules/skill-discovery.md). > > **Exception**: The "Available Slash Commands (Claude Code)" template block below is *generated output* destined for end-user CLAUDE.md files, where Claude Code's slash-command syntax applies. Slash prefixes in that block are preserved intentionally.
Regenerate CLAUDE.md
Regenerate the CLAUDE.md file for Claude Code integration. This command performs an **intelligent merge** — analyzing the current project state while preserving team-written content.
**Hook file architecture (default):** Generates `AIWG.md` with all AIWG context, and adds a single `@AIWG.md` directive to CLAUDE.md. This keeps CLAUDE.md minimal and user-owned.
**Full injection (`--full-inject`):** Legacy mode — injects full AIWG content directly into CLAUDE.md (useful for platforms that do not support @-link loading, or user preference).
**Vendor-specific filtering:** This command includes ONLY Claude Code slash commands and agents, reducing context pollution. Other vendor content is referenced but not inlined.
Core Principle
**Team content is preserved. AIWG content is updated. Only Claude-specific content is inlined.**
The agent must distinguish between:
- **Team content**: Project rules, conventions, requirements, decisions written by humans
- **AIWG content**: Framework integration, agent definitions, reference links generated by AIWG
- **Claude-specific**: Slash commands, Claude agents, Claude settings
- **Other vendors**: Copilot, Cursor, Warp commands (reference only)
Parameters
| Flag | Description | |------|-------------| | `--no-backup` | Skip creating backup file | | `--dry-run` | Preview changes without writing | | `--full` | Full regeneration - replaces everything (destructive) | | `--full-inject` | Inject AIWG content directly into CLAUDE.md (legacy/compatibility mode) | | `--migrate` | Migrate existing full-injection to hook file approach (runs `/migrate-hook --provider claude`) |
Hook File Architecture (Default)
When running without `--full-inject`:
1. **Generate `AIWG.md`** — assembles AIWG context from installed framework manifests 2. **Update `CLAUDE.md`** — minimal: user content + `@AIWG.md` directive
# CLAUDE.md
## Repository Purpose
[your project description]
@AIWG.md
## Project-Specific Notes
[your team conventions here]
To revert to inline injection: `/aiwg-regenerate-claude --full-inject`
To disable context temporarily: `aiwg hook-disable`
Execution Steps
Step 1: Create Backup
Unless `--no-backup` specified:
1. Check if `CLAUDE.md` exists 2. If exists, copy to `CLAUDE.md.backup-{YYYYMMDD-HHMMSS}` 3. Report: `Backup created: CLAUDE.md.backup-20260113-152233`
If no existing file, skip backup and note: `No existing CLAUDE.md found, generating fresh.`
Step 2: Analyze Existing Content
If existing CLAUDE.md present (and not `--full`):
**Read the file and intelligently categorize each section:**
**Team Content (PRESERVE):**
- Project-specific coding standards and conventions
- API guidelines and architectural decisions
- Security policies and compliance requirements
- Team workflows and processes
- Business rules and constraints
- Definition of Done criteria
- Historical context and rationale
- Any content that reflects human decisions about the project
**AIWG Content (UPDATE):**
- AIWG Integration sections
- Agent definitions and listings
- Command listings
- @-mention reference tables
- Orchestration instructions
- Framework version information
- Auto-detected project info (tech stack, commands)
**Identification Heuristics:**
- Team content often uses first-person ("we", "our team")
- Team content references specific business/domain terms
- Team content contains opinions, preferences, rationale
- AIWG content references `~/.local/share/ai-writing-guide`
- AIWG content has structured @-mention tables
- AIWG content lists agents, commands, frameworks
Step 3: Analyze Project
**Detect Languages & Package Managers:**
Use Glob to find package files:
package.json → Node.js/npm
pyproject.toml / requirements.txt → Python
go.mod → Go
Cargo.toml → Rust
pom.xml / build.gradle → Java
composer.json → PHP
Gemfile → Ruby
**Extract Development Commands:**
From `package.json`:
{
"scripts": {
"build": "tsc",
"test": "vitest",
"lint": "eslint ."
}
}From `Makefile`:
build:
go build ./...
test:
go test ./...**Detect Test Framework:**
| File Pattern | Framework | |--------------|-----------| | `jest.config.*` | Jest | | `vitest.config.*` | Vitest | | `pytest.ini`, `conftest.py` | Pytest | | `*_test.go` | Go testing | | `.rspec` | RSpec | | `phpunit.xml` | PHPUnit |
**Detect CI/CD:**
| Path | Platform | |------|----------| | `.github/workflows/*.yml` | GitHub Actions | | `.gitlab-ci.yml` | GitLab CI | | `Jenkinsfile` | Jenkins | | `.circleci/config.yml` | CircleCI | | `azure-pipelines.yml` | Azure DevOps |
**Extract Project Description:**
Read first meaningful paragraph from `README.md` or `description` from `package.json`.
**Analyze Directory Structure:**
src/ or lib/ → Source code
test/ or tests/ or __tests__/ → Tests
docs/ → Documentation
scripts/ or tools/ → Tooling
.github/ → GitHub configuration
Step 4: Detect AIWG State
**Check for installed frameworks:**
Read more
namespace: aiwg name: aiwg-regenerate-claude platforms: [all] description: Regenerate CLAUDE.md for Claude Code with hook file architecture
<!-- AIWG-SKILL-CALLOUT --> > **Skill access pattern (post-kernel-pivot, 2026.5+)** > > Skill names referenced in this document's *narrative* are AIWG skills, **not slash commands**. Most are not kernel-listed and cannot be invoked as `/skill-name` by the platform. Reach them via: > > ```bash > aiwg discover "<capability>" > aiwg show skill <name> > ``` > > Only kernel-listed skills (`aiwg-doctor`, `aiwg-refresh`, `aiwg-status`, `aiwg-help`, `use`, `steward`) are directly invokable as slash commands. See [skill-discovery rule](../../rules/skill-discovery.md). > > **Exception**: The "Available Slash Commands (Claude Code)" template block below is *generated output* destined for end-user CLAUDE.md files, where Claude Code's slash-command syntax applies. Slash prefixes in that block are preserved intentionally.
Regenerate CLAUDE.md
Regenerate the CLAUDE.md file for Claude Code integration. This command performs an **intelligent merge** — analyzing the current project state while preserving team-written content.
**Hook file architecture (default):** Generates `AIWG.md` with all AIWG context, and adds a single `@AIWG.md` directive to CLAUDE.md. This keeps CLAUDE.md minimal and user-owned.
**Full injection (`--full-inject`):** Legacy mode — injects full AIWG content directly into CLAUDE.md (useful for platforms that do not support @-link loading, or user preference).
**Vendor-specific filtering:** This command includes ONLY Claude Code slash commands and agents, reducing context pollution. Other vendor content is referenced but not inlined.
Core Principle
**Team content is preserved. AIWG content is updated. Only Claude-specific content is inlined.**
The agent must distinguish between:
- **Team content**: Project rules, conventions, requirements, decisions written by humans
- **AIWG content**: Framework integration, agent definitions, reference links generated by AIWG
- **Claude-specific**: Slash commands, Claude agents, Claude settings
- **Other vendors**: Copilot, Cursor, Warp commands (reference only)
Parameters
| Flag | Description | |------|-------------| | `--no-backup` | Skip creating backup file | | `--dry-run` | Preview changes without writing | | `--full` | Full regeneration - replaces everything (destructive) | | `--full-inject` | Inject AIWG content directly into CLAUDE.md (legacy/compatibility mode) | | `--migrate` | Migrate existing full-injection to hook file approach (runs `/migrate-hook --provider claude`) |
Hook File Architecture (Default)
When running without `--full-inject`:
1. **Generate `AIWG.md`** — assembles AIWG context from installed framework manifests 2. **Update `CLAUDE.md`** — minimal: user content + `@AIWG.md` directive
# CLAUDE.md ## Repository Purpose [your project description] @AIWG.md ## Project-Specific Notes [your team conventions here]
To revert to inline injection: `/aiwg-regenerate-claude --full-inject`
To disable context temporarily: `aiwg hook-disable`
Execution Steps
Step 1: Create Backup
Unless `--no-backup` specified:
1. Check if `CLAUDE.md` exists 2. If exists, copy to `CLAUDE.md.backup-{YYYYMMDD-HHMMSS}` 3. Report: `Backup created: CLAUDE.md.backup-20260113-152233`
If no existing file, skip backup and note: `No existing CLAUDE.md found, generating fresh.`
Step 2: Analyze Existing Content
If existing CLAUDE.md present (and not `--full`):
**Read the file and intelligently categorize each section:**
**Team Content (PRESERVE):**
- Project-specific coding standards and conventions
- API guidelines and architectural decisions
- Security policies and compliance requirements
- Team workflows and processes
- Business rules and constraints
- Definition of Done criteria
- Historical context and rationale
- Any content that reflects human decisions about the project
**AIWG Content (UPDATE):**
- AIWG Integration sections
- Agent definitions and listings
- Command listings
- @-mention reference tables
- Orchestration instructions
- Framework version information
- Auto-detected project info (tech stack, commands)
**Identification Heuristics:**
- Team content often uses first-person ("we", "our team")
- Team content references specific business/domain terms
- Team content contains opinions, preferences, rationale
- AIWG content references `~/.local/share/ai-writing-guide`
- AIWG content has structured @-mention tables
- AIWG content lists agents, commands, frameworks
Step 3: Analyze Project
**Detect Languages & Package Managers:**
Use Glob to find package files:
package.json → Node.js/npm pyproject.toml / requirements.txt → Python go.mod → Go Cargo.toml → Rust pom.xml / build.gradle → Java composer.json → PHP Gemfile → Ruby
**Extract Development Commands:**
From `package.json`:
{
"scripts": {
"build": "tsc",
"test": "vitest",
"lint": "eslint ."
}
}From `Makefile`:
build:
go build ./...
test:
go test ./...**Detect Test Framework:**
| File Pattern | Framework | |--------------|-----------| | `jest.config.*` | Jest | | `vitest.config.*` | Vitest | | `pytest.ini`, `conftest.py` | Pytest | | `*_test.go` | Go testing | | `.rspec` | RSpec | | `phpunit.xml` | PHPUnit |
**Detect CI/CD:**
| Path | Platform | |------|----------| | `.github/workflows/*.yml` | GitHub Actions | | `.gitlab-ci.yml` | GitLab CI | | `Jenkinsfile` | Jenkins | | `.circleci/config.yml` | CircleCI | | `azure-pipelines.yml` | Azure DevOps |
**Extract Project Description:**
Read first meaningful paragraph from `README.md` or `description` from `package.json`.
**Analyze Directory Structure:**
src/ or lib/ → Source code test/ or tests/ or __tests__/ → Tests docs/ → Documentation scripts/ or tools/ → Tooling .github/ → GitHub configuration
Step 4: Detect AIWG State
**Check for installed frameworks:**
Multi-agent AI framework for Claude Code, Copilot, Cursor, Warp, and 6 more platforms 200+ agents, 109+ CLI commands, 400+ deployable agent/skill/command/rule artifacts, 8 core frameworks, 32 addons, and a 40-plugin Claude Code marketplace.
Repo: jmagly/aiwg
Other skills on aiwg.
- /agent-loop-ext
Crash-resilient external agent loop with state persistence and CI/CD integration
Open skill - /agent-loop
Detect requests for iterative autonomous agent loops and route to the appropriate loop executor
Open skill - /auto-test-execution
Automatically execute tests when code-generating agents modify source files, enforcing the execute-before-return pattern
Open skill - /cross-task-learner
Enable agent loops to learn from similar past tasks and share patterns across loops
Open skill - /debug-memory
Query and manage the executable feedback debug memory
Open skill - /execute-feedback
Execute tests on generated code and iterate until passing
Open skill

