What Is the Pre-Send Check Checklist in i-have-adhd and What Does It Remove?

The pre-send check checklist in ayghri/i-have-adhd is a 10-rule filter defined in SKILL.md and enforced by hooks/always-on.mjs that automatically strips preambles, recaps, closers, tangents, and ambiguous language from LLM responses before they reach the user.

The ayghri/i-have-adhd repository provides a Claude Code skill designed to optimize communication for ADHD cognitive styles. Central to this system is a rigorous pre-send validation process that intercepts every generated response and sanitizes it against a strict behavioral checklist.

How the Pre-Send Checklist Works in i-have-adhd

The validation logic executes through a persistent hook architecture. The file hooks/always-on.mjs implements an interception mechanism that triggers on every outgoing message, passing the content through the 10-rule checklist documented in SKILL.md. This programmatic filter acts as a gatekeeper, ensuring only concise, action-oriented text transmits to the user interface.

What the Pre-Send Checklist Removes (10 Rules)

The checklist targets specific anti-patterns that hinder executive function and attention management. According to the SKILL.md specification, the filter removes or rewrites the following elements:

  • Preambles and hedging language (Rule 10): Opening phrases like "Sure, let me..." or "Here's what I think..." are deleted entirely.
  • Recaps and conversation summaries (Rule 10): Any restatement of previous context or history gets excised.
  • Closing statements (Rule 10): Sign-offs such as "Hope this helps!" or "Let me know if you need anything else" are stripped.
  • Tangential remarks (Rule 5): Off-topic commentary that distracts from the primary action is suppressed.
  • Excessive list items (Rule 9): Lists containing more than five items are truncated or restructured to meet the cap.
  • Unnumbered multi-step instructions (Rule 2): Sequential tasks lacking numeric ordering are reformatted with explicit step numbers.
  • Ambiguous time estimates (Rule 6): Vague durations like "a bit" or "soon" are replaced with specific minute-based estimates.
  • Missing actionable next steps (Rule 1): Responses that fail to lead with a clear "Do this next" directive are rewritten to prioritize the concrete action.
  • Vague win statements (Rule 7): Non-specific success language is converted to explicit win visibility markers (e.g., "✔️ Wins visible").
  • Speculative error language (Rule 8): Uncertain phrasing like "I think..." or "Maybe..." is replaced with matter-of-fact statements.

Code Examples: Before and After the Checklist

The transformation occurs automatically at the interception point. Consider a standard LLM response before the pre-send filter:

Sure! Let me think about that.

1. Open the file.
2. Edit the function.
3. Run the tests.

Hope this helps!

After processing through hooks/always-on.mjs:

1. Open the file.
2. Edit the function.
3. Run the tests.

✔️ Wins visible: the file is now updated.

Similarly, vague temporal language undergoes forced precision. The filter transforms:

It will take a little while.

Into a specific estimate:

It will take ~5 minutes.

Implementation Files for the Pre-Send Filter

Four critical files define and enforce the checklist behavior within the repository:

  • SKILL.md: Contains the canonical 10-rule checklist that drives the sanitization logic and removal criteria.
  • hooks/always-on.mjs: Implements the interception hook that runs validation on every outgoing message before transmission.
  • README.md: Provides repository overview and architectural references to the checklist system.
  • AGENTS.md: Documents installation procedures, hook activation requirements, and configuration guidelines.

Summary

  • The pre-send check checklist in ayghri/i-have-adhd applies 10 strict formatting rules defined in SKILL.md before any response reaches the user.
  • The hooks/always-on.mjs file implements the interception logic that programmatically enforces these rules on every generated message.
  • Removed elements include conversational preambles, recaps, closing pleasantries, tangents, lists exceeding five items, and ambiguous time estimates.
  • The system guarantees every output leads with actionable next steps, uses specific temporal language, and maintains ADHD-friendly concision.

Frequently Asked Questions

Which file contains the pre-send check checklist rules?

The checklist rules are defined in SKILL.md at the repository root. This markdown file enumerates the 10 specific formatting requirements—including Rule 10 (no preambles/recaps) and Rule 2 (number all steps)—that govern acceptable output structure.

How does i-have-adhd enforce the checklist on every response?

The skill utilizes the always-on.mjs hook located in the hooks/ directory. This JavaScript module intercepts each generated message and applies the checklist filters programmatically before the content transmits to the user interface, ensuring zero manual intervention is required.

Can the pre-send checklist be disabled or customized?

According to the repository architecture documented in AGENTS.md, the checklist operates as a persistent hook system. While the skill supports installation via standard Claude Code plugin mechanisms, the core 10 rules in SKILL.md function as the default enforcement standard, with customization requiring direct modification of the hook logic in hooks/always-on.mjs.

What happens if a response violates multiple checklist rules simultaneously?

The hooks/always-on.mjs filter processes violations sequentially in a single pass. It first strips preambles and closers, then enforces numbering on multi-step tasks, caps list length at five items, validates time specificity, and finally checks for win visibility—delivering a sanitized response that complies with all applicable rules from SKILL.md before transmission completes.

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 →