intershop-icm-best-practices
Provides standards and patterns for Intershop ICM cartridge and backend development.
Install
mkdir -p .claude/skills/intershop-icm-best-practices && curl -L -o skill.zip "https://agentskills.codes/api/skills/download/11492" && unzip -o skill.zip -d .claude/skills/intershop-icm-best-practices && rm skill.zipInstalls to .claude/skills/intershop-icm-best-practices
Activation
This is the description your AI agent reads to decide when to run this skill — the better it matches your request, the more reliably it fires.
Intershop Commerce Management (ICM) backend development best practices. This skill should be used when writing, reviewing, or refactoring ICM Java code to ensure optimal patterns for customization, performance, B2B features, security, testing, and maintainability. Triggers on tasks involving ICM cartridge development, REST API creation, business objects, pipelines, database operations, jobs, events, or search.Key capabilities
- →Reference guidelines for developing custom ICM cartridges
- →Reference guidelines for creating or modifying REST API endpoints
- →Reference guidelines for implementing B2B features
- →Reference guidelines for working with business objects and persistent objects
- →Reference guidelines for writing pipelets and pipelines
- →Reference guidelines for performing database initialization or migration
How it works
This skill provides a complete guide with 68 rules across 20 categories for Intershop Commerce Management (ICM) backend development. It offers guidelines for various development tasks.
Inputs & outputs
When to use intershop-icm-best-practices
- →Developing ICM cartridges
- →Writing custom pipelines
- →Implementing B2B features
- →API refactoring
About this skill
Intershop ICM Best Practices
Comprehensive best practices guide for Intershop Commerce Management (ICM) backend development, maintained by Intershop Engineering. Contains 68 rules across 20 categories, prioritized by impact to guide automated refactoring and code generation.
When to Apply
Reference these guidelines when:
- Developing custom ICM cartridges
- Creating or modifying REST API endpoints
- Implementing B2B features (punchout, customer pricing, organizations, quotes, budgets)
- Working with business objects and persistent objects
- Writing pipelets and pipelines
- Performing database initialization or migration
- Implementing batch jobs and event handling
- Customizing Solr search
- Adding security measures
- Writing tests
- Deploying to Kubernetes environments
Rule Categories by Priority
| Priority | Category | Impact | Prefix |
|---|---|---|---|
| 1 | Customization Patterns | CRITICAL | custom- |
| 2 | Performance Optimization | CRITICAL | perf- |
| 3 | State Management & Data Flow | CRITICAL | state- |
| 4 | B2B Features | CRITICAL | b2b- |
| 5 | Security | CRITICAL | security- |
| 6 | REST API Development | HIGH | rest- |
| 7 | Cartridge Architecture | HIGH | cartridge- |
| 8 | Testing | HIGH | test- |
| 9 | Search | HIGH | search- |
| 10 | Internationalization | HIGH | i18n- |
| 11 | Monitoring & Observability | HIGH | monitoring- |
| 12 | Database & Persistence | MEDIUM-HIGH | db- |
| 13 | Pipeline & Pipelet Development | MEDIUM | pipeline- |
| 14 | Dependency Injection & Guice | MEDIUM | guice- |
| 15 | Job & Batch Processing | MEDIUM | job- |
| 16 | Events & Messaging | MEDIUM | event- |
| 17 | ImpEx Data Exchange | MEDIUM | impex- |
| 18 | Logging & Observability | MEDIUM | logging- |
| 19 | ISML Templates | MEDIUM | template- |
| 20 | Deployment & DevOps | LOW-MEDIUM | devops- |
Quick Reference
1. Customization Patterns (CRITICAL)
custom-no-direct-modification- Never modify standard files directlycustom-use-extensions- Use business object extensions for custom behaviorcustom-cartridge-naming- Follow layer-based cartridge naming conventionscustom-mark-changes- Mark all customizations with commentscustom-microservices- Prefer microservices for complex customizations
2. Performance Optimization (CRITICAL)
perf-caching-pattern- Use caching for expensive operationsperf-query-optimization- Optimize database queries, avoid N+1perf-async-operations- Use async processing for non-critical opsperf-lazy-loading- Use lazy loading with explicit fetch joinsperf-batch-processing- Batch operations with flush/clear patternperf-connection-pooling- Configure database connection pools properlyperf-memory-management- Manage memory efficiently, stream large dataperf-session-size- Minimize session size for scalability
3. State Management & Data Flow (CRITICAL)
state-repository-pattern- Use repositories for BO lifecycle managementstate-bo-po-separation- Maintain strict BO/PO separation
4. B2B Features (CRITICAL)
b2b-punchout-implementation- Implement punchout with proper securityb2b-customer-pricing- Implement customer-specific pricing correctlyb2b-organization-hierarchy- Manage organization hierarchiesb2b-approval-workflows- Implement approval workflows with auditb2b-budget-management- Implement budget controls at multiple levelsb2b-quote-management- Manage quotes with state machine and versioningb2b-user-roles- Implement flexible RBAC with delegation
5. Security (CRITICAL)
security-input-validation- Validate all inputs with JSR-303security-sql-injection- Use parameterized queriessecurity-xss-prevention- Use proper output encodingsecurity-sensitive-data- Handle PII properlysecurity-access-control- Implement RBAC correctlysecurity-csrf-protection- Implement CSRF token validation
6. REST API Development (HIGH)
rest-authentication- Authenticate REST resources like server actionsrest-resource-objects- Use proper resource object patternsrest-handlers- Use handlers for customizable REST resourcesrest-pagination- Implement proper pagination with metadatarest-error-handling- Use consistent error response formatrest-versioning- Version APIs with URL path versioningrest-hateoas- Implement HATEOAS links properly
7. Cartridge Architecture (HIGH)
cartridge-api-separation- Separate API and implementation cartridges
8. Testing (HIGH)
test-unit-test-services- Unit test services with mockingtest-integration-pipelines- Integration test pipelinestest-mock-repositories- Mock repositories correctlytest-test-data-builders- Use test data builderstest-rest-api-testing- Test REST APIs comprehensively
9. Search (HIGH)
search-solr-customization- Customize Solr search correctlysearch-query-building- Build search queries safely
10. Database & Persistence (MEDIUM-HIGH)
db-dbprepare-migration- Use DBPrepare for initialization and migrationdb-transaction-management- Manage transactions properlydb-optimistic-locking- Use optimistic locking for concurrencydb-po-lifecycle- Manage PO lifecycle correctly
11. Pipeline & Pipelet Development (MEDIUM)
pipeline-best-practices- Follow pipeline design best practicespipeline-error-handling- Handle errors with transitionspipeline-transactions- Manage pipeline transactions correctly
12. Dependency Injection & Guice (MEDIUM)
guice-dependency-injection- Use Guice dependency injection correctly
13. Job & Batch Processing (MEDIUM)
job-implementation- Implement jobs with progress trackingjob-error-handling- Handle job errors with retry and DLQ
14. Events & Messaging (MEDIUM)
event-publishing- Publish domain events properlyevent-consuming- Consume events reliably with idempotency
15. ImpEx Data Exchange (MEDIUM)
impex-import-patterns- Implement imports with streaming and validationimpex-export-patterns- Implement exports with delta support
16. Logging & Observability (MEDIUM)
logging-structured-logging- Use structured logginglogging-correlation-ids- Use correlation IDslogging-log-levels- Use appropriate log levelslogging-no-sensitive-data- Never log sensitive data
17. ISML Templates (MEDIUM)
template-isml-best-practices- Follow ISML coding standardstemplate-include-patterns- Use includes properlytemplate-loop-optimization- Optimize loopstemplate-caching- Use fragment caching
18. Deployment & DevOps (LOW-MEDIUM)
devops-container-deployment- Follow container deployment best practices
19. Internationalization (HIGH)
i18n-localization- Implement proper multi-language and multi-locale support
20. Monitoring & Observability (HIGH)
monitoring-apm-integration- Integrate APM for performance and error tracking
Core Principles
The Golden Rule: No Customization is Best
Before writing any custom code, always check:
- Can this be achieved through back office configuration?
- Is there an existing Intershop feature that meets this need?
- Is this feature request standard-worthy (contact Intershop)?
Upgrade Safety
All customizations should be designed with upgrades in mind:
- Use extension mechanisms over file modifications
- Mark all changes with standardized comments
- Keep custom cartridges separate from standard ones
- Prefer microservices for complex integrations
Layer Separation
Maintain clear boundaries between layers:
- API (capi) - Public interfaces only
- Internal - Implementation details
- ORM - Database persistence
- Pipeline - Business workflows
How to Use
Read individual rule files for detailed explanations and code examples:
rules/custom-use-extensions.md
rules/perf-caching-pattern.md
rules/b2b-punchout-implementation.md
rules/security-input-validation.md
rules/test-unit-test-services.md
Each rule file contains:
- Brief explanation of why it matters
- Incorrect code example with explanation
- Correct code example with explanation
- Additional context and references
Full Compiled Document
For the complete guide with all rules expanded: AGENTS.md
When not to use it
- →When the task does not involve ICM backend development
- →When the task is not related to writing, reviewing, or refactoring ICM Java code
- →When the task does not require optimal patterns for customization, performance, B2B features, security, testing, and maintainability
Limitations
- →The guidelines are specific to Intershop Commerce Management (ICM) backend development.
- →The rules are prioritized by impact to guide automated refactoring and code generation.
- →The guide contains 68 rules across 20 categories.
How it compares
This guide provides specific, prioritized rules for ICM development, unlike general Java best practices.
Compared to similar skills
intershop-icm-best-practices side by side with the closest alternatives in the catalog.
| Skill | Installs | Updated | Safety | Difficulty |
|---|---|---|---|---|
| intershop-icm-best-practices (this skill) | 0 | 6mo | No flags | Intermediate |
| sync-data-relational | 1 | 9mo | No flags | Intermediate |
| 110-java-maven-best-practices | 0 | 1mo | No flags | Intermediate |
| minecraft-bukkit-pro | 90 | 4mo | No flags | Advanced |
Try saying
Example prompts that trigger this skill in your AI assistant.
You might also like
sync-data-relational
naver
Analyze spring-data-relational version changes and identify required updates for the current project. Use when upgrading spring-data-relational versions or syncing with upstream changes.
110-java-maven-best-practices
jabrena
Use when you need to review, improve, or troubleshoot a Maven pom.xml file — including dependency management with BOMs, plugin configuration, version centralization, multi-module project structure, build profiles, or any situation where you want to align your Maven setup with industry best practices
minecraft-bukkit-pro
sickn33
Master Minecraft server plugin development with Bukkit, Spigot, and Paper APIs. Specializes in event-driven architecture, command systems, world manipulation, player management, and performance optimization. Use PROACTIVELY for plugin architecture, gameplay mechanics, server-side features, or cross-version compatibility.
workflow-orchestration-patterns
wshobson
Design durable workflows with Temporal for distributed systems. Covers workflow vs activity separation, saga patterns, state management, and determinism constraints. Use when building long-running processes, distributed transactions, or microservice orchestration.
java-pro
sickn33
Master Java 21+ with modern features like virtual threads, pattern matching, and Spring Boot 3.x. Expert in the latest Java ecosystem including GraalVM, Project Loom, and cloud-native patterns. Use PROACTIVELY for Java development, microservices architecture, or performance optimization.
java-coding-standards
affaan-m
Java coding standards for Spring Boot services: naming, immutability, Optional usage, streams, exceptions, generics, and project layout.