{"id":"eaf71374-969e-4e04-b10c-5772735b59ca","shortId":"qwWCDn","kind":"skill","title":"magento-feature-developer","tagline":"Implements business requirements as scalable, maintainable Magento 2 features. Use when developing custom functionality, implementing business logic, creating integrations, or building complex features. Masters service contracts, repository patterns, and enterprise-grade feature ","description":"# Magento 2 Feature Developer\n\nExpert specialist in translating business requirements into robust, scalable technical solutions within the Magento ecosystem following Adobe Commerce best practices.\n\n## When to Use\n\n- Implementing new business features\n- Developing custom functionality\n- Creating integrations with third-party systems\n- Building complex business logic\n- Extending existing Magento functionality\n\n## Feature Development Process\n\n### 1. Discovery & Planning\n- **Requirements Analysis**: Break down business requirements into technical specifications\n- **Stakeholder Interviews**: Gather comprehensive requirements from business users\n- **Technical Analysis**: Assess existing system capabilities and constraints\n- **Impact Assessment**: Evaluate effects on performance, security, and scalability\n- **Resource Planning**: Estimate development timeline and requirements\n\n### 2. Architecture Design\n- **System Design**: Create high-level architecture diagrams and component relationships\n- **Database Design**: Plan entity relationships, indexes, and data migration strategies\n- **API Design**: Define service contracts and data transfer objects\n- **Integration Points**: Identify touchpoints with existing modules and third-party systems\n- **Performance Planning**: Design for scalability and optimal response times\n\n### 3. Implementation Strategy\n- **Module Structure**: Organize code following Magento's module conventions\n- **Service Contracts**: Implement clean API interfaces for feature contracts\n- **Repository Pattern**: Build data access layers using Magento's repository pattern\n- **Configuration Management**: Implement admin configuration options where appropriate\n- **Error Handling**: Build robust error handling and logging mechanisms\n\n### 4. Quality Assurance\n- **Unit Testing**: Write comprehensive PHPUnit tests for business logic\n- **Integration Testing**: Test feature integration with core Magento functionality\n- **Performance Testing**: Ensure features don't degrade system performance\n- **Security Review**: Validate security compliance and data protection\n\n## Common Feature Types\n\n### E-commerce Features\n- **Custom Product Types**: Implement specialized product configurations\n- **Pricing Rules**: Build complex pricing and discount logic\n- **Inventory Management**: Create advanced inventory tracking and allocation\n- **Order Processing**: Implement custom order workflows and fulfillment\n- **Customer Features**: Build loyalty programs, wishlists, and customer dashboards\n\n### Administrative Features\n- **Reporting & Analytics**: Create custom reports and data visualization\n- **Bulk Operations**: Implement mass actions and data import/export\n- **Workflow Automation**: Build automated business processes\n- **Content Management**: Create custom content types and management interfaces\n- **User Management**: Implement role-based access and permission systems\n\n### Integration Features\n- **Third-party APIs**: Connect with external services and platforms\n- **Data Synchronization**: Build real-time or batch data sync processes\n- **Webhook Integration**: Implement event-driven integrations\n- **File Processing**: Handle document uploads, processing, and storage\n- **Notification Systems**: Build email, SMS, and push notification features\n\n## Development Patterns\n\n### Service Contracts\n- Create interfaces in `Api/` directory\n- Implement clean API interfaces\n- Use data transfer objects (DTOs) for data exchange\n- Maintain backward compatibility\n\n### Repository Pattern\n- Separate data access from business logic\n- Use repositories for all data operations\n- Implement proper error handling\n- Support transactions where needed\n\n### Event/Observer Pattern\n- Dispatch events for extensibility\n- Implement observers for loose coupling\n- Use proper event naming conventions\n- Document event data structure\n\n### Plugin System\n- Use plugins to extend functionality\n- Prefer before/after plugins over around plugins\n- Document plugin execution order\n\n## Best Practices\n\n### Code Organization\n- **Modular Design**: Keep features self-contained within dedicated modules\n- **Interface Segregation**: Use small, focused interfaces\n- **Dependency Injection**: Leverage Magento's DI container\n- **Configuration Management**: Use XML configurations for flexibility\n- **Namespace Organization**: Follow PSR-4 autoloading standards\n\n### Performance Considerations\n- **Lazy Loading**: Implement lazy loading for expensive operations\n- **Caching Strategy**: Utilize appropriate cache types\n- **Database Optimization**: Use efficient queries and proper indexing\n- **Frontend Optimization**: Minimize JavaScript/CSS footprint\n- **Resource Management**: Monitor memory usage and execution time\n\n### Security\n- **Input Validation**: Implement comprehensive input validation\n- **Output Escaping**: Ensure proper output sanitization\n- **CSRF Protection**: Implement form key validation\n- **Access Control**: Enforce proper permission checking\n- **Data Encryption**: Handle sensitive data appropriately\n\n### Maintenance & Extensibility\n- **Backward Compatibility**: Ensure features work across Magento version upgrades\n- **Extension Points**: Provide hooks for other developers to extend features\n- **Configuration Options**: Allow customization without code modifications\n- **Migration Scripts**: Provide smooth upgrade paths\n- **Documentation**: Maintain comprehensive technical and user documentation\n\n## Testing Strategy\n\n- **Unit Tests**: Test individual classes and methods\n- **Integration Tests**: Test module integration with core\n- **Functional Tests**: End-to-end test scenarios\n- **Performance Tests**: Validate performance under load\n- **Security Tests**: Test authentication, authorization, and data protection\n\n## References\n\n- [Adobe Commerce Extension Development](https://developer.adobe.com/commerce/php/development/)\n- [Best Practices](https://developer.adobe.com/commerce/php/best-practices/)\n- [Service Contracts](https://developer.adobe.com/commerce/php/development/components/service-contracts/)\n\nFocus on creating features that meet immediate business needs while providing a foundation for future growth and customization.","tags":["magento","feature","developer","magento2","agent","skills","maxnorm","agent-skills"],"capabilities":["skill","source-maxnorm","skill-magento-feature-developer","topic-agent-skills","topic-magento2"],"categories":["magento2-agent-skills"],"synonyms":[],"warnings":[],"endpointUrl":"https://skills.sh/maxnorm/magento2-agent-skills/magento-feature-developer","protocol":"skill","transport":"skills-sh","auth":{"type":"none","details":{"cli":"npx skills add maxnorm/magento2-agent-skills","source_repo":"https://github.com/maxnorm/magento2-agent-skills","install_from":"skills.sh"}},"qualityScore":"0.454","qualityRationale":"deterministic score 0.45 from registry signals: · indexed on github topic:agent-skills · 9 github stars · SKILL.md body (6,165 chars)","verified":false,"liveness":"unknown","lastLivenessCheck":null,"agentReviews":{"count":0,"score_avg":null,"cost_usd_avg":null,"success_rate":null,"latency_p50_ms":null,"narrative_summary":null,"summary_updated_at":null},"enrichmentModel":"deterministic:skill-github:v1","enrichmentVersion":1,"enrichedAt":"2026-05-18T19:08:49.084Z","embedding":null,"createdAt":"2026-05-07T20:44:08.274Z","updatedAt":"2026-05-18T19:08:49.084Z","lastSeenAt":"2026-05-18T19:08:49.084Z","tsv":"'-4':533 '/commerce/php/best-practices/)':695 '/commerce/php/development/)':690 '/commerce/php/development/components/service-contracts/)':700 '1':90 '2':12,39,134 '3':188 '4':237 'access':213,361,440,592 'across':611 'action':336 'admin':223 'administr':322 'adob':58,684 'advanc':300 'alloc':304 'allow':627 'analysi':94,111 'analyt':325 'api':158,204,370,419,423 'appropri':227,549,603 'architectur':135,143 'around':489 'assess':112,119 'assur':239 'authent':678 'author':679 'autoload':534 'autom':341,343 'backward':434,606 'base':360 'batch':384 'before/after':486 'best':60,495,691 'break':95 'build':25,79,211,230,291,315,342,379,405 'bulk':332 'busi':6,20,46,67,81,97,108,247,344,442,708 'cach':546,550 'capabl':115 'check':597 'class':651 'clean':203,422 'code':194,497,630 'commerc':59,280,685 'common':275 'compat':435,607 'complex':26,80,292 'complianc':271 'compon':146 'comprehens':105,243,577,640 'configur':220,224,288,522,526,625 'connect':371 'consider':537 'constraint':117 'contain':505,521 'content':346,350 'contract':30,162,201,208,415,697 'control':593 'convent':199,473 'core':255,660 'coupl':468 'creat':22,72,139,299,326,348,416,703 'csrf':586 'custom':17,70,282,308,313,320,327,349,628,718 'dashboard':321 'data':155,164,212,273,330,338,377,385,426,431,439,448,476,598,602,681 'databas':148,552 'dedic':507 'defin':160 'degrad':264 'depend':515 'design':136,138,149,159,181,500 'develop':4,16,41,69,88,130,412,621,687 'developer.adobe.com':689,694,699 'developer.adobe.com/commerce/php/best-practices/)':693 'developer.adobe.com/commerce/php/development/)':688 'developer.adobe.com/commerce/php/development/components/service-contracts/)':698 'di':520 'diagram':144 'directori':420 'discount':295 'discoveri':91 'dispatch':460 'document':398,474,491,638,644 'driven':393 'dtos':429 'e':279 'e-commerc':278 'ecosystem':56 'effect':121 'effici':555 'email':406 'encrypt':599 'end':664,666 'end-to-end':663 'enforc':594 'ensur':260,582,608 'enterpris':35 'enterprise-grad':34 'entiti':151 'error':228,232,452 'escap':581 'estim':129 'evalu':120 'event':392,461,471,475 'event-driven':391 'event/observer':458 'exchang':432 'execut':493,571 'exist':84,113,172 'expens':544 'expert':42 'extend':83,483,623 'extens':463,605,615,686 'extern':373 'featur':3,13,27,37,40,68,87,207,252,261,276,281,314,323,366,411,502,609,624,704 'file':395 'flexibl':528 'focus':513,701 'follow':57,195,531 'footprint':564 'form':589 'foundat':713 'frontend':560 'fulfil':312 'function':18,71,86,257,484,661 'futur':715 'gather':104 'grade':36 'growth':716 'handl':229,233,397,453,600 'high':141 'high-level':140 'hook':618 'identifi':169 'immedi':707 'impact':118 'implement':5,19,65,189,202,222,285,307,334,357,390,421,450,464,540,576,588 'import/export':339 'index':153,559 'individu':650 'inject':516 'input':574,578 'integr':23,73,167,249,253,365,389,394,654,658 'interfac':205,354,417,424,509,514 'interview':103 'inventori':297,301 'javascript/css':563 'keep':501 'key':590 'layer':214 'lazi':538,541 'level':142 'leverag':517 'load':539,542,674 'log':235 'logic':21,82,248,296,443 'loos':467 'loyalti':316 'magento':2,11,38,55,85,196,216,256,518,612 'magento-feature-develop':1 'maintain':10,433,639 'mainten':604 'manag':221,298,347,353,356,523,566 'mass':335 'master':28 'mechan':236 'meet':706 'memori':568 'method':653 'migrat':156,632 'minim':562 'modif':631 'modul':173,191,198,508,657 'modular':499 'monitor':567 'name':472 'namespac':529 'need':457,709 'new':66 'notif':403,410 'object':166,428 'observ':465 'oper':333,449,545 'optim':185,553,561 'option':225,626 'order':305,309,494 'organ':193,498,530 'output':580,584 'parti':77,177,369 'path':637 'pattern':32,210,219,413,437,459 'perform':123,179,258,266,536,669,672 'permiss':363,596 'phpunit':244 'plan':92,128,150,180 'platform':376 'plugin':478,481,487,490,492 'point':168,616 'practic':61,496,692 'prefer':485 'price':289,293 'process':89,306,345,387,396,400 'product':283,287 'program':317 'proper':451,470,558,583,595 'protect':274,587,682 'provid':617,634,711 'psr':532 'push':409 'qualiti':238 'queri':556 'real':381 'real-tim':380 'refer':683 'relationship':147,152 'report':324,328 'repositori':31,209,218,436,445 'requir':7,47,93,98,106,133 'resourc':127,565 'respons':186 'review':268 'robust':49,231 'role':359 'role-bas':358 'rule':290 'sanit':585 'scalabl':9,50,126,183 'scenario':668 'script':633 'secur':124,267,270,573,675 'segreg':510 'self':504 'self-contain':503 'sensit':601 'separ':438 'servic':29,161,200,374,414,696 'skill' 'skill-magento-feature-developer' 'small':512 'smooth':635 'sms':407 'solut':52 'source-maxnorm' 'special':286 'specialist':43 'specif':101 'stakehold':102 'standard':535 'storag':402 'strategi':157,190,547,646 'structur':192,477 'support':454 'sync':386 'synchron':378 'system':78,114,137,178,265,364,404,479 'technic':51,100,110,641 'test':241,245,250,251,259,645,648,649,655,656,662,667,670,676,677 'third':76,176,368 'third-parti':75,175,367 'time':187,382,572 'timelin':131 'topic-agent-skills' 'topic-magento2' 'touchpoint':170 'track':302 'transact':455 'transfer':165,427 'translat':45 'type':277,284,351,551 'unit':240,647 'upgrad':614,636 'upload':399 'usag':569 'use':14,64,215,425,444,469,480,511,524,554 'user':109,355,643 'util':548 'valid':269,575,579,591,671 'version':613 'visual':331 'webhook':388 'wishlist':318 'within':53,506 'without':629 'work':610 'workflow':310,340 'write':242 'xml':525","prices":[{"id":"0b1f7d51-c4b6-4a9e-8ff6-799533d03805","listingId":"eaf71374-969e-4e04-b10c-5772735b59ca","amountUsd":"0","unit":"free","nativeCurrency":null,"nativeAmount":null,"chain":null,"payTo":null,"paymentMethod":"skill-free","isPrimary":true,"details":{"org":"maxnorm","category":"magento2-agent-skills","install_from":"skills.sh"},"createdAt":"2026-05-07T20:44:08.274Z"}],"sources":[{"listingId":"eaf71374-969e-4e04-b10c-5772735b59ca","source":"github","sourceId":"maxnorm/magento2-agent-skills/magento-feature-developer","sourceUrl":"https://github.com/maxnorm/magento2-agent-skills/tree/main/skills/magento-feature-developer","isPrimary":false,"firstSeenAt":"2026-05-18T13:14:28.483Z","lastSeenAt":"2026-05-18T19:08:49.084Z"},{"listingId":"eaf71374-969e-4e04-b10c-5772735b59ca","source":"skills_sh","sourceId":"maxnorm/magento2-agent-skills/magento-feature-developer","sourceUrl":"https://skills.sh/maxnorm/magento2-agent-skills/magento-feature-developer","isPrimary":true,"firstSeenAt":"2026-05-07T20:44:08.274Z","lastSeenAt":"2026-05-07T22:42:36.947Z"}],"details":{"listingId":"eaf71374-969e-4e04-b10c-5772735b59ca","quickStartSnippet":null,"exampleRequest":null,"exampleResponse":null,"schema":null,"openapiUrl":null,"agentsTxtUrl":null,"citations":[],"useCases":[],"bestFor":[],"notFor":[],"kindDetails":{"org":"maxnorm","slug":"magento-feature-developer","github":{"repo":"maxnorm/magento2-agent-skills","stars":9,"topics":["agent-skills","magento2"],"license":"mit","html_url":"https://github.com/maxnorm/magento2-agent-skills","pushed_at":"2026-01-24T16:45:35Z","description":"A collection of specialized agent skills for Magento 2 development, designed to provide domain expertise across all aspects of Magento/Adobe Commerce development workflows. ","skill_md_sha":"edc965959e8a77a05c46f9fcf69bff0819e6873a","skill_md_path":"skills/magento-feature-developer/SKILL.md","default_branch":"main","skill_tree_url":"https://github.com/maxnorm/magento2-agent-skills/tree/main/skills/magento-feature-developer"},"layout":"multi","source":"github","category":"magento2-agent-skills","frontmatter":{"name":"magento-feature-developer","description":"Implements business requirements as scalable, maintainable Magento 2 features. Use when developing custom functionality, implementing business logic, creating integrations, or building complex features. Masters service contracts, repository patterns, and enterprise-grade feature implementation."},"skills_sh_url":"https://skills.sh/maxnorm/magento2-agent-skills/magento-feature-developer"},"updatedAt":"2026-05-18T19:08:49.084Z"}}