agent-creator
Use when creating expert agents. Generates agent.md with frontmatter, hooks, required sections, and skill references.
Use when determining which language-specific SOLID skill to load, detecting project type from config files, or resolving interface directory conventions.
Claude Code
$ npx -y skills add fusengine/claude-plugins --skill solid-detection --agent claude-code
Codex
$ npx skills add fusengine/claude-plugins --skill solid-detection -a codex -y
Cursor
$ npx skills add fusengine/claude-plugins --skill solid-detection -a cursor -y
Gemini CLI
$ npx skills add fusengine/claude-plugins --skill solid-detection -a gemini-cli -y
GitHub Copilot
$ npx skills add fusengine/claude-plugins --skill solid-detection -a github-copilot -y
OpenCode
$ npx skills add fusengine/claude-plugins --skill solid-detection -a opencode -y
Windsurf
$ npx skills add fusengine/claude-plugins --skill solid-detection -a windsurf -y
name: solid-detection description: "Use when determining which language-specific SOLID skill to load, detecting project type from config files, or resolving interface directory conventions." argument-hint: "[file-or-directory] [--language]" user-invocable: false
<objective> SOLID Detection identifies a project's language/framework from its config files (package.json + next/@tanstack/react-start/astro/react, tsconfig.json/bun files, composer.json + laravel, Package.swift/*.xcodeproj, pom.xml/build.gradle, *.csproj/*.sln, go.mod, Gemfile+Rakefile, Cargo.toml, pyproject.toml/requirements.txt) in a fixed priority order, then maps it to the matching SOLID skill and sets `SOLID_PROJECT_TYPE`, `SOLID_FILE_LIMIT`, `SOLID_INTERFACE_DIR`, and `SOLID_STRUCTURE` environment variables via `detect-project.sh`.
An interface found in the wrong location is a hard BLOCK; exceeding the file-size limit or missing documentation is a WARNING only. See `language-rules.md` for the full per-language interface-location, forbidden-zone, and line-counting rules. </objective>
Detect project type from configuration files:
# Next.js (priority over React) [ -f "package.json" ] && grep -q '"next"' package.json # TanStack Start (priority over React) [ -f "package.json" ] && grep -q '"@tanstack/react-start"' package.json # Astro (priority over React) [ -f "package.json" ] && grep -q '"astro"' package.json # React (no next / TanStack Start / astro in package.json) [ -f "package.json" ] && grep -q '"react"' package.json && ! grep -q '"next"' package.json # Generic TypeScript (no react/next, has .ts files) [ -f "package.json" ] && ! grep -q '"react"' package.json && ! grep -q '"next"' package.json [ -f "tsconfig.json" ] || [ -f "bun.lock" ] || [ -f "bun.lockb" ] || [ -f "bunfig.toml" ] # Laravel [ -f "composer.json" ] && grep -q '"laravel' composer.json # Swift [ -f "Package.swift" ] || ls *.xcodeproj # Java [ -f "pom.xml" ] || [ -f "build.gradle" ] || [ -f "build.gradle.kts" ] # C# / .NET ls *.csproj *.sln *.slnx 2>/dev/null | grep -q . # Go [ -f "go.mod" ] # Ruby [ -f "Gemfile" ] && [ -f "Rakefile" ] # Rust [ -f "Cargo.toml" ] # Python [ -f "pyproject.toml" ] || [ -f "requirements.txt" ]
**Priority order:** Next.js > TanStack Start > Astro > React > Generic TS > Laravel > Swift > Java > C# > Go > Ruby > Rust > Python
For the full per-language rule tables (interface location, forbidden zones, pattern-detection regex) and line-counting rules, see [language-rules.md](references/language-rules.md).
| Severity | Action | |----------|--------| | Interface in wrong location | **BLOCK** (exit 2) | | File over limit | **WARNING** (exit 0) | | Missing documentation | **WARNING** |
| Project Type | SOLID Skill | Skill Path | |--------------|-------------|------------| | `nextjs` | solid-nextjs | `nextjs-expert/skills/solid-nextjs/` | | `tanstack-start` | solid-tanstack-start | `tanstack-start-expert/skills/solid-tanstack-start/` | | `astro` | solid-astro | `astro-expert/skills/solid-astro/` | | `react` | solid-react | `react-expert/skills/solid-react/` | | `generic` | solid-generic | `solid/skills/solid-generic/` | | `laravel` | solid-php | `laravel-expert/skills/solid-php/` | | `swift` | solid-swift | `swift-apple-expert/skills/solid-swift/` | | `java` | solid-java | `solid/skills/solid-java/` | | `csharp` | solid-csharp | `solid/skills/solid-csharp/` | | `go` | solid-go | `solid/skills/solid-go/` | | `ruby` | solid-ruby | `solid/skills/solid-ruby/` | | `rust` | solid-rust | `solid/skills/solid-rust/` | | `python` | solid-python | `solid/skills/solid-python/` |
Each `solid-<stack>` skill defines that stack's own shared locations (DRY "Check shared locations" step) — load it before writing new code; never apply another stack's directories.
Set by `detect-project.sh`:
SOLID_PROJECT_TYPE=nextjs|tanstack-start|astro|react|generic|laravel|swift|java|csharp|go|ruby|rust|python|unknown SOLID_FILE_LIMIT=100|150 SOLID_INTERFACE_DIR=path/to/interfaces SOLID_STRUCTURE=modular
A plugin ecosystem that turns Claude Code into a supervised, multi-agent development environment.
Use when creating expert agents. Generates agent.md with frontmatter, hooks, required sections, and skill references.
Use when starting ANY development task -- feature, bug fix, refactor, hotfix (triggers: implement, create, build, fix, add…
Use when creating a feature/component or adding functionality. Fires BEFORE APEX Analyze to refine requirements via structured…
Use before a root-cause, done/verified claim, irreversible action, or 2nd-time fix reaches the owner (APEX or plain…
Use when validating code quality after modifications -- SOLID compliance, DRY duplication, linter errors, architecture…
Use when an expert agent self-reviews and self-corrects code after the Execute phase, before sniper validation (BMAD-METHOD…
You MUST use this before any creative work - creating features, building components, adding functionality, modifying behavior, or…
Ask which skill or flow fits your situation. A router over the skills in this repo.