# Where Are the Core Rulesets and Modular Skills Located in the Ponytail Repository?

> Find Ponytail repository's core rulesets in hidden directories like .agents/rules/ and modular skills in skills/ and .openclaw/skills/. Access plain text markdown files easily.

- Repository: [DietrichGebert/ponytail](https://github.com/DietrichGebert/ponytail)
- Tags: internals
- Published: 2026-09-07

---

**The Ponytail repository stores core rulesets in hidden `.agents/rules/`, `.qoder/rules/`, `.windsurf/rules/`, and `.clinerules/` directories, while modular skills live in `skills/` (public) and `.openclaw/skills/` (OpenClaw-specific), all as plain-text markdown files.**

The **Ponytail** repository by DietrichGebert organizes its AI agent configuration through a dual-layer system: **core rulesets** that define behavioral intensity levels (lite, full, ultra) and **modular skills** that expose specific capabilities to downstream agents. Understanding where these files live is essential for customizing behavior, syncing across agent frameworks, or contributing new skills.

---

## Core Rulesets: Hidden Directories for Agent Configuration

Ponytail distributes its master ruleset across multiple hidden directories to support different agent platforms without forcing users to reconfigure their tooling.

### Primary Ruleset Locations

| Platform | Directory | Example File |
|----------|-----------|--------------|
| Generic agents | `.agents/rules/` | [`ponytail.md`](https://github.com/DietrichGebert/ponytail/blob/main/ponytail.md) |
| Qoder | `.qoder/rules/` | [`ponytail.md`](https://github.com/DietrichGebert/ponytail/blob/main/ponytail.md) |
| Windsurf | `.windsurf/rules/` | [`ponytail.md`](https://github.com/DietrichGebert/ponytail/blob/main/ponytail.md) |
| Cline | `.clinerules/` | [`ponytail.md`](https://github.com/DietrichGebert/ponytail/blob/main/ponytail.md) |

Each [`ponytail.md`](https://github.com/DietrichGebert/ponytail/blob/main/ponytail.md) file contains the same foundational ruleset, including the "PONYTAIL MODE ACTIVE" activation prompt and tiered intensity instructions. The duplication ensures **ruleset consistency**—agents automatically discover configurations in their native directory conventions.

### Loading a Core Ruleset Programmatically

```javascript
import { readFileSync } from 'fs';
import { resolve } from 'path';

const repoRoot = resolve(__dirname, '..');

// Load the master Ponytail ruleset
const rulesetPath = `${repoRoot}/.agents/rules/ponytail.md`;
const ruleset = readFileSync(rulesetPath, 'utf-8');

// Filter by intensity level at runtime
const intensity = 'ultra'; // 'lite' | 'full' | 'ultra'
const modeBlock = ruleset.match(
  new RegExp(`## ${intensity.toUpperCase()} MODE[\\s\\S]*?(?=## |$)`, 'i')

);

```

The **[`.agents/rules/ponytail.md`](https://github.com/DietrichGebert/ponytail/blob/main/.agents/rules/ponytail.md)** file serves as the canonical source. Other locations are kept in sync to prevent "ruleset drift" across platforms.

---

## Modular Skills: Public and Framework-Specific Directories

Ponytail's **modular skills** extend core behavior with task-specific capabilities. These are organized in two parallel structures.

### Public Skills Directory (`skills/`)

The public `skills/` directory contains versioned skill modules that any agent framework can import:

- [`skills/ponytail/SKILL.md`](https://github.com/DietrichGebert/ponytail/blob/main/skills/ponytail/SKILL.md) — Core Ponytail skill with base capabilities
- [`skills/ponytail-review/SKILL.md`](https://github.com/DietrichGebert/ponytail/blob/main/skills/ponytail-review/SKILL.md) — Code review specialization
- [`skills/ponytail-help/SKILL.md`](https://github.com/DietrichGebert/ponytail/blob/main/skills/ponytail-help/SKILL.md) — Assistance and documentation support
- [`skills/ponytail-gain/SKILL.md`](https://github.com/DietrichGebert/ponytail/blob/main/skills/ponytail-gain/SKILL.md) — Performance optimization guidance
- [`skills/ponytail-debt/SKILL.md`](https://github.com/DietrichGebert/ponytail/blob/main/skills/ponytail-debt/SKILL.md) — Technical debt analysis
- [`skills/ponytail-audit/SKILL.md`](https://github.com/DietrichGebert/ponytail/blob/main/skills/ponytail-audit/SKILL.md) — Security and compliance auditing

### OpenClaw-Specific Skills (`.openclaw/skills/`)

The OpenClaw plugin maintains its own mirror at **[`.openclaw/skills/ponytail/SKILL.md`](https://github.com/DietrichGebert/ponytail/blob/main/.openclaw/skills/ponytail/SKILL.md)** to ensure compatibility with its skill-loading protocol. This duplication allows OpenClaw to resolve skills via its internal path resolution without exposing hidden implementation details to other agents.

### Importing a Modular Skill (OpenClaw)

```javascript
import { readFileSync } from 'fs';
import { resolve } from 'path';

// OpenClaw expects SKILL.md files with specific frontmatter
const skillPath = resolve(
  __dirname,
  '../.openclaw/skills/ponytail/SKILL.md'
);

const skillDefinition = readFileSync(skillPath, 'utf-8');

// Parse capability declarations (custom markdown syntax)
const capabilities = skillDefinition
  .match(/^### Capability:.*$/gm)

  ?.map(line => line.replace('### Capability: ', '').trim());

console.log('Available capabilities:', capabilities);

```

---

## Why This Directory Structure Matters

The split between **hidden ruleset directories** and **public skills directories** serves specific architectural purposes in the Ponytail repository:

1. **Agent discovery** — Tools like Cline, Windsurf, and Qoder scan their conventional hidden directories automatically
2. **Framework isolation** — OpenClaw's `.openclaw/` prefix prevents namespace collisions with other plugins
3. **Skill versioning** — Public `skills/` modules can be semantically versioned independently of core rules
4. **Contribution pathways** — New skills land in `skills/`; platform-specific ruleset tweaks stay in hidden directories

When modifying Ponytail behavior, always update **[`.agents/rules/ponytail.md`](https://github.com/DietrichGebert/ponytail/blob/main/.agents/rules/ponytail.md)** first, then propagate changes to platform-specific mirrors. For new capabilities, create a [`SKILL.md`](https://github.com/DietrichGebert/ponytail/blob/main/SKILL.md) in `skills/ponytail-{capability}/` following the established frontmatter schema.

---

## Summary

- **Core rulesets** live in `.agents/rules/`, `.qoder/rules/`, `.windsurf/rules/`, and `.clinerules/` — all containing [`ponytail.md`](https://github.com/DietrichGebert/ponytail/blob/main/ponytail.md) with intensity-tiered behavioral rules
- **Modular skills** reside in `skills/` (public, framework-agnostic) and `.openclaw/skills/` (OpenClaw-specific), each with a [`SKILL.md`](https://github.com/DietrichGebert/ponytail/blob/main/SKILL.md) defining discrete capabilities
- The [`.agents/rules/ponytail.md`](https://github.com/DietrichGebert/ponytail/blob/main/.agents/rules/ponytail.md) file is the canonical ruleset source; other locations are synchronized copies
- Skill variants include review, help, gain, debt, and audit specializations for targeted agent tasks

---

## Frequently Asked Questions

### How do I add a custom skill to Ponytail?

Create a new directory under `skills/` with the naming pattern `skills/ponytail-{capability}/`, then add a [`SKILL.md`](https://github.com/DietrichGebert/ponytail/blob/main/SKILL.md) file containing capability declarations in the established markdown format. Test locally by pointing your agent's skill path resolver to the new directory.

### Why are rulesets duplicated across multiple hidden directories?

Each directory corresponds to a specific agent platform's configuration discovery convention. Cline scans `.clinerules/`, Windsurf uses `.windsurf/rules/`, and Qoder looks in `.qoder/rules/`. The duplication ensures Ponytail activates automatically without manual path configuration.

### Can I use Ponytail skills without the full ruleset?

Yes. The modular `skills/` directory is designed for selective import. Load only the [`SKILL.md`](https://github.com/DietrichGebert/ponytail/blob/main/SKILL.md) files your agent needs—review, audit, or help—without injecting the complete behavioral ruleset. This is common for lightweight integrations where you want specific capabilities without "PONYTAIL MODE" activation.

### What's the difference between .agents/rules/ and .openclaw/skills/?

[`.agents/rules/ponytail.md`](https://github.com/DietrichGebert/ponytail/blob/main/.agents/rules/ponytail.md) contains the **behavioral ruleset** that defines how Ponytail responds (tone, intensity, output format). [`.openclaw/skills/ponytail/SKILL.md`](https://github.com/DietrichGebert/ponytail/blob/main/.openclaw/skills/ponytail/SKILL.md) contains the **capability definition** that tells OpenClaw what tasks Ponytail can execute. One configures personality; the other registers available actions.