Help us improve
Share bugs, ideas, or general feedback.
From infrastructure-corridor-ops
Summarizes stakeholder feedback from public meetings and consultations, categorizes themes, performs sentiment analysis, and generates response strategies and briefing notes.
npx claudepluginhub reggiechan74/vp-real-estate --plugin infrastructure-corridor-opsHow this skill is triggered — by the user, by Claude, or both
Slash command
/infrastructure-corridor-ops:stakeholder-management-expertThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
Use this skill when you need to:
README.mdconsultation_input_schema.jsonconsultation_summarizer.pymodules/__init__.pymodules/nlp_processing.pymodules/output_formatters.pymodules/validators.pysamples/sample_1_station_public_meeting.jsonscripts/shared_utils/README_FINANCIAL_UTILS.mdscripts/shared_utils/__init__.pyscripts/shared_utils/financial_utils.pyscripts/shared_utils/land_assembly_utils.pyscripts/shared_utils/negotiation_utils.pyscripts/shared_utils/report_utils.pyscripts/shared_utils/risk_utils.pyscripts/shared_utils/schemas/comparable_sales_input_schema.jsonscripts/shared_utils/stakeholder_utils.pyscripts/shared_utils/timeline_utils.pyDesigns consultation programs for controversial infrastructure projects: maps stakeholders, applies IAP2 engagement levels, plans open houses/workshops, and prepares 'What We Heard' reports.
Synthesizes user research from interviews, surveys, feedback into themes, prioritized findings by frequency/impact, and roadmap recommendations.
Documents stakeholder needs, concerns, influence, relationships, and engagement plans for projects. Use when starting initiatives, handling changes, or ensuring alignment.
Share bugs, ideas, or general feedback.
Use this skill when you need to:
consultation_summarizer.py)Analyzes stakeholder feedback and generates comprehensive summary with response strategy.
Purpose: Summarize public meeting feedback and develop response strategy
Input: JSON file with meeting info, comments, and theme categories
Output: Markdown or JSON report with:
Usage:
# Basic usage (auto-generates output in Reports/)
python consultation_summarizer.py samples/sample_1_station_public_meeting.json
# Specify output file
python consultation_summarizer.py input.json --output report.md
# JSON output format
python consultation_summarizer.py input.json --format json --output results.json
# Verbose mode
python consultation_summarizer.py input.json --verbose
Input Schema: See consultation_input_schema.json
{
"meeting_info": {
"meeting_date": "2025-10-15",
"meeting_type": "public_meeting",
"attendance": 85,
"location": "Community Center, 123 Main Street",
"project_name": "North Transit Station Project",
"phase": "preliminary_design"
},
"comments": [
"Concerned about traffic congestion during construction",
"Property values will decline",
"Support this project! We need better transit.",
...
],
"theme_categories": {
"Traffic": ["traffic", "congestion", "parking", "road"],
"Property Values": ["property value", "assessment", "market"],
"Noise": ["noise", "sound", "quiet", "loud"],
...
},
"priorities": {
"Traffic": 1,
"Property Values": 2,
"Noise": 3
}
}
Define categories and keyword patterns for classification:
{
"Traffic": ["traffic", "congestion", "parking", "road"],
"Property Values": ["property value", "market", "taxes"],
"Business Impact": ["business", "customer", "sales", "revenue"],
"Safety": ["safety", "crime", "security", "emergency"],
"Accessibility": ["access", "wheelchair", "bike", "pedestrian"],
"Environmental": ["dust", "air quality", "pollution", "trees"],
"Compensation": ["compensation", "damages", "payment"],
"Communication": ["information", "notice", "update"]
}
Assign priority levels (1=highest, 5=lowest) for response strategy:
{
"Traffic": 1,
"Construction Impact": 1,
"Business Impact": 2,
"Property Values": 2,
"Noise": 3,
"Accessibility": 3
}
{
"demographics": {
"residents": 52,
"business_owners": 18,
"property_owners": 10,
"elected_officials": 2,
"advocacy_groups": 3
}
}
{
"output_options": {
"include_quotes": true,
"max_quotes_per_sentiment": 5,
"include_commitments": true,
"output_format": "markdown"
}
}
# Stakeholder Consultation Summary
## North Transit Station Project
**Meeting Type:** Public Meeting
**Meeting Date:** 2025-10-15
**Location:** Community Center, 123 Main Street
**Project Phase:** Preliminary Design
## Attendance
**Total Attendance:** 85 people
### Demographic Breakdown
- Residents: 52 (61.2%)
- Business Owners: 18 (21.2%)
- Property Owners: 10 (11.8%)
...
## Overview Statistics
**Total Comments Received:** 85
**Categorized Comments:** 82 (96.5%)
**Themes Identified:** 10
### Sentiment Overview
**Overall Sentiment:** Moderate Opposition
- Support: 15
- Opposition: 42
- Neutral: 18
- Mixed: 10
## Key Themes and Concerns
| Rank | Theme | Comments | Percentage |
|------|-------|----------|------------|
| 1 | Traffic | 28 | 32.9% |
| 2 | Construction Impact | 22 | 25.9% |
| 3 | Business Impact | 15 | 17.6% |
...
### Top 3 Themes (Detailed)
#### Traffic (28 comments)
- "Very concerned about traffic congestion during construction..."
- "Traffic on Oak Avenue is already terrible..."
- "Traffic study is incomplete..."
## Response Strategy Recommendations
### High Priority
#### Traffic (28 comments)
**Strategy:** Prepare detailed traffic management plan and commit to mitigation measures
**Tactics:**
- Present traffic study with before/after analysis
- Commit to construction traffic routing away from residential streets
- Provide timeline for peak construction activities
- Establish complaint hotline for traffic issues
## Commitments Tracking Matrix
| Theme | Commitment | Responsible | Deadline | Status |
|-------|-----------|-------------|----------|--------|
| Traffic | No construction traffic on Main St | Project Team | Before construction | Pending |
...
## Recommended Next Steps
1. Circulate Summary
2. Implement High Priority Responses
3. Track Commitments
4. Follow-up Communication
5. Schedule Next Consultation
This skill uses the following shared utility functions:
Shared_Utils/stakeholder_utils.py:categorize_themes() - Categorize feedback into themessentiment_analysis() - Analyze sentiment (support/opposition/neutral)frequency_weighting() - Weight themes by frequencygenerate_response_strategy() - Generate response strategiescommitments_matrix() - Extract and track commitmentsextract_key_quotes() - Extract representative quotesShared_Utils/report_utils.py:format_markdown_table() - Format data as markdown tableseastern_timestamp() - Generate Eastern Time timestampsstakeholder-management-expert/
├── SKILL.md # This file
├── consultation_summarizer.py # Main calculator
├── consultation_input_schema.json # JSON Schema validation
├── modules/
│ ├── validators.py # Input validation
│ ├── nlp_processing.py # Natural language processing
│ └── output_formatters.py # Report formatting
└── samples/
└── sample_1_station_public_meeting.json # Sample input
Scenario: Transit authority holds public meeting for new station. 85 attendees provide feedback.
Input:
{
"meeting_info": {
"meeting_date": "2025-10-15",
"attendance": 85,
"project_name": "North Transit Station Project"
},
"comments": [
"Concerned about traffic congestion during construction",
"Support this project! We need better transit.",
...
],
"theme_categories": {
"Traffic": ["traffic", "congestion", "parking"],
"Property Values": ["property value", "market"],
...
}
}
Analysis Results:
Scenario: Highway expansion project holds workshop. Focus on business impacts.
Key Findings:
This skill works well with: