-
Notifications
You must be signed in to change notification settings - Fork 1
Description
📋 Issue Type
Enhancement / Content Generation
🎯 Objective
Transform incomplete committee reports articles (dates 2026-02-10 through 2026-02-14) from simple link lists into comprehensive analytical articles with full data analysis, context, and commentary using riksdagen/regering MCP data.
📊 Current State
Articles Affected: ~28 articles (2 dates × 14 languages)
- Pattern:
news/2026-02-{10,13,14}-committee-reports-{lang}.html - Current Content: Link lists with document IDs, generic descriptions
- Missing: Real data analysis, committee context, political significance, cross-committee patterns
- Title Issue: Generic "Committee Reports: Parliamentary Priorities This Week" - same for all dates
- Description Issue: Generic "Analysis of 10 committee reports revealing Riksdag priorities" - not content-specific
Example Current State (2026-02-18-committee-reports-en.html):
<h3>Controls on cash at internal borders</h3>
<p><strong>Committee:</strong> SkU</p>
<p><strong>Document:</strong> <a href="...">HD01SkU19</a></p>
<p>Committee report on parliamentary matter.</p>Issues:
- ❌ No analysis of document content
- ❌ No committee context (what is SkU responsible for?)
- ❌ No political significance explained
- ❌ No cross-document patterns identified
- ❌ Generic "Committee report on parliamentary matter" text
- ❌ Missing "What to Watch" section with insights
- ❌ Same title/description across all dates
🚀 Desired State
Rich analytical articles with:
- ✅ Document-specific analysis: Fetch full document details via
riksdagen-search_dokumentandriksdagen-get_dokument - ✅ Committee context: Explain committee roles, jurisdiction, political composition
- ✅ Political significance: Why this report matters, coalition dynamics, party positions
- ✅ Cross-committee patterns: Identify themes across multiple reports
- ✅ Historical context: Compare to previous session activity
- ✅ Watch section: Forward-looking insights about chamber debates, expected votes
- ✅ Content-based titles: E.g., "Tax Agency Data Protection and Border Controls Dominate Committee Work"
- ✅ Specific descriptions: Reference actual policy areas covered
- ✅ 14-language completeness: Fully translated analysis, not just English
Example Enhanced Content:
<h3>Controls on cash at internal borders</h3>
<p><strong>Committee:</strong> Tax Committee (SkU)</p>
<p><strong>Document:</strong> <a href="...">HD01SkU19</a></p>
<p>The Tax Committee recommends approval of enhanced cash control measures at Sweden's internal Schengen borders, responding to increasing concerns about money laundering and organized crime. The report reflects cross-party consensus on border security, with Social Democrats and Moderates aligning despite divergent views on broader immigration policy. This marks the third border security measure to advance through committee this session, signaling heightened priority on transnational crime.</p>
<p><strong>Key Points:</strong></p>
<ul>
<li>Extends customs authority to conduct targeted cash checks</li>
<li>Supported by S, M, SD, KD (unanimous committee approval)</li>
<li>Implementation timeline: Q3 2026</li>
<li>Expected chamber vote: February 24-25</li>
</ul>🔧 Implementation Approach
Step 1: Data Collection via riksdagen/regering MCP
// For each committee report document ID (e.g., HD01SkU19):
riksdag-regering-get_dokument({
dok_id: "HD01SkU19",
include_full_text: true
})
// Get committee context:
riksdag-regering-get_utskott()
// Get related voting data if available:
riksdag-regering-search_voteringar({
bet: "SkU19",
rm: "2025/26",
groupBy: "parti"
})Step 2: Content Generation
For each document in the article:
- Fetch full document details (title, summary, proposer, status)
- Analyze committee role (jurisdiction, political composition)
- Identify political significance (party positions, coalition dynamics)
- Extract key points (policy changes, timeline, expected votes)
- Generate contextual commentary (150-300 words per document)
For each article:
- Generate content-based title reflecting actual policy areas
- Write specific lede mentioning key reports and themes
- Add cross-cutting analysis section identifying patterns
- Create "What to Watch" section with forward-looking insights
- Update metadata (title, description, keywords) to match content
Step 3: Multi-Language Translation
- Primary language: Swedish (source language for documents)
- Secondary: English (analysis and commentary)
- All 14 languages: Translate analysis using translation guides
- RTL support: Arabic, Hebrew with proper layout
Step 4: Quality Validation
- ✅ Each document has 150-300 word analysis
- ✅ Committee context explained
- ✅ Political significance clear
- ✅ Forward-looking insights present
- ✅ All 14 languages fully translated
- ✅ Unique titles and descriptions per date
- ✅ HTML validation passes
- ✅ Link checking passes
📊 Riksdagen/Regering MCP Integration
MCP Server Configuration: Already configured in .github/copilot-mcp.json
{
"riksdag-regering": {
"type": "http",
"url": "https://riksdag-regering-ai.onrender.com/mcp",
"tools": ["*"]
}
}Required MCP Tools:
riksdag-regering-search_dokument- Search for committee reportsriksdag-regering-get_dokument- Fetch full document detailsriksdag-regering-get_utskott- Get committee informationriksdag-regering-search_voteringar- Get voting data if availableriksdag-regering-get_ledamot- Get MP information for context
Data Flow:
- Parse document IDs from existing articles (e.g., HD01SkU19)
- Fetch full document via
get_dokument(dok_id="HD01SkU19", include_full_text=true) - Extract: title, summary, proposer, status, related documents
- Analyze: political context, party positions, legislative significance
- Generate: commentary, key points, watch items
- Translate: into all 14 languages
✅ Acceptance Criteria
Content Quality
- Each document (10 per article) has 150-300 word analysis
- Committee context explained (role, jurisdiction, composition)
- Political significance identified (party positions, coalition dynamics)
- Key points extracted (policy changes, timeline, expected votes)
- Cross-cutting analysis section identifies patterns across reports
- "What to Watch" section with forward-looking insights
Metadata & Titles
- Unique titles per date reflecting actual policy areas covered
- Specific descriptions mentioning key reports (not generic text)
- Keywords updated to include actual policy topics
- Schema.org metadata updated with new titles/descriptions
Multi-Language Support
- All 14 languages fully translated (EN, SV, DA, NO, FI, DE, FR, ES, NL, AR, HE, JA, KO, ZH)
- Translation guides referenced for consistency
- RTL layout correct for Arabic and Hebrew
- No English text remaining in non-English versions
Technical Quality
- HTML validation passes (HTMLHint)
- Link checking passes (all document links valid)
- Language switchers functional
- BreadcrumbList structured data present
- Accessibility (WCAG 2.1 AA) verified
Date Coverage
- 2026-02-10-committee-reports-*.html (14 languages)
- 2026-02-13-committee-reports-*.html (14 languages)
- 2026-02-14-committee-reports-*.html (14 languages)
📚 References
Repository Documentation
- README.md: Project overview and structure
- ARCHITECTURE.md: C4 models and system design
- SECURITY_ARCHITECTURE.md: Security controls and compliance
- TRANSLATION_GUIDE.md: Multi-language standards
- NEWS_ARTICLE_STYLING_GUIDE.md: Article formatting standards
MCP Server Documentation
- riksdag-regering MCP: 32 specialized tools for Swedish political data
- MCP Configuration:
.github/copilot-mcp.json - Setup Guide:
.github/workflows/copilot-setup-steps.yml
ISMS Policies
- Secure Development Policy: https://github.com/Hack23/ISMS-PUBLIC/blob/main/Secure_Development_Policy.md
- ISO 27001 Controls: Security requirements for content generation
- GDPR Compliance: Political data handling requirements
Translation Resources
- Swedish Translation Guide: https://github.com/Hack23/homepage/blob/main/Swedish-Translation-Guide.md
- CIA Terminology: Political intelligence terms in 14 languages
Example Articles
- Complete article:
news/2026-02-13-evening-analysis-en.html(reference for structure and depth) - Incomplete article:
news/2026-02-18-committee-reports-en.html(current state to improve)
🤖 Recommended Agent
content-generator - Automated content generation, intelligence reports, multi-language news, template-based rendering for Swedish political transparency
Why this agent:
- Expert in data-to-narrative transformation
- Multi-language content generation (14 languages)
- Template-based markdown/HTML rendering
- Content validation and tone consistency
- Inverted pyramid structure for news articles
- OSINT methodologies for political analysis
🏷️ Labels
type:enhancement, priority:high, component:content-generation, component:i18n, agent:content-generator, scope:news-articles, mcp:riksdag-regering
📝 Additional Context
Why This Matters:
- Articles are currently placeholder content with no analytical value
- Users expect The Economist-style political journalism with depth and insight
- 14-language support requires proper translation of analysis, not just metadata
- Riksdagen/regering MCP access enables real data-driven content generation
- Sitemap already updated - no structural changes needed, only content enhancement
Success Metrics:
- Average article word count increases from ~800 to ~2,500 words
- Each document gets 150-300 word analysis (currently ~50 words)
- Unique titles and descriptions per date (currently repeated)
- 14-language completeness with full translation (currently partial)
- User engagement increases (time on page, article completion rate)
Implementation Timeline:
- Phase 1: Data collection and analysis (1-2 days)
- Phase 2: Content generation for 3 dates (2-3 days)
- Phase 3: Multi-language translation (2-3 days)
- Phase 4: Quality validation and refinement (1-2 days)
- Total: 6-10 days for 28 articles (3 dates × 14 languages)