resources/boost/skills/interfaces/SKILL.md
Contracts defining the shape a class must conform to. Used for decoupling dependent classes from concrete implementations, enabling multiple implementations and easier testing.
npx skillsauth add codebar-ag/coding-guidelines interfacesInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
app/Contracts/ is the canonical location for application contracts.AppServiceProvider) is available for bindings.app/Contracts/.app/Contracts/PaymentGateway, Notifiable, ReportGeneratorInterface suffix — the namespace and context make it clear// Interface definition
namespace App\Contracts;
use App\Models\Order;
use App\Data\PaymentResult;
interface PaymentGateway
{
public function charge(Order $order, int $amountInCents): PaymentResult;
public function refund(string $transactionId, int $amountInCents): PaymentResult;
}
// Implementation
namespace App\Services\Payment;
use App\Contracts\PaymentGateway;
class StripeGateway implements PaymentGateway
{
public function charge(Order $order, int $amountInCents): PaymentResult
{
// Stripe-specific implementation
}
public function refund(string $transactionId, int $amountInCents): PaymentResult
{
// Stripe-specific implementation
}
}
// Service container binding — AppServiceProvider
public function register(): void
{
$this->app->bind(PaymentGateway::class, StripeGateway::class);
}
// Consuming — type-hint the interface
class ChargePaymentMethod
{
public function __construct(
private readonly PaymentGateway $gateway,
) {}
}
// Testing — swap the binding
$this->app->bind(PaymentGateway::class, FakePaymentGateway::class);
PaymentGateway, not PaymentGatewayInterface).Services/SKILL.md — services often implement interfacestesting
Translation and localization conventions for Laravel. Use when adding user-facing strings, creating translation files, or working with lang/ directory.
tools
Reusable behaviour shared across multiple unrelated classes. Traits provide shared Eloquent scopes, accessors, lifecycle hooks, and small stateless helper methods.
development
Tailwind CSS v4 styling conventions. Use when working with CSS, Tailwind utilities, or customizing the theme in Laravel projects.
development
Orchestration classes that coordinate multiple Actions, external APIs, or domain operations into a cohesive workflow. Services own transaction boundaries and third-party API integrations.