install
source · Clone the upstream repo
git clone https://github.com/ComeOnOliver/skillshub
Claude Code · Install into ~/.claude/skills/
T=$(mktemp -d) && git clone --depth=1 https://github.com/ComeOnOliver/skillshub "$T" && mkdir -p ~/.claude/skills && cp -r "$T/skills/noartem/skills/laravel-interfaces-and-di" ~/.claude/skills/comeonoliver-skillshub-laravel-interfaces-and-di && rm -rf "$T"
manifest:
skills/noartem/skills/laravel-interfaces-and-di/SKILL.mdsource content
Interfaces and Dependency Injection
Define narrow interfaces and inject them where needed. Bind concrete implementations in a service provider.
interface Slugger { public function slug(string $s): string; } final class AsciiSlugger implements Slugger { public function slug(string $s): string { /* ... */ } } $this->app->bind(Slugger::class, AsciiSlugger::class);
Benefits: easier testing (mock interfaces), clearer contracts, swap implementations without touching consumers.