POES Verification Skill

Verify event-sourced aggregates with property-based testing and state exploration.

6|1|Updated Feb 26, 2026
One-click install
npx skills add https://github.com/kurrent-io/poes --skill poes-verification-skill
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: POES Verification Skill
Source: https://github.com/kurrent-io/poes/tree/main/.claude/skills/poes
Command: npx skills add https://github.com/kurrent-io/poes --skill poes-verification-skill

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill includes scripts (resource) and references (resource) components.

What problem does it solve?

This Skill addresses the challenge of verifying AI-generated code, ensuring its correctness and reliability through automated testing and state exploration.

Core Features & Use Cases

  • Property-Based Testing: Uses Hypothesis to test aggregates against defined properties.
  • State Exploration: Exhaustively explores all reachable states of an aggregate.
  • Temporal Property Checking: Analyzes the state graph for liveness properties.
  • Persistence Verification: Replays production events to ensure invariants hold.
  • Use Case: Automatically verify that a newly generated banking aggregate correctly handles deposits and withdrawals, ensuring the balance never goes negative and stays within defined limits.

Quick Start

Use the POES skill to verify the BankAccount aggregate with a deposit transition.

Frequently Asked Questions about POES Verification Skill

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I verify AI-generated code for event-sourced aggregates?

You can verify AI-generated code for event-sourced aggregates by applying property-based testing and state exploration to ensure invariants, transitions, and temporal properties hold against production data.

What is property-based testing for aggregate verification?

Property-based testing for aggregate verification uses the Hypothesis library to automatically test aggregates against defined properties, ensuring logic correctness by exploring all reachable states and checking temporal properties.

How do I check temporal properties and liveness in an event sourcing state graph?

Checking temporal properties and liveness in an event sourcing state graph involves analyzing the aggregate's state graph to verify that specific conditions are eventually met and invariants are not violated during transitions.

Can I replay production events to verify aggregate invariants?

Yes, you can replay production events to verify aggregate invariants. This persistence verification ensures that your aggregate logic correctly handles real-world data sequences without breaking defined constraints.

Do I need the poes Python library to run property-based verification checks?

Yes, you need the poes Python library to define and run the automated verification checks for event-sourced aggregates. It provides the necessary framework for property-based testing and state exploration.

What's the best way to test a banking aggregate for handling deposits and withdrawals?

The best way to test a banking aggregate is using property-based testing to verify transitions, ensuring the balance never goes negative and stays within defined limits during deposits and withdrawals.