claude-skill-joomla
Health Warn
- License — License: GPL-2.0
- Description — Repository has a description
- Active repo — Last push 0 days ago
- Low visibility — Only 6 GitHub stars
Code Fail
- rm -rf — Recursive force deletion command in scripts/build-universal.sh
Permissions Pass
- Permissions — No dangerous permissions requested
No AI report is available for this listing yet.
Joomla 5+/6 extension development skill for Claude Code — components, modules, plugins, templates with modern MVC, PSR-4, DI, service providers.
Joomla Skill for Claude
A skill for building Joomla 5+ and Joomla 6 extensions — components, modules, plugins, and templates — using modern MVC architecture, PSR-4 namespaces, dependency injection, and service providers.
Works with Claude Code (as a plugin) and with Claude.ai (as an uploadable Skill).
What this skill covers
- Scaffolding new components, modules, plugins, and templates
- Writing
services/provider.phpservice providers - MVC layer: controllers, models, views, layouts
- Manifest XML files (
<extension>, install/uninstall scripts) - Database migrations and schema files
- Language files (INI) and translation patterns
- Custom form fields and form rules
- Plugin event subscribers (
SubscriberInterface) - Module dispatchers
- Web Asset Manager (WAM) — registering CSS/JS, dependencies, attributes
- Web Services REST API (JSON:API) — webservices plugin routes,
ApiController/JsonapiView, API tokens, consuming the API - Console commands (
php cli/joomla.php) via console plugins andAbstractCommand - Backward-compatible patterns (Joomla 5 → 6, no compat plugin required)
Reference files in skills/joomla/references/ provide deep-dive guidance, loaded on demand to keep the per-load token cost low.
Per extension type:
component.md— full component scaffolding (frontend + backend)module.md— module structure with dispatchersplugin.md— plugin event subscribers (SubscriberInterface,CMSPlugin)library.md— shared library packages
Cross-cutting (shared across extension types):
manifest.md— universal<extension>manifest XML elementsinstall-script.md—<scriptfile>lifecycle hooks (preflight/install/update/postflight/uninstall)language-files.md—.inifilename / key-prefix / plural /Text::script()conventionsservice-provider.md— universalservices/provider.phpwrapping pattern + per-type binding tablecomponent-router.md— SEF URL router walkthrough (component-specific)
Topical deep-dives:
admin-routing.md—task=vsview=URL routing and the checkout pattern preventing concurrent overwritescoding-standards.md— PSR-12 / PHPDoc / ESLint / PHPCS conventionscomponent-advanced.md— toolbar API, batch, ordering, tags, versioning, workflow, webservices, mail templates, dashboards, custom rulescomponent-lifecycle.md— model save flow,prepareTable(),Table::bind()/store(), filter forms, install script, config.xml, site-side differences, service interfaces, AJAX, HTMLHelper services,showon, fieldset tabsconsole-commands.md— CLI commands forphp cli/joomla.php: console plugin,AbstractCommand, container-loader registration, what breaks under the consoledatabase.md— install / update SQL,#__prefix, DDL-vs-DML ruleeditor-api.md— JoomlaEditor JS API + XTD button surfaceform-fields.md— built-in field types + custom-field authoringlayouts.md—LayoutHelper::render(), override priority, sublayouts, key built-in layoutsmenu-items.md— site-view menu item type XML (request fields, params, useglobal, multi-layout)packaging.md— manual zip, build scripts, package extensions, include/exclude checklist, changelog XML for the in-admin changelog viewertesting.md— PHPUnit + Jest patterns with real-CMS bootstrapupdate-server.md— update server XML,<targetplatform>regex, SHA hashes, per-type tweaksweb-assets.md—joomla.asset.jsonschema,useStyle/useScript, dependencieswebservices-api.md— Joomla JSON:API REST layer: route registration,ApiController/JsonapiView, API tokens, errors, CORS, consuming from PHP / JS / curlgotchas.md— hard-won J5/J6 pitfalls (controller parents, routing, WAM, modal cleanup, etc.)
Requirements
- Joomla: 5.x or 6.x (target: native 6, backward compatible with 5)
- PHP: 8.3+ minimum and supported, 8.4 recommended (Joomla 6.x — see manual.joomla.org/docs/get-started/technical-requirements)
- Coding standard: PSR-12 (PHP), Joomla ESLint config (JavaScript)
Installation
There are four install paths — three for Claude products, plus a universal package for other AI coding tools.
Option 1 — Claude Code plugin (recommended for Claude Code users)
Inside Claude Code (CLI, desktop app, or IDE extension):
/plugin marketplace add Joomla-Bible-Study/claude-skill-joomla
/plugin install joomla@joomla-bible-study
/reload-plugins
The skill becomes available as joomla:joomla and updates with /plugin update.
Option 2 — Claude.ai consumer app (web, Mac, Windows desktop)
The Claude.ai chat app does not load Claude Code plugins, but it does support uploading skills as a zip file.
- Open the latest release.
- Download the
joomla-skill-vX.Y.Z.zipasset. - In Claude.ai, go to Settings → Capabilities (or in the desktop app: profile menu → Settings → Capabilities).
- Find the Skills section and choose Create skill / Upload skill.
- Drop in the zip. Claude reads the
nameanddescriptionfromSKILL.md's frontmatter. - Toggle the skill on for any Project (or globally) where you want it active.
To get the most out of the skill in Claude.ai, enable the Code execution / Analysis tool for the conversation so Claude can generate scaffolded files as downloadable artifacts. Pair it with a Project that holds your component source for richer context.
Option 3 — Manual copy into ~/.claude/skills/ (Claude Code, no plugin)
If you'd rather not use the plugin system:
git clone https://github.com/Joomla-Bible-Study/claude-skill-joomla.git
cp -R claude-skill-joomla/skills/joomla ~/.claude/skills/
Or symlink so updates flow in with git pull:
ln -s "$PWD/claude-skill-joomla/skills/joomla" ~/.claude/skills/joomla
Option 4 — Other AI coding tools (Cursor, GitHub Copilot, Windsurf, Cline, Aider, Codex)
Each release also ships a joomla-skill-universal-vX.Y.Z.zip artifact containing the same Joomla guidance repackaged as project-root rule files for non-Claude tools. One source, one shared references/ directory.
- Open the latest release.
- Download
joomla-skill-universal-vX.Y.Z.zipand unzip into your Joomla project's root. - Keep only the file(s) for the tool(s) you use (you can delete the rest); leave
references/in place.
| Your tool | Files to keep |
|---|---|
| OpenAI Codex / generic | AGENTS.md + references/ |
| Cursor | .cursor/rules/joomla.mdc + references/ |
| GitHub Copilot | .github/copilot-instructions.md + references/ |
| Windsurf | .windsurfrules + references/ |
| Cline | .clinerules + references/ |
| Aider | CONVENTIONS.md + references/ (then aider --read CONVENTIONS.md) |
Multiple tools can coexist in the same repo — each reads its own file and ignores the others. To rebuild the package locally from a clone of this repo, run bash scripts/build-universal.sh; output lands in dist/universal/.
Usage
Once installed, the skill activates automatically whenever you mention Joomla extension development. Trigger phrases include:
- "Add a new view to my Joomla component"
- "Create a Joomla 5 plugin that listens for
onContentAfterSave" - "Scaffold a module that displays..."
- "Set up a service provider for..."
- "Register web assets via
joomla.asset.json" - "Write an install script for my J6 component"
- "Override a layout in my template"
The skill also matches the J5 / J6 / J7 shorthands and specific minor versions (Joomla 5.4, Joomla 6.1, Joomla 6.2, Joomla 7).
You can also invoke it explicitly: ask Claude to "use the joomla skill" for any Joomla-based project.
Project context
This skill is maintained by Christian Web Ministries (org currently published as Joomla-Bible-Study on GitHub) and was developed alongside production Joomla extensions including:
- Proclaim — Bible study management
- CWMScriptureLinks — auto-link Scripture references
- Other CWM extensions
Patterns are derived from the joomla-cms core and real-world production components. The skill's ## Canonical sources section in skills/joomla/SKILL.md lists every upstream reference (joomla-cms, manual.joomla.org + its joomla/Manual source repo, api.joomla.org, framework.joomla.org) Claude consults when verifying patterns — and the fallback order when WebFetch is unavailable.
Contributing
Issues and PRs welcome. See CONTRIBUTING.md for:
- what kinds of contributions are most useful (bug reports, API drift, new patterns/references)
- how to test changes locally before opening a PR (symlink as a skill, install as a plugin, or upload zip to Claude.ai)
- authoring guidelines for
SKILL.mdand references (frontmatter is load-bearing — be deliberate) - versioning, CHANGELOG expectations, and the release flow
Quick rule of thumb: if you spot a Joomla 6 API change or an outdated pattern, file an issue with the prompt + the bad response and we'll work from there.
License
GPL-2.0-or-later — matching the Joomla ecosystem.
Reviews (0)
Sign in to leave a review.
Leave a reviewNo results found