Skip to content

IBX-12105: [ibexa/documentation-developer] Added recipe for documentation package - #252

Open
mnocon wants to merge 5 commits into
masterfrom
documentation-recipe
Open

IBX-12105: [ibexa/documentation-developer] Added recipe for documentation package#252
mnocon wants to merge 5 commits into
masterfrom
documentation-recipe

Conversation

@mnocon

@mnocon mnocon commented Jul 16, 2026

Copy link
Copy Markdown
Contributor

Status: I'll send this to PHP team review once is ibexa/documentation-developer#3307 is discussed and reviewed - for now, let's keep this "Doc-team" only (unless you want to have a look at ibexa/documentation-developer#3307 as well)

Recipe copying the "ibexa-documentation" skill to the project.

For more information, see ibexa/documentation-developer#3307

Sadly, even though Antrophic created the Agent Skills spec (https://agentskills.io/home) and the spec gives the .agents/skills/ directory as the place to store skills (https://agentskills.io/skill-creation/quickstart), Claude does not follow it.

Most agents support .agents/skill, Claude does not.
You can see the list here: agentskills/agentskills#15

So, this recipe copies the skill twice:

  • once to the directory almost all agents support
  • second time to the .claude specific directory

Because the key in JSON cannot be duplicated, for the first case we can copy the whole directory and for the second one we copy skill-by-skill.

Tested locally:

~/De/Sites/experience-skeleton main !3 ❯ composer sync-recipes ibexa/documentation-developer --force --reset -v
ComposerCheckout plugin activated.

Symfony operations: 1 recipe (7cd5305b29411b4366aab49714823ffc)
  - Configuring ibexa/documentation-developer (>=5.0): From github.com/ibexa/recipes-dev:master
    Enabling the package as a Symfony bundle
    Copying files from package
      Created "./.agents/skills/ibexa-documentation/"
      Created "./.agents/skills/ibexa-documentation/SKILL.md"
      Created "./.claude/skills/ibexa-documentation/"
      Created "./.claude/skills/ibexa-documentation/SKILL.md"

@github-actions

Copy link
Copy Markdown

Thanks for contribution! 🎉

To test the changes please execute:

composer config extra.symfony.endpoint https://api.github.com/repos/ibexa/recipes-dev/contents/index.json?ref=flex/pull-252

before executing the recipes.

@mnocon
mnocon force-pushed the documentation-recipe branch from 61da708 to 401cda4 Compare July 16, 2026 13:53
"bundles": {},
"copy-from-package": {
".agents/skills/external/": ".agents/skills/",
"./.agents/skills/external/ibexa-documentation/SKILL.md": ".claude/skills/ibexa-documentation/SKILL.md"

@mnocon mnocon Jul 22, 2026

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The ./ is a workaround for Symfony Flex limitation, invented by Claude in https://gist.github.com/mnocon/e7d956c520f7e828398fcc77e1fec6e7

In https://github.com/symfony/flex/blob/2.x/src/Configurator/CopyFromPackageConfigurator.php#L69-L84 the source files sharing the same path overwrite each other, the ./ is added so that it's treated as a different source path.

@sonarqubecloud

Copy link
Copy Markdown

@mnocon
mnocon marked this pull request as ready for review July 22, 2026 13:36
@mnocon
mnocon requested a review from adriendupuis July 22, 2026 14:21
@mnocon mnocon added Doc needed The changes require some documentation Ready for QA and removed Ready for QA labels Jul 24, 2026
@mnocon mnocon changed the title [ibexa/documentation-developer] Added recipe for documentation package IBX-12105: [ibexa/documentation-developer] Added recipe for documentation package Jul 24, 2026
@mnocon mnocon added Ready for QA and removed Doc needed The changes require some documentation Ready for QA labels Jul 24, 2026
@adriendupuis

adriendupuis commented Jul 28, 2026

Copy link
Copy Markdown
Contributor

Here is my first test about creating a Page Builder block. That worked pretty well until I tried to make it uses the locationlist attribute type: it didn't manage to make the template on its own and was about to create a block render listener instead of a simple solution I had to provide him.

Notice that it "called content-type" which is an MCP server with the Ibexa\Mcp\Tool\ContentType tools.

Here the /export of this test session: doc-test-1.md

Here are the 3 files produced during the test in their session end state:

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants