
Implementing AEM: Skills Make all the Difference
Engineering websites with AEM and other enterprise-level platforms has always required specialized technical skill. Enter AI, our newest developer trained on AEM coding, and the logical question is whether we can now get away without that technical skill? We at DX-ROI put AI to the test with AEM, and skills (i.e. Agent Skills, originally conceived by Anthropic for Claude AI) are the key.
Why does AI need Agent Skills?
AI agents such as Claude Code have an amazing capacity to code things in various platforms, including AEM, to accomplish a task. They are trained on a world (literally) of best practices, and thus their output largely looks and smells like you would expect in these platforms. However, you’re not looking for developers (AI or human) that are “able to code for AEM” – not for any implementation with any level of complexity. AI agents with inherent variability in development standards, approaches, and output left to their own devices might get tasks done quickly short-term, but at what cost long-term? What you’re seeking is a developer that is “able to code for AEM the way our team has built and invested the past 5-10 years, and will be maintaining for years to come”. Agent Skills are the difference between hiring a junior (AI) engineer from the outside market versus a senior (AI) engineer with years of experience inside your system.
Doesn’t AI get development standards from project context?
Yes, AI operating without Agent Skills will perform your tasks in light of context it finds in the current code base. LLMs that support a huge context window such as Claude Opus have a better go of it than others, but the approach is fundamentally limited for many reasons, some of which have nothing to do with AI.
- Reviewing code eats up a LOT of resources. Because tokens used to build context cost time and money, AI will make its best judgement as to how much “learning” it should reasonably do before “doing” a task. How can AI know for sure that it has ingested enough examples, or the right examples?
- Your code base isn’t perfectly consistent. Often this is due to imperfect engineering, but other times the difference is a purposeful nuance. When AI finds multiple patterns, how does it choose?
- Your code differs in some ways from what AI believes to be best practice. How can it know if your deviance is purposeful (and should be followed) or accidental (and should be remediated)?
- Oftentimes a command (e.g. create a component) implicitly includes tasks that may not be obvious to AI (e.g. create a content policy for that component). AI will do what you explicitly ask, but how can it know what you didn’t ask?
Inferred principles can never be as correct and clear as articulated instructions. As good as AI gets at reading our minds, it’s always going to be more effective and efficient to just tell AI what we expect.
With Agent Skills for AI, can I forego Human Skills?
Not immediately. Someone needs to do the work of writing Agent Skills for your implementation. No one can sell you these skills off the shelf, don’t let the myriad AI peddlers fool you. There are certainly AI Agents that have been trained on AEM and relevant tasks, but no Agent Skills built for the masses are going to match your implementation. You wouldn’t expect a highly skilled human engineer to understand and work in your code base w/o onboarding and training on your exact implementation. AI agents (engineers) learn quicker, but they still need the same training.
Once the Agent Skills are created, you will indeed reduce the quantity (i.e. hours) of human skills you need, but it is critical that you maintain the quality (i.e. expertise) of those skills. AI executing tasks with Agent Skills often still gets it “close, but not quite right”. Sometimes it’s due to normal AI variance, which is greatly reduced but not eliminated by Agent Skills. Other times instructions are not clear or nuanced enough for a given situation. In either case human expertise and skills ensure the fault of the solution, even in cases where the solution “works” but doesn’t follow established patterns, is caught and remediated to sustain a robust and maintainable system going forward.
Why should I care how AI gets the task done?
One of the greatest temptations of AI development is to change the “definition of done” to “it works” and just ship it. And that mentality will likely save time and money for a few weeks, months, maybe even a year. But like all tech debt, the bill will come due, and AI can rack up tech debt at break-neck speed if left unchecked.
“It works” has never been the bar for mission-critical, long-running enterprise software. Albeit not as fast as AI, humans can also achieve “it works” in a fraction of the time as normal enterprise development – I’m always amazed at the quantity of functionality accomplished in a 2-day hackathon. Standard SDLC processes, curated by humans who take ultimate responsibility for the code produced by AI, are no less critical as they were before AI.
How do I get started with AEM AI Skills?
First, ensure you have an engineer that knows your implementation, intimately. This is not just someone that codes regularly within your implementation, but rather someone that can articulate the “how” and “why” everything is done the way it is. If that person doesn’t exist internally, find them externally.
Then, consider your new AI Agent friend a rock star developer you’ve hired off the open market – they know all about AEM but nothing about your system. You’d probably begin with a general framework to “help them help themself”. To do this, start with a CLAUDE.md (or AGENTS.md) file that provides a high-level overview of your code base – what technologies are used, how it’s structured, over-arching conventions and considerations, etc. Provide tips on how to find things they may be looking for. A core tenet of Agent Skills is to load only the information needed for a given task, to ensure all the necessary information is not only loaded but stays in the AI context window. So keep CLAUDE.md to concepts and information that apply to all tasks.
With CLAUDE.md in place, start building out your Agent Skills for AEM. You can find the standard structure for Agent Skills readily on the internet. Start simple to get a feel for it – perhaps a skill to create-component-definition that creates the base cq:Component XML file for a component. Test and iterate in quick cycles – learn what the Agent does correct naturally (i.e. what you don’t need to instruct it on) and where it needs explicit direction from you.
It will take time and energy to build Agent Skills for your AEM implementation, but each skill you complete puts your team durably ahead of where it was yesterday in this age of AI.
