Claude Skill

poka-yoke

Prevent software mistakes through strong boundaries, safe defaults, meaningful tests, and mechanically enforced invariants. Use for TDD, validation, schemas, authorization, edge cases, regression coverage, or reliability-sensitive behavior.

LLM Mart · 0 points · 0 views 0 listing impressions 0 install-command copies
Virus-scanned Reviewed automatically before listing.

Full trust report

Download kuya-egg-monozukuri-poka-yoke-b4243fe.zip · 2 KB
Part of kuya-egg/monozukuri — 13 skills

Install

skills CLI npx skills add https://github.com/kuya-egg/Monozukuri/tree/main/poka-yoke
Claude Code claude plugin marketplace add https://llmmart.ai/marketplace.json && claude plugin install kuya-egg-monozukuri@llmmart
Git git clone https://github.com/kuya-egg/Monozukuri.git

The skills CLI installs just this skill, for any of its supported agents. Claude Code installs the whole kuya-egg/monozukuri collection as a plugin from our marketplace. Git is the plain clone.

Skill manifest

Poka-yoke

Poka-yoke means mistake-proofing. In software, do not rely only on memory or discipline when types, schemas, constraints, validation, tests, or safe defaults can prevent an invalid state. This is a Japanese-inspired engineering metaphor, applied with context rather than maximal defensive code.

Use this skill when

  • adding or changing behavior at an input, API, database, or permission boundary;
  • designing tests or working test-first;
  • fixing a regression or recurring failure;
  • handling untrusted data, retries, concurrency, migrations, or external services;
  • deciding whether a bad state should be representable; or
  • reliability and safety matter more than a happy-path demo.

Outcome

Produce a behavior that is difficult to misuse and easy to verify, with:

  • explicit invariants and boundary conditions;
  • validation at the correct boundary;
  • types, schemas, constraints, or exhaustive cases where they reduce risk;
  • deterministic tests for normal, edge, failure, and authorization behavior;
  • safe defaults, idempotency, and clear error handling where relevant; and
  • evidence that the protection catches the intended mistake.

Workflow

1. Enumerate failure modes

List realistic invalid inputs, missing data, duplicate requests, retries, partial failures, unauthorized actions, stale state, malformed dependencies, and boundary conditions. Prioritize by impact and likelihood.

2. Make invalid states hard to express

Prefer domain types, validated constructors, enums, non-null constraints, foreign keys, unique constraints, transactional boundaries, permission checks, and safe defaults when they encode a real invariant. Keep validation close to the boundary that owns the rule.

3. Test behavior, not implementation

Write the smallest meaningful test for the desired behavior or regression. Cover important edge and failure paths. Assert user-visible outcomes, contracts, persisted state, and security decisions rather than private call counts or incidental structure.

4. Run the feedback loop

Use a narrow check first, then broaden to integration, contract, end-to-end, type, lint, migration, build, or smoke checks according to risk. Keep tests deterministic and explain any unrun check.

5. Make failure actionable

Return errors that identify the boundary and next action without leaking secrets. Do not silently coerce, retry forever, discard data, or convert a failed invariant into a successful-looking result.

Evidence standard

Each guardrail must correspond to a realistic failure mode. Each test must fail for the defect it protects against and pass for the intended behavior. Verification claims must be traceable to an executed command, observed result, or authoritative evidence. Coverage percentage alone is not evidence of mistake-proofing.

Boundaries

  • Do not add defensive branches for impossible or irrelevant states without a reason.
  • Do not duplicate validation everywhere when one authoritative boundary owns the invariant.
  • Do not make a test green by weakening its assertion.
  • Do not use mocks to hide an integration contract that needs verification.
  • Do not trade clarity for clever type machinery when a simple check is safer.

Handoff

Report the failure modes considered, protections added, tests run, and residual risk. Use jidoka when a check fails, kodawari for a quality review, or andon when the remaining risk needs operational visibility.

If a referenced skill is not installed, apply its named lens inline instead of trying to invoke it.

Files (monozukuri)
  • agents
    • openai.yaml 326 B
      interface:
        display_name: "Poka-yoke — Prevent Mistakes"
        short_description: "Prevent mistakes with tests and boundaries"
        brand_color: "#1F2937"
        default_prompt: "Use $poka-yoke to make this behavior safer through explicit invariants, boundary checks, and meaningful tests."
      
      policy:
        allow_implicit_invocation: false
      
  • SKILL.md 3.8 KB
    ---
    name: poka-yoke
    description: "Prevent software mistakes through strong boundaries, safe defaults, meaningful tests, and mechanically enforced invariants. Use for TDD, validation, schemas, authorization, edge cases, regression coverage, or reliability-sensitive behavior."
    ---
    
    # Poka-yoke
    
    Poka-yoke means mistake-proofing. In software, do not rely only on memory or
    discipline when types, schemas, constraints, validation, tests, or safe
    defaults can prevent an invalid state. This is a Japanese-inspired engineering
    metaphor, applied with context rather than maximal defensive code.
    
    ## Use this skill when
    
    - adding or changing behavior at an input, API, database, or permission
      boundary;
    - designing tests or working test-first;
    - fixing a regression or recurring failure;
    - handling untrusted data, retries, concurrency, migrations, or external
      services;
    - deciding whether a bad state should be representable; or
    - reliability and safety matter more than a happy-path demo.
    
    ## Outcome
    
    Produce a behavior that is difficult to misuse and easy to verify, with:
    
    - explicit invariants and boundary conditions;
    - validation at the correct boundary;
    - types, schemas, constraints, or exhaustive cases where they reduce risk;
    - deterministic tests for normal, edge, failure, and authorization behavior;
    - safe defaults, idempotency, and clear error handling where relevant; and
    - evidence that the protection catches the intended mistake.
    
    ## Workflow
    
    ### 1. Enumerate failure modes
    
    List realistic invalid inputs, missing data, duplicate requests, retries,
    partial failures, unauthorized actions, stale state, malformed dependencies,
    and boundary conditions. Prioritize by impact and likelihood.
    
    ### 2. Make invalid states hard to express
    
    Prefer domain types, validated constructors, enums, non-null constraints,
    foreign keys, unique constraints, transactional boundaries, permission checks,
    and safe defaults when they encode a real invariant. Keep validation close to
    the boundary that owns the rule.
    
    ### 3. Test behavior, not implementation
    
    Write the smallest meaningful test for the desired behavior or regression.
    Cover important edge and failure paths. Assert user-visible outcomes,
    contracts, persisted state, and security decisions rather than private call
    counts or incidental structure.
    
    ### 4. Run the feedback loop
    
    Use a narrow check first, then broaden to integration, contract, end-to-end,
    type, lint, migration, build, or smoke checks according to risk. Keep tests
    deterministic and explain any unrun check.
    
    ### 5. Make failure actionable
    
    Return errors that identify the boundary and next action without leaking
    secrets. Do not silently coerce, retry forever, discard data, or convert a
    failed invariant into a successful-looking result.
    
    ## Evidence standard
    
    Each guardrail must correspond to a realistic failure mode. Each test must
    fail for the defect it protects against and pass for the intended behavior.
    Verification claims must be traceable to an executed command, observed result,
    or authoritative evidence. Coverage percentage alone is not evidence of
    mistake-proofing.
    
    ## Boundaries
    
    - Do not add defensive branches for impossible or irrelevant states without a
      reason.
    - Do not duplicate validation everywhere when one authoritative boundary owns
      the invariant.
    - Do not make a test green by weakening its assertion.
    - Do not use mocks to hide an integration contract that needs verification.
    - Do not trade clarity for clever type machinery when a simple check is safer.
    
    ## Handoff
    
    Report the failure modes considered, protections added, tests run, and residual
    risk. Use `jidoka` when a check fails, `kodawari` for a quality review, or
    `andon` when the remaining risk needs operational visibility.
    
    If a referenced skill is not installed, apply its named lens inline instead of
    trying to invoke it.
    

Comments (0)

Sign in to join the conversation.

No comments yet.

Reviews (0)

No reviews yet.

Related