port made, basic skill, not auto invocable

This commit is contained in:
Your Name
2026-05-11 10:31:41 +00:00
commit f05ae86474
6 changed files with 571 additions and 0 deletions
+201
View File
@@ -0,0 +1,201 @@
╭─── 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