Not in the top 1,000 by GitHub stars

aligundogdu/symfony-hexagonal-skill

Claude Code plugin that enforces hexagonal architecture (ports & adapters) in Symfony projects — with 10 auto-triggered skills, 2 review agents, and progressive refactoring support for existing codebases.

History

Review weekly changes to SKILL.md before updating. Dates mark the weeks in which we observed each version; checks apply to the recorded commits.

View weekly changes

skills/symfony-api-response/SKILL.md

Week of Nov 2, 2026 · Line counts unavailable

Before Not checked yet → After Local scripts

First observation → 86af2eb7c076

No earlier version was observed for comparison.

Compare on GitHub

skills/symfony-cqrs-handlers/SKILL.md

Week of Nov 2, 2026 · Line counts unavailable

Before Not checked yet → After Local scripts

First observation → 86af2eb7c076

No earlier version was observed for comparison.

Compare on GitHub

skills/symfony-doctrine-persistence/SKILL.md

Week of Nov 2, 2026 · Line counts unavailable

Before Not checked yet → After Network or broad shell

First observation → 86af2eb7c076

No earlier version was observed for comparison.

Compare on GitHub

skills/symfony-domain-modeling/SKILL.md

Week of Nov 2, 2026 · Line counts unavailable

Before Not checked yet → After Local scripts

First observation → 86af2eb7c076

No earlier version was observed for comparison.

Compare on GitHub

skills/symfony-hexagonal-architecture/SKILL.md

Week of Nov 2, 2026 · Line counts unavailable

Before Not checked yet → After Local scripts

First observation → 86af2eb7c076

No earlier version was observed for comparison.

Compare on GitHub

skills/symfony-messenger-async/SKILL.md

Week of Nov 2, 2026 · Line counts unavailable

Before Not checked yet → After Local scripts

First observation → 86af2eb7c076

No earlier version was observed for comparison.

Compare on GitHub

skills/symfony-ports-adapters/SKILL.md

Week of Nov 2, 2026 · Line counts unavailable

Before Not checked yet → After Local scripts

First observation → 86af2eb7c076

No earlier version was observed for comparison.

Compare on GitHub

skills/symfony-security-voters/SKILL.md

Week of Nov 2, 2026 · Line counts unavailable

Before Not checked yet → After Local scripts

First observation → 86af2eb7c076

No earlier version was observed for comparison.

Compare on GitHub

skills/symfony-testing/SKILL.md

Week of Nov 2, 2026 · Line counts unavailable

Before Not checked yet → After Local scripts

First observation → 86af2eb7c076

No earlier version was observed for comparison.

Compare on GitHub

skills/symfony-validation/SKILL.md

Week of Nov 2, 2026 · Line counts unavailable

Before Not checked yet → After Local scripts

First observation → 86af2eb7c076

No earlier version was observed for comparison.

Compare on GitHub

View on GitHubAdd to my skills

Verified commit 86af2eb7c07608dce2cc576f5dda8c6c98414ba4

git clone --filter=blob:none --no-checkout https://github.com/aligundogdu/symfony-hexagonal-skill.git .hotskills/aligundogdu-symfony-hexagonal-skill && git -C .hotskills/aligundogdu-symfony-hexagonal-skill checkout --detach 86af2eb7c07608dce2cc576f5dda8c6c98414ba4 # Copy each selected skill directory from .hotskills/aligundogdu-symfony-hexagonal-skill into .claude/skills/<skill-name>/
35GitHub stars
0stars in 7 days
10skills in this repository
1commit in 30 days

Heat

1.2
  • Star growth, last 7 daysNot available
  • Star growth, last 24 hoursNot available
  • Rank movement, last 7 daysNot available
  • Commits, last 30 daysNot available
  • Accounts asking about it through MCP, last 7 daysNot available
  • Hot votes this weekNot available

Heat never changes the order by stars, and sponsorship never touches it. How heat works

Stars over time

Oct 25, 2026Oct 25, 202635

30-day change not yet available: not enough history.

Individual skills in this repository

How it works

symfony-api-response

When your agent uses it

Symfony REST API response standard {result, error, extra, status}: thin controllers, #[MapRequestPayload] / #[MapQueryString] request DTOs, ApiResponseTrait, exception subscriber that unwraps Messenger HandlerFailedException, validation error format, debug mode. Use when: API, endpoint, controller, response, error handling, JSON, REST, API response, exception subscriber, HTTP, request DTO

What it loads into context

Frontmatter

92 tokens

Always available to the agent

SKILL.md

984 tokens

When the skill is activated

Reference documents

3,073 tokens

Loaded on request

Token counts are estimates. Scripts run separately; they are not counted as reference context.

The playbook

  1. When to Activate
  2. Version Notes
  3. Standard JSON Payload
  4. Controller Pattern
  5. References

Scripts executed separately

  • ../../scripts/load-rules.sh

Files

  • ../../.claude-plugin/marketplace.jsonasset379 bytes
  • ../../.claude-plugin/plugin.jsonasset631 bytes
  • ../../hooks/hooks.jsonasset273 bytes
  • ../../scripts/load-rules.shruns1,888 bytes
  • SKILL.mdcore3,900 bytes
  • SKILL.mdcore3,900 bytes
  • references/exception-handling.mddoc7,591 bytes
  • references/payload-schema.mddoc5,877 bytes

No excerpt is shown for this license. Read the source on GitHub.

View the complete source on GitHub

Skills included

  • symfony-api-response
  • symfony-cqrs-handlers
  • symfony-doctrine-persistence
  • symfony-domain-modeling
  • symfony-hexagonal-architecture
  • symfony-messenger-async
  • symfony-ports-adapters
  • symfony-security-voters
  • symfony-testing
  • symfony-validation

Repository facts

License
No license detected
Created
Mar 4, 2026
Last pushed
Oct 9, 2026
Forks
4
Open issues
0
Project activity
Active

Before you install

Network or broad shell

Automated signals, not a guarantee

Checked Nov 6, 2026

Not fully analyzed: some files were too long, unreadable or missing. This never lowers the level.

Show 36 notes
  • skills/symfony-api-response/SKILL.md:1 Analysis incomplete: Referenced executable target unavailable; not analyzed
  • skills/symfony-cqrs-handlers/SKILL.md:1 Analysis incomplete: Referenced executable target unavailable; not analyzed
  • skills/symfony-cqrs-handlers/SKILL.md:1 Analysis incomplete: Referenced executable target unavailable; not analyzed
  • skills/symfony-cqrs-handlers/SKILL.md:1 Analysis incomplete: Referenced executable target unavailable; not analyzed
  • skills/symfony-cqrs-handlers/SKILL.md:1 Analysis incomplete: Referenced executable target unavailable; not analyzed
  • skills/symfony-cqrs-handlers/SKILL.md:1 Analysis incomplete: Referenced executable target unavailable; not analyzed
  • skills/symfony-doctrine-persistence/SKILL.md:1 Analysis incomplete: Referenced executable target unavailable; not analyzed
  • skills/symfony-doctrine-persistence/SKILL.md:1 Analysis incomplete: Referenced executable target unavailable; not analyzed
  • skills/symfony-doctrine-persistence/SKILL.md:1 Analysis incomplete: Referenced executable target unavailable; not analyzed
  • skills/symfony-domain-modeling/SKILL.md:1 Analysis incomplete: Referenced executable target unavailable; not analyzed
  • skills/symfony-domain-modeling/SKILL.md:1 Analysis incomplete: Referenced executable target unavailable; not analyzed
  • skills/symfony-domain-modeling/SKILL.md:1 Analysis incomplete: Referenced executable target unavailable; not analyzed
  • skills/symfony-domain-modeling/SKILL.md:1 Analysis incomplete: Referenced executable target unavailable; not analyzed
  • skills/symfony-messenger-async/SKILL.md:1 Analysis incomplete: Referenced executable target unavailable; not analyzed
  • skills/symfony-messenger-async/SKILL.md:1 Analysis incomplete: Referenced executable target unavailable; not analyzed
  • skills/symfony-ports-adapters/SKILL.md:1 Analysis incomplete: Referenced executable target unavailable; not analyzed
  • skills/symfony-ports-adapters/SKILL.md:1 Analysis incomplete: Referenced executable target unavailable; not analyzed
  • skills/symfony-ports-adapters/SKILL.md:1 Analysis incomplete: Referenced executable target unavailable; not analyzed
  • skills/symfony-security-voters/SKILL.md:1 Analysis incomplete: Referenced executable target unavailable; not analyzed
  • skills/symfony-security-voters/SKILL.md:1 Analysis incomplete: Referenced executable target unavailable; not analyzed
Show all 26 signals by file

.claude-plugin/plugin.json

  • Network accessline 4
    "description": "Hexagonal architecture (ports & adapters) for Symfony 6.4 LTS, 7.x and 8.x: version-aware skills for domain modeling, CQRS, Doctrine, Messenger/Scheduler, security, validation and testing, plus architect and reviewer agents.
  • Network accessline 5
    "author": { "name": "Ali Gündoğdu" },   "homepage": "https://github.com/aligundogdu/symfony-hexagonal-skill",   "repository": "https://github.com/aligundogdu/symfony-hexagonal-skill",
  • Network accessline 6
    "homepage": "https://github.com/aligundogdu/symfony-hexagonal-skill",
  • Network accessline 7
    "repository": "https://github.com/aligundogdu/symfony-hexagonal-skill",

scripts/load-rules.sh

  • Executable scriptline 1
    #!/usr/bin/env bash

skills/symfony-doctrine-persistence/SKILL.md

  • Network accessline 88
    <?xml version="1.0" encoding="UTF-8"?> <doctrine-mapping xmlns="http://doctrine-project.org/schemas/orm/doctrine-mapping"
  • Network accessline 89
    <doctrine-mapping xmlns="http://doctrine-project.org/schemas/orm/doctrine-mapping"
  • Network accessline 90
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  • Network accessline 91
    xsi:schemaLocation="http://doctrine-project.org/schemas/orm/doctrine-mapping
  • Network accessline 92
    https://www.doctrine-project.org/schemas/orm/doctrine-mapping.xsd">
  • Dangerous shell operationline 128
    $connection->exec('DROP ...');

skills/symfony-doctrine-persistence/references/mapping-patterns.md

  • Network accessline 14
    <?xml version="1.0" encoding="UTF-8"?> <doctrine-mapping xmlns="http://doctrine-project.org/schemas/orm/doctrine-mapping"
  • Network accessline 15
    <doctrine-mapping xmlns="http://doctrine-project.org/schemas/orm/doctrine-mapping"
  • Network accessline 16
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  • Network accessline 17
    xsi:schemaLocation="http://doctrine-project.org/schemas/orm/doctrine-mapping
  • Network accessline 18
    https://www.doctrine-project.org/schemas/orm/doctrine-mapping.xsd">
  • Network accessline 45
    <?xml version="1.0" encoding="UTF-8"?> <doctrine-mapping xmlns="http://doctrine-project.org/schemas/orm/doctrine-mapping"
  • Network accessline 46
    <doctrine-mapping xmlns="http://doctrine-project.org/schemas/orm/doctrine-mapping"
  • Network accessline 47
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  • Network accessline 48
    xsi:schemaLocation="http://doctrine-project.org/schemas/orm/doctrine-mapping
  • Network accessline 49
    https://www.doctrine-project.org/schemas/orm/doctrine-mapping.xsd">

skills/symfony-doctrine-persistence/references/no-native-sql.md

  • Dangerous shell operationline 26
    $connection->exec('DROP TABLE temp_users');

skills/symfony-ports-adapters/references/di-configuration.md

  • Access to secretsline 75
    [Credential-related source omitted]

skills/symfony-security-voters/references/role-hierarchy.md

  • Access to secretsline 111
    [Credential-related source omitted]

skills/symfony-testing/references/test-organization.md

  • Network accessline 8
    <?xml version="1.0" encoding="UTF-8"?> <phpunit xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  • Network accessline 9
    <phpunit xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"

How the signals fit together

Facts from a static read of the files at the pinned commit. They describe what the code does, not why.

Some files could not be read; the facts below still hold.

Signal confidence: 22 facts

Works with

Agent compatibility, from the files in this repository
AgentStatusEvidenceInstall to
Claude CodeNativeManifest .claude-plugin/marketplace.json.claude/skills/<skill-name>/
CodexCompatibleStandard SKILL.md skills/symfony-api-response/SKILL.md.agents/skills/<skill-name>/
CursorCompatibleStandard SKILL.md skills/symfony-api-response/SKILL.md.cursor/skills/<skill-name>/
Gemini CLICompatibleStandard SKILL.md skills/symfony-api-response/SKILL.md.gemini/skills/<skill-name>/
GitHub CopilotCompatibleStandard SKILL.md skills/symfony-api-response/SKILL.md.github/skills/<skill-name>/
OpenCodeCompatibleStandard SKILL.md skills/symfony-api-response/SKILL.md.opencode/skills/<skill-name>/
  • Native The repository ships a manifest, folder or frontmatter field for this agent.
  • Compatible A standard SKILL.md that this agent can read.
  • Unknown No evidence either way.

Derived automatically from paths, manifests and frontmatter. Not tested on each agent.