Where to Find the Canonical Ruleset and Ladder Definition for Ponytail

The authoritative ruleset and ladder definition for Ponytail reside in /.windsurf/rules/ponytail.md and /skills/ponytail/SKILL.md respectively, with the former serving as the single source of truth for the seven-step decision ladder.

The Ponytail project by DietrichGebert implements a "lazy senior-dev" AI coding assistant that enforces minimal, efficient solutions through a strict hierarchical decision process. Understanding where to find the canonical ruleset and ladder definition for Ponytail is essential for customizing behavior or debugging enforcement logic.

Canonical Ruleset Location

Ponytail’s behavior is governed by a primary rules file that defines how the system evaluates and responds to coding requests.

The Primary Rules File (/.windsurf/rules/ponytail.md)

The canonical ruleset lives at /.windsurf/rules/ponytail.md in the repository root. This file contains the core Rules that drive Ponytail’s decision-making logic and defines the seven-rung ladder (YAGNI → reuse → stdlib → native → dependency → one-line → minimum) that the system climbs to determine the appropriate solution complexity.

Any modifications to Ponytail’s enforcement behavior must target this specific file. According to the DietrichGebert/ponytail source code, this path serves as the master configuration that other integrations reference.

Generated Mirrors vs. Source of Truth

While you may encounter duplicate rule files at /.openclaw/rules/ponytail.md and /.qoder/rules/ponytail.md, these are generated mirrors maintained for auxiliary tooling integration. They remain in sync with the canonical file but should never be edited directly, as changes will be overwritten during the next synchronization cycle.

Ladder Definition and Structure

The specific implementation details and user-facing documentation of the ladder appear in the skill definition file, which mirrors the canonical ruleset for operational use.

The Seven-Step Ladder

The ladder definition is formally documented in /skills/ponytail/SKILL.md within the ## The ladder section. This markdown file repeats the seven rungs that define Ponytail’s escalation path:

  1. YAGNI – Verify the feature is actually needed
  2. Reuse – Check existing codebase solutions
  3. Stdlib – Prefer standard library implementations
  4. Native – Use language-native constructs
  5. Dependency – Consider external packages only when necessary
  6. One-line – Favor concise implementations
  7. Minimum – Implement the absolute minimal viable solution

The ladder functions as a reflex once the problem is understood, with Ponytail stopping at the first rung that provides a valid solution path.

Intensity Levels

The SKILL.md file also defines three intensity levels that control how aggressively the ladder is applied:

  • Lite – Shows suggestions without strict enforcement
  • Full – Enforces all ladder rungs (default mode)
  • Ultra – Aggressive minimization with maximum constraint application

These levels determine whether Ponytail merely advises on the ladder position or actively blocks non-compliant implementations.

How Ponytail Applies the Ruleset

When engaged, Ponytail loads the canonical ruleset from /.windsurf/rules/ponytail.md and maintains persistence for the entire session unless explicitly terminated with stop ponytail or normal mode commands.

During request processing, the system performs ladder enforcement by climbing the seven steps sequentially, validating each rung against the current context before proceeding to the next. The default full intensity applies strict adherence to all ladder constraints, while lite and ultra modes adjust the validation thresholds accordingly.

Programmatic Access to the Ladder

You can invoke Ponytail’s ladder logic programmatically through its API interface, specifying intensity levels as parameters:

from ponytail_mcp import invoke

# Default full mode - complete ladder enforcement

result = invoke("/ponytail", "Add a cache for the API response")
print(result)   # → "@lru_cache(maxsize=1000)" ...

# Lite mode - advisory only without enforcement

result = invoke("/ponytail lite", "Add a cache for the API response")
print(result)   # → "Done, cache added. FYI: functools.lru_cache covers this ..."

The command-line interface supports identical syntax: /ponytail, /ponytail lite, and /ponytail ultra.

Summary

  • The canonical ruleset is located at /.windsurf/rules/ponytail.md and serves as the single source of truth for Ponytail’s behavior.

  • The ladder definition appears in /skills/ponytail/SKILL.md under the ## The ladder section, documenting the seven-step escalation path.

  • Files under .openclaw and .qoder directories are synchronized mirrors, not primary sources.

  • The ladder enforces YAGNI → reuse → stdlib → native → dependency → one-line → minimum in sequence.

  • Three intensity levels (lite, full, ultra) control enforcement strictness, with full being the default mode.

Frequently Asked Questions

What is the exact file path for Ponytail's canonical ruleset?

The authoritative ruleset is located at /.windsurf/rules/ponytail.md in the DietrichGebert/ponytail repository. This file defines the core rules and seven-step ladder that govern Ponytail's "lazy senior-dev" decision-making process.

Can I edit the rules files in the .openclaw or .qoder directories?

No. Files under /.openclaw/rules/ponytail.md and /.qoder/rules/ponytail.md are generated mirrors used for auxiliary tooling integration. You must modify the canonical file at /.windsurf/rules/ponytail.md, as changes to mirror files will be overwritten during synchronization.

What are the seven steps of the Ponytail ladder?

The ladder consists of: YAGNI (validate necessity), reuse (check existing solutions), stdlib (standard library preference), native (language-native constructs), dependency (external packages), one-line (concise implementation), and minimum (absolute minimal solution). Ponytail evaluates these sequentially and stops at the first valid rung.

How do I switch between lite, full, and ultra modes?

Append the intensity level to your invocation command: use /ponytail lite for advisory suggestions without enforcement, /ponytail (or /ponytail full) for strict ladder compliance, or /ponytail ultra for aggressive minimization. Programmatically, pass these strings as the first argument to the invoke() function.

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:

Share the following with your agent to get started:
curl -s "https://instagit.com/install.md"

Works with
Claude Codex Cursor VS Code OpenClaw Any MCP Client

Maintain an open-source project? Get it listed too →