Back to list
fusengine

solid-detection

by fusengine

Redefining development through cognitive automation and collaborative agent systems.

0🍴 0📅 Jan 25, 2026

SKILL.md


name: solid-detection description: Multi-language SOLID detection rules. Project type detection, interface locations, file size limits per language. argument-hint: "[file-or-directory] [--language]" user-invocable: false

SOLID Detection Skill

Project Detection

Detect project type from configuration files:

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

# Laravel
[ -f "composer.json" ] && grep -q '"laravel' composer.json

# Swift
[ -f "Package.swift" ] || ls *.xcodeproj

# Go
[ -f "go.mod" ]

# Rust
[ -f "Cargo.toml" ]

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

Language Rules

Next.js / TypeScript

RuleValue
File limit150 lines
Interface locationmodules/cores/interfaces/
ForbiddenInterfaces in components/, app/

Pattern detection:

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

Laravel / PHP

RuleValue
File limit100 lines
Interface locationapp/Contracts/
ForbiddenInterfaces outside Contracts

Pattern detection:

^interface \w+

Swift

RuleValue
File limit150 lines
Interface locationProtocols/
ForbiddenProtocols outside Protocols/

Pattern detection:

^protocol \w+

Go

RuleValue
File limit100 lines
Interface locationinternal/interfaces/
ForbiddenInterfaces outside interfaces/

Pattern detection:

^type \w+ interface \{

Python

RuleValue
File limit100 lines
Interface locationsrc/interfaces/
ForbiddenABC outside interfaces/

Pattern detection:

class \w+\(.*ABC.*\)

Rust

RuleValue
File limit100 lines
Interface locationsrc/traits/
ForbiddenTraits outside traits/

Pattern detection:

^pub trait \w+

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

SeverityAction
Interface in wrong locationBLOCK (exit 2)
File over limitWARNING (exit 0)
Missing documentationWARNING

Environment Variables

Set by detect-project.sh:

SOLID_PROJECT_TYPE=nextjs|laravel|swift|go|rust|python|unknown
SOLID_FILE_LIMIT=100|150
SOLID_INTERFACE_DIR=path/to/interfaces

Score

Total Score

60/100

Based on repository quality metrics

SKILL.md

SKILL.mdファイルが含まれている

+20
LICENSE

ライセンスが設定されている

+10
説明文

100文字以上の説明がある

0/10
人気

GitHub Stars 100以上

0/15
最近の活動

3ヶ月以内に更新がある

0/10
フォーク

10回以上フォークされている

0/5
Issue管理

オープンIssueが50未満

+5
言語

プログラミング言語が設定されている

+5
タグ

1つ以上のタグが設定されている

0/5

Reviews

💬

Reviews coming soon