Municipal Governance Plugin
AI tools for local government officials to streamline workflows and enhance productivity.
Municipal Governance Plugin
AI-powered productivity tools for local government elected officials and staff.
Overview
This plugin automates common workflows for municipal elected officials and staff:
- Ordinance Analysis: Review proposed ordinances against existing municipal code
- Meeting Preparation: Generate briefings from agenda packets
- Policy Research: Multi-source research with intergovernmental context
- Budget Review: Analyze fiscal impacts and budget items
- Constituent Communications: Draft responses following municipal communication standards
- Agenda Synthesis: Quick-turnaround agenda packet summaries
- Intergovernmental Scanning: Monitor state/federal policy impacts on local government
- Vendor Evaluation: Analyze vendor contracts, decompose deliverables, assess lock-in, and produce build feasibility specs
Quick Start
- Install the plugin
- Customize — Click "Customize plugin settings" to configure your municipality
- Create workspace — Run the Setup Project agent to scaffold a Cowork Project folder
- Try it — Upload an agenda packet and run
/municipal-governance:agenda-synthesis
Installation
Cowork (Claude Desktop)
- Download or clone this repository
- In Cowork, go to Settings > Plugins > Install from folder
- Select the
CivicWorkPlugindirectory - The plugin's commands will appear as
/municipal-governance:*
Claude Code (CLI)
- Clone this repository
- Open Claude Code in the repository directory — plugin files are detected automatically
Setup (Cowork)
-
Configure your municipality — Click "Customize plugin settings" on the Cowork home screen. Cowork auto-discovers most municipality info via web search (population, government type, council structure, code provider, meeting schedule) and asks you about what it can't find. This writes
municipal.local.md. -
Create a project workspace — Run the Setup Project agent from the Agents tab. It creates a folder on your computer with the right structure for governance work:
~/Municipal-Governance/{your-city}/ ├── CLAUDE.md ← Project instructions (auto-generated) ├── documents/ │ ├── agendas/ ← Drop agenda packets here │ ├── budgets/ ← Budget documents, AFRs │ ├── ordinances/ ← Proposed ordinances under review │ └── plans/ ← Comprehensive plan, strategic plan, CIP ├── meeting-notes/ ← Post-meeting summaries and action items └── research/ ← Saved policy researchThen point Cowork to it: "Work in a project" → "+" → "Use an existing folder" → select the created folder.
-
(Optional) Configure connectors — See Connectors below to enable live municipal code lookup.
Setup (Claude Code CLI)
- Run the Setup Municipality agent — it walks you through the full configuration interactively and offers to create a project workspace at the end.
- Or edit
municipal.local.mdmanually.
Why a Project Workspace?
The plugin provides analytical tools. The project workspace provides persistent memory. With a Cowork Project, Claude remembers prior meeting decisions, research, and your preferences across sessions — building institutional knowledge over time. Without it, every conversation starts fresh.
Commands
| Command | Description |
|---|---|
/municipal-governance:analyze-ordinance | Analyze proposed ordinances against municipal code |
/municipal-governance:meeting-prep | Prepare comprehensive briefings for council/committee meetings |
/municipal-governance:policy-research | Multi-source policy research workflow |
/municipal-governance:agenda-synthesis | Quick synthesis of agenda packets into briefings |
/municipal-governance:constituent-response | Draft constituent communications |
/municipal-governance:budget-review | Analyze budget items and fiscal impact |
/municipal-governance:intergovernmental-scan | Scan state/federal policy impacts |
/municipal-governance:vendor-evaluate | Evaluate vendor contracts, assess lock-in, and spec open-source alternatives |
Configuration
The plugin uses a three-layer architecture:
| Layer | File | What it contains |
|---|---|---|
| Municipality config | municipal.local.md | Your council structure, contacts, fiscal context, priorities |
| State reference | state-references/{STATE}.md | Statutory requirements, deadlines, thresholds, penalties |
| Skills | skills/*/SKILL.md | Analytical frameworks (state-agnostic) |
municipal.local.md is created when you customize the plugin. It includes: municipality name, state, government type, council structure, meeting schedule, code provider, budget context, fiscal thresholds, policy priorities, contacts, and committee structure.
State references provide jurisdiction-specific statutory content — statute citations, compliance deadlines, dollar thresholds, penalty structures, and institutional resources. Currently available: Illinois (state-references/IL.md). Additional states can be contributed by following the IL.md structure as a template.
The plugin works for any US municipality. State references add precision for compliance-critical areas; without one for your state, skills provide general framework guidance with a recommendation to verify state-specific requirements with legal counsel.
Skills
The plugin includes 12 domain expertise modules. You don't invoke these directly — Claude activates them automatically based on what you're working on.
| Skill | What it covers | Example prompt |
|---|---|---|
municipal-code-analysis | Code interpretation, cross-referencing, MunicipalMCP tool reference | "Does this amendment conflict with Chapter 19?" |
parliamentary-procedure | Robert's Rules, scripted chair language, quasi-judicial hearings | "What do I say to open a public hearing?" |
land-use-zoning | Zoning, variances, TIF districts, form-based codes, inclusionary zoning | "Walk me through the variance criteria for this parcel" |
public-finance | Budgets, fund accounting, debt, pension/OPEB, CIP planning | "What's the pension impact of this staffing proposal?" |
intergovernmental-relations | Home rule, preemption decision tree, IGA evaluation, grant scoring | "Should we pursue this grant opportunity?" |
policy-evaluation | Bardach framework, logic models, decision matrices, stakeholder analysis | "Evaluate these three approaches to short-term rentals" |
open-meetings-foia | OMA, FOIA exemption decision tree, closed session framework, response templates | "Can we discuss this in executive session?" |
council-communication | Staff reports, ordinances vs resolutions, legal drafting, constituent triage | "Should this be an ordinance or a resolution?" |
ethics-conflicts | Conflicts of interest, recusal procedures, gift rules, financial disclosure | "Do I need to recuse myself from this vote?" |
vendor-assessment | Vendor lock-in, build-vs-buy, technical decomposition, procurement analysis | "Should we renew this contract or build our own?" |
vendor-alternatives | Municipal software alternatives, replacement tiers, open-source landscape | "What open-source options exist for agenda management?" |
Connectors
The plugin can optionally connect to external data sources via MCP servers. Currently supported:
| Connector | Description | Provider |
|---|---|---|
municipal-code | Search and retrieve municipal code sections (7 tools) | MunicipalMCP (Municode API) |
Seven of the ten skills include domain-specific search patterns for municipal-code (e.g., zoning queries, ethics ordinance lookups, budget code references). Without connectors, commands work with uploaded documents and web search.
How It Works
- You run a command (e.g.,
/municipal-governance:meeting-prep) and upload a document - Claude asks a few quick scoping questions — what items matter to you, how deep should the analysis go
- Claude loads your municipality's configuration from
municipal.local.mdand the applicable state reference fromstate-references/ - Relevant skills activate automatically based on the subject matter
- You get structured output with attention-priority flags (red/yellow/green), confidence indicators on key claims, and recommended next steps — matched to the depth you asked for
- For high-stakes items, the output includes an Analysis Boundaries section — a transparent disclosure of what the analysis can and cannot responsibly conclude as a single AI instance, with specific recommendations for verification (attorney review, staff confirmation, or escalation to PolicyAide's multi-agent deliberation framework)
Why Analysis Boundaries Matter
Most AI tools pretend they can handle everything. This plugin tells you when it's not enough. A single AI instance is great for research, organization, and synthesis — but policy decisions with real fiscal, legal, or community impact deserve adversarial testing, independent verification, and human judgment. The plugin knows its own limits and says so.
License
Apache 2.0 License — Built by CivicWork