How i-have-ADHD Provides Specific Time Estimates for Tasks: Implementation Guide

The i-have-ADHD skill enforces specific time estimates for tasks by defining a strict formatting rule in skills/i-have-adhd/SKILL.md that requires the LLM to output concrete durations in minutes or hours rather than vague phrasing.

The ayghri/i-have-adhd repository is an LLM-powered agent skill designed to provide structured, actionable assistance for users with executive function challenges. One of its core capabilities is ensuring that every task-related response includes specific time estimates for tasks, transforming ambiguous promises into concrete, understandable commitments.

The Rule Definition in SKILL.md

Lines 82-88: The Concrete Unit Mandate

According to the source code, rule 6 in skills/i-have-adhd/SKILL.md explicitly states: "Vague estimates fail. Ballpark in concrete units." This directive appears at lines 82-88 and forms part of a broader set of 10 formatting rules that govern how the agent constructs replies. The rule mandates that every task suggestion must include a quantified duration immediately following the action step.

Good vs. Bad Examples

The skill file provides concrete pattern examples to train the LLM:


# Example of a correct response fragment

Run `npm install jsonwebtoken`**~5 minutes**.  
Then edit `src/auth.ts:42`**≈2 minutes**.  

# Incorrect (vague) response

Run `npm install jsonwebtoken`. This will take some work.

As implemented in the source, "About 15 minutes if tests already cover this. An afternoon if not" represents the required specificity, while phrases like "some work" or "a while" are explicitly prohibited.

Runtime Enforcement Across Platforms

Skill Loading by Platform Adapters

The time estimate rule propagates consistently across all supported platforms because each adapter loads the same SKILL.md file. The OpenCode runtime uses .opencode/plugins/i-have-adhd.mjs to load the skill definitions at startup, while the Claude adapter references them via .claude-plugin/plugin.json. This architecture ensures that whether users interact through OpenCode, Claude, Gemini, Pi, or OMP, they receive identically formatted time estimates.

CI Validation

The repository maintains active enforcement through .github/workflows/plugin-load-check.yml, which validates that all platform plugins load correctly. This workflow indirectly confirms that the time-estimate formatting rules defined in the skill file remain active in production builds.

Response Structure and Lead-with-Next-Action

When composing multi-step answers, the agent inserts the time estimate in the lead-with-next-action step—the first actionable line of the response. This placement ensures users immediately understand the expected effort before reading implementation details.

The pattern requires estimates to follow commands directly using concrete units:

  • Use minutes for short tasks (e.g., ~5 minutes)
  • Use hours or fractional days for longer efforts (e.g., An afternoon)

This structural requirement prevents the LLM from burying time information in paragraphs or omitting it entirely.

Algorithmic Approach vs. Prompt Engineering

Importantly, i-have-ADHD does not compute durations algorithmically. The system contains no time-calculation functions or heuristics. Instead, the skill uses prompt engineering to instruct the underlying language model to generate explicit estimates based on contextual understanding. By mandating output format rather than performing computational analysis, the skill ensures estimates remain visible, actionable, and unambiguous across all task types while leveraging the LLM's reasoning capabilities.

Key Configuration Files

The following files govern how specific time estimates for tasks are enforced:

Summary

  • The i-have-ADHD skill mandates specific time estimates for tasks through a strict formatting rule defined at lines 82-88 of skills/i-have-adhd/SKILL.md.
  • The rule "Vague estimates fail. Ballpark in concrete units" requires all estimates to use minutes or hours rather than ambiguous language like "some work."
  • Platform-specific adapters including OpenCode, Claude, and Gemini load the same skill file, ensuring consistent behavior across all supported runtimes.
  • Time estimates appear in the first actionable line of responses, following the lead-with-next-action pattern for immediate user comprehension.
  • The system validates skill loading through .github/workflows/plugin-load-check.yml, confirming the formatting rules remain active in production environments.

Frequently Asked Questions

Where is the time estimate rule defined in the i-have-ADHD repository?

The rule is defined in skills/i-have-adhd/SKILL.md at lines 82-88, where it appears as rule 6 of 10 formatting rules. This section explicitly states "Vague estimates fail. Ballpark in concrete units" and provides examples distinguishing acceptable time expressions from vague phrasing.

Does i-have-ADHD calculate task duration algorithmically?

No, the skill does not perform algorithmic calculations or maintain duration databases. It instructs the LLM to output explicit time estimates in concrete units (minutes or hours) through prompt engineering, ensuring the estimate is formatted correctly without requiring computational duration analysis.

How does the time estimate rule work across different AI platforms?

The rule propagates through platform-specific adapters—such as .opencode/plugins/i-have-adhd.mjs for OpenCode and .claude-plugin/plugin.json for Claude—that each load the same SKILL.md file. This shared configuration ensures consistent time estimate formatting across OpenCode, Claude, Gemini, Pi, and OMP environments.

What happens if the agent generates a vague time estimate?

Responses containing vague phrasing like "this will take some work" violate the formatting rules in SKILL.md. The system prompt constraints enforce concrete examples such as "About 15 minutes," ensuring all task estimates use specific, actionable time units that align with the lead-with-next-action response structure.

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 →