Codex 또는 Claude로 설치 이 Prompt를 복사해 Codex, Claude 또는 다른 어시스턴트에 붙여 넣으면 Skill 페이지를 검토하고 설치를 진행할 수 있습니다.
직접 명령은 검토 Prompt를 거치지 않습니다. 실행하기 전에 소스를 확인하세요.
npx skills add https://github.com/SimHacker/moollm --skill play-learn-lift명령은 한 줄로 유지됩니다. 복사하기 전에 가로로 스크롤해 전체 내용을 확인하세요.
로컬 사본을 원하시나요? SkillsMP에서 현재 제공할 수 있는 파일을 다운로드하세요.
SKILL.md 표시 중
| name | play-learn-lift |
| description | Start Playing. Keep Learning. Lift Others. |
| license | MIT |
| tier | 1 |
| allowed-tools | ["read_file","write_file"] |
| related | ["moollm","bootstrap","sister-script","sniffable-python","constructionism","adventure","debugging","scratchpad","research-notebook","skill","plain-text"] |
| tags | ["moollm","methodology","pedagogy","workflow","learning"] |
Start Playing. Keep Learning. Lift Others.
The three-stage journey from curiosity to mastery to teaching. The core MOOLLM methodology.
This is programming by demonstration (Cypher, Watch What I Do, MIT Press 1993) — except the demonstrator is you and the recording is your own session transcript. Do the thing once (PLAY), inspect how you actually did it with cursor-mirror (LEARN), and lift the procedure into a reusable skill (LIFT). Worked example, end to end: the Prestoration — one performed PDF correction, introspected from its transcript, lifted into change-name.
[!TIP] This IS the methodology. Every other skill is an expression of
PLAY-LEARN-LIFT. Start here.
flowchart LR
P["🎮 PLAY"] --> L["📚 LEARN"]
L --> LI["🚀 LIFT"]
LI -->|inspire| P
| Stage | Motto | What Happens |
|---|---|---|
| 🎮 PLAY | Jump in! | No prerequisites, can't break anything, curiosity drives discovery |
| 📚 LEARN | Patterns emerge | Connections make sense, confidence builds naturally, "I noticed..." |
| 🚀 LIFT | Help others play | Teaching solidifies learning, sharing multiplies impact |
Most learning is backwards:
PLAY-LEARN-LIFT inverts it:
"Low floor, high ceiling, wide walls" — Seymour Papert / Mitch Resnick
| Principle | Meaning |
|---|---|
| Low floor | Easy to start. No prerequisites. |
| High ceiling | No limit to growth. Experts stay engaged. |
| Wide walls | Many paths to explore. Your way is valid. |
Papert's constructionism anchors PLAY: build first, learn by making, then share what you built. Drescher's schema learning maps the loop: PLAY surfaces patterns, LEARN revises and stabilizes schemas, and LIFT publishes them as reusable artifacts.
MOOLLM is unbreakable by design. Files remain transparent and inspectable. State can always be recovered. Experimentation is not just allowed but encouraged. Git acts as your safety net, catching every fall.
"What if I just..."
Capture everything: Even dead ends teach something.
"I noticed you do this often..."
Document patterns: Future-you will thank present-you.
When LEARN involves potential rule changes or skill upgrades, use explicit sub-phases:
| Phase | Action | Gate |
|---|---|---|
| OBSERVE | Collect traces, note patterns, analyze behavior | None — always safe |
| PROPOSE | Draft changes, describe rationale, show diff | Review checkpoint |
| COMMIT | Apply changes after human approval | Human commit required |
This separation makes self-evaluation "platform-legible" — automated systems can see that observation is separate from action, and rule changes require explicit human approval. The agent never modifies its own rules unilaterally.
"Here's what I learned..."
Share the journey: The path matters, not just the destination.
When LIFT produces reusable artifacts (skills, templates, procedures), include provenance:
provenance:
source_logs: ["session-2026-01-23.md", "research-notebook/pll-analysis.yml"]
extracted_by: "claude-opus-4" # or human author
reviewed_by: "don-hopkins" # human reviewer required for skill upgrades
lifted_at: "2026-01-23T12:00:00Z"
rationale: "Pattern appeared 5+ times across sessions; now crystallized."
This makes upgrades audit-friendly: anyone can trace back to the original observations, see who approved the lift, and understand why the pattern was worth crystallizing.
The most common way LIFT goes wrong is lifting too early: extracting a clean, generic skill from a shape you have only imagined, not used. You end up with a beautiful abstraction that fits nothing, because you abstracted before the concrete instance told you what it was actually for.
The gate: use the specific thing first; let it teach you the general thing.
repo-show) before you try to
extract the generic (a reusable show skill). The generic is a reward you earn by using the
specific, not a starting assumption.LIFT readiness checklist (all should be true before extracting a generic skill):
Premature LIFT is Lift-Learn-Play in disguise. If you can't yet say what the thing is from having used it, you're still in PLAY. Stay there a little longer.
Lineage — Oliver Steele's Instance-First Development (2004). This gate is the methodology twin of Steele's essay Classes and Prototypes:
"one implements functionality for a single instance, and then refactors the instance into a class that supports multiple instances… This avoids premature abstraction… It's easier to generalize from two examples than from one." OpenLaszlo made the transition seamless via the Instance Substitution Principle — an instance can be replaced by its own definition without changing semantics, because class-member and instance-member definitions are syntactically parallel (prototype-based, à la Self). LIFT is exactly that refactor: you earn the class by using the instance. Steele notes it's orthogonal to test-driven development — both implement the specific first, then generalize.
"Start with jazz, end with standards."
After LIFT, you discover new areas to PLAY in:
PLAY → LEARN → LIFT → (inspire) → PLAY → ...
The pun is deliberate: jazz is free exploration (PLAY), and standards are both jazz classics everyone knows AND the reusable patterns you crystallize (LIFT). The learning happens in between!
Edgebox's probe -> analyze -> call flow is an operational PLL precedent: PLAY probes, LEARN analyzes, LIFT calls.
Every skill embodies PLL through three implementation directories:
| Sister | Role | PLL Phase | What Lives Here |
|---|---|---|---|
templates/ | Empathic seeds | PLAY | {{~expression}} with YAML Jazz meta-comments |
examples/ | Concrete instances | LEARN | Working code, real data, copyable patterns |
scripts/ | Lifted automation | LIFT | Doc-first tools born from repeated work |
PLAY with templates → LEARN from examples → LIFT into scripts
↓ ↓ ↓
templates/ examples/ scripts/
(seeds) (patterns) (automation)
Together: templates + examples + scripts = the complete PLL cycle
What was once "watch me do this" becomes "run this instead."
This is why MOOLLM skills have this structure. It's not arbitrary — it's PLL crystallized into filesystem layout.
See also:
| Skill | Connection |
|---|---|
| sister-script/ | LIFT stage: automate proven patterns |
| research-notebook/ | LEARN stage: structured capture |
| session-log/ | PLAY stage: append-only exploration |
| summarize/ | LEARN → LIFT: distill insights |
| File | Purpose |
|---|---|
| SKILL.md | Full methodology documentation |
| CYCLE.yml.tmpl | Cycle template |
| PLAY_LOG.md.tmpl | Play log template |
PLAY-LEARN-LIFT (alias: PLL)
# PROTOCOLS.yml
PLAY-LEARN-LIFT:
meaning: "Explore freely → find patterns → share wisdom"
invoke_when: "Starting any new exploration, learning, or teaching"
motto: "Start Playing. Keep Learning. Lift Others."
See: PROTOCOLS.yml#PLAY-LEARN-LIFT
PLL is the methodology. Other skills are its expressions.
graph TD
PLL[🎮📚🚀 play-learn-lift] -->|PLAY captures| SL[📜 session-log]
PLL -->|LEARN structures| RN[📓 research-notebook]
PLL -->|LIFT automates| SS[👯 sister-script]
PLL -->|LIFT shares| SUM[📝 summarize]
AP[⚔️ adventure] -->|IS| PLAY
DB[🔧 debugging] -->|IS| PLAY
TC[🎴 card] -->|created via| LIFT
| Direction | Destination |
|---|---|
| ⬆️ Up | skills/ |
| ⬆️⬆️ Root | Project Root |
| 👯 Sister | sister-script/ |
| 📓 Sister | research-notebook/ |
| 📜 Sister | session-log/ |
| 📋 Symbols | PROTOCOLS.yml |
Start playing. The rest follows.