Skip to content

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

Merged
konradoboza merged 5 commits into
masterfrom
documentation-recipe
Aug 4, 2026
Merged

konradoboza merged 5 commits into
masterfrom
documentation-recipe

Conversation

@mnocon

@mnocon mnocon commented Jul 16, 2026

Copy link
Copy Markdown
Contributor

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:

@mnocon
mnocon requested a review from a team July 31, 2026 10:08
@ibexa-workflow-automation-1
ibexa-workflow-automation-1 Bot requested review from Steveb-p, alongosz, bnowak, ciastektk and mikadamczyk and removed request for a team July 31, 2026 10:09
"bundles": {},
"copy-from-package": {
".agents/skills/external/": ".agents/skills/",
"./.agents/skills/external/ibexa-documentation/": ".claude/skills/ibexa-documentation/"

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.

@alongosz alongosz left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

The Skill is correctly picked up by both Claude and Codex 💪

@konradoboza
konradoboza merged commit c98740d into master Aug 4, 2026
16 checks passed
@konradoboza
konradoboza deleted the documentation-recipe branch August 4, 2026 07:15
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.

4 participants