╭─── 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