Proposal: Community-Maintained Skills for Coding Agents in the Concrete CMS Ecosystem

Hi everyone,

I’d like to start a discussion around coding agents and how we, as a community, might collaboratively maintain agent skills within the Concrete CMS ecosystem.

Background

I’ve published a prototype repository that contains some skills for a coding agent, focused on Concrete CMS:

These skills are written as Markdown files and are based on the documentation and guidelines we already use in production projects.

They are currently used to improve the quality of code generated by Junie (JetBrains AI assistant) and have proven helpful in day-to-day development.

Why I’m Posting This Here

Rather than keeping this as a private or company-specific resource, I think it could be more valuable if:

  • The skills are maintained collaboratively
  • Knowledge is shared and reviewed by the community
  • We establish a common baseline for AI-assisted Concrete CMS development

I believe this aligns well with how many of us already share best practices, add-ons, and documentation.

Additionally, the WordPress community has already launched a project to share agent skills.

Proposal

If there is enough interest from the community:

  • I’m willing to move or fork this repository into the official Concrete CMS organization (Concrete CMS · GitHub) or the community organization (Concrete Community · GitHub)
  • Maintenance would be community-driven, via issues and pull requests
  • Or include .claude/skills/ directory in the core itself (not recommended)

Call for Feedback

I’d appreciate hearing from community members interested in Coding agents / AI-assisted development.

I’m using Junie a lot these days, and I’m quite amazed how well it works.
I particularly like how it explains why it’s done certain things, and gives context back to be reviewed.

I use it more for Laravel projects, but where I have used it in Concrete code bases it’s done an excellent job. I find it works exceptionally well if I point it at existing code examples when giving it tasks, e.g. 'Build me a block to do xyz, that is built in in a similar way as path to block. Giving it paths to look at helps it having to look too broadly (and chewing up credits).

Asking it to build a new package, with initial blocks, single pages, and other installable items is like magic, it’s a huge time-saver.

What I don’t have any experience is providing an agent with further guidance, but I could see how it could be a huge benefit.

My main question @hissy, is what are the kinds of things you are finding Junie is getting wrong when building components? Is it not following best practice, or is it getting fundamentals of Concrete development wrong?

@mesuva

Thank you for your interest. I found some issues without any guidelines when I asked Junie to build packages. For example:

  • AI agents don’t know how to build a block type that has repeatable fields. Because there are several ways to do so in the core, and no clear documentation.
  • AI agents sometimes use deprecated code because the core still uses it in many places.
  • AI agents generate package controllers with errors often, because no examples in the core.
  • AI agents forgot to make add.php and edit.php often.
  • AI agents use AXMLS format often; I don’t know why, but maybe their knowledge is old.

These are all little details, but I don’t want to ask agents to fix them repeatedly.

For an AI agent, is it better to supply it with plain language that explains best practices.
Or, is it better to supply it with code examples that have best practice in them?
Or both?

I think descriptive content that explains best practices is not helpful for agents. Clear examples are better, especially for the Concrete CMS project, because agents can’t judge which code is better or legacy in the core.

Please check the official best practices for humans!

Yes please. Not only do I think this is a good idea, I think it’s necessary for Concrete CMS to remain relevant.

As an aside, I find this documentation format very useful for my own education and reference.

1 Like

@andrew mentioned this thread in the Town Hall.

Thank you for sharing your thoughts!