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

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, 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 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 specification.

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

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 Primary rule definition Pre-send check lines 30-41
README.md Installation and overview Skill purpose and activation
plugin.json Agent registration Skill metadata and entry point

The SKILL.md file is authoritative—all behavior derives from its specification. The 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 (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 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 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 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.

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 →