# What Files Does the i-have-adhd Plugin Install?

> Discover the files installed by the i-have-adhd plugin. Learn about its TypeScript extension, LLM configurations, automation hooks, and JSON manifests.

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

---

**The i-have-adhd plugin installs a TypeScript extension file, a skill directory containing LLM configurations, optional automation hooks, and JSON metadata manifests when added to a PI environment.**

The i-have-adhd plugin, maintained in the `ayghri/i-have-adhd` repository, is a PI (Prompt Interface) package that organizes its assets into a predictable directory structure. When you install it via `pi add i-have-adhd`, the PI loader discovers and registers these files based on declarations in the [`package.json`](https://github.com/ayghri/i-have-adhd/blob/main/package.json) manifest.

## Extension Files

The plugin contributes runtime logic through a single TypeScript extension file located at [`extensions/i-have-adhd.ts`](https://github.com/ayghri/i-have-adhd/blob/main/extensions/i-have-adhd.ts). This file registers output-shaping logic with the PI runtime during initialization.

According to the source code, the PI loader locates this file through the `pi.extensions` array defined in [`package.json`](https://github.com/ayghri/i-have-adhd/blob/main/package.json):

```json
{
  "pi.extensions": [
    "extensions/i-have-adhd.ts"
  ]
}

```

## Skill Assets

The plugin installs a complete skill tree under the `skills/i-have-adhd/` directory. These files define the behavior and configuration for the LLM interactions:

- **[`skills/i-have-adhd/SKILL.md`](https://github.com/ayghri/i-have-adhd/blob/main/skills/i-have-adhd/SKILL.md)** — Human-readable description of the skill's purpose and usage
- **[`skills/i-have-adhd/agents/openai.yaml`](https://github.com/ayghri/i-have-adhd/blob/main/skills/i-have-adhd/agents/openai.yaml)** — OpenAI-specific LLM configuration parameters
- **[`skills/i-have-adhd/agents/gemini.toml`](https://github.com/ayghri/i-have-adhd/blob/main/skills/i-have-adhd/agents/gemini.toml)** — Gemini-specific LLM configuration parameters

The PI loader discovers these assets through the `pi.skills` array in [`package.json`](https://github.com/ayghri/i-have-adhd/blob/main/package.json), which points to the `skills/` directory root.

## Plugin Metadata

Two manifest files provide essential configuration data:

**[`plugin.json`](https://github.com/ayghri/i-have-adhd/blob/main/plugin.json)** contains minimal metadata including the plugin name and description. The PI loader reads this file first to identify the package before processing other assets.

**[`package.json`](https://github.com/ayghri/i-have-adhd/blob/main/package.json)** serves as the npm-style manifest that declares both the `pi.extensions` and `pi.skills` arrays. This file also provides versioning, licensing information, and dependency management for the `ayghri/i-have-adhd` package.

## Optional Automation Hooks

The plugin includes three "always-on" hook scripts that execute automatically when the host environment enables them:

- **[`hooks/always-on.sh`](https://github.com/ayghri/i-have-adhd/blob/main/hooks/always-on.sh)** — Bash script for Unix-like systems
- **`hooks/always-on.ps1`** — PowerShell script for Windows environments  
- **`hooks/always-on.mjs`** — JavaScript (Node.js) script for cross-platform compatibility

These hooks are defined in [`hooks/hooks.json`](https://github.com/ayghri/i-have-adhd/blob/main/hooks/hooks.json) and are copied into the host's `.pi/hooks` directory during installation if the host configuration permits always-on automation.

## Documentation and License Files

While not part of the runtime installation, the package ships with several documentation files: [`README.md`](https://github.com/ayghri/i-have-adhd/blob/main/README.md), [`INSTALL.md`](https://github.com/ayghri/i-have-adhd/blob/main/INSTALL.md), [`GEMINI.md`](https://github.com/ayghri/i-have-adhd/blob/main/GEMINI.md), and `LICENSE`. These provide developer guidance and legal information but are not registered by the PI loader.

## How the Installation Process Works

When you add the plugin to a PI project, the following sequence occurs:

1. The PI loader reads [`package.json`](https://github.com/ayghri/i-have-adhd/blob/main/package.json) to identify the `pi.extensions` and `pi.skills` entries
2. It registers [`extensions/i-have-adhd.ts`](https://github.com/ayghri/i-have-adhd/blob/main/extensions/i-have-adhd.ts) as an active extension
3. It makes the entire `skills/i-have-adhd` tree available as a callable skill
4. It copies hook files to `.pi/hooks/` if always-on automation is enabled

You can verify the installation by checking your [`pi.json`](https://github.com/ayghri/i-have-adhd/blob/main/pi.json) configuration:

```json
{
  "plugins": [
    "i-have-adhd"
  ]
}

```

To invoke the installed skill from a prompt:

```json
{
  "skill": "i-have-adhd",
  "input": "Summarize the meeting notes."
}

```

To manually run the always-on hook for testing:

```bash
bash ./hooks/always-on.sh

```

## Summary

- **[`extensions/i-have-adhd.ts`](https://github.com/ayghri/i-have-adhd/blob/main/extensions/i-have-adhd.ts)** — TypeScript extension that registers output-shaping logic with the PI runtime
- **`skills/i-have-adhd/`** — Directory containing [`SKILL.md`](https://github.com/ayghri/i-have-adhd/blob/main/SKILL.md), [`agents/openai.yaml`](https://github.com/ayghri/i-have-adhd/blob/main/agents/openai.yaml), and [`agents/gemini.toml`](https://github.com/ayghri/i-have-adhd/blob/main/agents/gemini.toml) for LLM configuration
- **[`plugin.json`](https://github.com/ayghri/i-have-adhd/blob/main/plugin.json)** — Minimal metadata file read by the PI loader for package identification
- **[`package.json`](https://github.com/ayghri/i-have-adhd/blob/main/package.json)** — NPM manifest declaring `pi.extensions` and `pi.skills` arrays
- **`hooks/always-on.*`** — Optional bash, PowerShell, and Node.js scripts for automation
- **Documentation files** — [`README.md`](https://github.com/ayghri/i-have-adhd/blob/main/README.md), [`INSTALL.md`](https://github.com/ayghri/i-have-adhd/blob/main/INSTALL.md), [`GEMINI.md`](https://github.com/ayghri/i-have-adhd/blob/main/GEMINI.md), and `LICENSE` for developer reference

## Frequently Asked Questions

### What is the purpose of the extensions/i-have-adhd.ts file?

The [`extensions/i-have-adhd.ts`](https://github.com/ayghri/i-have-adhd/blob/main/extensions/i-have-adhd.ts) file contains TypeScript code that registers output-shaping logic with the PI runtime. It executes when the plugin loads and modifies how the PI system processes responses or handles specific workflows.

### How does the PI loader discover the skill files?

The PI loader reads the `pi.skills` array in [`package.json`](https://github.com/ayghri/i-have-adhd/blob/main/package.json), which declares the path to the `skills/` directory. It then automatically registers all files under `skills/i-have-adhd/`, including the [`SKILL.md`](https://github.com/ayghri/i-have-adhd/blob/main/SKILL.md) description and the agent configuration files in the `agents/` subdirectory.

### Are the always-on hooks required for the plugin to function?

No, the hooks are optional. The plugin functions fully without them. The scripts in [`hooks/always-on.sh`](https://github.com/ayghri/i-have-adhd/blob/main/hooks/always-on.sh), `hooks/always-on.ps1`, and `hooks/always-on.mjs` only execute if the host PI environment explicitly enables "always-on" hook automation in its configuration.

### Where is the plugin configuration defined?

The primary configuration is defined in [`package.json`](https://github.com/ayghri/i-have-adhd/blob/main/package.json) through the `pi.extensions` and `pi.skills` arrays. Additional metadata resides in [`plugin.json`](https://github.com/ayghri/i-have-adhd/blob/main/plugin.json), while specific LLM parameters are configured in [`skills/i-have-adhd/agents/openai.yaml`](https://github.com/ayghri/i-have-adhd/blob/main/skills/i-have-adhd/agents/openai.yaml) and [`skills/i-have-adhd/agents/gemini.toml`](https://github.com/ayghri/i-have-adhd/blob/main/skills/i-have-adhd/agents/gemini.toml).