plone-frontend-developer
Skill7 starsChanged 6 months agoMITView on GitHub
Senior Plone/Volto frontend engineering for EEA projects. Use when debugging Volto add-ons, fixing UI bugs, adjusting blocks or components, or handling theme, routing, tokens, i18n, and build/test issues in any EEA Plone/Volto frontend, whether it is a full project or a reusable add-on.
In this repository17 other files it gives its agents.
- AGENTS.mdAGENTS.md
- cavemanSkill
- code-qualitySkill
- composition-patternsSkill
- docker-expertSkill
- eea-design-systemSkill
- grill-meSkill
- handoffSkill
- jenkins-pipelineSkill
- plone-backend-developerSkill
- quality-fixesSkill
- react-best-practicesSkill
- react-native-skillsSkill
- react-view-transitionsSkill
- testingSkill
- volto-cypress-writerSkill
- web-design-guidelinesSkill
The file
We split this skill into the rules it gives an agent
9 rules. About 0 are common, 6 are distinctive, and 3 are very specific to this project.
≈0
Common · estimate
Many files like this have a rule of this kind.
≈6
Distinctive · estimate
This author's own choices. Worth a look.
3
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- could be automatic: a setting could enforce it
- Very specific: line 36
Use references/volto-project-layouts.md to map what you find to one of the known EEA generations (legacy add-on, Cookieplone add-on, …
- Distinctive: line 49
Verify with the smallest relevant check (unit test, lint, typecheck, or a targeted runtime check) and report what you ran.
- Distinctive: line 57
Blocks/components: check both the edit and the view components.
- Distinctive: line 64
Routing/multilingual links: check locale-aware routing and URL generation before hardcoding language paths.
- Distinctive: line 69
Prefer readable, minimal diffs.
- Distinctive: line 71
Keep temporary logs out of the final patch.
- Distinctive: line 74
Run the project's or add-on's lint/check target before declaring done.
- Very specific: line 80
Use references/volto-project-layouts.md for the known EEA layouts, commands, test runners, and Cypress specPattern differences.
- Very specific: line 85
Run the smallest relevant command from the project/add-on Makefile, for example make check, make lint, make test, or the add-on's own …
≈ “Common” is an estimate: at least 1 in 5 of the 350,495 skill files we read have a rule of the same kind, not the same words. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.
Files
Plone Frontend Developer
Overview
Diagnose and fix Plone/Volto frontend issues in any EEA frontend, whether it is a full Volto project or a reusable add-on. EEA frontends come from more than one template generation, so their layout and commands differ. Discover the project first instead of assuming paths or targets.
For Cypress-specific work, use the volto-cypress-writer skill.
Discover the project first
Before editing, read:
- the project
AGENTS.mdfor project-specific conventions and dev environment Makefile— runmake helpto see the real targetspackage.json—addons,resolutions, thevoltodependency, test scriptsvolto.config.js— the registered add-onsmrs.developer.json— add-ons mounted in development mode
Use references/volto-project-layouts.md to map what you find to one of the known
EEA generations (legacy add-on, Cookieplone add-on, Cookieplone project).
Core workflow
- Clarify the symptom, the affected URL, and the expected behavior. Note the language/locale if the site is multilingual.
- Locate the code path:
src/,packages/<addon>/src/, orsrc/addons/<addon>/src/, depending on the generation. - Reproduce and isolate: make minimal changes, add short-lived logs if needed, and confirm the exact component/block responsible.
- Implement the fix in the most appropriate layer (project or add-on). Favor design tokens and shared helpers over hard-coded values.
- Verify with the smallest relevant check (unit test, lint, typecheck, or a targeted runtime check) and report what you ran.
Common tasks
- Add-on debugging: find the add-on in the project's add-on registry
(
volto.config.js,package.jsonaddons, ormrs.developer.json), then trace the component to its package. - Blocks/components: check both the edit and the view components; cover the edit-time behavior and the saved output.
- Theme/tokens: replace hard-coded values with design tokens and update
shared theme/config entries to keep consistency. See the
eea-design-systemskill. - i18n: define messages in the add-on/project, then run the project's i18n
target (
make i18n). - Routing/multilingual links: check locale-aware routing and URL generation before hardcoding language paths.
Good practices
- Prefer readable, minimal diffs; avoid refactors unless they are required for the fix.
- Keep temporary logs out of the final patch.
- For new features, add or update Jest/Vitest coverage.
- For Cypress, follow
volto-cypress-writer— UI-first, no API-seeded setup. - Run the project's or add-on's lint/check target before declaring done.
- Restart the frontend server after adding new shadow customizations if the project requires it.
Repo context
Use references/volto-project-layouts.md for the known EEA layouts, commands,
test runners, and Cypress specPattern differences.
Verification
Run the smallest relevant command from the project/add-on Makefile, for example
make check, make lint, make test, or the add-on's own targets. Report the
exact command and result.
<!-- BEGIN EEA-OVERRIDES -->EEA-Specific Overrides
<!-- EEA-Overrides-Version: 1.0 --><!-- Last-Sync: 2026-09-18 -->EEA-wide frontend policy
Supported Volto versions
EEA frontends run Volto 17, 18, or 19 depending on the project. Do not assume a
version: read it from the project (package.json, .nvmrc, or the template
generation) and match the commands and test runner to it. New projects default
to the latest Volto supported by the EEA Cookieplone templates.
Add-on registry
Reusable EEA frontend behavior lives in @eeacms/* add-ons. Prefer extending an
existing add-on over copying code into a project. Register project-local add-ons
through the project's add-on configuration (volto.config.js, package.json
addons, or mrs.developer.json).
Release and CI
EEA frontend releases go through Jenkins and release-it from the develop
branch. Do not create release tags or Docker images manually; the pipeline
derives them from git tags. See the jenkins-pipeline skill for the CI contract.
Handoff to other EEA skills
- Cypress/E2E work →
volto-cypress-writer - Design tokens and visual language →
eea-design-system - Build and quality gates →
jenkins-pipeline,code-quality,testing
<!-- END EEA-OVERRIDES --><!-- Merged Build: upstream SKILL.md + EEA-OVERRIDES.md --><!-- Auto-generated by scripts/build.sh - DO NOT EDIT DIRECTLY --><!-- Source: https://github.com/eea/eea.agent.skills -->Does it work?
Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.
No reviews yet
People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.
- It worked
- Partly
- It didn't
Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.
Your trail
Files you open will collect here, so you can find them again.
Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.
Now do this for your own.
Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.

