Integrating the i-have-adhd Skill with Custom System Prompts: 3 Methods Explained

The i-have-adhd skill integrates with custom system prompts by prepending its rule definition (SKILL.md) directly to the system message, loading it through YAML/TOML agent configs, or using the GEMINI.md convenience wrapper.

The i-have-adhd skill is a lightweight, rule-based output-shaping module designed to make LLM responses more ADHD-friendly—prioritizing brevity, clear action steps, and chunkable information. When integrating this skill with custom system prompts or other instructions, you have multiple pathways depending on your infrastructure and whether you use raw prompt engineering, agent harnesses, or model-specific configurations.

Architecture Overview

Understanding how the skill is structured helps you choose the right integration method.

  • skills/i-have-adhd/SKILL.md — The core rule set. It declares the skill name, description, and 10 formatting rules the model must obey.
  • plugin.json — Registers the skill with the harness so it can be discovered by name.
  • Agent configs — Model-specific files in skills/i-have-adhd/agents/ tell the harness which LLM to use and where to inject the skill:
  • GEMINI.md — A convenience wrapper that simply points to SKILL.md for quick manual inclusion.

Once activated, the skill remains in effect for the entire session until the user issues "stop adhd mode" or "normal mode" SKILL.md – Persistence section.

Method 1: Direct System Prompt Prepending

The simplest approach for custom integrations is manually injecting SKILL.md into your system prompt.

Structure your prompt with clear delimiters:

You are a helpful coding assistant.

--- Begin i-have-adhd rules ---
<contents of skills/i-have-adhd/SKILL.md>
--- End i-have-adhd rules ---

[Your custom instructions here]

Using Include Directives

Many prompt-templating engines support @ path includes. Prepend the skill file, then append your instructions:

@./skills/i-have-adhd/SKILL.md

{{CUSTOM_INSTRUCTIONS}}

The harness resolves the @ path at runtime and injects the full rule set before your custom content.

Python Example: Loading Programmatically

import pathlib

# Load the skill definition

skill_md = pathlib.Path("skills/i-have-adhd/SKILL.md").read_text()

# Your custom prompt

custom_prompt = "You are an expert Python tutor. Explain concepts concisely."

# Build the final system prompt

system_prompt = f"{skill_md}\n\n{custom_prompt}"

# Pass to the LLM (example using OpenAI client)

client.chat(
    model="gpt-4",
    messages=[{"role": "system", "content": system_prompt},
              {"role": "user", "content": "How do list comprehensions work?"}]
)

Method 2: Using the GEMINI.md Wrapper

For quick manual setups, the repository provides GEMINI.md—a thin wrapper that includes SKILL.md without duplication.

Bash Example: Concatenating with Custom Instructions


# Start with the wrapper

cat GEMINI.md > tmp_prompt.txt

# Append your own instructions

echo -e "\nYou are a senior DevOps engineer.\n" >> tmp_prompt.txt

# Run evaluation with the assembled prompt

python3 scripts/run_evals.py run \
  --runner claude \
  --condition candidate \
  --custom-prompt-file tmp_prompt.txt \
  --trials 1

This method avoids path resolution issues since GEMINI.md contains the actual skill content by reference.

Method 3: Agent Configuration Files

For production deployments using the skill harness, configure the skill through the provided YAML and TOML files.

OpenAI Agent Config

Edit skills/i-have-adhd/agents/openai.yaml:

model: gpt-4
system_prompt: |
  @./skills/i-have-adhd/SKILL.md
  You are a CI/CD pipeline reviewer. Focus on actionable feedback.

Gemini Agent Config

Edit skills/i-have-adhd/agents/gemini.toml:

model = "gemini-1.5-pro"
system_prompt = """
@./skills/i-have-adhd/SKILL.md
{{YOUR_CUSTOM_PROMPT}}
"""

When the agent initializes, the harness:

  1. Parses the config file
  2. Resolves the @ include to inject SKILL.md
  3. Appends your custom instructions
  4. Sends the assembled prompt to the specified model

Key Files Reference

File Purpose Location
SKILL.md Core 10-rule definition shaping all outputs skills/i-have-adhd/SKILL.md
plugin.json Skill registration manifest plugin.json
GEMINI.md Wrapper for manual prompt assembly GEMINI.md
openai.yaml OpenAI-specific agent configuration skills/i-have-adhd/agents/openai.yaml
gemini.toml Gemini-specific agent configuration skills/i-have-adhd/agents/gemini.toml

Summary

  • Direct prepending — Load SKILL.md programmatically or via @ includes for maximum flexibility in any LLM client.
  • Wrapper shortcut — Use GEMINI.md for quick bash-based workflows without path management.
  • Agent configs — Leverage openai.yaml or gemini.toml when operating within the skill harness for automatic injection and model-specific tuning.

All methods ensure the 10 ADHD-friendly formatting rules apply before your custom instructions execute, creating consistently action-oriented, scannable LLM outputs.

Frequently Asked Questions

Can I modify the 10 rules in SKILL.md for my use case?

Yes. SKILL.md is plain Markdown—edit it directly to adjust rule priorities or add domain-specific constraints. The harness will use your modified version when resolving @ includes. Keep the file structure intact so persistence commands like "stop adhd mode" continue to function.

What happens if I include both SKILL.md and GEMINI.md in the same prompt?

You will duplicate the rule set. GEMINI.md is strictly a pointer to SKILL.md, so including both sends the rules twice. Use one or the other depending on whether your tooling supports @ path resolution.

Does the skill work with Claude, Mistral, or other models?

Yes. The skill is model-agnostic. GEMINI.md and SKILL.md contain no provider-specific syntax. Any LLM that accepts system prompts—including Claude, Llama, or Mistral—will process the rules. The openai.yaml and gemini.toml files are convenience configs; copy their structure for other providers.

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 →