Openclaw Skill

v2.1.0

Play The Parliament Game — label Canadian parliamentary Q&A pairs. Read real exchanges from the House of Commons and decide if MPs actually answered the ques...

0· 141·0 current·0 all-time
byIdiom@idiom-bytes

Install

OpenClaw Prompt Flow

Install with OpenClaw

Best for remote or guided setup. Copy the exact prompt, then paste it into OpenClaw for idiom-bytes/parliament-claw.

Previewing Install & Setup.
Prompt PreviewInstall & Setup
Install the skill "Openclaw Skill" (idiom-bytes/parliament-claw) from ClawHub.
Skill page: https://clawhub.ai/idiom-bytes/parliament-claw
Keep the work scoped to this skill only.
After install, inspect the skill metadata and help me finish setup.
Required binaries: curl
Use only the metadata you can verify from ClawHub; do not invent missing requirements.
Ask before making any broader environment changes.

Command Line

CLI Commands

Use the direct CLI path if you want to install manually and keep every step visible.

OpenClaw CLI

Bare skill slug

openclaw skills install parliament-claw

ClawHub CLI

Package manager switcher

npx clawhub@latest install parliament-claw
Security Scan
VirusTotalVirusTotal
Benign
View report →
OpenClawOpenClaw
Benign
high confidence
Purpose & Capability
Name/description, required binary (curl), and the declared primary credential (PARLIAMENT_GAME_TOKEN) align with a simple web‑API labeling workflow. Nothing requested appears unrelated to labeling parliamentary Q&A.
Instruction Scope
The SKILL.md instructs the agent to auto-register (POST to https://qa.canada-central.com), fetch Q&A, present them to the user, and submit labels. This stays within the stated purpose. Minor ambiguity: it says 'Save the token for subsequent requests' but doesn't specify storage location or handling — a privacy/storage detail rather than malicious scope creep.
Install Mechanism
Instruction-only skill with no install spec; requires only curl. Lowest-risk install mechanism.
Credentials
Declared primaryEnv PARLIAMENT_GAME_TOKEN is reasonable for API access. requires.env is empty (the token is optional — auto-registration is used if the env var is not present), which is a small metadata/behavior mismatch but explainable.
Persistence & Privilege
always is false and there is no attempt to modify other skills or system configuration. The skill does ask the agent to persist a token between uses, which is expected for API usage but not privileged.
Assessment
This skill is coherent: it contacts a third‑party API (qa.canada-central.com) to fetch public parliamentary Q&A and submit labels. Before installing, confirm you trust that website/project (check the README's GitHub link and project pages). Be aware the agent will register a token (or use PARLIAMENT_GAME_TOKEN if you set it) and send labeled data and the model name to that service. If you prefer control, create a personal token at the cited site instead of relying on anonymous auto‑registration, and avoid putting sensitive secrets into PARLIAMENT_GAME_TOKEN. Finally, note the SKILL.md doesn't specify how tokens are stored — verify where your agent keeps credentials if that matters for your environment.

Like a lobster shell, security has layers — review code before you run it.

Runtime requirements

Binscurl
Primary envPARLIAMENT_GAME_TOKEN
ai-agentsvk976mtyv5kbfhfeqtv83yc8krx835600canadavk976mtyv5kbfhfeqtv83yc8krx835600civic-techvk976mtyv5kbfhfeqtv83yc8krx835600labelingvk976mtyv5kbfhfeqtv83yc8krx835600latestvk976mtyv5kbfhfeqtv83yc8krx835600parliamentvk976mtyv5kbfhfeqtv83yc8krx835600
141downloads
0stars
1versions
Updated 1mo ago
v2.1.0
MIT-0

The Parliament Game — OpenClaw Skill

You help the user label parliamentary Q&A exchanges from Canada's House of Commons. Each label trains a civic AI that scores how well MPs respond to questions.

No setup required. The skill auto-registers on first use.

When to use

Activate when the user says any of:

  • "label parliament questions"
  • "play the parliament game"
  • "help label Q&A pairs"
  • "contribute to canada central"
  • "score some MPs"

First-time setup (automatic)

On first use, register an anonymous agent to get a token:

POST https://qa.canada-central.com/api/agents/register
Content-Type: application/json

{"agent_name": "openclaw", "model": "<your model name>"}

Response:

{
  "ok": true,
  "token": "pt_abc...",
  "agent_id": "anon_7f3a...",
  "limits": {
    "labels_per_minute": 20,
    "fetch_per_minute": 30,
    "registrations_per_ip_per_day": 3,
    "total_questions": "~2,500 Q&A pairs available for labeling"
  }
}

Save the token for subsequent requests. Tell the user: "Registered as an anonymous agent. You can label up to 20 questions per minute (~2,500 total available). For higher throughput, sign in at https://qa.canada-central.com and generate a personal token (30/min)."

If the environment variable PARLIAMENT_GAME_TOKEN is already set, skip registration and use that token instead.

Labeling workflow

Step 1: Fetch a question

GET https://qa.canada-central.com/api/qa/random
Authorization: Bearer <token>

If qa is null, all questions have been labeled — congratulate the user.

Step 2: Analyze the Q&A

Read the question and answer carefully. Consider:

  • Does the answer DIRECTLY address what was asked?
  • Does it provide specific facts, policy details, or a clear position?
  • Or does it dodge, deflect, use vague talking points, or attack the opponent?

Step 3: Present to user

Show the user:

  • Question by [name] ([party]): brief summary or full text
  • Answer by [name] ([party]): brief summary or full text
  • Your assessment: "This looks like a non-response — they deflected with talking points instead of answering the budget question."
  • Ask the user to confirm or override: "Submit as non-response? (or substantive/skip)"

Step 4: Submit the label

POST https://qa.canada-central.com/api/label
Authorization: Bearer <token>
Content-Type: application/json

{"qa_id": "<id from step 1>", "label": "substantive", "model": "<your model name>"}

Valid labels: substantive, non_response, skip

Important: Always include the model field with the name of the LLM being used (e.g. "claude-opus-4-6", "gpt-4o", "deepseek-r1"). This lets us attribute labels to specific models and measure quality per model. If the user is labeling manually with your assistance, use "human-assisted". If you are unsure of your own model name, use "unknown".

Step 5: Report and continue

Tell the user what was submitted and offer to continue with the next question.

Batch mode

If the user says "label a bunch" or "do 10 questions":

  1. Fetch questions one at a time using /api/qa/random
  2. For each, show the Q&A and get the user's judgment
  3. Submit and show progress ("3/10 done...")
  4. Summarize at the end: "Labeled 10 questions — 6 substantive, 4 non-responses"

Check stats

GET https://qa.canada-central.com/api/stats
Authorization: Bearer <token>

Returns: {"ok": true, "count": 42} — the user's total label count.

Important rules

  • ALWAYS show the Q&A to the user and get confirmation before submitting
  • NEVER auto-label without user review — this is crowd-sourced human judgment
  • If the user says "skip", submit label "skip" and move on
  • If the API returns 429 (rate limited), wait 60 seconds and retry
  • Be encouraging — every label helps improve government accountability
  • The /api/qa/random response includes total, remaining, and labeled counts — use these to show progress
  • When remaining is 0, all questions have been labeled — congratulate the user
  • Anonymous agents: 20 labels/minute. Google sign-in + PAT: 30/minute.

Label definitions

  • Substantive: The answer directly addresses the question with relevant information, policy details, facts, or a clear position.
  • Non-response: The answer avoids the question, changes the topic, gives vague/generic statements, attacks the opponent, repeats talking points, or provides no meaningful information.
  • Skip: The Q&A pair is bad data or can't be properly evaluated.

Tip

If you can't tell whether the answer is substantive, it probably isn't. Politicians are skilled at making non-answers sound substantive.

Corpus info

There are approximately 2,500 Q&A pairs from Canada's House of Commons available for labeling. The /api/qa/random response tells you exactly how many remain for your agent:

{
  "ok": true,
  "total": 2487,
  "remaining": 1203,
  "labeled": 1284,
  "qa": { ... }
}

When remaining is 0 and qa is null, the entire corpus is labeled. At 20 labels/minute, an anonymous agent can finish the full corpus in ~2 hours.

Rate limits

Auth typeLabelsFetchRegistration
Anonymous (auto-register)20/min30/min3/day per IP
Google sign-in + PAT30/min30/min5 tokens max

All rate limits are per-agent (keyed by user_id), not global. If you hit a 429 response, wait 60 seconds and retry.

Comments

Loading comments...