# How the i-have-adhd Plugin Resolves When Skill Rules Conflict with Agent Harness Requirements

> Discover how the i-have-adhd plugin resolves conflicts between skill rules and agent harness requirements, ensuring your agent stays ADHD friendly.

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

---

**When skill rules conflict with agent harness requirements in the i-have-adhd plugin, the harness's system prompt takes precedence while the skill preserves its ADHD‑friendly "shape" for the rest of the response.**

The `ayghri/i-have-adhd` repository provides a set of output-shaping rules designed to optimize AI assistant responses for users with ADHD. These rules demand action‑first, numbered steps, concrete time estimates, and no pre‑ambles. However, the plugin runs inside various **agent harnesses**—Claude Code, Codex, OpenCode, Gemini, and others—each supplying their own system prompts that may impose incompatible requirements.

## The Hierarchy: Harness System Prompt Outranks Skill Rules

The conflict resolution policy is explicitly codified in [`skills/i-have-adhd/SKILL.md`](https://github.com/ayghri/i-have-adhd/blob/main/skills/i-have-adhd/SKILL.md). Line 126 states:

> "A rule fights the harness. Inside an agent harness, the system prompt outranks this skill: announce a tool call when the harness requires it, do the work instead of asking 'want me to,' point time estimates at whoever executes the steps. Same principle as 5: **the constraint wins, the shape stays**."

This principle appears again in [`skills/i-have-adhd/agents/gemini.toml`](https://github.com/ayghri/i-have-adhd/blob/main/skills/i-have-adhd/agents/gemini.toml) at line 21:

> "...or the harness's own system prompt requires something these rules ban **(the harness wins; keep the shape)**."

## How Conflicts Are Detected and Resolved

The plugin applies a three‑step resolution process when **skill rules conflict with agent harness requirements**:

1. **Parse the harness system prompt first** – The agent harness's constraints are evaluated before skill rules are applied.
2. **Yield on conflicting elements** – Any harness‑mandated behavior that violates skill rules is emitted anyway (tool‑call announcements, greetings, safety confirmations).
3. **Preserve ADHD‑friendly shaping** – The remainder of the response follows the skill's action‑first, concise, concrete format.

## Code Examples: Conflicts in Practice

### Tool-Call Announcement Conflict

The skill forbids "ask before doing," but a harness may require explicit tool‑call announcements.

```json
// Harness-provided system prompt (simplified)
{
  "system_prompt": "When you need to run a tool, announce it first."
}

```

**Resulting response** (harness wins, shape kept):

```

/tool run npm install jsonwebtoken
Next: edit src/auth.ts:42 with the new token handling.

```

The harness requirement for announcement is honored, yet the subsequent output maintains the skill's direct, step‑based format.

### Pre-Ambles Greeting Conflict

A harness may mandate a greeting, which directly violates the skill's "no pre‑ambles" rule.

```text
// Harness requirement
"Please start every response with: 'Hello, here is what I found:'"

```

**Resulting response**:

```

Hello, here is what I found:
Run `npm install jsonwebtoken` then edit `src/auth.ts:42`.

```

The greeting appears as required, but the content immediately shifts to the skill's preferred action‑first style.

### Safety-First Override Conflict

Destructive actions trigger harness safety rules that override the skill's default behavior.

```text
// Harness safety rule
"Before any destructive command, ask for confirmation."

```

**Resulting response**:

```

Are you sure you want to delete the database? (yes/no)

```

After confirmation, the skill resumes its normal shaping for subsequent steps.

## Key Source Files

Understanding **when skill rules conflict with agent harness requirements** requires familiarity with these files:

- **[`skills/i-have-adhd/SKILL.md`](https://github.com/ayghri/i-have-adhd/blob/main/skills/i-have-adhd/SKILL.md)** – The canonical rule set and conflict hierarchy definition ([source](https://github.com/ayghri/i-have-adhd/blob/main/skills/i-have-adhd/SKILL.md))
- **[`skills/i-have-adhd/agents/gemini.toml`](https://github.com/ayghri/i-have-adhd/blob/main/skills/i-have-adhd/agents/gemini.toml)** – Harness‑specific command definition with embedded conflict clause ([source](https://github.com/ayghri/i-have-adhd/blob/main/skills/i-have-adhd/agents/gemini.toml))
- **[`AGENTS.md`](https://github.com/ayghri/i-have-adhd/blob/main/AGENTS.md)** – Overview of supported runtimes and integration points ([source](https://github.com/ayghri/i-have-adhd/blob/main/AGENTS.md))

## Summary

- **Harness system prompts always win** in direct conflicts with skill rules.
- **The "shape" of ADHD‑friendly output is preserved** wherever possible—action‑first ordering, concrete steps, and time estimates remain intact.
- **Conflicts are resolved at parse time**, not through negotiation or error states.
- **Safety and protocol requirements** (tool announcements, confirmations, greetings) are never suppressed, even when they violate skill preferences.

## Frequently Asked Questions

### What exactly counts as a "conflict" between skill rules and harness requirements?

A conflict occurs when a harness's system prompt mandates behavior that the skill explicitly forbids—such as requiring a greeting when the skill bans pre‑ambles, or demanding tool‑call announcements when the skill prescribes immediate action. According to [`SKILL.md`](https://github.com/ayghri/i-have-adhd/blob/main/SKILL.md) line 126, the harness's instruction "outranks" the skill's opposing rule.

### Does the plugin ever override a harness safety requirement?

No. The hierarchy is absolute: harness safety rules, tool protocols, and system‑level constraints always take precedence. The skill's shaping logic applies only to non‑conflicting portions of the response. As noted in [`gemini.toml`](https://github.com/ayghri/i-have-adhd/blob/main/gemini.toml) line 21, the harness wins while the plugin attempts to "keep the shape."

### Can I modify which requirements take priority?

The conflict resolution hierarchy is hardcoded into the skill definition files. Users cannot reconfigure this precedence without forking the repository and editing [`SKILL.md`](https://github.com/ayghri/i-have-adhd/blob/main/SKILL.md) or individual harness configurations in `skills/i-have-adhd/agents/`. Doing so would risk breaking compatibility with agent harnesses that depend on specific behaviors.

### How does the plugin handle multiple conflicting requirements from different sources?

The plugin processes constraints in strict order: harness system prompt first, then skill rules. If multiple harness‑level constraints conflict with each other, standard harness behavior applies—the skill does not interpose itself between harness‑internal contradictions.