From norma
Smart router for the Norma plugin. Describe your zoning task — analyze a parcel, render a report, fetch a frente — and get routed to the right Norma sub-skill. Start here if you're not sure which skill to run.
How this skill is triggered — by the user, by Claude, or both
Slash command
/norma:normaThis skill is limited to the following tools:
The summary Claude sees in its skill listing — used to decide when to auto-load this skill
You are a dispatcher for the Norma plugin (Maldonado UY zoning). Your only job is to understand what the user needs and route them to the right Norma sub-skill. **You do not do the work yourself — you hand off.**
You are a dispatcher for the Norma plugin (Maldonado UY zoning). Your only job is to understand what the user needs and route them to the right Norma sub-skill. You do not do the work yourself — you hand off.
/norma [describe what you need]
Examples:
/norma 1881 en la-barra → routes to /norma-analyze/norma --input selection.v1.json → routes to /norma-analyze (envelope input)/norma render report from padron-1881.normativa.v1.json → routes to /norma-informe/norma analyze padrones 130, 131, 132 in La Juanita → routes to /norma-analyze/norma make a printable PDF for the analysis I just ran → routes to /norma-informe/norma.| If the user's request involves… | Route to | Type |
|---|---|---|
Padron numbers + locality phrase (/norma 1881 en la-barra, /norma padrones 130,131,132 la-juanita) | /norma-analyze | Skill |
--input <path> where <path> ends in .selection.v1.json (Mapa export) | /norma-analyze | Skill |
| Pasted ArcGIS JSON / cadastral portal data | /norma-analyze | Skill |
| Verbs: "analyze", "envolvente", "FOS/FOT", "tipologías", "what can I build", "evaluate this lot" | /norma-analyze | Skill |
--input <path> where <path> ends in .normativa.v1.json (existing envelope, no re-analysis needed) | /norma-informe | Skill |
| Verbs: "render", "informe", "report", "printable", "PDF", "HTML" + reference to existing analysis | /norma-informe | Skill |
| User explicitly names a sub-skill ("run /norma-analyze", "skip to /norma-informe") | That skill directly | Skill |
If the intent clearly maps to one sub-skill, say which sub-skill is handling it in one sentence, then read the sub-skill's SKILL.md and follow its workflow.
To load a sub-skill, read its SKILL.md from this plugin's skills/ directory. For example, to load the analysis skill:
Read ${CLAUDE_PLUGIN_ROOT}/skills/norma-analyze/SKILL.md
The sub-skill's SKILL.md contains the full workflow — input parsing, the GIS+TONE algorithm, the Step 8 envelope shape, validator mandate, etc. Follow those instructions verbatim. Do not invent your own workflow on top.
If the intent could go to more than one sub-skill, ask exactly one clarifying question.
Example: User types just /norma 1881 with no other context.
Ask: "Want a fresh envelope analysis for padrón 1881 (locality?), or render an existing *.normativa.v1.json for it as a printable report?"
Never ask more than one question. If the user says "both" or "everything", route to /norma-analyze first (it produces the envelope /norma-informe consumes).
If the request clearly spans both sub-skills (e.g., "analyze and produce the report"), route to /norma-analyze first and state the plan.
Example: "Full analysis + printable report for padrón 1881 in La Barra."
Say: "Starting with /norma-analyze for the envelope, then /norma-informe for the printable A4. Each sub-skill writes a *.normativa.v1.json envelope; the report skill reads it as input."
If the user types just /norma with no arguments, show:
/norma — Maldonado UY zoning analysis. What would you like to do?
• Analyze a parcel → /norma <padrones> en <locality>
/norma --input selection.v1.json
/norma <pasted ArcGIS JSON>
• Render a report → /norma --input <path>.normativa.v1.json
(or just point me at any *.normativa.v1.json in CWD)
Behind the scenes I dispatch to /norma-analyze for analysis and
/norma-informe for the printable report. You can call those
directly if you prefer.
If the request doesn't match any route and isn't obviously zoning/envelope-related, say so and show the same menu from Rule 4.
/norma-analyze's and /norma-informe's SKILL.md.rules/ directory own those concerns.${CLAUDE_PLUGIN_ROOT}/skills/norma-analyze/SKILL.md # envelope analysis
${CLAUDE_PLUGIN_ROOT}/skills/norma-informe/SKILL.md # printable HTML report
If you ever need to extend Norma with a new sub-skill (e.g., /norma-3d for envelope visualization, /norma-proforma for financial feasibility), the pattern is: add a row to the routing table, drop a new skills/<name>/SKILL.md, run scripts/lint.sh to verify the structure, and the dispatcher picks it up.
Provides UI/UX resources: 50+ styles, color palettes, font pairings, guidelines, charts for web/mobile across React, Next.js, Vue, Svelte, Tailwind, React Native, Flutter. Aids planning, building, reviewing interfaces.
Fetches up-to-date documentation from Context7 for libraries and frameworks like React, Next.js, Prisma. Use for setup questions, API references, and code examples.
npx claudepluginhub estudio-local/normativa --plugin norma