Setup Project Workspace
Sets up a persistent project workspace for municipal governance work.
Creates a Cowork Project folder for your municipality's governance work, enabling persistent memory across sessions.
Role
This agent reads your municipality's configuration from municipal.local.md and scaffolds a local project workspace with the right structure and instructions. After creation, you point Cowork's "Work in a project" feature to this folder for a persistent governance workspace with cross-session memory.
When to Use
Run this agent:
- After installing the plugin and configuring your municipality (via "Customize plugin settings" or the setup-municipality agent)
- To set up a persistent workspace with cross-session memory in Cowork
Prerequisites
municipal.local.md must be configured with at least a municipality name and state. If it's not configured yet, run "Customize plugin settings" first or use the setup-municipality agent.
Instructions
Step 1: Read Configuration
Read municipal.local.md in this plugin's directory. Extract:
- Municipality name
- State
- Government type
- Council/board structure
- Key contacts (if available)
- Current priorities (if available)
- Fiscal year
- Meeting schedule
If municipal.local.md is missing or unconfigured (still has bracket placeholders for name and state), tell the user to configure it first and stop.
Step 2: Choose Location
Ask the user:
"I'll create a governance workspace for {municipality name}. Where would you like it?
Default:
~/Municipal-Governance/{city-name}/Press Enter for the default, or type a different path."
Use the default if the user accepts. Sanitize the city name for the folder (lowercase, hyphens for spaces, no special characters).
Step 3: Create Folder Structure
Create:
{workspace}/
├── CLAUDE.md
├── documents/
│ ├── agendas/
│ ├── budgets/
│ ├── ordinances/
│ └── plans/
├── meeting-notes/
└── research/
Step 4: Generate Project CLAUDE.md
Write a CLAUDE.md in the workspace root, populated from municipal.local.md data. This file is loaded into every conversation in the project — keep it concise.
Use this template, filling in values from municipal.local.md (use the placeholder note for any fields that are still bracket placeholders):
# {Municipality Name} — Municipal Governance Workspace
Powered by the **municipal-governance** plugin from [CivicWork](https://civicwork.ai).
Memory is enabled — Claude builds institutional knowledge across sessions in this project.
## Municipality
- **Name**: {name}
- **State**: {state}
- **Government**: {government type}
- **Home Rule**: {yes/no/unknown}
- **Population**: {if available}
## Standing Instructions
When using `/municipal-governance:*` commands in this project:
1. Load the state reference from the plugin (`state-references/{STATE}.md`) for jurisdiction-specific statutory requirements
2. Check `meeting-notes/` for context from prior meetings before preparing new meeting briefs
3. Reference `documents/plans/` for comprehensive plan and strategic plan alignment checks
4. Save policy research outputs to `research/` for future reference
5. After meetings, use `/municipal-governance:meeting-close-out` and save results to `meeting-notes/`
## Workspace
| Folder | What goes here |
|--------|---------------|
| `documents/agendas/` | Agenda packets for meeting-prep and agenda-synthesis |
| `documents/budgets/` | Budget documents, AFRs, financial reports |
| `documents/ordinances/` | Proposed ordinances under review |
| `documents/plans/` | Comprehensive plan, strategic plan, CIP |
| `meeting-notes/` | Post-meeting summaries, decisions, action items |
| `research/` | Saved policy research for future reference |
## Key Contacts
{If contacts found in municipal.local.md, list them. Otherwise:}
<!-- Fill in key staff contacts: city manager, clerk, attorney, finance director, FOIA officer -->
## Current Priorities
{If priorities found in municipal.local.md, list them. Otherwise:}
<!-- Fill in 3-5 current council/administration priorities -->
## Meeting Schedule
{If schedule found in municipal.local.md, include it. Otherwise:}
<!-- Fill in regular meeting day, time, and location -->
Step 5: Tell the User What to Do Next
After creating the workspace:
Your governance workspace is ready at
{path}/To activate it as a Cowork Project:
- Click "Work in a project" at the top of the Cowork chat
- Click the + button
- Select "Use an existing folder"
- Navigate to
{path}/and select itFrom then on, start your governance work by selecting this project from the "Work in a project" dropdown. Claude will have persistent memory across sessions — it'll remember prior meeting decisions, research, and your preferences.
Quick start: Drop an agenda packet PDF into
documents/agendas/and run/municipal-governance:agenda-synthesis.
Important Guidelines
- Keep this fast — under 1 minute for the entire process
- Use defaults unless the user objects. Don't ask unnecessary questions.
- If municipal.local.md has incomplete data, still create the workspace — note which sections need filling in
- The project CLAUDE.md must stay concise — it's loaded into every conversation