---
slug: "dnopi"
source_type: "readme"
source_url: "https://cdn.jsdelivr.net/gh/dnouri/ai-config@master/README.md"
repo: "https://github.com/dnouri/ai-config"
source_file: "README.md"
branch: "master"
---
# dnopi

6 skills and 3 extensions for [pi](https://github.com/badlogic/pi-mono/tree/main/packages/coding-agent).

## Installation

Install all 6 skills and 4 extensions:

```bash
pi install npm:dnopi
```

Or pick what you want via [settings filtering](https://github.com/badlogic/pi-mono/blob/main/packages/coding-agent/docs/packages.md#package-filtering) in `~/.pi/agent/settings.json`:

```json
{
  "packages": [
    {
      "source": "npm:dnopi",
      "extensions": ["extensions/notify.ts"],
      "skills": ["skills/tmux"]
    }
  ]
}
```

Arrays support globs and `!exclusions`. Omit a key to load all of that type; use `[]` to load none.

## AGENTS.md / CLAUDE.md

`AGENTS.md` is the global agent instructions file — the single source of truth for how AI coding agents should behave across all projects. `CLAUDE.md` is a symlink to `AGENTS.md`, so both tools read the same file.

| Tool | Global location | How to install |
|------|----------------|----------------|
| **pi** | `~/.pi/agent/AGENTS.md` | `ln -s <repo>/AGENTS.md ~/.pi/agent/AGENTS.md` |
| **Claude Code** | `~/.claude/CLAUDE.md` | `ln -s <repo>/CLAUDE.md ~/.claude/CLAUDE.md` |

Both tools also support project-level files (`./AGENTS.md` / `./CLAUDE.md`) that override or extend the global one. The global file here covers methodology (TDD, pair programming), commit discipline, testing standards, and Python guidelines.

## Skills

| Skill | Description |
|-------|-------------|
| [linear](https://github.com/dnouri/ai-config/blob/HEAD/skills/linear/SKILL.md) | Linear issue management with linearis CLI |
| [aws-sso](https://github.com/dnouri/ai-config/blob/HEAD/skills/aws-sso/SKILL.md) | AWS SSO token re-authentication |
| [tmux](https://github.com/dnouri/ai-config/blob/HEAD/skills/tmux/SKILL.md) | Run long-running processes in tmux sessions |
| [slack-latest](https://github.com/dnouri/ai-config/blob/HEAD/skills/slack-latest/SKILL.md) | Gather recent Slack messages, read threads, and send replies |
| [improve-agent](https://github.com/dnouri/ai-config/blob/HEAD/skills/improve-agent/SKILL.md) | Analyze pi sessions to find recurring issues and improve agent workflow (pi-specific) |
| [web-search](https://github.com/dnouri/ai-config/blob/HEAD/skills/web-search/SKILL.md) | Web search and content extraction via real browser with multi-engine fallback |

## Extensions (pi only)

| Extension | Description |
|-----------|-------------|
| [notify.ts](https://github.com/dnouri/ai-config/blob/HEAD/extensions/notify.ts) | Desktop notification when agent needs attention |
| [pisay.ts](https://github.com/dnouri/ai-config/blob/HEAD/extensions/pisay.ts) | π mascot — extension UI protocol test harness (`/pisay help`) |
| [loop.ts](https://github.com/dnouri/ai-config/blob/HEAD/extensions/loop.ts) | Repeat a prompt or template command indefinitely (`/loop`, `/loop stop`) |
| [subagent/](https://github.com/dnouri/ai-config/blob/HEAD/extensions/subagent/README.md) | Delegate tasks to specialized subagents with isolated context |

## Requirements

- **linear**: [linearis](https://github.com/czottmann/linearis) (`npm install -g linearis`) and a [Linear API token](https://linear.app/settings/account/security)
- **aws-sso**: [AWS CLI](https://aws.amazon.com/cli/) and [tmux](https://github.com/tmux/tmux)
- **tmux**: [tmux](https://github.com/tmux/tmux)
- **slack-latest**: Python 3 (standard library only); browser tokens from a Slack session
- **improve-agent**: Python 3, [jq](https://jqlang.github.io/jq/) (for raw JSONL investigation); pi sessions only
- **web-search**: [Node.js](https://nodejs.org/), [`playwright-cli`](https://github.com/nicobailon/playwright-mcp), a Chromium-based browser — one-time [setup guide](https://github.com/dnouri/ai-config/blob/HEAD/skills/web-search/references/setup-browser.md)

## License

MIT
