ponytail

package
v0.629.1 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jul 22, 2026 License: MIT Imports: 1 Imported by: 0

Documentation

Overview

Package ponytail implements a "lazy senior developer" instruction set that can be injected into the agent's system prompt before each turn, at three intensity levels (lite/full/ultra) plus an off switch.

It is a Go re-implementation of the ponytail skill by Dietrich Gebert (https://github.com/DietrichGebert/ponytail, MIT licensed). The injected text is reproduced faithfully from that project's SKILL.md. In Pando the ruleset is not delivered through host hooks but through the agent's existing per-turn skill injection (see internal/llm/agent.prepareProvider), so it works uniformly across the TUI, Web UI and ACP surfaces.

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func Description

func Description(m Mode) string

Description returns a one-line summary of a mode for confirmation messages.

func Instructions

func Instructions(m Mode) string

Instructions returns the full ponytail ruleset to inject for the given mode, or the empty string when the mode is off. The result is the always-on core plus the intensity snippet for the active level.

Types

type Mode

type Mode string

Mode is the ponytail intensity level for a session.

const (
	// ModeOff disables ponytail; nothing is injected.
	ModeOff Mode = ""
	// ModeLite builds what's asked but names a lazier alternative in one line.
	ModeLite Mode = "lite"
	// ModeFull enforces "The Ladder": shortest diff, shortest explanation. Default.
	ModeFull Mode = "full"
	// ModeUltra is YAGNI-extremist: deletion before addition, challenge the ask.
	ModeUltra Mode = "ultra"
)

func ParseMode

func ParseMode(input string) (Mode, bool)

ParseMode normalizes user input into a Mode. It accepts the level names plus a few natural-language off synonyms ("off", "stop", "normal", "none", "disable"). The second return value is false when the input is not a recognized token.

func (Mode) IsActive

func (m Mode) IsActive() bool

IsActive reports whether the mode injects anything.

func (Mode) String

func (m Mode) String() string

String returns a human-readable label for the mode.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL