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:agents/openai.yamlfor OpenAI modelsagents/gemini.tomlfor Gemini models
GEMINI.md— A convenience wrapper that simply points toSKILL.mdfor 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:
- Parses the config file
- Resolves the
@include to injectSKILL.md - Appends your custom instructions
- 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.mdprogrammatically or via@includes for maximum flexibility in any LLM client. - Wrapper shortcut — Use
GEMINI.mdfor quick bash-based workflows without path management. - Agent configs — Leverage
openai.yamlorgemini.tomlwhen 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:
curl -s "https://instagit.com/install.md" Maintain an open-source project? Get it listed too →