pi-goal

Implement persistent goal tracking and agent-callable tools for the Pi coding agent environment.

68.6k|5.6k|Updated Dec 3, 2025
One-click install
npx skills add https://github.com/code-yeongyu/oh-my-opencode --skill pi-goal
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: pi-goal
Source: https://github.com/code-yeongyu/oh-my-opencode/tree/main/packages/pi-goal
Command: npx skills add https://github.com/code-yeongyu/oh-my-opencode --skill pi-goal

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill requires @mariozechner/pi-ai, @mariozechner/pi-coding-agent, @mariozechner/pi-tui, typebox, and includes scripts (resource) components.

What problem does it solve?

This Skill addresses the lack of persistent, session-aware goal management in the Pi coding agent, preventing agents from losing track of long-term objectives across multiple turns or sessions.

Core Features & Use Cases

  • Persistent Goal Store: Maintains objective state, token budgets, and elapsed time across agent turns and sessions.
  • Codex-Style TUI: Provides real-time visual feedback on goal status directly in the terminal footer.
  • Automated Continuation: Queues hidden prompts to keep the agent focused on the objective until completion or budget exhaustion.

Quick Start

Use the goal command to set a new objective for your current coding task.

Frequently Asked Questions about pi-goal

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I set a persistent goal for my coding session?

Use the /goal command followed by your objective to initialize a new persistent goal. The agent will store this objective in your session directory and begin tracking progress, token usage, and elapsed time automatically.

Can I pause and resume goals in Pi?

Yes, you can manage goal status using /goal pause and /goal resume commands. Pausing stops the agent's continuation prompts, while resuming re-engages the agent toward the active objective.

What happens when a goal reaches its token budget?

When the token budget is reached, the extension marks the goal as budgetLimited and queues a prompt asking the agent to summarize remaining work. This prevents the agent from silently continuing substantive work without user intervention.

How does this extension handle blocked goals?

The extension implements a blocked audit that requires the same blocking condition to persist for three consecutive turns. Once satisfied, the agent can mark the goal as blocked, signaling an impasse that requires user input.