no-fakes-discipline

Block mock and stub implementations to enforce real-system interactions.

2|Updated Jul 13, 2025
One-click install
npx skills add https://github.com/krzemienski/shannon --skill no-fakes-discipline
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: no-fakes-discipline
Source: https://github.com/krzemienski/shannon/tree/main/skills/no-fakes-discipline
Command: npx skills add https://github.com/krzemienski/shannon --skill no-fakes-discipline

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill requires block-fab-files, post-action-discipline, and includes scripts (resource) and references (resource) components.

What problem does it solve?

This Skill ensures that all interactions within the system are with the real system, preventing the use of mocks or stubs that can lead to false confidence and hidden bugs.

Core Features & Use Cases

  • Prevent Mock Implementations: Blocks the creation of mock/stub implementations, ensuring that all system interactions are with the real system.
  • Real-System Enforcement: Injects refusal stderr when substitution attempts are detected, maintaining a strict posture against fakes.
  • Use Case: When a user requests a "fake" or "stub" for a system call, this Skill will detect the intent and prevent the implementation, enforcing the use of the real system.

Quick Start

/shannon:enforce on

Frequently Asked Questions about no-fakes-discipline

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

FAQPage Schema
How do I prevent mock implementations during integration testing?

You can prevent mock implementations by enforcing real-system validation through file blocking hooks that detect and refuse substitution attempts, ensuring all interactions hit the real system.

Why does real-system validation matter for development practices?

Real-system validation matters because using mocks or stubs can lead to false confidence and hidden bugs. Enforcing interactions with the real system prevents these issues and maintains strict validation gates across development and production environments.

How do I enforce a no-mocking policy in my development environment?

You enforce a no-mocking policy by activating validation gates that inject refusal stderr when substitution attempts are detected. This requires setting up hooks for file blocking and post-action discipline to maintain the real-system enforcement posture.

Do I need file blocking and post-action discipline hooks to block mock creation?

Yes, file blocking and post-action discipline hooks are required dependencies to detect substitution attempts and enforce the no-mocking policy effectively.

What happens when a user requests a fake or stub for a system call?

When a user requests a fake or stub for a system call, the enforcement mechanism detects the intent and prevents the implementation by injecting refusal stderr, blocking the creation of mock implementations and enforcing the real system.

Can I use real-system validation in both development and production environments?

Yes, real-system validation applies to both development and production environments where real-system validation is critical. The enforcement mechanism maintains a strict posture against fakes across these environments to prevent hidden bugs.