From f05ae86474493dadd930e1da051243be3b2c9975 Mon Sep 17 00:00:00 2001 From: Your Name Date: Mon, 11 May 2026 10:31:41 +0000 Subject: [PATCH] port made, basic skill, not auto invocable --- .claude/settings.json | 5 + .pi/skills/learning-goal/LICENSE | 30 +++ .pi/skills/learning-goal/README.md | 36 ++++ .pi/skills/learning-goal/SKILL.md | 190 +++++++++++++++++ .../learning-goal/references/PRINCIPLES.md | 109 ++++++++++ transcripts/learning-goal-port.txt | 201 ++++++++++++++++++ 6 files changed, 571 insertions(+) create mode 100644 .claude/settings.json create mode 100644 .pi/skills/learning-goal/LICENSE create mode 100644 .pi/skills/learning-goal/README.md create mode 100644 .pi/skills/learning-goal/SKILL.md create mode 100644 .pi/skills/learning-goal/references/PRINCIPLES.md create mode 100644 transcripts/learning-goal-port.txt diff --git a/.claude/settings.json b/.claude/settings.json new file mode 100644 index 0000000..8bc33c7 --- /dev/null +++ b/.claude/settings.json @@ -0,0 +1,5 @@ +{ + "enabledPlugins": { + "learning-goal@learning-goal": true + } +} diff --git a/.pi/skills/learning-goal/LICENSE b/.pi/skills/learning-goal/LICENSE new file mode 100644 index 0000000..6260b2c --- /dev/null +++ b/.pi/skills/learning-goal/LICENSE @@ -0,0 +1,30 @@ +This work is a derivative of "learning-goal" by Dr. Cat Hicks and Dr. John Flournoy, +originally published at https://github.com/DrCatHicks/learning-goal +and licensed under the Creative Commons Attribution 4.0 International License. + +This derivative is licensed under the same terms. + +--- + +Creative Commons Attribution 4.0 International (CC BY 4.0) + +You are free to: + + Share -- copy and redistribute the material in any medium or format for + any purpose, even commercially. + + Adapt -- remix, transform, and build upon the material for any purpose, + even commercially. + +Under the following terms: + + Attribution -- You must give appropriate credit, provide a link to the + license, and indicate if changes were made. You may do so in any + reasonable manner, but not in any way that suggests the licensor + endorses you or your use. + + No additional restrictions -- You may not apply legal terms or + technological measures that legally restrict others from doing anything + the license permits. + +Full license text: https://creativecommons.org/licenses/by/4.0/legalcode diff --git a/.pi/skills/learning-goal/README.md b/.pi/skills/learning-goal/README.md new file mode 100644 index 0000000..beafc12 --- /dev/null +++ b/.pi/skills/learning-goal/README.md @@ -0,0 +1,36 @@ +# learning-goal (Pi skill) + +A structured goal-setting exercise for use with [Pi](https://pi.dev), ported from the [Claude Code plugin](https://github.com/DrCatHicks/learning-goal) by **Dr. Cat Hicks** and **Dr. John Flournoy**. + +## What it does + +Guides you through a 10-15 minute exercise to set a concrete learning goal using Mental Contrasting with Implementation Intentions (MCII). You'll: + +1. Name a specific skill you want to grow in +2. Sharpen it using the SMART framework +3. Visualize what achieving it means to you +4. Identify realistic obstacles +5. Build if-then plans that turn obstacles into action triggers +6. Produce a goal card you can revisit + +## Why this approach + +Positive visualization alone can actually *reduce* goal pursuit -- it satisfies the motivational need without producing action. MCII corrects this by pairing your desired outcome with an honest look at what stands in the way, then connecting each obstacle to a concrete if-then response. The research shows this combination creates stronger commitment and follow-through than either technique alone. + +The skill is designed so that *you* generate your own goals, obstacles, and plans. The facilitator asks questions and reflects back what you say -- it won't suggest answers. This matters: self-generated obstacles activate stronger mental associations between the cue and the planned response. + +For the full scientific rationale and references, see [references/PRINCIPLES.md](references/PRINCIPLES.md). + +## Usage + +This skill uses `disable-model-invocation: true`, so it stays out of your system prompt until you need it: + +``` +/skill:learning-goal +``` + +Requires `enableSkillCommands: true` in Pi settings. + +## Attribution + +Original work by [Dr. Cat Hicks](https://www.drcathicks.com/) and [Dr. John Flournoy](http://johnflournoy.science/), licensed under [CC-BY-4.0](LICENSE). Based on their research with software teams and people learning technical skills in their workplaces. diff --git a/.pi/skills/learning-goal/SKILL.md b/.pi/skills/learning-goal/SKILL.md new file mode 100644 index 0000000..9cc168d --- /dev/null +++ b/.pi/skills/learning-goal/SKILL.md @@ -0,0 +1,190 @@ +--- +name: learning-goal +description: Guide the learner through a structured goal-setting exercise grounded in research on Mental Contrasting with Implementation Intentions (MCII). The exercise helps developers set concrete learning goals, visualize meaningful outcomes, anticipate realistic obstacles, and build if-then plans to overcome them. +license: CC-BY-4.0 +disable-model-invocation: true +metadata: + author: Dr. Cat Hicks + version: "1.0.0" + original: https://github.com/DrCatHicks/learning-goal +--- + +# Goal Setting with Mental Contrasting + +Guide the user through a structured goal-setting exercise grounded in research on the benefits of using SMART goals and Mental Contrasting with Implementation Intentions (MCII) to increase persistence and deeper behavioral commitment. The exercise helps users set a concrete learning goal, visualize meaningful outcomes, anticipate likely obstacles, and build if-then plans to overcome them. + +This exercise takes approximately 10-15 minutes. + +## When to Offer + +Offer this exercise when a user: +- Makes an explicit learning goal request, such as directly asking about goal setting, learning plans, or how to structure their skill development. +- Project kickoff. The user is starting a new project or a significant new phase of a project and is describing what they want to build. + +Example triggers: "help me set a learning goal," "I want to get better at X," "can we do the goal-setting exercise," "I'm starting a new project and want to plan my learning", "How should I approach learning this?" + +## When not to offer +- Do not offer this exercise mid-task +- User declined a goal-setting exercise offer this session + +Keep offers brief and non-repetitive. One short sentence is enough. + +## How to Facilitate + +The effectiveness of this exercise depends on the user generating their own content. Every time you suggest a goal, obstacle, or plan, you weaken the psychological mechanism the exercise relies on. When in doubt, ask a question and stop. +You are a learning coach, not a lecturer. Your role is to ask questions, reflect back what the learner says, and help them think more concretely. Keep your responses short. Let the user do most of the talking. Do not rush through the steps. + +Pacing for interactive environments: Each step should be its own conversational turn. Do not combine steps. Ask one question, wait for the response, then move to the next step. If the user gives a response that addresses multiple steps at once, acknowledge what they've covered and pick up at the next unaddressed step. + +### Core Principle: Pause for input + +End your message immediately after the question. Do not generate any further content after the pause point -- treat it as a hard stop for the current message. This helps users generate their own goals and obstacles, a critical part of the exercise. + +After the pause point, do not generate: + +- Suggested or example responses +- Hints disguised as encouragement ("Think about...", "Consider...") +- Multiple questions in sequence +- Italicized or parenthetical clues about the answer +- Any teaching content + +Pause points follow this pattern: + +- Pose a specific question or task +- Do not provide any prompt suggestions +- Wait for the user's response (do not continue until they reply) +- After their response, continue to the next step + +Example of what NOT to do: +"What skill would you like to grow in? For example, you might want to learn React, get better at system design, or improve your SQL skills..." +Example of what TO do: +"What's a skill you'd like to grow in -- something specific that connects to your work or a project you care about?" + +### Step 1: Set a Learning Goal + +Ask the learner to name a specific skill or area they want to grow in. Encourage specific goals that connect to their real lives and meaningful outcomes. Instead of "get better at coding," goals such as "develop my frontend skills so that I can take on new tasks at work," or "learn enough python to pursue a project." + +If the goal is vague, help them narrow it by asking: +- What would it look like to have this skill? +- What could you do that you can't do now? +- Is there a specific project or situation where this matters? + +Do not rewrite their goal for them. Help them sharpen it in their own words. + +### Step 2: Strengthen the Goal by defining the SMART goal version + +Once the learner has stated their goal, guide them through reflecting on and refining it. Introduce the SMART framework (Specific, Measurable, Achievable, Relevant, Time-bound) as a lens for strengthening it. + +Guide the learner in strengthening their goal using the SMART framework. Reference [PRINCIPLES.md](references/PRINCIPLES.md) for detailed probing questions on each dimension. Focus on the dimensions the learner's goal is weakest on; skip what's already clear. + +Present the components briefly, then work through them conversationally as dimensions to think through. Focus on the 1-2 SMART dimensions that are most underdeveloped in the learner's stated goal. Do not mechanically walk through all five if the goal is already reasonably well-formed. Probe deeper on any that are missing, but skip any that the learner has already addressed clearly in Step 1. + +**Specific.** Can they define what success looks like in detailed terms? Ask: "How would you know you'd gotten there? What could you point to?" + +**Measurable.** Is there something observable that would tell them that they've made progress? This doesn't have to be a number. It could be a project completed, a task they can take on, a concept they can explain. Ask: "When you accomplish your goal, what will be different that you could see or show someone?" + +**Achievable.** Given their current skill level, time, and context, is this goal within reach? It should be challenging but possible. If the goal feels enormous, help them scope a meaningful first milestone rather than abandoning the ambition. Ask: "Does this feel like a stretch you can make? What would a realistic version of this look like?" + +**Relevant.** Does this connect to something they actually care about, such as their work, a project, their role-based identity? Goals that are "should" goals ("I should learn Kubernetes") tend to lose to goals that are "want" goals ("I want to understand deployment well enough to stop being blocked by it"). Ask: "How does this connect to your larger priorities?" + +**Time-bound.** Goals should explicitly set a realistic timeframe, not to create pressure, but to make the goal more tangible and concrete. Ask: "What timeframe feels right for this? A week? A month? When would you want to check in with yourself on how it's going?" + +After working through these dimensions, offer the user the opportunity to restate their goal. It may have shifted, gotten more specific, or shrunk in scope. Reflect back what changed and why to help the learner see their own thinking process. + +### Step 3: Visualize the Outcome + +Ask the learner to briefly describe why this goal matters to them and what it would feel like to achieve it. + +Prompt with: +- Why do I want to achieve this learning goal? +- What changes for you when you have this skill? +- How does your day-to-day work feel different? +- What becomes possible that isn't possible now? + +Keep this brief, limiting to one or two exchanges. The goal is to specifically think about why achieving the learning outcome leads to something personally meaningful. + +### Step 4: Identify Obstacles + +This is a critical step in forming a motivational plan. Ask the users to describe a situation where they could realistically face an obstacle in the way of pursuing the goal they just planned. Obstacles can be internal (habits, tendencies, emotions), as well as external constraints (time pressure, competing obligations). + +Ask them to be concrete and truly imagine a real situation: +- When would this obstacle come up? What time of day, what situation? +- What would it feel like in the moment? +- What have you done in the past when this obstacle appeared? + +Help them identify 1-3 obstacles. Quality matters more than quantity. If they give a surface-level answer like "not enough time," gently push: "When you imagine sitting down to work on this, what actually pulls you away? What's the feeling or thought that comes up?" A better answer looks like: "My plan is to study python for an hour every friday, but sometimes I feel so tired from the week I give up on my hour of learning." + +Do not suggest obstacles. The learner must generate their own. This is more important than just a facilitation preference: the research shows that self-generated obstacles activate stronger mental associations between the cue and the planned response, and it is important for users to describe their own real-life obstacles. Suggested obstacles bypass this mechanism and reduce effectiveness. +- After asking the learner to identify obstacles, stop. +- Do not offer examples of common obstacles, hypothetical scenarios, or "things other learners have experienced." +- Wait for their response. + +### Step 5: Build If-Then Plans + +For each obstacle the user identified, ask them to write their own if-then plan in this format: + +*"If [obstacle/situation], then I will [specific action]."* + +Do not write the if-then plan for the learner. Ask them to draft it, then help them refine it. The learner must produce the first version. This is the same generation principle as Step 4: the exercise works because the learner is the one connecting their obstacle to their planned response. + +Ask: "Take the first obstacle you described. Can you turn it into an if-then plan? Start with 'If...' and describe the moment you'd recognize, then 'then I will...' and name one specific thing you'd do." + +Then stop. Wait for their response. + +After the learner drafts a plan, help them sharpen it by asking whether the cue is specific enough that they'd recognize it in the moment and whether the action is small enough to actually do. If either part is vague, ask a follow-up question -- do not rewrite it for them. + +If the if-then plan is vague, help them narrow it by asking: +- What is a small concrete action you could take to overcome this obstacle? +- Is there a time when you've successfully overcome this obstacle before that you can use as an example? + +If the learner is genuinely stuck and cannot produce a first draft after prompting, you may share one example to illustrate the format, then ask them to try again with their own obstacle: +"Here's what one might look like: 'If I open my laptop to study and feel the pull to check Slack first, then I will close Slack and open my project file before doing anything else.' Now try one with the obstacle you described." + +### Step 6: Reaffirm or Adjust the Goal + +After working through obstacles and plans, ask the learner to revisit their original goal. Now that they've thought concretely about what could get in the way: + +- Does the goal still feel right? +- Does it need to be bigger or smaller? +- Is there a first step they want to commit to? + +This is also the moment to check feasibility. The research shows that mental contrasting is most effective when the learner believes the goal is achievable. If the obstacle work has revealed that the goal feels unrealistic, help them rescope without judgment. Adjusting a goal based on reflection is a sign of good self-regulation. + +### Step 7: Produce a Goal Card + +At the end of the exercise, create a brief markdown file (e.g., learning-goal.md) summarizing: + +``` +## My Learning Goal +[Their goal in their words] + +## Why It Matters +[One or two sentences from Step 2] + +## My If-Then Plans +- If [obstacle 1], then I will [action 1]. +- If [obstacle 2], then I will [action 2]. + +## My First Step +[What they committed to in Step 5] +``` + +Offer this as something they can keep, revisit, or pin somewhere visible. + +## Tone and Approach + +- Be warm but not effusive. This is a coaching conversation, not a therapy session. +- Do not praise goals as "great" or "amazing." Instead, reflect what you hear: "So the core of it is that you want to be able to make architectural decisions confidently, not just follow patterns you've seen." +- Be direct about feedback: if they're giving contradictory answers, say so clearly, then explore why without judgment. +- Do not use bullet points or numbered lists when talking to the learner. Speak in natural sentences. +- If the learner gives short or disengaged answers, don't push. You can note that the exercise works best with concrete details, but respect their pace. +- Offer escape hatches: "Want to keep going or pause here?" +- Never start the exercise without the learner's confirmation. + +## Adaptability + +This exercise is written for developer learning goals but the structure can be beneficial to any skill development context. If the learner's goal is outside software development writing, design, leadership, communication -- follow the same steps. The psychological mechanism is the same. + +## References + +This exercise is based on Mental Contrasting with Implementation Intentions (MCII), a self-regulation strategy developed by Oettingen and Gollwitzer, and adapted and successfully tested as an intervention by [Cat Hicks](https://www.drcathicks.com/) and [John Flournoy](http://johnflournoy.science/) in our work with software teams and across hundreds of people learning technical skills in their real workplaces. The combination of visualizing desired outcomes, confronting realistic obstacles, and forming concrete if-then plans has been shown to improve goal commitment and follow-through across educational, health, and professional domains. For full references, see [PRINCIPLES.md](references/PRINCIPLES.md). diff --git a/.pi/skills/learning-goal/references/PRINCIPLES.md b/.pi/skills/learning-goal/references/PRINCIPLES.md new file mode 100644 index 0000000..2626e1b --- /dev/null +++ b/.pi/skills/learning-goal/references/PRINCIPLES.md @@ -0,0 +1,109 @@ +# Goal-Setting Principles + +This document provides the scientific rationale for the goal-setting exercise in SKILL.md. Consult it when you need to probe deeper on a specific SMART dimension, when a user's goal needs strengthening, or when you need to explain why a step matters. + +--- + +## SMART Goals + +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 improving those dimensions. + +### Specific + +Vague goals ("get better at Python") don't direct behavior. Specific goals identify what the person will be able to do, in what context, and to what standard. A goal is specific enough when the learner could explain it to someone else and that person would know what success looked like. + +**Probing questions:** What would it look like to have this skill? What could you do that you can't do now? If you achieved this, what would someone see you doing differently? + +**Weak -> stronger:** "Learn React" -> "Build a dashboard component using React hooks so I can contribute to the frontend at work without needing someone to pair with me." + +### Measurable + +Measurable doesn't have to mean numeric. It means there's something observable -- a project completed, a task performed independently, a concept explained clearly. The point is that the learner can recognize when they've made progress rather than relying on a vague sense of improvement. + +**Probing questions:** When you accomplish this, what will be different that you could see or show someone? How would you know you're halfway there? + +**Weak -> stronger:** "Understand deployment" -> "Deploy a service to production without asking for help on the pipeline configuration." + +### Achievable + +Goals should stretch but not break. If a goal is far beyond the learner's current skill, help them scope a meaningful first milestone rather than abandoning the ambition. The research on mental contrasting shows that goals perceived as achievable generate stronger commitment -- goals that feel impossible produce disengagement, not motivation. + +**Probing questions:** Does this feel like a stretch you can make? What would a realistic version look like given your current commitments? What's the smallest version of this goal that would still matter to you? + +### Relevant + +Goals that connect to something the learner actually cares about -- their work, a project, their identity, their autonomy -- persist longer than goals driven by external "should." A learner who says "I should learn Kubernetes" is in a different motivational position than one who says "I want to understand deployment well enough to stop being blocked by it." Help learners find the want underneath the should. + +**Probing questions:** Why this goal and not something else? How does this connect to what you're working on or where you want to go? What would change for you if you had this skill? + +### Time-bound + +A timeframe makes a goal concrete and creates a natural point for self-assessment. The purpose is not pressure -- it's tangibility. Open-ended goals ("someday I'll learn Rust") lack the urgency that supports follow-through. The timeframe should be realistic given the scope. + +**Probing questions:** What timeframe feels right -- a week, a month, a quarter? When would you want to check in with yourself on progress? Is there a natural deadline like a project start or a review cycle? + +--- + +## Mental Contrasting with Implementation Intentions (MCII) + +MCII is a self-regulation strategy that combines two techniques: mental contrasting (visualizing a desired outcome and then confronting the obstacles that stand in the way) and implementation intentions (forming specific if-then plans to handle those obstacles). The combination is more effective than either technique alone. + +### Why mental contrasting works + +Positive visualization alone -- just imagining success -- can actually reduce goal pursuit. It satisfies the motivational need without producing action. Mental contrasting corrects this by pairing the desired future with an honest assessment of present reality and its obstacles. This contrast creates an association between the goal and the effort required, producing stronger commitment in cases where the goal is feasible. It induces people to reframe present reality when encountering an obstacle as an obstacle to their wish fulfillment (e.g., skipping studying to attend a party is no longer conceptualized as a fun activity but as an obstacle to getting a good grade in a course). + +Critically, mental contrasting is most effective when the person believes the goal is achievable. When feasibility is low, mental contrasting appropriately leads people to disengage -- which is healthy self-regulation, not failure. This is why the SMART goal work in Steps 1-2 of the exercise matters: it ensures the goal is well-formed before the learner invests in contrasting. + +### Why implementation intentions work + +> Implementation intentions are if-then plans (review by Gollwitzer, 2014) in the following format: "If the critical situation X is encountered, then I will perform the goal-directed response Y!" These implementation intentions are to be differentiated from mere goal intentions. Mere goal intentions specify end states ("I want to achieve goal X!" or "I want to exert behavior X!"). In implementation intentions, on the other hand, the if-component of an implementation intention specifies a future critical event or point in time, and the then-component specifies how one will respond once these situational cues are encountered. (Gollwitzer et al., 2018) + +The if-then structure works because it makes it easier for people to make the link between a situational cue and a response. Instead of relying on in-the-moment motivation or willpower, the person has already decided what to do when the obstacle arises. The research shows that implementation intentions create strong cue-response associations that operate efficiently and can even work when cognitive resources are depleted. + +### Why the combination matters + +Mental contrasting surfaces the obstacles and regulates goal commitments, revealing that action is necessary to overcome an obstacle if one wants to reach a desired future. Implementation intentions turn those obstacles into action triggers. Without the contrasting step, the if-then plans lack personally relevant cues. Without the if-then plans, the obstacles remain discouraging rather than actionable. The combination, a self-regulation psychological exercise named the MCII, has shown effects on goal attainment across educational, health, and professional domains, enhancing engagement, increasing commitment to positive behaviors, and reducing stress. + +### What makes a good implementation intention + +The if-part should be a specific, recognizable cue -- a situation, a feeling, a moment the learner can picture. The then-part should be a concrete, immediate action that is small enough to actually perform when the cue occurs. Vague plans ("if I struggle, I'll try harder") don't create the automatic cue-response link. Specific plans do ("if I open my laptop to study and feel the urge to check Slack first, I'll close Slack and open my project file before I do anything else"). + +### Boundary conditions on SMART goals + +Goal-setting interventions have shown positive effects, including over brief periods (e.g., one week) and in digital and text-based interventions. The MCII exercise is a formal theory with a specified mechanism for why mental contrasting creates expectancy-dependent commitment and cue-response links. However, the SMART goal framework is a practitioner heuristic, not a formal theory. The empirical foundation underneath the SMART goal heuristic argues that specific, difficult goals outperform vague "do your best" goals. Progress monitoring, which is encouraged by the Measurable and Time-bound dimensions, also has robust meta-analytic support, with stronger effects when progress is physically recorded. + +While individual dimensions like progress monitoring have robust support, the SMART acronym as a package can oversimplify a more complex evidence base. Specificity in particular does not always help. A meta-analysis of goal-setting interventions for physical activity found no significant difference between specific and non-specific goals (McEwan et al., 2016), and Pietsch et al. (2024) found SMART goals were no more effective than do-your-best or open goals for creative performance. For complex or novel tasks where exploration and strategy development matter more than hitting a defined target, overly specific goals may actually constrain learning. + +This matters for this exercise because early learning goals can often be exploratory. A developer learning a new language or framework is not necessarily optimizing a known task when they are navigating uncertainty and testing new ideas. This is why the exercise treats SMART as a set of dimensions to consider rather than a checklist to complete, and the facilitator should focus on the 1-2 dimensions that are most underdeveloped in the learner's stated goal rather than mechanically walking through all five. In this Skill, SMART is used to deepen the initial goal but the majority of the exercise should center the MCII. + +--- + +## Sources + +Duckworth, A. L., Grant, H., Loew, B., Oettingen, G., & Gollwitzer, P. M. (2011). Self-regulation strategies improve self-discipline in adolescents: Benefits of mental contrasting and implementation intentions. *Educational Psychology*, 31(1), 17-26. + +Gollwitzer, P. M. (1999). Implementation intentions: Strong effects of simple plans. *American Psychologist*, 54(7), 493. + +Gollwitzer, P. M. (2014). Weakness of the will: Is a quick fix possible? *Motivation and Emotion*, 38(3), 305-322. + +Gollwitzer, P. M., & Sheeran, P. (2006). Implementation intentions and goal achievement: A meta-analysis of effects and processes. Advances in experimental social psychology, 38, 69-119. + +Harkin, B., Webb, T. L., Chang, B. P., Prestwich, A., Conner, M., Kellar, I., ... & Sheeran, P. (2016). Does monitoring goal progress promote goal attainment? A meta-analysis of the experimental evidence. Psychological bulletin, 142(2), 198. + +Inzlicht, M., Werner, K. M., Briskin, J. L., & Roberts, B. W. (2021). Integrating models of self-regulation. *Annual Review of Psychology*, 72(1), 319-345. + +Kappes, A., Singmann, H., & Oettingen, G. (2012). Mental contrasting instigates goal pursuit by linking obstacles of reality with instrumental behavior. Journal of Experimental Social Psychology, 48(4), 811-818. + +Locke, E. A., & Latham, G. P. (2002). Building a practically useful theory of goal setting and task motivation: A 35-year odyssey. American psychologist, 57(9), 705. + +Locke, E. A., & Latham, G. P. (2019). The development of goal setting theory: A half century retrospective. Motivation Science, 5(2), 93-105 + +McEwan, D., Harden, S. M., Zumbo, B. D., Sylvester, B. D., Kaulius, M., Ruissen, G. R., ... & Beauchamp, M. R. (2016). The effectiveness of multi-component goal setting interventions for changing physical activity behaviour: a systematic review and meta-analysis. Health psychology review, 10(1), 67-88. + +Oettingen, G. (2012). Future thought and behaviour change. *European Review of Social Psychology*, 23(1), 1-63. + +Oettingen, G., & Gollwitzer, P. M. (2010). Strategies of setting and implementing goals: Mental contrasting and implementation intentions. + +Pietsch, S., Riddell, H., Semmler, C., Ntoumanis, N., & Gucciardi, D. F. (2024). SMART goals are no more effective for creative performance than do-your-best goals or non-specific, exploratory 'open goals'. Educational Psychology, 44(9-10), 946-962. + +Wang, G., Wang, Y., & Gai, X. (2021). A meta-analysis of the effects of mental contrasting with implementation intentions on goal attainment. *Frontiers in Psychology*, 12, 565202. diff --git a/transcripts/learning-goal-port.txt b/transcripts/learning-goal-port.txt new file mode 100644 index 0000000..f9e46cb --- /dev/null +++ b/transcripts/learning-goal-port.txt @@ -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 \ No newline at end of file