Agent skill

Psr Overview Knowledge

by dykyi-roman in dykyi-roman/awesome-claude-code

PHP Standards Recommendations (PSR) overview knowledge base.

MITAuto-check passedKnowledge Management

Install Psr Overview Knowledge

skills CLI
$ npx skills add dykyi-roman/awesome-claude-code --skill psr-overview-knowledge -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install dykyi-roman/awesome-claude-code psr-overview-knowledge --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/dykyi-roman/awesome-claude-code.git skills-src && mkdir -p .claude/skills && cp -r skills-src/skills/psr-overview-knowledge .claude/skills/psr-overview-knowledge && rm -rf skills-src

Use ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.

Claude Code skills documentation · loads skills from .claude/skills/

Facts

Skill name
psr-overview-knowledge
GitHub stars
104
Token cost
~2.7k tokens
SKILL.md length
661 words
Files
6 (incl. references, assets)
Skills in repo
11
Repo updated
First seen
Licence
MIT

At a glance

PHP Standards Recommendations (PSR) overview knowledge base.

  • PSR selection decisions and compliance audits
  • SKILL.md covers What is PSR?, Accepted PSRs Summary, PSR Categories and When to Use Each PSR, plus 3 more sections
  • Calls composer
  • Tasks that involve Knowledge bases

What it does

Psr Overview Knowledge is an agent skill from dykyi-roman/awesome-claude-code. PHP Standards Recommendations (PSR) overview knowledge base. Provides comprehensive reference for all accepted PSRs including PSR-1,3,4,6,7,11,12,13,14,15,16,17,18,20. Use for PSR selection decisions and compliance audits.

Its SKILL.md is about 2.7k tokens, which your agent loads only when the skill is triggered. The skill folder holds 7 other files, including reference files and assets (for example `assets/psr-selection-guide.md`, `references/accepted-psrs.md` and `references/compatibility.md`).

It sits in Knowledge Management, covering Knowledge bases. It works with PHP. The repository describes itself as: PHP Architecture Toolkit for Claude Code (DDD, CQRS, Event Sourcing, Hexagonal, Clean Architecture, SOLID, GRASP, PSR, Design Patterns, Testing, Documentation, Code Review). The licence is MIT.

When your agent uses it

  • PSR selection decisions and compliance audits
  • Tasks that involve Knowledge bases

Example prompts

  • “/psr-overview-knowledge”

What it can do on your machine

Read from SKILL.md and the folder at commit 7e1fea8. It shows what the files ask for, not the result of running them.

  • Tool permissions

    Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.

    From allowed-tools in the SKILL.md frontmatter.

  • Runs code

    Shell commands in SKILL.md call:

    • composer

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    No URLs in SKILL.md.

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names no API keys, tokens, secrets or passwords.

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

Psr Overview Knowledge loads about 2.7k tokens when it runs, and up to ~10k if it reads all its reference files. Until then it costs about 61 tokens; SKILL.md has 661 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~61
When it runs · the whole SKILL.md, loaded when a task matches
~2.7k
With references · SKILL.md plus every file in references/, read only if the agent opens them
~10k

Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.

Safety

Auto-check passed

The automated check found no risky patterns in SKILL.md.

Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.

SKILL.md

The full file from dykyi-roman/awesome-claude-code at commit 7e1fea8, republished under its MIT licence (© dykyi-roman). 661 words, ~2,696 tokens.

Download SKILL.mdSave it as .claude/skills/psr-overview-knowledge/SKILL.md (or your agent's skills folder). This skill also uses 5 other files; get the full folder from GitHub.
name
psr-overview-knowledge
description
PHP Standards Recommendations (PSR) overview knowledge base. Provides comprehensive reference for all accepted PSRs including PSR-1,3,4,6,7,11,12,13,14,15,16,17,18,20. Use for PSR selection decisions and compliance audits.

PSR Overview Knowledge

What is PSR?

PSR (PHP Standards Recommendations) are specifications published by the PHP Framework Interoperability Group (PHP-FIG). They establish common standards for PHP code to ensure interoperability between frameworks and libraries.

Accepted PSRs Summary

PSRNameCategoryStatus
PSR-1Basic Coding StandardCoding StyleAccepted
PSR-3Logger InterfaceLoggingAccepted
PSR-4AutoloaderAutoloadingAccepted
PSR-6Caching InterfaceCachingAccepted
PSR-7HTTP Message InterfaceHTTPAccepted
PSR-11Container InterfaceDI ContainerAccepted
PSR-12Extended Coding StyleCoding StyleAccepted
PSR-13Hypermedia LinksHypermediaAccepted
PSR-14Event DispatcherEventsAccepted
PSR-15HTTP HandlersHTTPAccepted
PSR-16Simple CacheCachingAccepted
PSR-17HTTP FactoriesHTTPAccepted
PSR-18HTTP ClientHTTPAccepted
PSR-20ClockTimeAccepted

PSR Categories

Coding Style (PSR-1, PSR-12)

Standards for writing clean, consistent PHP code.

AspectPSR-1PSR-12
ScopeBasic rulesExtended formatting
File encodingUTF-8 without BOMInherits PSR-1
Class namesStudlyCapsInherits PSR-1
Method namescamelCaseInherits PSR-1
Indentation-4 spaces
Line length-120 chars soft limit
Keywords-Lowercase
Autoloading (PSR-4)

Standard for autoloading classes from file paths.

Namespace Prefix → Base Directory
App\             → src/

FQCN                          → File Path
App\Domain\User\Entity\User   → src/Domain/User/Entity/User.php
HTTP (PSR-7, PSR-15, PSR-17, PSR-18)

Standards for HTTP messages, handlers, factories, and clients.

PSRPurposeKey Interfaces
PSR-7HTTP MessagesRequestInterface, ResponseInterface, StreamInterface
PSR-15HTTP HandlersMiddlewareInterface, RequestHandlerInterface
PSR-17HTTP FactoriesRequestFactoryInterface, ResponseFactoryInterface
PSR-18HTTP ClientClientInterface
PSR-17 (Factory) → PSR-7 (Message) → PSR-15 (Handler) → PSR-7 (Response)
                                          ↓
                                   PSR-18 (Client)
Caching (PSR-6, PSR-16)

Standards for caching implementations.

AspectPSR-6PSR-16
ComplexityFull-featuredSimple
Key interfacesCacheItemPoolInterface, CacheItemInterfaceCacheInterface
Deferred savesYesNo
Use caseComplex caching needsSimple get/set
Logging (PSR-3)

Standard for logging libraries.

php
interface LoggerInterface {
    public function emergency(string|\Stringable $message, array $context = []): void;
    public function alert(string|\Stringable $message, array $context = []): void;
    public function critical(string|\Stringable $message, array $context = []): void;
    public function error(string|\Stringable $message, array $context = []): void;
    public function warning(string|\Stringable $message, array $context = []): void;
    public function notice(string|\Stringable $message, array $context = []): void;
    public function info(string|\Stringable $message, array $context = []): void;
    public function debug(string|\Stringable $message, array $context = []): void;
    public function log(mixed $level, string|\Stringable $message, array $context = []): void;
}
DI Container (PSR-11)

Standard for dependency injection containers.

php
interface ContainerInterface {
    public function get(string $id): mixed;
    public function has(string $id): bool;
}
Events (PSR-14)

Standard for event dispatching.

php
interface EventDispatcherInterface {
    public function dispatch(object $event): object;
}

interface ListenerProviderInterface {
    public function getListenersForEvent(object $event): iterable;
}

interface StoppableEventInterface {
    public function isPropagationStopped(): bool;
}
Hypermedia (PSR-13)

Standard for hypermedia links (HATEOAS).

php
interface LinkInterface {
    public function getHref(): string;
    public function isTemplated(): bool;
    public function getRels(): array;
    public function getAttributes(): array;
}
Time (PSR-20)

Standard for clock abstraction.

php
interface ClockInterface {
    public function now(): DateTimeImmutable;
}

When to Use Each PSR

Decision Matrix
NeedPSR
Code formattingPSR-1, PSR-12
Class autoloadingPSR-4
LoggingPSR-3
Simple caching (get/set)PSR-16
Complex caching (pools, tags)PSR-6
HTTP requests/responsesPSR-7
HTTP middlewarePSR-15
Creating HTTP objectsPSR-17
HTTP client for external APIsPSR-18
Dependency injectionPSR-11
Event systemPSR-14
REST API with linksPSR-13
Testing with timePSR-20
Common Combinations
Use CasePSRs
HTTP APIPSR-7 + PSR-15 + PSR-17
HTTP ClientPSR-7 + PSR-17 + PSR-18
Web ApplicationPSR-1 + PSR-4 + PSR-12 + PSR-3 + PSR-11
CQRS/Event-DrivenPSR-14 + PSR-3 + PSR-11
MicroserviceAll of the above

PHP Package Implementations

PSR-3: Logger
PackageDescription
monolog/monologDe facto standard logger
psr/logInterface only
PSR-4: Autoloader
PackageDescription
ComposerBuilt-in autoloader
PSR-6: Cache
PackageDescription
symfony/cacheFull-featured cache
cache/filesystem-adapterFile-based cache
Show full SKILL.md (268 more words)Show less
PSR-7/PSR-17: HTTP
PackageDescription
guzzlehttp/psr7Guzzle implementation
nyholm/psr7Lightweight implementation
laminas/laminas-diactorosLaminas implementation
PSR-11: Container
PackageDescription
php-di/php-diAutowiring DI container
league/containerFlexible container
pimple/pimpleSimple container
PSR-14: Event Dispatcher
PackageDescription
symfony/event-dispatcherSymfony implementation
league/eventLeague implementation
PSR-15: HTTP Handlers
PackageDescription
middlewares/utilsMiddleware utilities
relay/relaySimple dispatcher
PSR-18: HTTP Client
PackageDescription
guzzlehttp/guzzleFull HTTP client
symfony/http-clientSymfony HTTP client
PSR-20: Clock
PackageDescription
psr/clockInterface only
symfony/clockSymfony implementation
lcobucci/clockSimple implementation

Composer Requirements

json
{
    "require": {
        "psr/log": "^3.0",
        "psr/cache": "^3.0",
        "psr/http-message": "^2.0",
        "psr/http-factory": "^1.0",
        "psr/http-client": "^1.0",
        "psr/container": "^2.0",
        "psr/event-dispatcher": "^1.0",
        "psr/link": "^2.0",
        "psr/clock": "^1.0",
        "psr/simple-cache": "^3.0"
    }
}

Integration with DDD

Layer Mapping
DDD LayerRelevant PSRsNote
DomainPSR-3, PSR-14, PSR-20PSR interfaces are pure contracts — acceptable in Domain
ApplicationPSR-3, PSR-11, PSR-14, PSR-20Service orchestration layer
InfrastructurePSR-6, PSR-16, PSR-18Implementation layer
PresentationPSR-7, PSR-15, PSR-17HTTP layer

Important: PSR packages (psr/log, psr/clock, psr/event-dispatcher) contain only interfaces — no implementation code. They are PHP community standards equivalent to a standard library. Using PSR interfaces in Domain layer is acceptable and common practice. What is NOT acceptable in Domain: implementation packages like monolog/monolog, symfony/cache, guzzlehttp/guzzle.

Example: CQRS Application
php
<?php

declare(strict_types=1);

namespace App\Application\User\Handler;

use App\Application\User\Command\CreateUserCommand;
use App\Domain\User\Entity\User;
use App\Domain\User\Repository\UserRepositoryInterface;
use Psr\EventDispatcher\EventDispatcherInterface;  // PSR-14
use Psr\Log\LoggerInterface;                       // PSR-3
use Psr\Clock\ClockInterface;                      // PSR-20

final readonly class CreateUserHandler
{
    public function __construct(
        private UserRepositoryInterface $repository,
        private EventDispatcherInterface $eventDispatcher,
        private LoggerInterface $logger,
        private ClockInterface $clock,
    ) {
    }

    public function __invoke(CreateUserCommand $command): void
    {
        $this->logger->info('Creating user', ['email' => $command->email]);

        $user = User::create(
            $command->email,
            $command->name,
            $this->clock->now(),
        );

        $this->repository->save($user);

        foreach ($user->pullEvents() as $event) {
            $this->eventDispatcher->dispatch($event);
        }
    }
}

Compliance Checklist

PSRRequired ForCheck
PSR-1All PHP projectsphpcs --standard=PSR1
PSR-12All PHP projectsphpcs --standard=PSR12
PSR-4All PHP projectscomposer dump-autoload --strict
PSR-3Projects with loggingImplement LoggerInterface
PSR-6/16Projects with cachingImplement CacheInterface
PSR-7HTTP APIsUse PSR-7 implementations
PSR-11Projects with DIImplement ContainerInterface
PSR-14Event-driven projectsImplement EventDispatcherInterface
PSR-15HTTP middlewareImplement MiddlewareInterface
PSR-17HTTP object creationUse factory interfaces
PSR-18External API callsImplement ClientInterface
PSR-20Time-sensitive codeImplement ClockInterface

See Also

  • references/accepted-psrs.md - Detailed PSR descriptions
  • references/when-to-use.md - Decision matrix for PSR selection
  • references/compatibility.md - Inter-PSR relationships
  • references/php-fig-process.md - How PSRs are created
  • assets/psr-selection-guide.md - Selection guide template

© dykyi-roman, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

SKILL.md and 5 other files (references, assets) in skills/psr-overview-knowledge of dykyi-roman/awesome-claude-code.

  • SKILL.md
  • assets/psr-selection-guide.md
  • references/accepted-psrs.md
  • references/compatibility.md
  • references/php-fig-process.md
  • references/when-to-use.md

Open the folder on GitHubat commit 7e1fea8

Compare with similar skills

Psr Overview Knowledge next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.

Psr Overview Knowledge compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Psr Overview Knowledge this skilldykyi-roman/awesome-claude-code104—~2.7kAutomated safety check: PassMIT
Ima Knowledge Basecountbot-ai/CountBot783—~506Automated safety check: PassMIT
HypatiaMarchLiu/hypatia239—~7.9kAutomated safety check: NotesMIT
Migrateguhcostan/claude-mega-brain126—~975Automated safety check: PassMIT
SiyuanTommy-yw/RunbookHermes5463 repos~2.3kAutomated safety check: NotesMIT
New LoopAI-Builder-Club/skills1.3k—~1.2kAutomated safety check: NotesNone

Similar skills

  • Ima Knowledge Base

    countbot-ai/CountBot

    通过 IMA OpenAPI 处理知识库任务。支持知识库内容搜索、命中详情查看、条目浏览、列出知识库、上传文件、导入网页。用户提到知识库、资料库、上传到知识库、导入网页、搜知识库时使用。

    783 GitHub stars~506 tokensUpdated 6 days ago
    Knowledge ManagementAuto-check passed
  • Hypatia

    MarchLiu/hypatia

    Interact with the Hypatia AI memory system using natural language.

    239 GitHub stars~7.9k tokensUpdated 11 days ago
    Knowledge ManagementAuto-check: notes
  • Migrate

    guhcostan/claude-mega-brain

    Scan the project and migrate existing documentation into OKF format.

    126 GitHub stars~975 tokensUpdated 2 mo ago
    Knowledge ManagementAuto-check passed
  • Siyuan

    Tommy-yw/RunbookHermes

    SiYuan Note API for searching, reading, creating, and managing blocks and documents in a self-hosted knowledge base via curl.

    546 GitHub starsUsed in 3 repos~2.3k tokens
    Knowledge ManagementAuto-check: notes
  • New Loop

    AI-Builder-Club/skills

    Spin up a new loop (domain) in a file-based knowledge base — bootstrap the substrate if it's missing, gather the loop's charter, scaffold domains/<loop/README.md, then do ONE real test run and…

    1.3k GitHub stars~1.2k tokensUpdated 25 days ago
    Knowledge ManagementAuto-check: notes
  • Wiki Viewer

    rohitg00/pro-workflow

    Render a self-contained HTML viewer for a pro-workflow wiki.

    2.9k GitHub stars~1.1k tokensUpdated 11 days ago
    Knowledge ManagementAuto-check passed

More from dykyi-roman/awesome-claude-code

All 11 skills in this repo
  • Grasp Knowledge

    dykyi-roman/awesome-claude-code

    GRASP principles knowledge base for PHP 8.4 projects. An agent skill from dykyi-roman/awesome-claude-code.

    104 GitHub stars~1.4k tokensUpdated 1 mo ago
    Auto-check passed
  • Psr Autoloading Knowledge

    dykyi-roman/awesome-claude-code

    PSR-4 autoloading standard knowledge base for PHP 8.4 projects.

    104 GitHub stars~2.1k tokensUpdated 1 mo ago
    Auto-check passed
  • Psr Coding Style Knowledge

    dykyi-roman/awesome-claude-code

    PSR-1 and PSR-12 coding standards knowledge base for PHP 8.4 projects.

    104 GitHub stars~2.3k tokensUpdated 1 mo ago
    Auto-check passed
  • Solid Knowledge

    dykyi-roman/awesome-claude-code

    SOLID principles knowledge base for PHP 8.4 projects. An agent skill from dykyi-roman/awesome-claude-code.

    104 GitHub stars~2.4k tokensUpdated 1 mo ago
    Auto-check passed
  • Claude Code Knowledge

    dykyi-roman/awesome-claude-code

    Comprehensive knowledge base for Claude Code formats, patterns, and configuration.

    104 GitHub stars~4k tokensUpdated 1 mo ago
    Auto-check passed
  • Adr Knowledge

    dykyi-roman/awesome-claude-code

    Action-Domain-Responder pattern knowledge base. An agent skill from dykyi-roman/awesome-claude-code.

    104 GitHub stars~2.4k tokensUpdated 1 mo ago
    Auto-check passed

Works with

Questions about Psr Overview Knowledge

What does Psr Overview Knowledge do?

PHP Standards Recommendations (PSR) overview knowledge base. Psr Overview Knowledge is an agent skill from dykyi-roman/awesome-claude-code. PHP Standards Recommendations (PSR) overview knowledge base.

When should I use Psr Overview Knowledge?

Psr Overview Knowledge fits situations like: PSR selection decisions and compliance audits; tasks that involve Knowledge bases.

How do I install Psr Overview Knowledge in Claude Code?

Run `npx skills add dykyi-roman/awesome-claude-code --skill psr-overview-knowledge -a claude-code`. Or copy the skill folder (skills/psr-overview-knowledge in dykyi-roman/awesome-claude-code) into .claude/skills/psr-overview-knowledge in your project. Claude Code loads it when a task matches its description.

How do I install Psr Overview Knowledge in Codex?

Run `npx skills add dykyi-roman/awesome-claude-code --skill psr-overview-knowledge -a codex`. Or copy the skill folder (skills/psr-overview-knowledge in dykyi-roman/awesome-claude-code) into .agents/skills/psr-overview-knowledge in your project. Codex loads it when a task matches its description.

Can I use Psr Overview Knowledge in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add dykyi-roman/awesome-claude-code --skill psr-overview-knowledge -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/psr-overview-knowledge, .gemini/skills/psr-overview-knowledge, .github/skills/psr-overview-knowledge and .opencode/skills/psr-overview-knowledge in your project.

What does Psr Overview Knowledge need to run?

Going by SKILL.md and its folder, Psr Overview Knowledge needs the command-line tools its instructions call (composer).

Does Psr Overview Knowledge access the network?

SKILL.md contains no URLs. Any network use would come from the scripts or tools the agent runs. This is read from the text; nothing was executed.

Is Psr Overview Knowledge safe to install?

Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.

What licence does Psr Overview Knowledge use?

Psr Overview Knowledge is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Psr Overview Knowledge use?

About 2.7k tokens (SKILL.md is roughly 11k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full. Its references folder adds about 7.5k tokens, read only when the agent opens those files.

What are the alternatives to Psr Overview Knowledge?

Skills that share tags, products or a category with Psr Overview Knowledge: Ima Knowledge Base (countbot-ai/CountBot, 783 stars), Hypatia (MarchLiu/hypatia, 239 stars), Migrate (guhcostan/claude-mega-brain, 126 stars) and Siyuan (Tommy-yw/RunbookHermes, 546 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Psr Overview Knowledge?

dykyi-roman (a GitHub user) maintains it in dykyi-roman/awesome-claude-code, which has 104 GitHub stars. The repository holds 11 skills in this directory. The repository was last updated on August 16, 2026.

Source: dykyi-roman/awesome-claude-code on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.