Skip to content
Back to skills

Sejm B44x

ASecurity

Official parliamentary data of the Sejm RP (Polish lower house) from the open API (api.sejm.gov.pl). Database of MPs of the 10th term (X kadencja) (electoral districts, parliamentary clubs, Sejm committees, contact details), detailed voting results (roll-call votes, breakdown of votes by club: for/against/abstained/absent, checking how a given MP voted), the database of druki sejmowe (Sejm prints) and the course of the legislative process (stages of work on bills and resolutions), as well as ...

  • 85 stars
  • 0 votes
  • 0 copies
  • 1 view
  • Added October 8, 2026
ai-agentspythongogitapidatabase

Works with

  • api

Security analysis

A100/100

Scanned October 8, 2026

npx -y skills add ThomasMoreAI/legal-skills-open --skill sejm-b44x --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Sejm B44x?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Sejm B44x
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/thomasmoreai-sejm-b44x/badge)](https://www.skillsdirectory.com/skills/thomasmoreai-sejm-b44x)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

SKILL.md
---
name: sejm-b44x
title: Sejm Rzeczypospolitej Polskiej
description: 'Official parliamentary data of the Sejm RP (Polish lower house) from the open API (api.sejm.gov.pl). Database of MPs of the 10th term (X kadencja) (electoral districts, parliamentary clubs, Sejm committees, contact details), detailed voting results (roll-call votes, breakdown of votes by club: for/against/abstained/absent, checking how a given MP voted), the database of druki sejmowe (Sejm prints) and the course of the legislative process (stages of work on bills and resolutions), as well as interpelacje poselskie (MPs'' interpellations) and ministries'' replies. No API keys, 100% official public data. Use whenever the user asks about: "posłowie na Sejm", "kto jest posłem z okręgu X", "jak głosowano w Sejmie nad ustawą Y", "jak głosował poseł Kowalski", "na jakim etapie jest projekt ustawy", "druki sejmowe", "interpelacje poselskie".'
author: b44x
author_url: https://github.com/b44x/ai-polish-skills/tree/dev/skills/sejm
license: MIT
version: 0.1.1
execution_mode: open
jurisdiction: pl
practice: constitutional
language: en
tags: [sejm, poslowie, glosowania, druki, proces-legislacyjny, ustawy, interpelacje, prawo, parlament]
sources:
- title: Output
  path: references/output.md
---

# Sejm Rzeczypospolitej Polskiej

Official skill integrating the open Sejm RP API via `scripts/sejm.py`.
Gives AI agents neutral access to official data on MPs, votings,
druki sejmowe (Sejm prints), the legislative process and interpelacje (interpellations). Returns clean JSON on `stdout`.

## Running

Run from the skill directory (or from the repository root path):

| Operating system | Command |
|---|---|
| Linux / macOS | `python3 scripts/sejm.py <command> …` |
| Windows | `py scripts/sejm.py <command> …` (or `python`) |

Zero external libraries (Python 3.8+ standard library).

## Main Use Cases

1. **MPs and committees database:**
   - Searching for MPs from a given electoral district or by surname:
     `python3 scripts/sejm.py mps --district "Gdańsk"`
     `python3 scripts/sejm.py mps --search "Kowalski"`
     `python3 scripts/sejm.py mps --club "PiS"`
   - Checking an MP's details and the committees they sit on:
     `python3 scripts/sejm.py mps --id 133`

2. **Votings and checking a specific MP's vote:**
   - Checking voting results and the breakdown of votes by club (for, against, abstained):
     `python3 scripts/sejm.py voting 1 2`
   - Checking how a specific MP voted in a given voting:
     `python3 scripts/sejm.py voting 1 2 --mp "Hołownia"`
   - Overview of voting topics at the latest posiedzenie (sitting):
     `python3 scripts/sejm.py votings`
     `python3 scripts/sejm.py votings --sitting 1 --search "Wicemarszałków"`

3. **Druki sejmowe and the legislative process:**
   - Looking up a druk sejmowy (Sejm print) by number:
     `python3 scripts/sejm.py prints --number 1`
   - Searching prints by topic:
     `python3 scripts/sejm.py prints --search "podatku"`
   - Checking the stages of work on a bill (whether it was submitted, 1st/2nd/3rd reading, whether it was passed):
     `python3 scripts/sejm.py process 1`

4. **Interpelacje poselskie (MPs' interpellations):**
   - Searching interpellations by topic or by number:
     `python3 scripts/sejm.py interpellations --search "CPK"`
     `python3 scripts/sejm.py interpellations --number 1`

## Commands

| Command | Description | Returned data |
|---|---|---|
| `mps [--search S] [--club C] [--district D]` | List and search MPs | `id`, `firstLastName`, `club`, `districtName`, `email`, `profession` |
| `mps --id <id>` | Full MP details and Sejm committees | `birthDate`, `profession`, `committees` (with the role held) |
| `voting <sitting> <number> [--mp MP]` | Voting details and an MP's vote | `results`, `clubSummary` (votes by club), `mpVote` |
| `votings [--sitting S] [--search Q]` | List of votings at a sitting | `votingNumber`, `date`, `title`, `topic`, `yes`, `no`, `abstain` |
| `prints [--number N] [--search Q]` | Search druki sejmowe | `number`, `title`, `documentDate`, `attachments` |
| `process <print_number>` | Stages of a bill's legislative process | `documentType`, `passed`, `closureDate`, chronological `stages` |
| `interpellations [--number N] [--search Q]` | Interpellations and replies | `number`, `title`, `sentDate`, `fromMpIds`, `replies` |
| `terms` | List of Sejm terms (kadencje I–X) | `terms` (dates, number, `current` flag) |

Detailed description of JSON schemas: [references/output.md](references/output.md).

## Neutrality Rules

- This tool provides objective parliamentary data, not political opinions.
- Do not make evaluations, moral rankings or political interpretations of MPs' behavior.
- Every response should clearly state:
  * Source: **Sejm Rzeczypospolitej Polskiej** (`api.sejm.gov.pl`),
  * Term number (kadencja; default **X kadencja**),
  * Sitting (posiedzenie) number and voting or print number,
  * Date of the event.

## Exit Codes

Clean JSON goes to `stdout`; errors go to `stderr` as `{"error": "...", "type": "..."}`.

| Code | Meaning | Action |
|---|---|---|
| `0` | Success | Process the JSON data |
| `2` | Not found | MP, voting, print or process does not exist |
| `64` | Invalid invocation / validation | Check the command parameters |
| `69` | Sejm RP server / network error | Temporary API problem; try again |

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…

Newsletter

Get the weekly list of safe new skills, and the ones we pulled.