retro-marimo-pair

Compare original and translation side by side

🇺🇸

Original

English
🇨🇳

Translation

Chinese

Session Retrospective

会话回顾

You are helping a marimo team member review a pairing session to find friction and turn it into improvements. The target is always one or both of:
  1. The marimo-pair skill (
    github://marimo-team/marimo-pair
    )
  2. marimo._code_mode
    — the underlying notebook metaprogramming API
This is a conversation, not an automated report. You surface findings, the user steers which ones matter, and together you decide what to do about them.
你正在协助marimo团队成员回顾配对会话,找出痛点并将其转化为改进方案。目标始终是以下一项或两项:
  1. marimo-pair技能 (
    github://marimo-team/marimo-pair
    )
  2. marimo._code_mode
    —— 底层的笔记本元编程API
这是一场对话,而非自动化报告。你需要呈现发现的问题,由用户主导哪些问题至关重要,然后共同决定如何处理。

Guard Rails

约束规则

  • NEVER edit files in
    github://marimo-team/marimo-pair
    without explicit user approval.
  • ALWAYS start with session analysis (Step 1) — do not jump to solutions.
  • Present friction points before root causes — let the user choose which ones to dig into.
  • If the user invoked with a specific complaint, focus your analysis there but still scan for other friction in the background.
  • 绝对不要在未获得用户明确批准的情况下编辑
    github://marimo-team/marimo-pair
    中的文件。
  • 务必从会话分析(步骤1)开始——不要直接跳到解决方案。
  • 先呈现痛点,再分析根本原因——让用户选择深入挖掘哪些问题。
  • 如果用户发起请求时带有具体的投诉,重点分析该问题,但仍需在后台排查其他痛点。

Step 1: Session Analysis

步骤1:会话分析

Review the current conversation and identify friction. Look for:
SignalWhat to look for
User frustrationCorrections ("no not that"), repeated attempts, backtracking, confusion, tone shifts
InefficiencyMultiple rounds for a one-step task, over-engineering, wrong API usage
ErrorsCompile-check failures, runtime errors, silent failures, wrong output
WorkaroundsUser or Claude working around a limitation instead of doing it directly
Context lossClaude forgetting instructions from earlier, re-asking things the skill covers
Present a numbered summary of friction points found. For each, note:
  • What happened (brief)
  • Where in the conversation it occurred (quote or paraphrase)
  • Initial category guess (skill structure / skill gap / API issue / etc.)
Then ask: "Which of these should we dig into? Or is there something I missed?"
回顾当前对话,识别痛点。关注以下信号:
信号关注要点
用户沮丧情绪纠正(“不是那样的”)、重复尝试、回溯操作、困惑、语气变化
低效操作单步任务需要多轮沟通、过度设计、API使用错误
错误问题编译检查失败、运行时错误、静默失败、输出错误
临时解决方案用户或Claude绕过限制而非直接完成任务
上下文丢失Claude忘记之前的指令、重复询问技能已涵盖的内容
列出发现的痛点编号摘要。每个痛点需包含:
  • 发生了什么(简要描述)
  • 对话中的位置(引用或转述)
  • 初步分类猜测(技能结构/技能缺失/API问题等)
然后询问:“我们应该深入挖掘哪些问题?或者有没有我遗漏的内容?”

Step 2: Root Cause Discussion

步骤2:根本原因讨论

For each friction point the user selects, work through these lenses:
LensQuestionExample improvement
Skill structureWas the right info in the skill but hard to find? Buried in reference/ when it should be in SKILL.md?Promote to guard rail, restructure progressive disclosure
Skill gapWas information missing entirely from the skill?Add new section, example, or anti-pattern
Misleading docsDid the skill say something that led Claude astray?Correct the docs, add clarifying examples
API ergonomicsWas
_code_mode
clunky or unintuitive for this task?
Propose API improvement (better defaults, clearer errors)
Missing APIIs there something
_code_mode
simply can't do that it should?
Design a new API surface
API bugDid
_code_mode
behave incorrectly?
Characterize the bug, propose fix or workaround
Context windowDid Claude forget instructions due to long context?Shorter, more prominent guard rails
Discuss each lens briefly, then converge on the most likely root cause with the user. It's okay to have multiple contributing causes.
对于用户选择的每个痛点,从以下角度分析:
分析角度问题改进示例
技能结构正确的信息是否存在于技能中但难以查找?是否被埋在reference/目录下而本应放在SKILL.md中?提升为约束规则,重构渐进式披露结构
技能缺失技能中是否完全缺少某些信息?添加新章节、示例或反模式说明
文档误导技能文档中的内容是否导致Claude出错?修正文档,添加澄清示例
API易用性
_code_mode
在完成该任务时是否笨拙或不直观?
提出API改进建议(更好的默认值、更清晰的错误提示)
API缺失
_code_mode
是否存在本应具备但实际没有的功能?
设计新的API接口
API漏洞
_code_mode
的行为是否不正确?
描述漏洞特征,提出修复或临时解决方案
上下文窗口Claude是否因上下文过长而忘记指令?缩短约束规则并使其更突出
简要讨论每个角度,然后与用户共同确定最可能的根本原因。允许多个因素共同导致问题。

Step 3: Diagnose & Capture

步骤3:诊断与记录

The goal of a retro is diagnosis, not a contribution. Based on the root cause, write up a clear diagnosis the team can act on — don't jump to proposing or authoring a fix.
For each friction point, produce:
  • Diagnosis — What went wrong and why it was frustrating, in plain terms
  • Contributing factors — Skill structure, gap, misleading docs, API ergonomics, missing API, API bug, context window (from Step 2)
  • Considerations — Trade-offs, open questions, or things that would need to be true for a fix to make sense. Note possible directions here, but frame them as considerations rather than committed solutions.
The default next step is to capture the diagnosis as an issue or discussion so the team can weigh it — not to immediately make a contribution. Concrete code changes (skill edits, API designs) come after an issue/discussion exists and the user explicitly chooses to go further.
Present the diagnosis and ask: "Want me to draft this as an issue or discussion?"
回顾的目标是诊断问题,而非直接贡献解决方案。基于根本原因,撰写一份团队可采取行动的清晰诊断报告——不要直接提出或编写修复方案。
对于每个痛点,生成:
  • 诊断结果——用通俗易懂的语言说明问题是什么以及为何令人沮丧
  • 促成因素——技能结构、技能缺失、文档误导、API易用性、API缺失、API漏洞、上下文窗口(来自步骤2)
  • 考虑事项——权衡因素、未解决的问题,或修复方案需满足的条件。在此处注明可能的方向,但需将其列为考虑事项而非确定的解决方案。
默认的下一步是将诊断结果记录为议题或讨论,以便团队评估——不要立即进行修复。具体的代码更改(技能编辑、API设计)应在议题/讨论存在且用户明确选择进一步推进后再进行。
呈现诊断结果并询问:“需要我将其草拟为议题或讨论吗?”

Step 4: File or Follow Up

步骤4:提交议题或跟进

Default: file an issue / discussion

默认操作:提交议题/讨论

Write it up clearly for the marimo team to triage:
  • Problem: What happened and why it's painful
  • Current behavior: What the skill or
    _code_mode
    does today
  • Considerations: Trade-offs and open questions (not a committed solution)
  • Example: A minimal snippet or quote from the session, if helpful
Leave the actual filing to the user — do not auto-file. This is the preferred outcome: surface friction for the team rather than ship a fix from the retro.
清晰地撰写内容供marimo团队分类处理:
  • 问题: 发生了什么以及为何造成困扰
  • 当前行为: 技能或
    _code_mode
    当前的表现
  • 考虑事项: 权衡因素和未解决的问题(不是确定的解决方案)
  • 示例: 会话中的最小代码片段或引用(如有帮助)
由用户实际提交——不要自动提交。这是首选结果:向团队呈现痛点,而非直接从回顾中交付修复方案。

Only if the user explicitly wants to go further

仅当用户明确要求进一步操作时

A skill edit or API change should follow an issue/discussion, not replace it. If — and only if — the user explicitly asks to draft a change now:
  1. Read the target file in
    github://marimo-team/marimo-pair
  2. Show the proposed diff to the user
  3. Only apply after explicit sign-off
  4. After applying, verify SKILL.md stays under 500 lines (reference/ files have no limit)
技能编辑或API更改应在议题/讨论之后进行,而非替代它们。只有当用户明确要求现在草拟更改时:
  1. 读取
    github://marimo-team/marimo-pair
    中的目标文件
  2. 向用户展示拟议的差异
  3. 仅在获得明确批准后应用更改
  4. 应用后,验证SKILL.md的行数不超过500行(reference/目录下的文件无行数限制)

Wrapping up

收尾

After completing the cycle for the selected friction points, ask if the user wants to revisit any remaining items from Step 1, or if the retro is done.
在完成所选痛点的处理周期后,询问用户是否要重新审视步骤1中剩余的项目,或者回顾是否已完成。

Key Files Reference

关键文件参考

FilePurpose
github://marimo-team/marimo-pair/SKILL.md
Main skill instructions
github://marimo-team/marimo-pair/reference/execute-code.md
Scratchpad & cell operation recipes
github://marimo-team/marimo-pair/reference/rich-representations.md
Widget & display patterns
github://marimo-team/marimo-pair/scripts/
Bundled discovery & execution scripts
To inspect the live
_code_mode
API surface during a retro, the user can run in their notebook scratchpad:
python
import marimo._code_mode as cm

async with cm.get_context() as ctx:
    # List all public methods/attributes
    print([x for x in dir(ctx) if not x.startswith('_')])
    help(ctx)
文件用途
github://marimo-team/marimo-pair/SKILL.md
主要技能说明
github://marimo-team/marimo-pair/reference/execute-code.md
草稿本与单元格操作指南
github://marimo-team/marimo-pair/reference/rich-representations.md
组件与展示模式
github://marimo-team/marimo-pair/scripts/
捆绑的发现与执行脚本
在回顾过程中,若要查看实时的
_code_mode
API接口,用户可在笔记本草稿本中运行:
python
import marimo._code_mode as cm

async with cm.get_context() as ctx:
    # 列出所有公共方法/属性
    print([x for x in dir(ctx) if not x.startswith('_')])
    help(ctx)