╭─── Claude Code v2.1.89 ──────────────────────────────────────────────────────╮ │ │ Tips for getting started │ │ Welcome back Willem! │ Run /init to create a CLAUDE.md fi… │ │ │ ─────────────────────────────────── │ │ ▐▛███▜▌ │ Recent activity │ │ ▝▜█████▛▘ │ No recent activity │ │ ▘▘ ▝▝ │ │ │ │ │ │ Opus 4.6 (1M context) · Claude Max │ │ │ ~/research/learning-goals │ │ ╰──────────────────────────────────────────────────────────────────────────────╯ ● Excellent research results. Here's the picture: Plugin Structure: Claude Code vs Pi The learning-goal plugin is minimal — just three meaningful files: ┌───────────────┬─────────────────────────────────────────────────────┐ │ File │ Purpose │ ├───────────────┼─────────────────────────────────────────────────────┤ │ plugin.json │ Metadata (name, version, author) │ ├───────────────┼─────────────────────────────────────────────────────┤ │ SKILL.md │ 165-line prompt defining the 7-step MCII exercise │ ├───────────────┼─────────────────────────────────────────────────────┤ │ PRINCIPLES.md │ 110-line scientific background (loaded as resource) │ └───────────────┴─────────────────────────────────────────────────────┘ Porting to Pi Pi (Mario Zechner's terminal coding agent at pi.dev) has three options, and given your preference for dense, focused context with local models, option 2 or 3 is best: Option 1: Skill (closest 1:1 mapping) Same SKILL.md format (both follow the agentskills.io standard). Key advantage for you: Pi uses progressive disclosure — only name+description go into the system prompt. The full SKILL.md body is fetched on-demand. This already solves your context concern. Put it in .pi/skills/learning-goal/SKILL.md with references/PRINCIPLES.md. Add disable-model-invocation: true to hide it from the system prompt entirely — then it's only accessible via /skill:learning-goal. Option 2: Prompt Template (lightest weight) A .pi/prompts/learning-goal.md file with the exercise steps. Zero context cost until invoked via /learning-goal. No frontmatter overhead, no auto-discovery by the agent. But less structured — no progressive loading of references. Option 3: Extension (most control) A TypeScript extension registering a /learning-goal slash command. You control exactly what gets injected into context and when. You could even load PRINCIPLES.md only if the user asks "why" during the exercise. My recommendation for local models with tight context: Use a skill with disable-model-invocation: true. You get the structured directory (SKILL.md + references/), zero system prompt cost, and on-demand loading — all without writing TypeScript. --- Want to try the /learning-goal skill now in Claude Code? And/or shall I scaffold the Pi-compatible version of the plugin? ✻ Churned for 6m 41s ❯ scaffold the pi-compatible version of the plugin. Skill with disable-model-invocation: true, in .pi in this repo (no git init yet) ● Let me read the source files first. Read 2 files (ctrl+o to expand) ● Now let me check the current directory structure and create the files. Listed 1 directory (ctrl+o to expand) ● Write(.pi/skills/learning-goal/SKILL.md) ⎿  Wrote 190 lines to .pi/skills/learning-goal/SKILL.md 1 --- 2 name: learning-goal 3 description: Guide the learner through a structured goal-setting exercise grounded in research on Mental Contrasting with Implem entation Intentions (MCII). The exercise helps developers set co ncrete learning goals, visualize meaningful outcomes, anticipate realistic obstacles, and build if-then plans to overcome them. 4 license: CC-BY-4.0 5 disable-model-invocation: true 6 metadata: 7 author: Dr. Cat Hicks 8 version: "1.0.0" 9 original: https://github.com/DrCatHicks/learning-goal 10 --- … +180 lines (ctrl+o to expand) ● Write(.pi/skills/learning-goal/references/PRINCIPLES.md) ⎿  Wrote 109 lines to .pi/skills/learning-goal/references/PRINCIPLES.md 1 # Goal-Setting Principles 2 3 This document provides the scientific rationale for the goal-sett ing exercise in SKILL.md. Consult it when you need to probe deepe r on a specific SMART dimension, when a user's goal needs strengt hening, or when you need to explain why a step matters. 4 5 --- 6 7 ## SMART Goals 8 9 SMART is a framework for strengthening goal quality. It is not a checklist to force every goal through, but a lens for identifying which dimensions of a goal are underdeveloped. Most users arrive with goals that are weak on one or two dimensions. Focus on impr oving those dimensions. … +99 lines (ctrl+o to expand) ● Done. The structure is: .pi/skills/learning-goal/ ├── SKILL.md # Full skill with disable-model-invocation: true └── references/ └── PRINCIPLES.md # Scientific background, loaded on demand Key differences from the Claude Code version: - disable-model-invocation: true in frontmatter — the skill won't appear in Pi's system prompt. Zero context cost until you explicitly invoke /skill:learning-goal. - references/ instead of resources/** — follows Pi's convention. The agent loads this via read only when it needs deeper SMART probing questions or to explain the science. - Relative link in SKILL.md points to references/PRINCIPLES.md instead of the GitHub URL, so Pi's progressive disclosure works locally. - metadata block with author/version/original URL — Pi's frontmatter schema for attribution. To use it in Pi: pi --skill .pi/skills/learning-goal or just /skill:learning-goal from within a session (requires enableSkillCommands: true in settings). ✻ Churned for 1m 36s ❯ can we add a brief README wit ha reference to Cat Hicks in @.pi/skills/learning-goal/ and the text above + brief why (there is some why in the skill.md I think).i Also add a LICENSE there that respects the oringinal license. Make todos ⎿  Listed directory .pi/skills/learning-goal/ ● Write(.pi/skills/learning-goal/README.md) ⎿  Wrote 36 lines to .pi/skills/learning-goal/README.md 1 # learning-goal (Pi skill) 2 3 A structured goal-setting exercise for use with [Pi](https://pi. dev), ported from the [Claude Code plugin](https://github.com/Dr CatHicks/learning-goal) by **Dr. Cat Hicks** and **Dr. John Flou rnoy**. 4 5 ## What it does 6 7 Guides you through a 10-15 minute exercise to set a concrete lea rning goal using Mental Contrasting with Implementation Intentio ns (MCII). You'll: 8 9 1. Name a specific skill you want to grow in 10 2. Sharpen it using the SMART framework … +26 lines (ctrl+o to expand) ● Write(.pi/skills/learning-goal/LICENSE) ⎿  Wrote 30 lines to .pi/skills/learning-goal/LICENSE 1 This work is a derivative of "learning-goal" by Dr. Cat Hicks and Dr. John Flournoy, 2 originally published at https://github.com/DrCatHicks/learning-go al 3 and licensed under the Creative Commons Attribution 4.0 Internati onal License. 4 5 This derivative is licensed under the same terms. 6 7 --- 8 9 Creative Commons Attribution 4.0 International (CC BY 4.0) … +20 lines (ctrl+o to expand) ● Done. Final structure: .pi/skills/learning-goal/ ├── SKILL.md # Skill definition (disable-model-invocation: true) ├── references/ │ └── PRINCIPLES.md # Scientific rationale, loaded on demand ├── README.md # Attribution, what/why, usage instructions └── LICENSE # CC-BY-4.0 with derivative attribution to Hicks & Flournoy The LICENSE explicitly notes this is a derivative work and links back to the original repo. The README keeps attribution front and center and explains the "why" (MCII mechanism -- visualization alone backfires, you need the obstacle contrast + if-then plans, and the learner must self-generate). ✻ Crunched for 49s