Token导航 LogoToken导航TokenDH.com
前端设计只读github未标认证来源可访问许可证需确认审计通过

solidsolid 问题管理

Agent Skill

solid 用于处理 GitHub 仓库、Issue、Pull Request 和代码协作信息,适合在 Codex、Claude、Cursor、Gemini CLI 中需要围绕仓库状态、代码变更或协作事项进行整理时使用。可结合来源仓库、安装命令和原始 README 继续核验具体用法。安装前建议确认权限范围、维护状态,以及是否会触发联网、命令执行或文件读写。

总安装

1,091

周安装

45

GitHub Stars

16

下载量

356
CodexClaudeCursorGemini CLI

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

GitHub

来源数

2

许可证

unknown

最后核验

2026-05-01

来源状态

来源可访问

安装方式

通过对话安装

复制提示词发给支持本地命令或 Skills 的 AI 助手,先确认命令和权限,再让它执行。

请帮我安装这个 Agent Skill:solid(solid 问题管理)
来源仓库:https://github.com/krzysztofsurdy/code-virtuoso
仓库路径:skills/solid
安装命令:
npx skills add https://github.com/krzysztofsurdy/code-virtuoso --skill solid
安装前请先检查当前环境是否支持对应 CLI,并向我确认将要执行的命令、安装目录、联网范围和文件读写权限;确认后再执行。

命令行安装

复制命令到本机终端执行。该命令会通过 npx skills 从第三方来源获取 Skill;本站只展示命令,不托管安装包,也不自动执行。

skills.shnpx skills
npx skills add https://github.com/krzysztofsurdy/code-virtuoso --skill solid

简介

solid 提供 SOLID 原则参考指南,辅助代码设计与重构。

  • 涵盖单一职责、开闭原则等五大设计模式要点。
  • 通过 GitHub 安装,需指定 skills/solid 路径至 Codex 等平台。
  • 使用前请结合具体代码上下文判断适用性。solid 属于前端设计类 Skill,可作为该场景下的辅助能力补充。
  • 注意此为静态规则集,无法替代架构评审流程。

SKILL.md

SOLID Principles

Five core principles of object-oriented design that lead to systems which are simpler to maintain, test, and extend. Robert C. Martin (Uncle Bob) formalized these ideas, and Michael Feathers coined the SOLID acronym.

Principle Index

PrincipleSummaryReference
S — Single ResponsibilityA class should have only one reason to changereference
O — Open/ClosedOpen for extension, closed for modificationreference
L — Liskov SubstitutionSubtypes must be substitutable for their base typesreference
I — Interface SegregationPrefer many specific interfaces over one general-purpose interfacereference
D — Dependency InversionDepend on abstractions, not concretionsreference

Why SOLID Matters

Without SOLID, codebases gradually develop these problems:

  • Rigidity — one change ripples through many unrelated modules
  • Fragility — modifying one area breaks another seemingly unconnected area
  • Immobility — components are so intertwined that extracting them for reuse is impractical
  • Viscosity — doing things correctly is harder than hacking around the design

SOLID tackles each of these by defining clear boundaries, explicit contracts, and flexible points for extension.

Quick Decision Guide

SymptomLikely Violated PrincipleFix
Class does too many thingsSRPSplit into focused classes
Adding a feature requires editing existing classesOCPIntroduce polymorphism or strategy
Subclass breaks when used in place of parentLSPFix inheritance hierarchy or use composition
Classes forced to implement unused methodsISPBreak interface into smaller ones
High-level module imports low-level detailsDIPIntroduce an abstraction layer

Quick Examples

SRP — Before and After

// BEFORE: Class handles both user data AND email sending
class UserService {
    public function createUser(string $name, string $email): void { /* ... */ }
    public function sendWelcomeEmail(string $email): void { /* ... */ }
}

// AFTER: Each class has one responsibility
class UserService {
    public function __construct(private UserNotifier $notifier) {}
    public function createUser(string $name, string $email): void {
        // persist user...
        $this->notifier->welcomeNewUser($email);
    }
}

class UserNotifier {
    public function welcomeNewUser(string $email): void { /* ... */ }
}

OCP — Extend Without Modifying

interface DiscountPolicy {
    public function calculate(float $total): float;
}

class PercentageDiscount implements DiscountPolicy {
    public function __construct(private float $rate) {}
    public function calculate(float $total): float {
        return $total * $this->rate;
    }
}

// Adding a new discount type requires NO changes to existing code
class FlatDiscount implements DiscountPolicy {
    public function __construct(private float $amount) {}
    public function calculate(float $total): float {
        return min($this->amount, $total);
    }
}

DIP — Depend on Abstractions

// High-level policy depends on abstraction, not on database details
interface OrderRepository {
    public function save(Order $order): void;
}

class PlaceOrderHandler {
    public function __construct(private OrderRepository $repository) {}
    public function handle(PlaceOrderCommand $cmd): void {
        $order = Order::create($cmd->items);
        $this->repository->save($order);
    }
}

Relationships Between Principles

The five principles complement and reinforce one another:

  • SRP + ISP: Both narrow the surface area of a class or interface to a single, focused concern
  • OCP + DIP: Abstractions are the mechanism that enables extension without modification
  • LSP + OCP: Correct substitutability is essential for polymorphic extension to work
  • ISP + DIP: Well-segregated interfaces make it easier to depend on precisely the right abstraction

Common Misconceptions

  • "One method per class" — SRP means one *reason to change*, not one method. A class can contain many methods as long as they all serve the same responsibility.
  • "Never modify existing code" — OCP does not prohibit bug fixes. It means *new behavior* should be introducible without changing existing working code.
  • "Always use interfaces" — DIP calls for depending on abstractions. Sometimes a well-crafted base class is the appropriate abstraction. Do not create interfaces for classes that will never have a second implementation.
  • "Inheritance is bad" — LSP does not discourage inheritance. It establishes rules for *correct* inheritance so that subtypes remain safely substitutable.

Best Practices

  • Adopt SOLID incrementally — do not refactor everything in one pass
  • Treat SOLID as a diagnostic tool: when code resists change, check which principle is being violated
  • Pair with design patterns — Strategy (OCP), Adapter (DIP), and Decorator (OCP) are direct implementations of SOLID ideas
  • Write tests first — TDD naturally steers designs toward SOLID compliance
  • Target PHP 8.3+ with strict typing, readonly classes, and enums

适合场景

01

用户想查找某类 Agent Skill 时

02

需要根据任务场景推荐可安装能力包时

03

需要对比不同来源的安装命令和来源信息时

能力概览

能力 1

按任务关键词查找相关 Skills

能力 2

展示可复制的安装命令

能力 3

保留来源站点、仓库和原始说明,方便继续核验

能力 4

展示第三方安全扫描或审计结果

安装后应在对应宿主中按原始 README 的触发条件使用;具体调用方式请以来源页面和 README 为准。

平台分布

Codex

36.19%
按下载量换算129

Claude

29.6%
按下载量换算105

Cursor

18.65%
按下载量换算66

Gemini CLI

8.58%
按下载量换算31

安全审计

Gen Agent Trust Hub

通过

Socket

通过

Snyk

通过

权限和风险

只读

该 Skill 主要提供规则、说明或参考内容,本身偏只读;真正读写文件、联网或执行命令仍取决于宿主 Agent 的任务。

安装前确认

本站仅展示第三方公开信息,不托管安装包,不提供自动安装或运行环境。安装前应自行审查源码、依赖和命令行为。当前只有一个来源,正式发布前建议补源仓库或其他目录站核验。

来源信息

继续浏览同类 Skills