solid-detection

SOLID Detection Skill

Safety Notice

This listing is imported from skills.sh public index metadata. Review upstream SKILL.md and repository scripts before running.

Copy this and send it to your AI assistant to learn

Install skill "solid-detection" with this command: npx skills add fusengine/agents/fusengine-agents-solid-detection

SOLID Detection Skill

Project Detection

Detect project type from configuration files:

Next.js (priority over React)

[ -f "package.json" ] && grep -q '"next"' package.json

React (no "next" 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.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" ]

Go

[ -f "go.mod" ]

Ruby

[ -f "Gemfile" ] && [ -f "Rakefile" ]

Rust

[ -f "Cargo.toml" ]

Python

[ -f "pyproject.toml" ] || [ -f "requirements.txt" ]

Priority order: Next.js > React > Generic TS > Laravel > Swift > Java > Go > Ruby > Rust > Python

Language Rules

Next.js / TypeScript

Rule Value

File limit 100 lines

Interface location modules/[feature]/src/interfaces/

Shared interfaces modules/cores/interfaces/

Forbidden Interfaces in components/ , app/

SOLID skill solid-nextjs

Pattern detection:

^(export )?(interface|type) \w+

React / TypeScript

Rule Value

File limit 100 lines

Interface location modules/[feature]/src/interfaces/

Shared interfaces modules/cores/interfaces/

Forbidden Interfaces in components/ files

SOLID skill solid-react

Pattern detection:

^(export )?(interface|type) \w+

Generic TypeScript / Bun / Node.js

Rule Value

File limit 100 lines

Interface location modules/[feature]/src/interfaces/

Shared interfaces modules/cores/interfaces/

Structure Modular MANDATORY

Forbidden Interfaces in service/lib files

SOLID skill solid-generic

Pattern detection:

^(export )?(interface|type) \w+

Laravel / PHP

Rule Value

File limit 100 lines

Interface location FuseCore/[Module]/App/Contracts/

Shared interfaces FuseCore/Core/App/Contracts/

Structure FuseCore Modular MANDATORY

Forbidden Interfaces outside Contracts/

SOLID skill solid-php

Pattern detection:

^interface \w+

Swift

Rule Value

File limit 100 lines

Interface location Features/[Feature]/Protocols/

Shared interfaces Core/Protocols/

Structure Features Modular MANDATORY

Forbidden Protocols outside Protocols/

SOLID skill solid-swift

Pattern detection:

^protocol \w+

Java

Rule Value

File limit 100 lines

Interface location modules/[feature]/interfaces/

Shared interfaces modules/core/interfaces/

Structure Modular MANDATORY

Forbidden Interfaces in impl files

SOLID skill solid-java

Pattern detection:

^(public )?(interface) \w+

Go

Rule Value

File limit 100 lines

Interface location internal/modules/[feature]/ports/

Shared interfaces internal/core/ports/

Structure Modular MANDATORY

Forbidden Interfaces in impl files

SOLID skill solid-go

Pattern detection:

^type \w+ interface {

Ruby

Rule Value

File limit 100 lines

Interface location app/modules/[feature]/contracts/

Shared interfaces app/modules/core/contracts/

Structure Modular MANDATORY

Forbidden Contracts in model files

SOLID skill solid-ruby

Pattern detection:

^module \w+Contract

Rust

Rule Value

File limit 100 lines

Interface location src/modules/[feature]/traits.rs

Shared interfaces src/core/traits.rs

Structure Modular MANDATORY

Forbidden Traits in impl files

SOLID skill solid-rust

Pattern detection:

^pub trait \w+

Python

Rule Value

File limit 100 lines

Interface location src/interfaces/

Forbidden ABC outside interfaces/

Pattern detection:

class \w+(.ABC.)

Line Counting

Exclude from count:

  • Blank lines

  • Comments (// , /* */ , # , """ )

  • Import statements (optional)

TypeScript/Go/Rust/Swift

grep -v '^\s*$|^\s*//|^\s*/*|^\s**' file

PHP

grep -v '^\s*$|^\s*//|^\s*#|^\s*/*|^\s**' file

Python

grep -v '^\s*$|^\s*#|^\s*"""' file

Validation Actions

Severity Action

Interface in wrong location BLOCK (exit 2)

File over limit WARNING (exit 0)

Missing documentation WARNING

Skill Mapping

Project Type SOLID Skill Skill Path

nextjs

solid-nextjs nextjs-expert/skills/solid-nextjs/

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/

go

solid-go solid/skills/solid-go/

ruby

solid-ruby solid/skills/solid-ruby/

rust

solid-rust solid/skills/solid-rust/

python

(no skill yet)

Environment Variables

Set by detect-project.sh :

SOLID_PROJECT_TYPE=nextjs|react|generic|laravel|swift|java|go|ruby|rust|python|unknown SOLID_FILE_LIMIT=100|150 SOLID_INTERFACE_DIR=path/to/interfaces SOLID_STRUCTURE=modular

Source Transparency

This detail page is rendered from real SKILL.md content. Trust labels are metadata-based hints, not a safety guarantee.

Related Skills

Related by shared tags or category signals.

Automation

laravel-livewire

No summary provided by upstream source.

Repository SourceNeeds Review
Automation

laravel-blade

No summary provided by upstream source.

Repository SourceNeeds Review
Automation

laravel-architecture

No summary provided by upstream source.

Repository SourceNeeds Review
Automation

nextjs-i18n

No summary provided by upstream source.

Repository SourceNeeds Review