# i-Have-ADHD Skill: Pre-Send Checks Explained (5 Rules + Code Implementation)

> Learn the 5 essential pre-send checks for the i-have-adhd skill. Clean your messages, verify clarity, and ensure effective communication with code implementation.

- Repository: [Ayoub Ghriss/i-have-adhd](https://github.com/ayghri/i-have-adhd)
- Tags: how-to-guide
- Published: 2026-08-04

---

**The i-have-adhd skill requires five ordered pre-send checks that delete announcing preambles, closing questions, "by the way" sidebars, hedging adverbs, and figurative idioms—then verifies the first line states what to do next and the last line states what happened.**

The `i-have-adhd` skill is an open-source agent plugin designed to make AI responses more actionable for users with limited working memory. According to the skill's manifest in [`skills/i-have-adhd/SKILL.md`](https://github.com/ayghri/i-have-adhd/blob/main/skills/i-have-adhd/SKILL.md), every response must pass a strict **pre-send checklist** before emission. These rules were specifically crafted to eliminate cognitive overhead and guarantee every line carries explicit, executable meaning.

---

## What Are the i-Have-ADHD Pre-Send Check Requirements?

The pre-send requirements are defined in **lines 30-41 of [`SKILL.md`](https://github.com/ayghri/i-have-adhd/blob/main/SKILL.md)** and must be applied **in order** before final output. The five concrete deletions and replacements are:

1. **Delete the opening sentence if it merely announces what you're about to do** — Transform passive preambles like "Let me show you" into immediate commands.

2. **Delete the closing sentence if it asks "anything else?" or recaps what just happened** — Guarantee the final line is a concrete action, not a vague wrap-up.

3. **Remove any "by the way" sidebars** — Eliminate tangential information that fragments attention.

4. **Strip hedging adverbs that add no information** (perhaps, might, could possibly) — Prevent false confidence; only genuine uncertainty survives.

5. **Replace idioms and figurative phrases with literal actions** — Convert "circle back," "get the ball rolling," and "on the same page" into explicit executable language.

After these five transformations, the response must answer **yes** to two verification questions:

- Does the first line tell the reader exactly what to do next?
- Does the last line clearly state what just happened?

---

## How to Implement the Pre-Send Checks in Python

The i-have-adHD rule set can be enforced programmatically using regex-based transformations. Below is a production-ready implementation that mirrors the [`SKILL.md`](https://github.com/ayghri/i-have-adhd/blob/main/SKILL.md) specification.

```python
import re

PRE_SEND_CHECKS = [
    # 1. Remove announcing preamble

    (r'^\s*(Let\'s|Here\'s|I\'m about to|Let me) .*?\.\s*', ''),
    # 2. Remove closing question/recap

    (r'\s*(Anything else\?|That\'s it\.|Is there anything else.*?\?)\s*$', ''),
    # 3. Strip "by the way" sidebars

    (r'\bby the way\b[:,]?\s*', ''),
    # 4. Drop empty hedging adverbs

    (r'\b(maybe|perhaps|might|could possibly|arguably)\b', ''),
    # 5. Replace idioms with literal wording

    (r'\b(circle back|get the ball rolling|on the same page|touch base)\b',
     lambda m: {
         'circle back': 'return later',
         'get the ball rolling': 'start now',
         'on the same page': 'agree',
         'touch base': 'contact'
     }[m.group(0).lower()]),
]

def apply_pre_send_checks(text: str) -> str:
    """Run the five pre-send checks defined in SKILL.md on `text`."""
    for pattern, repl in PRE_SEND_CHECKS:
        text = re.sub(pattern, repl, text, flags=re.IGNORECASE)
    # Trim excess whitespace collapsed by deletions

    return '\n'.join(line for line in text.strip().splitlines() if line.strip())

```

### Usage Example

```python
raw_reply = """
Let me show you how to refactor this.
1. Open src/auth.ts
2. Replace verifyToken with verifyJWT
3. Run npm test to verify.
By the way, you might want to update the types too.
Anything else?
"""

clean_reply = apply_pre_send_checks(raw_reply)
print(clean_reply)

# Output:

# 1. Open src/auth.ts

# 2. Replace verifyToken with verifyJWT

# 3. Run npm test to verify.

```

The cleaned output satisfies both verification questions: line 1 states what to do, line 3 states what happens.

---

## Key Source Files in the i-Have-ADHD Repository

| File | Purpose | Critical Content |
|------|---------|----------------|
| [`skills/i-have-adhd/SKILL.md`](https://github.com/ayghri/i-have-adhd/blob/main/skills/i-have-adhd/SKILL.md) | Primary rule definition | Pre-send check lines 30-41 |
| [`README.md`](https://github.com/ayghri/i-have-adhd/blob/main/README.md) | Installation and overview | Skill purpose and activation |
| [`plugin.json`](https://github.com/ayghri/i-have-adhd/blob/main/plugin.json) | Agent registration | Skill metadata and entry point |

The [`SKILL.md`](https://github.com/ayghri/i-have-adhd/blob/main/SKILL.md) file is authoritative—all behavior derives from its specification. The [`plugin.json`](https://github.com/ayghri/i-have-adhd/blob/main/plugin.json) registers the skill name exactly as `"i-have-adhd"` for agent discovery.

---

## Why Ordered Application Matters

The i-have-adHD pre-send checks are **sequence-dependent**. Removing sidebars before deleting preambles prevents orphaned fragments. Stripping hedging adverbs before idiom replacement ensures literal phrases aren't accidentally modified. The [`SKILL.md`](https://github.com/ayghri/i-have-adhd/blob/main/SKILL.md) (line 30) explicitly mandates this ordering to preserve semantic integrity through transformation.

---

## Summary

- The **i-have-adHD pre-send checks** are five ordered deletions/replacements defined in [`SKILL.md`](https://github.com/ayghri/i-have-adhd/blob/main/SKILL.md) lines 30-41.
- **Opening and closing noise** must be stripped to bookend responses with actionable content.
- **Hedging adverbs and figurative idioms** are converted to literal, confident language.
- **Final verification** requires first-line action and last-line completion confirmation.
- Python implementations should use **case-insensitive regex** with pattern priority matching the specification order.

---

## Frequently Asked Questions

### What happens if a response fails the final two verification questions?

The response must be rewritten until both questions are satisfied. The checks are **gate criteria**, not suggestions. A "no" to either question triggers revision, not emission.

### Can the pre-send checks be modified or extended?

The core five checks in [`SKILL.md`](https://github.com/ayghri/i-have-adhd/blob/main/SKILL.md) are fixed by the skill specification. However, the Python implementation pattern allows **additional project-specific filters** after the mandatory sequence, provided they don't violate the two verification principles.

### Why does the skill target ADHD specifically?

Working memory limitations make **cognitive load reduction** critical. Preambles, hedging, and idioms create parsing overhead that disproportionately affects users with ADHD. The literal-first structure aligns with executive function support strategies documented in cognitive accessibility research.

### How do I activate the i-have-adHD skill in my agent?

Register the skill path `skills/i-have-adhd/` via your agent's plugin system. The [`plugin.json`](https://github.com/ayghri/i-have-adhd/blob/main/plugin.json) exposes the skill name and description for discovery. Activation typically requires adding the skill directory to your agent's configured skill paths and reloading the agent context.