Skip to content

AI Agent Skill ​

FMXER ships with an Agent Skill that teaches AI coding agents (Claude Code, Cowork, and any tool supporting the open SKILL.md format) how to work with FMXER. It lives in the Skills/ folder of the repository:

SkillWhat it does
fmxer-developmentFireMonkey apps with FMXER: named routes with TNavigator (Back button, transient routes, passing data), the scaffold, containers and explicit sizing, elements and their fluent setters, icons and TAppColors, state and events, your own elements, with the rules that avoid the common mistakes (invisible white TTextFrame text, missing sizes, helpers that return TControl, closures that outlive their elements, old Skia unit names...). It includes the exact declarations of the public API, taken from the source.

A skill is a folder with a SKILL.md file (instructions, plus a description that tells the agent when to use it) and references/ files read on demand. Once installed, the agent uses it by itself when your code uses FMXER or you ask for screens, routes, layouts or elements in an FMXER app.

Since v.1.2

The skill describes v.1.2 and later: Delphi 12+ with the Skia of RAD Studio (System.Skia, FMX.Skia) and the v.1.2 behaviour of the navigator (transient routes remembered, CloseRoute removing the closed route from the stack).

The FMXER repository is also a Claude plugin marketplace. From Claude Code:

/plugin marketplace add andrea-magni/FMXER
/plugin install fmxer@fmxer

The skill is available at once and is updated when a new version is published. It can also be invoked explicitly:

/fmxer:fmxer-development

FMXER is built on TFrameStand, which has its own skill: install it too if you also use stands, dialogs or the TFrameStand lifecycle directly.

Installation with npx (any AI tool) ​

For other agentic tools (Cursor, Codex, ...), or without plugins, the skills CLI installs the same skill into any compatible tool (requires Node.js):

npx skills add andrea-magni/FMXER

Manual installation (Claude Code / Cowork) ​

Copy the skill folder into one of the standard skill locations:

  • .claude/skills/ inside your project: project-level, shared with your team via git;
  • ~/.claude/skills/: personal, available in every project.

Example, from your project root (Windows):

git clone https://github.com/andrea-magni/FMXER
xcopy /E /I FMXER\Skills\fmxer-development .claude\skills\fmxer-development

Verify with /skills, or ask the agent to add a screen to your app.

Other AI agents ​

The skill is plain Markdown in the open Agent Skills format. Agents without skill support can read it from their instructions file (AGENTS.md, .cursorrules, custom instructions...):

markdown
When working on Delphi FireMonkey code that uses FMXER, read and follow
Skills/fmxer-development/SKILL.md (and its references/ folder).

The llms.txt and llms-full.txt files of this site give an assistant the whole documentation in one request.

Usage examples ​

With the skill installed, prompts like these produce idiomatic FMXER code:

  • "Add a settings screen with a server address, a dark mode switch and a Save button, reachable from the home screen." (a Routes.settings.pas unit with DefineRoute<TScaffoldForm>, a column in a TVertScrollFrame, TEditFrame, TContainerFrame.SetContentAs<TSwitch>, RouteTo/CloseRoute)
  • "Show the customers in a searchable list and open the details of the one I tap." (TListViewFrame with ItemBuilderProc, the selection stored before RouteTo)
  • "Show a spinner while the data loads, then the results." (a transient route or the scaffold's title detail area, ShowSnackBar for errors, IsRouteActive in the callback)
  • "Update the badge on the home screen when a new message arrives." (System.Messaging with a subscription tied to the element's lifetime)

Released under the Mozilla Public License 2.0.