Exception for Destructive Actions in i-have-adhd: Confirm Before Proceeding

The i-have-adhd skill requires explicit user confirmation before executing any destructive action that could modify, delete, or irreversibly change data.

The ayghri/i-have-adhd repository defines a set of behavioral exceptions designed to make AI assistants safer and more reliable for users with ADHD. Among these safeguards, the exception for destructive actions stands as a critical safeguard against accidental data loss or unintended system modifications.

The Core Safety Exception

According to the installation instructions in INSTALL.md at line 53, the skill implements a strict rule: "Confirm before destructive actions." This exception mandates that whenever the skill detects a request involving file deletion, data modification, or any irreversible operation, it must pause execution and obtain explicit consent before proceeding.

The rule applies universally across all supported runtimes, including Claude, Codex, Pi, OMP, and OpenCode implementations. When the skill evaluates a request, it checks whether the operation qualifies as destructive—such as removing files, altering database records, or changing system configurations—and triggers the confirmation workflow automatically.

How the Confirmation Flow Works

The destructive action exception follows a three-step validation pattern embedded in the skill's logic:

  1. Detect – Identify operations flagged as destructive based on intent classification
  2. Prompt – Present a clear confirmation request to the user
  3. Execute – Proceed only upon receiving affirmative confirmation

This workflow prevents the automation of risky operations without human oversight. As implemented in the repository, the skill explicitly forbids bypassing this confirmation step for any privileged or production-level actions, as noted in CONTRIBUTING.md lines 48-49.

Implementation Examples

Python Helper Function

The following pattern from the skill's utility modules demonstrates how destructive file operations wrap confirmation logic:


# Example: a helper that wraps a potentially destructive operation

def safe_delete(path: str, ask_user: Callable[[str], bool]) -> None:
    """
    Deletes a file only after explicit user confirmation.
    """
    if ask_user(f"Do you really want to delete '{path}'? (yes/no)"):
        os.remove(path)
        print(f"✅ Deleted {path}")
    else:
        print("❌ Deletion cancelled by user")

JavaScript/YAML Plugin Configuration

For OpenCode and similar plugin-based runtimes, the exception manifests as declarative rules:

// Example: declarative instruction in the skill manifest (OpenCode)
// .opencode/plugins/i-have-adhd.mjs
export const rules = [
  {
    description: "Confirm before destructive actions",
    check: (request) => request.isDestructive && !request.confirmed,
    response: "Please confirm before I proceed with this destructive action."
  },
];

Command-Line Interaction

When invoked via CLI interfaces, the skill interrupts destructive commands with confirmation prompts:


# Example: command-line usage via the skill

# User types:

> /i-have-adhd delete /tmp/important.txt

# Skill replies:

Please confirm before I proceed with this destructive action. Reply `yes` to continue.

The Complete Exception Set

The destructive action confirmation operates alongside three other behavioral exceptions defined in INSTALL.md and SKILL.md:

Exception Description
Explain fully when asked to explain Provides detailed, comprehensive explanations upon user request
Confirm before destructive actions Requires explicit user consent before any potentially harmful operation
After three failed fixes, stop and name the doubtful assumption Prevents endless retry loops by halting after repeated failures
If the request is ambiguous, ask one short question Clarifies intent through targeted questioning before acting

These rules collectively ensure that the i-have-adhd skill maintains predictable, safe behavior regardless of the underlying AI runtime.

Enforcement in Contribution Guidelines

The repository's contribution policy reinforces this exception through explicit constraints. Contributors cannot submit code that bypasses confirmation requirements for destructive operations. As specified in CONTRIBUTING.md lines 48-49, any modification that allows privileged actions without user consent violates the project's safety philosophy and will be rejected.

This policy ensures that all community contributions maintain the high safety standards required for real-time AI agent interactions, protecting users from accidental data loss across all supported platforms.

Summary

  • Primary safeguard: The i-have-adhd skill mandates explicit confirmation before any destructive action per INSTALL.md line 53
  • Detection pattern: Operations affecting files, data, or system states trigger the confirmation workflow
  • Implementation: Available across Python, JavaScript, and CLI interfaces with consistent behavior
  • Policy enforcement: CONTRIBUTING.md lines 48-49 prohibit bypassing confirmation for privileged operations
  • Context: One of four core exceptions including explanation requirements, retry limits, and ambiguity clarification

Frequently Asked Questions

What qualifies as a destructive action in i-have-adhd?

Any operation that modifies, deletes, or irreversibly alters data qualifies as destructive. This includes file deletion commands, database updates, system configuration changes, or any request flagged with isDestructive in the skill's intent classification system. The skill treats these operations as high-risk and requires explicit user confirmation before execution.

Can the confirmation requirement be disabled in i-have-adhd?

No. According to the contribution guidelines in CONTRIBUTING.md, bypassing confirmation for destructive, privileged, or production-level actions is explicitly forbidden. This constraint applies to all skill implementations across runtimes including Claude, Codex, and OpenCode. The confirmation exception is a core safety feature that cannot be overridden by configuration or code modification.

How does i-have-adhd ask for confirmation?

The skill presents a clear, explicit prompt asking the user to confirm intent before proceeding. In CLI environments, this appears as a text message requiring a yes response. In programmatic implementations, the skill passes a confirmation request through the ask_user callback or checks the request.confirmed property before executing destructive logic. The prompt clearly identifies the specific action being requested.

Where are the exception rules documented?

The complete set of behavioral exceptions, including the destructive action confirmation requirement, is documented in INSTALL.md at line 53 and further elaborated in skills/i-have-adhd/SKILL.md. The contribution constraints appear in CONTRIBUTING.md lines 48-49, while implementation examples reside throughout the repository's code samples for Python, JavaScript, and shell interfaces.

Have a question about this repo?

These articles cover the highlights, but your codebase questions are specific. Give your agent direct access to the source. Share this with your agent to get started:

Share the following with your agent to get started:
curl -s "https://instagit.com/install.md"

Works with
Claude Codex Cursor VS Code OpenClaw Any MCP Client

Maintain an open-source project? Get it listed too →