# How to Integrate Ponytail with Instruction-Only Agents Like Cursor or GitHub Copilot Chat

> Integrate Ponytail with Cursor or GitHub Copilot Chat by copying canonical rules. Enable lazy senior developer instructions in your prompts for enhanced coding assistance.

- Repository: [DietrichGebert/ponytail](https://github.com/DietrichGebert/ponytail)
- Tags: how-to-guide
- Published: 2026-09-03

---

**You integrate Ponytail with instruction-only agents by copying the canonical rules from [`AGENTS.md`](https://github.com/DietrichGebert/ponytail/blob/main/AGENTS.md) into the agent-specific project rule files (`.cursor/rules/ponytail.mdc` for Cursor and [`.github/copilot-instructions.md`](https://github.com/DietrichGebert/ponytail/blob/main/.github/copilot-instructions.md) for GitHub Copilot Chat), allowing the agents to inject Ponytail's lazy-senior-developer instructions into every prompt without requiring skill-loading capabilities.**

Ponytail is an AI coding assistant framework developed by DietrichGebert that optimizes software development through a "lazy senior developer" methodology. While some AI agents can load dedicated skill files from the `skills/ponytail/` directory, instruction-only agents require a simpler, file-based approach to access Ponytail's core behaviors. This integration leverages project-level rule files that the agents automatically read at startup.

## Understanding Ponytail's Architecture for Instruction-Only Agents

Ponytail organizes its intelligence into two distinct layers to maximize compatibility across different agent types. The **core skills** containing the lazy-senior-dev logic (such as `pony-tail` and `pony-tail-review`) reside in [`skills/ponytail/SKILL.md`](https://github.com/DietrichGebert/ponytail/blob/main/skills/ponytail/SKILL.md). However, instruction-only agents cannot parse these skill definitions directly.

Instead, these agents consume the **always-on instruction set** defined in the repository root's [`AGENTS.md`](https://github.com/DietrichGebert/ponytail/blob/main/AGENTS.md). According to the architecture documented in [`docs/agent-portability.md`](https://github.com/DietrichGebert/ponytail/blob/main/docs/agent-portability.md), this file contains the minimal rule set required for agents to understand Ponytail's command structure. The portability table in [`agent-portability.md`](https://github.com/DietrichGebert/ponytail/blob/main/agent-portability.md) (lines 18-22) explicitly maps instruction-only agents to specific project rule file locations, ensuring seamless integration without custom plugin development.

## Setting Up Cursor Integration with Ponytail

Cursor automatically loads project-wide rules from files placed in the `.cursor/rules/` directory. To integrate Ponytail with Cursor, you must create a Markdown-compatible rule file that contains the instruction set from [`AGENTS.md`](https://github.com/DietrichGebert/ponytail/blob/main/AGENTS.md).

Create the file `.cursor/rules/ponytail.mdc` in your repository root:

```markdown

# ponytail rules for Cursor

# Copied from the repository's AGENTS.md

You are a lazy senior developer. Lazy means efficient, not careless.
Before writing any code, stop at the first rung that holds:
1. Does this need to be built at all? (YAGNI)
2. Does it already exist in this codebase?
3. Can I configure something existing instead of writing new code?
4. Can I delete code while implementing this?
5. Only then: implement the minimal elegant solution.

```

When a Cursor session opens this repository, the rule file is applied **always-on**, meaning any `/ponytail` commands you type will be interpreted according to the skill definitions in [`skills/ponytail/SKILL.md`](https://github.com/DietrichGebert/ponytail/blob/main/skills/ponytail/SKILL.md).

## Configuring GitHub Copilot Chat for Ponytail

GitHub Copilot Chat reads project-level instructions from [`.github/copilot-instructions.md`](https://github.com/DietrichGebert/ponytail/blob/main/.github/copilot-instructions.md). If this file is absent, the agent falls back to reading the repository-wide [`AGENTS.md`](https://github.com/DietrichGebert/ponytail/blob/main/AGENTS.md) directly. To ensure consistent behavior across all team members, explicitly create the instruction file.

Create [`.github/copilot-instructions.md`](https://github.com/DietrichGebert/ponytail/blob/main/.github/copilot-instructions.md) in your repository:

```markdown

# ponytail rules for Copilot Chat

# Sourced from AGENTS.md

You are a lazy senior developer. Lazy means efficient, not careless.
Before writing any code, stop at the first rung that holds:
1. Does this need to be built at all? (YAGNI)
2. Does it already exist in this codebase?
3. Can I configure something existing instead of writing new code?
4. Can I delete code while implementing this?
5. Only then: implement the minimal elegant solution.

```

Copilot Chat injects these rules into every chat session that works on the repository, enabling the `/ponytail` commands and the full lazy-senior-dev workflow without additional configuration.

## How Rule File Integration Works Under the Hood

The integration functions through **prompt injection** rather than skill loading. When you place the [`AGENTS.md`](https://github.com/DietrichGebert/ponytail/blob/main/AGENTS.md) content into the agent-specific rule files, you create a thin adapter layer documented in [`docs/agent-portability.md`](https://github.com/DietrichGebert/ponytail/blob/main/docs/agent-portability.md).

This approach works because:

- **Cursor** scans `.cursor/rules/` recursively and prepends all discovered files to the system prompt
- **GitHub Copilot Chat** treats [`.github/copilot-instructions.md`](https://github.com/DietrichGebert/ponytail/blob/main/.github/copilot-instructions.md) as a project context file, applying it to all queries within that repository
- Both agents lack the capability to parse the structured skill definitions in [`skills/ponytail/SKILL.md`](https://github.com/DietrichGebert/ponytail/blob/main/skills/ponytail/SKILL.md), but they can process the plain-text instructions mirrored from [`AGENTS.md`](https://github.com/DietrichGebert/ponytail/blob/main/AGENTS.md)

The rule files act as static instruction carriers, ensuring that the "lazy senior developer" persona and the YAGNI-based decision ladder are present in every interaction.

## Summary

- **Ponytail** uses [`AGENTS.md`](https://github.com/DietrichGebert/ponytail/blob/main/AGENTS.md) as the canonical instruction source for agents that cannot load structured skill files from `skills/ponytail/`.
- **Cursor** requires the file `.cursor/rules/ponytail.mdc` containing the [`AGENTS.md`](https://github.com/DietrichGebert/ponytail/blob/main/AGENTS.md) instructions to enable always-on Ponytail behavior.
- **GitHub Copilot Chat** reads [`.github/copilot-instructions.md`](https://github.com/DietrichGebert/ponytail/blob/main/.github/copilot-instructions.md) for project-specific instructions, falling back to [`AGENTS.md`](https://github.com/DietrichGebert/ponytail/blob/main/AGENTS.md) if not present.
- The architecture documented in [`docs/agent-portability.md`](https://github.com/DietrichGebert/ponytail/blob/main/docs/agent-portability.md) provides the mapping between Ponytail's internal skills and the external rule files required by instruction-only agents.
- No plugin installation or custom code is required; the integration relies entirely on strategically placed Markdown files containing the instruction set.

## Frequently Asked Questions

### What is the difference between Ponytail skills and AGENTS.md?

Ponytail skills are structured logic files stored in [`skills/ponytail/SKILL.md`](https://github.com/DietrichGebert/ponytail/blob/main/skills/ponytail/SKILL.md) that define specific capabilities like code review or generation workflows. [`AGENTS.md`](https://github.com/DietrichGebert/ponytail/blob/main/AGENTS.md) is a plain-text condensation of the core instruction set (the lazy-senior-dev rules) designed for agents that cannot parse structured skill formats. Instruction-only agents like Cursor and Copilot Chat read [`AGENTS.md`](https://github.com/DietrichGebert/ponytail/blob/main/AGENTS.md) or its mirror files instead of loading the skill definitions directly.

### Can I use the same rule file for multiple agents?

While the *content* should remain identical (copied from [`AGENTS.md`](https://github.com/DietrichGebert/ponytail/blob/main/AGENTS.md)), the *filename and location* must match each agent's expectations. Cursor requires `.cursor/rules/ponytail.mdc` while GitHub Copilot Chat requires [`.github/copilot-instructions.md`](https://github.com/DietrichGebert/ponytail/blob/main/.github/copilot-instructions.md). You cannot use a single file path for both agents simultaneously, but you can maintain consistency by copying the same text into both locations or using a build script to sync them.

### Why does Ponytail use a "lazy senior developer" persona?

The persona implements a strict efficiency hierarchy documented in [`AGENTS.md`](https://github.com/DietrichGebert/ponytail/blob/main/AGENTS.md) that forces the AI to evaluate whether code needs to be written at all before implementation. This "laziness" prioritizes deleting code, configuring existing solutions, and rejecting unnecessary features (YAGNI) over generating new code, resulting in cleaner, more maintainable software architectures with less technical debt.

### Do I need to install a plugin for Cursor or Copilot Chat to use Ponytail?

No plugin installation is required. Ponytail integrates with these instruction-only agents purely through the file system. By placing the appropriate rule files (`.cursor/rules/ponytail.mdc` or [`.github/copilot-instructions.md`](https://github.com/DietrichGebert/ponytail/blob/main/.github/copilot-instructions.md)) in your repository, you leverage the agents' native capability to read project-specific instructions at startup. This zero-dependency approach is documented in [`docs/agent-portability.md`](https://github.com/DietrichGebert/ponytail/blob/main/docs/agent-portability.md) as the "adapter rule" pattern.