![]()
๐ฏ 24 Specialised GitHub Copilot Agents Powering Democratic Transparency
๐ต๏ธ 14 Persona Agents ยท โ๏ธ 9 Workflow-Specialist Agents ยท ๐ 1 Shared Developer Instructions
๐ Document Owner: CEO | ๐ข Owner: Hack23 AB (Org.nr 559534-7807) | ๐ท๏ธ Classification: ๐ข Public
This repository includes custom GitHub Copilot agents specialized for different aspects of the riksdagsmonitor project. Each agent has deep expertise in its domain and can be invoked to assist with specific tasks.
Directory-level catalog:
.github/agents/README.mdโ summarises all 24 agent files (14 persona agents + 9 workflow-specialist.agent.md+ shareddeveloper.instructions.md). This document is the long-form reference with invocation examples and per-agent skill mappings. Companion docs:SKILLS.mdยท.github/skills/README.mdยท.github/prompts/README.mdยท.github/workflows/README.md
security-architect)Expertise: Security architecture, ISMS compliance, threat modeling, ISO 27001/NIST CSF/CIS Controls
Use for:
Example invocation:
assign_copilot_to_issue({
owner: "Hack23",
repo: "riksdagsmonitor",
issue_number: 123,
custom_agent: "security-architect",
custom_instructions: "Review and update SECURITY_ARCHITECTURE.md with new controls"
})
documentation-architect)Expertise: C4 architecture models, Mermaid diagrams, technical documentation, knowledge management
Use for:
Example invocation:
assign_copilot_to_issue({
owner: "Hack23",
repo: "riksdagsmonitor",
issue_number: 124,
custom_agent: "documentation-architect",
custom_instructions: "Create comprehensive ARCHITECTURE.md with C4 models"
})
quality-engineer)Expertise: HTML/CSS validation, accessibility testing, link checking, CI/CD quality gates
Use for:
Example invocation:
assign_copilot_to_issue({
owner: "Hack23",
repo: "riksdagsmonitor",
issue_number: 125,
custom_agent: "quality-engineer",
custom_instructions: "Fix all HTML validation errors and ensure WCAG 2.1 AA compliance"
})
frontend-specialist)Expertise: Static HTML/CSS, responsive design, multi-language localization, modern frontend
Use for:
Example invocation:
assign_copilot_to_issue({
owner: "Hack23",
repo: "riksdagsmonitor",
issue_number: 126,
custom_agent: "frontend-specialist",
custom_instructions: "Implement responsive navigation with support for all 14 languages"
})
isms-compliance-manager)Expertise: ISMS policy enforcement, ISO 27001, NIST CSF 2.0, CIS Controls, audit preparation
Use for:
Example invocation:
assign_copilot_to_issue({
owner: "Hack23",
repo: "riksdagsmonitor",
issue_number: 127,
custom_agent: "isms-compliance-manager",
custom_instructions: "Perform compliance gap analysis and verify all required documentation exists"
})
deployment-specialist)Expertise: GitHub Pages deployment, GitHub Actions, CI/CD security, workflow optimization
Use for:
Example invocation:
assign_copilot_to_issue({
owner: "Hack23",
repo: "riksdagsmonitor",
issue_number: 128,
custom_agent: "deployment-specialist",
custom_instructions: "Optimize CI/CD pipeline and add security hardening"
})
intelligence-operative)Expertise: Political intelligence analysis, OSINT methodologies, Swedish politics, behavioral analysis
Use for:
Long-horizon expertise:
.github/prompts/ext/cycle-rollover.mdscripts/horizon-context.ts and analysis/article-types.jsonData Sources via riksdag-regering-mcp:
Example invocation:
assign_copilot_to_issue({
owner: "Hack23",
repo: "riksdagsmonitor",
issue_number: 129,
custom_agent: "intelligence-operative",
custom_instructions: "Create voting discipline dashboard showing party cohesion metrics for 2024"
})
task-agent) โจ NEWExpertise: Product excellence, quality assurance, ISMS compliance, Playwright testing, issue management
Use for:
Key Capabilities:
Example invocation:
assign_copilot_to_issue({
owner: "Hack23",
repo: "riksdagsmonitor",
issue_number: 130,
custom_agent: "task-agent",
custom_instructions: `
Audit accessibility compliance for all 14 language versions.
Create issues for any WCAG 2.1 AA violations found.
Include Playwright screenshots as evidence.
`
})
ui-enhancement-specialist) โจExpertise: Static HTML5/CSS3, responsive design, multi-language localization, WCAG 2.1 AA accessibility
Use for:
Key Capabilities:
Example invocation:
assign_copilot_to_issue({
owner: "Hack23",
repo: "riksdagsmonitor",
issue_number: 131,
custom_agent: "ui-enhancement-specialist",
custom_instructions: `
Implement voting discipline dashboard using CSS-only visualizations.
Ensure WCAG 2.1 AA compliance and responsive design.
Support all 14 languages including RTL for Arabic and Hebrew.
`
})
data-pipeline-specialist) โจExpertise: CIA data consumption, ETL workflows, data validation, caching strategies, pipeline automation
Use for:
Key Capabilities:
Addresses: Issues #18 (foundation), #19, #20 (CIA data pipeline)
Example invocation:
assign_copilot_to_issue({
owner: "Hack23",
repo: "riksdagsmonitor",
issue_number: 18,
custom_agent: "data-pipeline-specialist",
custom_instructions: `
Implement automated CIA data consumption pipeline:
- Fetch 19 CIA visualization products nightly at 02:00 CET
- Validate against CIA JSON schemas
- Cache with version tracking and archival
- Monitor data freshness (< 24 hours)
- Implement graceful fallback to cached data
`
})
data-visualization-specialist) โจExpertise: Chart.js/D3.js, interactive dashboards, political data visualization, CIA intelligence displays
Use for:
Key Capabilities:
Addresses: Issues #15, #16, #19, #20 (CIA visualization)
Example invocation:
assign_copilot_to_issue({
owner: "Hack23",
repo: "riksdagsmonitor",
issue_number: 20,
custom_agent: "data-visualization-specialist",
custom_instructions: `
Visualize CIA Election 2026 Forecasting Model:
- Seat prediction bar charts with confidence intervals (ยฑ5 seats)
- Coalition scenario probability charts (stacked bar)
- Historical trend lines (50 years)
- Interactive tooltips with methodology
- Responsive design (320px-1440px+)
- WCAG 2.1 AA accessibility
`
})
content-generator) โจ NEWExpertise: Automated news generation, intelligence reports, multi-language content, template-based rendering
Use for:
Key Capabilities:
Long-horizon expertise:
scripts/horizon-context.ts and analysis/article-types.json.github/prompts/ext/cycle-rollover.mdAddresses: Issue #17 (nightly news generation)
Example invocation:
assign_copilot_to_issue({
owner: "Hack23",
repo: "riksdagsmonitor",
issue_number: 17,
custom_agent: "content-generator",
custom_instructions: `
Implement nightly news generation from CIA intelligence exports:
- Generate daily articles from 19 CIA products
- Create election forecast updates with seat predictions
- Generate risk assessment summaries
- Support all 14 languages
- Include proper YAML front matter
- Validate content quality and factual accuracy
- Commit to content/ directory via automated PR
`
})
devops-engineer) โจ NEWExpertise: CI/CD pipelines, GitHub Actions security, infrastructure automation, monitoring, performance optimization
Use for:
Key Capabilities:
Addresses: Infrastructure automation for all agents
Example invocation:
assign_copilot_to_issue({
owner: "Hack23",
repo: "riksdagsmonitor",
issue_number: 200,
custom_agent: "devops-engineer",
custom_instructions: `
Optimize CI/CD pipeline for riksdagsmonitor:
- Reduce build time from 5 min to < 2 min
- Implement GitHub Actions caching (dependencies, build)
- Add Lighthouse CI for performance monitoring
- Harden all workflows (SHA pinning, step-security/harden-runner)
- Add uptime monitoring for all 14 language versions
- Implement automated data pipeline (nightly 02:00 CET)
`
})
news-journalist) โจ NEWExpertise: Political journalism, editorial standards, OSINT/INTOP data-driven AI-generated political intelligence, Swedish and global politics
Use for:
Key Capabilities:
Long-horizon expertise:
scripts/horizon-context.ts and analysis/article-types.jsonExample invocation:
assign_copilot_to_issue({
owner: "Hack23",
repo: "riksdagsmonitor",
issue_number: 201,
custom_agent: "news-journalist",
custom_instructions: `
Generate daily political news article covering:
- Latest government propositions
- Opposition motions
- Committee reports
- Support all 14 languages
- Include Schema.org structured data
`
})
All agents support modern GitHub Copilot coding agent features:
github-update_issue({
owner: "Hack23",
repo: "riksdagsmonitor",
issue_number: 123,
assignees: ["copilot-swe-agent[bot]"]
})
assign_copilot_to_issue({
owner: "Hack23",
repo: "riksdagsmonitor",
issue_number: 123,
base_ref: "main", // Optional: specify base branch
custom_instructions: `
- Follow Hack23 ISMS policies
- Use security-by-design principles
- Update all relevant documentation
- Ensure WCAG 2.1 AA compliance
`
})
create_pull_request_with_copilot({
owner: "Hack23",
repo: "riksdagsmonitor",
title: "Security Enhancement",
body: "Implement additional security controls",
base_ref: "main",
custom_agent: "security-architect"
})
const status = get_copilot_job_status({
owner: "Hack23",
repo: "riksdagsmonitor",
job_id: "abc123-def456"
});
// PR 1: Foundation
const pr1 = create_pull_request_with_copilot({
owner: "Hack23",
repo: "riksdagsmonitor",
title: "Foundation: Security documentation",
body: "Create security architecture docs",
base_ref: "main"
});
// PR 2: Build on PR 1
const pr2 = create_pull_request_with_copilot({
owner: "Hack23",
repo: "riksdagsmonitor",
title: "Enhancement: Security controls",
body: "Implement security controls from documentation",
base_ref: pr1.branch,
custom_agent: "security-architect"
});
Important: Repository-level agents in .github/agents/ cannot have MCP servers configured in their YAML frontmatter. MCP servers are configured at the repository level in .github/copilot-mcp.json and are automatically available to all agents.
Each agent file's YAML frontmatter contains only:
---
name: agent-name
description: Brief description of agent's expertise
tools: ["*"]
---
All 14 primary Copilot agents in this repo use tools: ["*"] and omit mcp-servers: entirely. The agent body after the frontmatter contains detailed instructions, capabilities, examples, a standardised "Available MCP Servers" reference, standardised Copilot coding-agent tool snippets (assign_copilot_to_issue, create_pull_request_with_copilot, get_copilot_job_status, including base_ref and custom_agent), and a standardised "Related Hack23 ISMS Policies" block pointing at the governance chain rooted in Information_Security_Policy.md. Each agent file MUST remain below the 16 KB GitHub Copilot agent size limit.
MCP servers are configured in .github/copilot-mcp.json:
{
"mcpServers": {
"github": {
"type": "local",
"command": "npx",
"args": ["-y", "@modelcontextprotocol/server-github", "--toolsets", "all", "--tools", "*"],
"env": {
"GITHUB_TOKEN": "${{ secrets.COPILOT_MCP_GITHUB_PERSONAL_ACCESS_TOKEN }}",
"GITHUB_PERSONAL_ACCESS_TOKEN": "${{ secrets.COPILOT_MCP_GITHUB_PERSONAL_ACCESS_TOKEN }}",
"GITHUB_OWNER": "Hack23",
"GITHUB_API_URL": "https://api.githubcopilot.com/mcp/insiders"
},
"tools": ["*"]
},
"filesystem": {
"type": "local",
"command": "npx",
"args": ["-y", "@modelcontextprotocol/server-filesystem", "/home/runner/work/riksdagsmonitor/riksdagsmonitor"],
"tools": ["*"]
},
"git": {
"type": "local",
"command": "npx",
"args": ["-y", "@modelcontextprotocol/server-git", "--repository", "/home/runner/work/riksdagsmonitor/riksdagsmonitor"],
"tools": ["*"]
}
}
}
Notes:
All agents automatically load relevant skills from .github/skills/ based on their expertise. Here's the recommended skill mapping for each agent:
Primary Skills (Core expertise):
hack23-isms-compliance - ISMS framework enforcementsecurity-by-design - Security architecture principlesstatic-site-security - Static website securitythreat-modeling - STRIDE threat analysisiso-27001-controls - ISO 27001:2022 controlsnist-csf-mapping - NIST CSF 2.0 functionscis-controls - CIS Controls v8.1secure-code-review - Security code reviewsecurity-documentation - ISMS documentationSupporting Skills:
ci-cd-security - GitHub Actions securitysecrets-management - Secrets and PAT managementPrimary Skills:
documentation-standards - Documentation guidelinesc4-architecture-documentation - C4 model and Mermaid diagramssecurity-documentation - ISMS documentation standardsSupporting Skills:
hack23-isms-compliance - Compliance requirementsthreat-modeling - Threat model documentationPrimary Skills:
code-quality-checks - HTML/CSS validation, link checkinghtml-accessibility - WCAG 2.1 AA complianceplaywright-testing - Browser automation and testingmulti-language-localization - i18n/l10n testingSupporting Skills:
responsive-design - Cross-device testingstatic-site-security - Security validationissue-management - Bug reporting and trackingPrimary Skills:
responsive-design - Mobile-first responsive designhtml-accessibility - WCAG 2.1 AA accessibilitymulti-language-localization - 14-language supportdesign-system-management - Cyberpunk theme design systemSupporting Skills:
static-site-security - XSS prevention, CSPcode-quality-checks - HTML/CSS validationpolitical-data-visualization - CSS-only visualizationsPrimary Skills:
hack23-isms-compliance - ISMS frameworkiso-27001-controls - ISO 27001:2022 Annex Anist-csf-mapping - NIST CSF 2.0cis-controls - CIS Controls v8.1security-documentation - Documentation standardsSupporting Skills:
security-by-design - Security principlesthreat-modeling - Risk assessmentgdpr-compliance - Data protectionPrimary Skills:
github-actions-workflows - CI/CD workflow patternsci-cd-security - Workflow security hardeningsecrets-management - GitHub secrets managementSupporting Skills:
static-site-security - Deployment securitycode-quality-checks - Quality gateshack23-isms-compliance - Compliance requirementsPrimary Skills:
riksdag-regering-mcp - 32 political data toolspolitical-science-analysis - Political frameworksosint-methodologies - OSINT collectionintelligence-analysis-techniques - ACH, SWOT, Red Teamswedish-political-system - Riksdag structureelectoral-analysis - Election forecastingbehavioral-analysis - Political psychologylegislative-monitoring - Voting patternsstrategic-communication-analysis - Narrative analysisrisk-assessment-frameworks - Risk indicatorsdata-science-for-intelligence - Statistical analysisSupporting Skills:
gdpr-compliance - Political data GDPRpolitical-data-visualization - CSS-only dashboardsmulti-language-localization - 14-language contentPrimary Skills:
issue-management - GitHub issue creationplaywright-testing - Browser automation and testingcode-quality-checks - HTML/CSS/link validationhtml-accessibility - WCAG 2.1 AA auditshack23-isms-compliance - ISMS verificationSupporting Skills:
Primary Skills:
responsive-design - Mobile-first designdesign-system-management - Cyberpunk themepolitical-data-visualization - CSS-only chartshtml-accessibility - WCAG 2.1 AAmulti-language-localization - 14-language supportSupporting Skills:
static-site-security - XSS, CSP enforcementcode-quality-checks - Validation and testingplaywright-testing - Visual regressionPrimary Skills:
cia-data-integration - CIA export consumption, JSON Schema validationdata-pipeline-engineering - ETL workflows, automated schedulingapi-integration - REST/GraphQL clients, rate limitinggithub-actions-workflows - Automated pipeline workflowsSupporting Skills:
performance-optimization - Data processing optimizationcode-quality-checks - Data validation checkssecrets-management - API keys and credentialsPrimary Skills:
advanced-data-visualization - Chart.js/D3.js, interactive dashboardspolitical-data-visualization - Political metrics visualizationresponsive-design - Responsive chart layoutshtml-accessibility - WCAG 2.1 AA chart accessibilityperformance-optimization - Large dataset optimizationSupporting Skills:
cia-data-integration - CIA data consumptionmulti-language-localization - 14-language chart labelscode-quality-checks - Chart validationPrimary Skills:
automated-content-generation - Template-based content generationmulti-language-localization - 14-language contenthtml-accessibility - Accessible article structuregithub-actions-workflows - Scheduled content generationSupporting Skills:
cia-data-integration - CIA data consumption for articlespolitical-science-analysis - Content validationresponsive-design - Article layoutstatic-site-security - Content securityPrimary Skills:
github-actions-workflows - CI/CD pipeline designci-cd-security - Workflow security hardeningsecrets-management - GitHub secrets, PATsperformance-optimization - Build and runtime optimizationSupporting Skills:
static-site-security - Infrastructure securitycode-quality-checks - Automated quality gateshack23-isms-compliance - Compliance requirementsthreat-modeling - Security architecturePrimary Skills:
editorial-standards - Journalism quality standardsautomated-content-generation - Template-based article generationmulti-language-localization - 14-language contentseo-optimization - Schema.org, meta tags, structured datariksdag-regering-mcp - Swedish political data toolsSupporting Skills:
political-science-analysis - Political contexthtml-accessibility - Accessible article structureresponsive-design - Article layoutlanguage-expertise - Translation qualitySelect the agent that best matches your task:
Use custom_instructions to give specific guidance:
custom_instructions: `
- Follow existing patterns in src/
- Include unit tests with 80%+ coverage
- Update relevant documentation
- Ensure security best practices
`
Agents automatically load relevant skills from .github/skills/ (91 total skills across 12 categories):
Core Infrastructure (9):
hack23-isms-compliance, security-by-design, static-site-securityci-cd-security, documentation-standards, html-accessibilitymulti-language-localization, hack23-future-architecture-standards, documentation-portfolioPolitical Intelligence (11):
political-science-analysis, osint-methodologies, intelligence-analysis-techniquesswedish-political-system, electoral-analysis, behavioral-analysisstrategic-communication-analysis, legislative-monitoringrisk-assessment-frameworks, data-science-for-intelligence, gdpr-complianceISMS & Security (12):
cis-controls, iso-27001-controls, nist-csf-mappingthreat-modeling, secure-code-review, security-documentationincident-response, input-validation, vulnerability-managementdata-protection, ai-governance, information-security-strategyDevelopment & Operations (16):
c4-architecture-documentation, github-actions-workflows, code-quality-checks, secrets-managementdata-pipeline-engineering, automated-content-generation, performance-optimization, api-integrationgithub-agentic-workflows, code-review-practices, testing-strategy, contribution-guidelineschange-management, open-source-governance, copilot-agent-patterns, product-management-patternsUI/UX & Design (7):
responsive-design, design-system-management, political-data-visualizationadvanced-data-visualization, ui-ux-design, seo-optimization, data-visualization-principlesTesting & Quality Assurance (2):
playwright-testing, issue-managementData Integration (4):
riksdag-regering-mcp, cia-data-integration, mcp-server-development, european-parliament-apiBusiness & Marketing (2):
marketing, business-developmentLanguage & Localization (1):
language-expertiseGitHub Agentic Workflows (12):
gh-aw-authentication-credentials, gh-aw-containerization, gh-aw-continuous-ai-patternsgh-aw-firewall, gh-aw-github-actions-integration, gh-aw-logging-monitoringgh-aw-mcp-configuration, gh-aw-mcp-gateway, gh-aw-safe-outputsgh-aw-security-architecture, gh-aw-tools-ecosystem, gh-aw-workflow-authoringJournalism & Media (4):
editorial-standards, investigative-journalism, prospective-news-coverage, comparative-politics-reportingGovernment & Regulatory (7):
global-government-analysis, myndigheter-monitoring, regulatory-affairseconomic-policy-analysis, secure-development-lifecycle, secure-development-policy, compliance-checklistSee SKILLS.md for comprehensive skill documentation and Skills Mapping above for agent-specific recommendations.
Specify base_ref for feature branch workflows:
base_ref: "feature/security-enhancements"
Track job status for long-running tasks:
get_copilot_job_status({
owner: "Hack23",
repo: "riksdagsmonitor",
job_id: "job-id-from-assignment"
})
All agents follow these standards:
.github/agents/get_copilot_job_statuscustom_instructionsbase_ref if working on feature branchLast Updated: 2026-02-20
Maintained by: Hack23 AB
Effective: 2026-04-24 ยท Owner: CEO ยท Authority:
.github/aw/ECONOMIC_DATA_CONTRACT.mdv2.1
Every persona agent that produces, validates, or visualises economic data MUST default to IMF as the primary economic-data source. This rule supersedes any earlier WB-centric guidance in individual agent files.
analysis/imf/README.md ยท analysis/imf/agentic-integration.md ยท analysis/imf/indicators-inventory.json ยท analysis/imf/data-dictionary.md ยท .github/aw/ECONOMIC_DATA_CONTRACT.md
| Agent | IMF responsibility | Primary IMF dataflow |
|---|---|---|
intelligence-operative | Cite IMF projections in scenario analysis (T+5); cross-validate IMF SWE vs SCB | WEO + FM + GFS_COFOG |
news-journalist | Lead every economic claim with IMF citation; emit economicProvenance.provider: imf | WEO + FM + IFS + DOTS |
content-generator | Render IMF dashboards in automated daily articles; vintage-aware | WEO + FM + IFS |
data-pipeline-specialist | Own scripts/imf-context.ts, imf-fetch.ts, imf-client.ts, imf-codes.ts; vintage cache | All IMF dataflows |
data-visualization-specialist | IMF dataflow registry as single source of truth for chart axes; vintage badge (yellow >3mo, red >6mo) | WEO + FM + ER + PCPS |
security-architect | IMF egress allow-list (www.imf.org, api.imf.org); SHA-256 payload pin; vintage discipline | (security control surface) |
isms-compliance-manager | IMF data classification: PUBLIC / no PII / GDPR DPIA short-circuit | (compliance evidence) |
documentation-architect | IMF as first-class C4 container in ARCHITECTURE.md; mirror IMF sequence diagram from agentic-integration.md | (architectural surface) |
quality-engineer | tests/imf-context.test.ts, tests/imf-inventory.test.ts, tests/imf-precedence-contract.test.ts | (test surface) |
devops-engineer | IMF CLI smoke check in mcp-setup.sh; IMF host in copilot-setup-steps.yml allow-list | (operational surface) |
deployment-specialist | IMF egress allow-list in CDN / WAF config | (deployment surface) |
frontend-specialist | IMF data renders in dashboard HTML/CSS with vintage badge | (UI surface) |
ui-enhancement-specialist | CSS-only IMF data visualisations (forecast cones for WEO projections) | (UI surface) |
task-agent | IMF coverage in product analysis matrix; create issues for IMF gaps | (PM surface) |
Canonical rule. Every economic claim in a Riksdagsmonitor article cites an IMF dataflow first; World Bank citations are reserved for governance, environment and social residue (the classes IMF does not publish). SCB is the Swedish-specific ground truth layer. See ECONOMIC_DATA_CONTRACT.md v2.1 for the banned-phrase list and vintage discipline (>6 mo โ annotation).
| ๐ Platforms | ๐ฆ Open-Source Projects | ๐ก๏ธ Governance & Standards |
|---|---|---|
| ๐ณ๏ธ Riksdagsmonitor โ Swedish Parliament intelligence ๐ช๐บ EU Parliament Monitor โ European coverage ๐ต๏ธ Citizen Intelligence Agency โ political-data engine ๐ Hack23 AB โ corporate site ๐ฐ Hack23 Blog โ engineering & policy ๐ผ Hack23 on LinkedIn | ๐ณ๏ธ Hack23/riksdagsmonitor ๐ต๏ธ Hack23/cia ๐ช๐บ Hack23/euparliamentmonitor ๐ Hack23/european-parliament-mcp โ Hack23/cia-compliance-manager ๐ฅ Hack23/black-trigram ๐ Hack23/homepage | ๐ก๏ธ Hack23 ISMS-PUBLIC โ public ISMS ๐ Information Security Policy ๐ค AI Policy ๐งช Secure Development Policy ๐ฏ Threat Modeling Policy โ ๏ธ Vulnerability Management ๐ท๏ธ Classification Framework |
๐ณ๏ธ Empower citizens ยท ๐ Strengthen democratic accountability ยท ๐ต๏ธ Illuminate the political process
ยฉ 2008โ2026 Hack23 AB (Org.nr 559534-7807) ยท Maintainer: James Pether Sรถrling, CISSP CISM