What Files Does the i-have-adhd Plugin Install?
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 manifest.
Extension Files
The plugin contributes runtime logic through a single TypeScript extension file located at 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:
{
"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— Human-readable description of the skill's purpose and usageskills/i-have-adhd/agents/openai.yaml— OpenAI-specific LLM configuration parametersskills/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, which points to the skills/ directory root.
Plugin Metadata
Two manifest files provide essential configuration data:
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 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— Bash script for Unix-like systemshooks/always-on.ps1— PowerShell script for Windows environmentshooks/always-on.mjs— JavaScript (Node.js) script for cross-platform compatibility
These hooks are defined in 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, INSTALL.md, 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:
- The PI loader reads
package.jsonto identify thepi.extensionsandpi.skillsentries - It registers
extensions/i-have-adhd.tsas an active extension - It makes the entire
skills/i-have-adhdtree available as a callable skill - It copies hook files to
.pi/hooks/if always-on automation is enabled
You can verify the installation by checking your pi.json configuration:
{
"plugins": [
"i-have-adhd"
]
}
To invoke the installed skill from a prompt:
{
"skill": "i-have-adhd",
"input": "Summarize the meeting notes."
}
To manually run the always-on hook for testing:
bash ./hooks/always-on.sh
Summary
extensions/i-have-adhd.ts— TypeScript extension that registers output-shaping logic with the PI runtimeskills/i-have-adhd/— Directory containingSKILL.md,agents/openai.yaml, andagents/gemini.tomlfor LLM configurationplugin.json— Minimal metadata file read by the PI loader for package identificationpackage.json— NPM manifest declaringpi.extensionsandpi.skillsarrayshooks/always-on.*— Optional bash, PowerShell, and Node.js scripts for automation- Documentation files —
README.md,INSTALL.md,GEMINI.md, andLICENSEfor developer reference
Frequently Asked Questions
What is the purpose of the extensions/i-have-adhd.ts file?
The 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, which declares the path to the skills/ directory. It then automatically registers all files under skills/i-have-adhd/, including the 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, 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 through the pi.extensions and pi.skills arrays. Additional metadata resides in plugin.json, while specific LLM parameters are configured in skills/i-have-adhd/agents/openai.yaml and skills/i-have-adhd/agents/gemini.toml.
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 →