magento-module-developer▌
maxnorm/magento2-agent-skills · updated Apr 23, 2026
Expert specialist in creating well-architected, maintainable, and extensible Magento 2 modules that seamlessly integrate with Magento's core framework following Adobe Commerce best practices.
Magento 2 Module Developer
Expert specialist in creating well-architected, maintainable, and extensible Magento 2 modules that seamlessly integrate with Magento's core framework following Adobe Commerce best practices.
When to Use
- Creating new Magento 2 modules or extensions
- Implementing custom functionality
- Building module architecture and structure
- Setting up module dependencies and configuration
- Implementing service contracts and APIs
- Creating database schemas and data patches
Module Development Process
1. Planning & Architecture
- Requirements Analysis: Break down functional and non-functional requirements
- Architecture Design: Plan module structure and integration points
- Database Design: Design entity relationships and data flow
- API Design: Define service contracts and data transfer objects
- Performance Considerations: Plan for scalability and optimization
2. Module Setup
- Module Structure: Create proper directory structure following Magento conventions:
app/code/Vendor/ModuleName/ ├── etc/ │ ├── module.xml │ ├── di.xml │ ├── routes.xml │ ├── system.xml │ ├── acl.xml │ └── db_schema.xml ├── Model/ ├── Block/ ├── Controller/ ├── Api/ ├── view/ └── registration.php - Registration: Create
registration.phpandcomposer.json - Module Declaration: Create
etc/module.xmlwith proper dependencies - Version Control: Set up Git with proper
.gitignore
3. Core Implementation
Models & Entities
- Entity models extending
Magento\Framework\Model\AbstractModel - Resource models extending
Magento\Framework\Model\ResourceModel\Db\AbstractDb - Collections extending
Magento\Framework\Model\ResourceModel\Db\Collection\AbstractCollection - Use
db_schema.xmlfor database schema definitions
Repositories
- Implement repository pattern for data access
- Create repository interfaces in
Api/directory - Implement repositories in
Model/directory - Use service contracts for clean API interfaces
Service Classes
- Business logic in service classes
- Use dependency injection for all dependencies
- Implement service contracts for extensibility
Controllers
- Frontend controllers extending
Magento\Framework\App\Action\Action - Admin controllers extending
Magento\Backend\App\Action - API controllers implementing service contracts
4. Configuration Files
module.xml
<?xml version="1.0"?>
<config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:noNamespaceSchemaLocation="urn:magento:framework:Module/etc/module.xsd">
<module name="Vendor_ModuleName" setup_version="1.0.0">
<sequence>
<module name="Magento_Store"/>
</sequence>
</module>
</config>
di.xml
- Configure dependency injection
- Define preferences, virtual types, plugins
- Use proper scope (global, frontend, adminhtml, webapi_rest, webapi_soap)
db_schema.xml
- Define database tables, columns, indexes
- Use proper data types and constraints
- Follow Magento naming conventions
Design Patterns & Principles
Service Contracts
- Create interfaces in
Api/directory - Implement clean API interfaces
- Use data transfer objects (DTOs) for data exchange
- Maintain backward compatibility
Repository Pattern
- Separate data access from business logic
- Use repositories for all data operations
- Implement proper error handling
- Support transactions where needed
Dependency Injection
- Use constructor injection only
- Avoid service locator pattern
- Leverage Magento's DI container
- Use type hints for all dependencies
Plugin System
- Use plugins to extend functionality
- Prefer before/after plugins over around plugins
- Avoid around plugins unless necessary
- Document plugin execution order
Event/Observer Pattern
- Dispatch events for extensibility
- Implement observers for loose coupling
- Use proper event naming conventions
- Document event data structure
Module Components
Backend Components
- Models: Entity models, resource models, collections
- Repositories: Data access layer implementations
- Services: Business logic and application services
- Controllers: Admin controllers and API endpoints
- Blocks: Admin interface building blocks
- UI Components: Admin grids, forms, and components
Frontend Components
- Controllers: Frontend page controllers and actions
- Blocks: View logic and data preparation
- Templates: PHTML template files with proper escaping
- Layout Files: XML layout configurations
- JavaScript: Frontend interaction and AJAX functionality
- CSS/LESS: Styling and responsive design
Database Components
- db_schema.xml: Database schema definitions
- Data Patches: Data migration and setup scripts
- Schema Patches: Database structure modifications
- Indexers: Custom search and filter indexers
Advanced Features
API Development
- Create REST endpoints with proper authentication
- Implement GraphQL resolvers and schemas
- Design clean API interfaces
- Implement rate limiting and security measures
Event System Integration
- Dispatch custom events for extensibility
- Implement event observers
- Create before/after/around plugins
- Use virtual types for flexibility
Caching & Performance
- Implement custom cache types and tags
- Handle cache invalidation properly
- Use lazy loading for expensive operations
- Optimize database queries and joins
Multi-Store Support
- Handle multi-store configurations
- Implement proper configuration scopes
- Ensure proper data separation
- Support store context switching
Best Practices
Code Quality
- Follow PSR-12 and Magento coding standards
- Use
declare(strict_types=1);in all PHP files - Implement comprehensive type hinting
- Write unit and integration tests
- Maintain high code coverage
Security
- Implement input validation
- Use proper output escaping in templates
- Implement CSRF protection
- Enforce proper access control (ACL)
- Handle sensitive data appropriately
Performance
- Optimize database queries
- Use proper indexes
- Implement caching strategies
- Monitor memory usage
- Optimize collection loading
Extensibility
- Provide extension points via plugins
- Dispatch events for third-party integration
- Allow configuration without code changes
- Use interface segregation
- Maintain backward compatibility
Testing
- Unit Tests: Test individual classes and methods
- Integration Tests: Test module integration with core
- Functional Tests: End-to-end test scenarios
- Static Analysis: Use PHPStan/Psalm for code quality
Documentation
- Technical documentation for developers
- User documentation for end users
- API documentation for all public APIs
- Installation guides
- Troubleshooting guides
References
Focus on creating modules that are maintainable, extensible, and aligned with Magento's enterprise-grade architecture principles.
Discussion
Product Hunt–style comments (not star reviews)- No comments yet — start the thread.
Ratings
4.5★★★★★69 reviews- ★★★★★Valentina Shah· Dec 28, 2024
magento-module-developer is among the better-maintained entries we tried; worth keeping pinned for repeat workflows.
- ★★★★★Zaid Thomas· Dec 28, 2024
magento-module-developer fits our agent workflows well — practical, well scoped, and easy to wire into existing repos.
- ★★★★★Aisha Dixit· Dec 24, 2024
magento-module-developer reduced setup friction for our internal harness; good balance of opinion and flexibility.
- ★★★★★Chen Sethi· Dec 16, 2024
We added magento-module-developer from the explainx registry; install was straightforward and the SKILL.md answered most questions upfront.
- ★★★★★Chinedu Abbas· Dec 8, 2024
Keeps context tight: magento-module-developer is the kind of skill you can hand to a new teammate without a long onboarding doc.
- ★★★★★Kwame Torres· Dec 4, 2024
magento-module-developer is among the better-maintained entries we tried; worth keeping pinned for repeat workflows.
- ★★★★★Noah Jackson· Nov 27, 2024
Registry listing for magento-module-developer matched our evaluation — installs cleanly and behaves as described in the markdown.
- ★★★★★Valentina Nasser· Nov 23, 2024
magento-module-developer fits our agent workflows well — practical, well scoped, and easy to wire into existing repos.
- ★★★★★Liam Chen· Nov 23, 2024
magento-module-developer reduced setup friction for our internal harness; good balance of opinion and flexibility.
- ★★★★★Chinedu Rahman· Nov 19, 2024
magento-module-developer reduced setup friction for our internal harness; good balance of opinion and flexibility.
showing 1-10 of 69