aim
Compare original and translation side by side
🇺🇸
Original
English🇨🇳
Translation
Chinese/aim
/aim
Clarify the outcome you want. An aim is a change in user behavior, not a feature shipped. This is the first step in the Intent-Execution-Review loop.
The aim IS the abstraction. When you clarify what behavior you want to change, you're abstracting the business domain itself. Features are just the mechanism; the aim is why they matter.
明确你想要达成的目标。目标指的是用户行为的改变,而非功能的交付。这是“意图-执行-复盘”循环的第一步。
目标是一种抽象概念。当你明确想要改变的用户行为时,你其实是在对业务领域本身进行抽象。功能只是实现手段;目标才是功能的意义所在。
When to Use
适用场景
Invoke when:
/aim- Starting new work - Before diving into problem-statement or problem-space
- Scope feels fuzzy - You can describe what you're building but not why
- Multiple solutions seem valid - Aim clarifies which one actually moves the needle
- Work has drifted - Return to aim to check if you're still on track
- Team is misaligned - Shared aim surfaces hidden assumptions
Do not use when: You already have a crisp aim and need to explore the problem space or solution space. Move to or instead.
/problem-statement/problem-space在以下场景中调用:
/aim- 启动新工作时 - 在深入问题陈述或问题领域之前
- 范围模糊时 - 你能描述要构建的内容,但说不清原因
- 存在多种可行方案时 - 目标能明确哪种方案真正能产生实际效果
- 工作偏离方向时 - 回到目标,检查是否仍在正轨上
- 团队意见不一致时 - 共同的目标能暴露隐藏的假设
不适用场景:你已经有清晰的目标,需要探索问题领域或解决方案领域时。此时应转向或。
/problem-statement/problem-spaceThe Aim Process
目标设定流程
Step 1: State the Desired Behavior Change
步骤1:陈述期望的行为改变
Start with the user, not the system. What do you want users to do differently after this work ships?
"Users will [specific behavior] instead of [current behavior]."
Bad: "Add dark mode toggle"
Good: "Users can work comfortably at night without eye strain"
Bad: "Improve onboarding flow"
Good: "New users reach their first value moment within 5 minutes"
Key distinction: Features are outputs. Behavior changes are outcomes.
从用户而非系统出发。在完成这项工作后,你希望用户有哪些不同的行为?
“用户将[具体行为],而非[当前行为]。”
反面示例:“添加深色模式切换按钮”
正面示例:“用户可以在夜间舒适工作,不会感到眼睛疲劳”
反面示例:“改进引导流程”
正面示例:“新用户能在5分钟内体验到产品的核心价值”
关键区别:功能是产出物,行为改变是成果。
Step 2: Identify the Mechanism
步骤2:确定实现机制
The mechanism is your hypothesis - the causal lever you believe will produce the behavior change. It's the "because" that connects your work to the outcome.
"This will happen because [mechanism]."
Format:
Mechanism: [What you're changing]
Hypothesis: [Why you believe it will produce the outcome]
Assumptions: [What must be true for this to work]机制是你的假设——你认为能引发行为改变的因果杠杆。它是连接你的工作与成果的“原因”。
“这将实现,因为[机制]。”
格式:
Mechanism: [你要改变的内容]
Hypothesis: [你认为它能产生成果的原因]
Assumptions: [要让这一机制生效必须成立的前提]Step 3: Define the Feedback Signal
步骤3:定义反馈信号
How will you know if the aim is achieved? What signal validates or disproves the mechanism?
"We'll know it's working when [observable signal]."
Good feedback signals are:
- Observable - You can actually measure or see them
- Timely - You'll know within a reasonable timeframe
- Attributable - The signal connects to your mechanism, not noise
你如何知道目标是否达成?什么信号能验证或推翻你的机制假设?
“当[可观察的信号]出现时,我们就知道目标正在实现。”
好的反馈信号具备以下特点:
- 可观察 - 你能够实际测量或观察到
- 及时性 - 你能在合理时间内得到结果
- 可归因 - 信号与你的机制相关,而非无关干扰
Step 4: Set Guardrails
步骤4:设定约束条件
What constraints should bound this work? What would cause you to stop or change direction?
Format:
Guardrail: [boundary]
Reason: [why this matters]
Trigger: [when to revisit this constraint]这项工作应受到哪些约束?什么情况会导致你停止或改变方向?
格式:
Guardrail: [约束边界]
Reason: [该约束的重要性]
Trigger: [重新审视该约束的时机]Output Format
输出格式
Always produce an aim statement in this structure:
undefined始终按照以下结构生成目标陈述:
undefinedAim Statement
Aim Statement
Aim: [One sentence: the behavior change you want]
Current State: [What users do now]
Desired State: [What users will do after]
Aim: [一句话:你期望的行为改变]
Current State: [用户当前的行为]
Desired State: [完成工作后用户的行为]
Mechanism
Mechanism
Change: [What you're building/changing]
Hypothesis: [Why you believe this produces the outcome]
Assumptions: [What must be true]
Change: [你要构建/改变的内容]
Hypothesis: [你认为这能产生成果的原因]
Assumptions: [必须成立的前提]
Feedback
Feedback
Signal: [How you'll know it's working]
Timeframe: [When you'll have signal]
Signal: [你如何判断目标正在实现]
Timeframe: [你何时能得到反馈信号]
Guardrails
Guardrails
- [Guardrail 1]
- [Guardrail 2]
undefined- [约束条件1]
- [约束条件2]
undefinedExamples
示例
Example 1: Feature Request to Aim
示例1:从功能需求到目标
Input:
/aim
We need to add a dark mode toggle to the settings page.Output:
undefined输入:
/aim
我们需要在设置页面添加深色模式切换按钮。输出:
undefinedAim Statement
Aim Statement
Aim: Users can work comfortably during extended evening sessions without eye strain.
Current State: Users either strain their eyes or stop using the app after dark.
Desired State: Users work as long as they need, regardless of ambient lighting.
Aim: 用户可以在长时间的夜间工作中舒适操作,不会感到眼睛疲劳。
Current State: 用户要么在暗光下用眼疲劳,要么在天黑后停止使用应用。
Desired State: 用户可以根据环境光线随时工作,不受时间限制。
Mechanism
Mechanism
Change: Theme system with dark variant, exposed via settings toggle
Hypothesis: Reducing screen brightness and contrast in low-light environments reduces eye strain, increasing comfortable usage time.
Assumptions:
- Users actually work in low-light conditions (validate with usage time data)
- Eye strain is the blocker, not just preference (could survey)
- A toggle is discoverable enough (vs. auto-detect)
Change: 支持深色主题的主题系统,通过设置页面的切换按钮暴露给用户
Hypothesis: 在低光环境下降低屏幕亮度和对比度能减少眼睛疲劳,从而延长舒适使用时间。
Assumptions:
- 用户确实有在低光环境下工作的需求(可通过使用时间数据验证)
- 眼睛疲劳是用户停止使用的主要障碍,而非单纯的偏好问题(可通过调研确认)
- 切换按钮的可发现性足够(与自动检测模式对比)
Feedback
Feedback
Signal: Session duration in evening hours (6pm-midnight) increases
Timeframe: 2 weeks post-launch to see pattern
Signal: 晚间时段(18:00-24:00)的会话时长增加
Timeframe: 上线后2周观察模式
Guardrails
Guardrails
- Don't break existing light theme (test both paths)
- Don't over-engineer: one dark theme, not a theme builder
- Revisit if <5% of users actually enable it after 30 days
undefined- 不要破坏现有的浅色主题(需测试两种主题路径)
- 不要过度设计:仅提供一种深色主题,不构建主题编辑器
- 如果30天后启用深色模式的用户占比<5%,则重新审视该功能
undefinedExample 2: Vague Strategic Goal to Aim
示例2:从模糊战略目标到明确目标
Input:
/aim
We need to improve developer experience.Output:
undefined输入:
/aim
我们需要提升开发者体验。输出:
undefinedAim Statement
Aim Statement
Aim: Developers spend less than 10 minutes from git clone to running their first successful test.
Current State: New developers report 45-90 minutes to get a working dev environment. Some give up.
Desired State: Developers are productive within their first coffee break.
Aim: 开发者从到运行首次成功测试的时间不超过10分钟。
git cloneCurrent State: 新开发者反馈搭建可工作的开发环境需要45-90分钟,部分开发者因此放弃。
Desired State: 开发者在首次休息前就能投入工作。
Mechanism
Mechanism
Change: Containerized dev environment with pre-configured dependencies
Hypothesis: Most setup time is spent on environment configuration, not understanding code. A working container removes the configuration variable.
Assumptions:
- Docker is acceptable for dev workflow (some devs resist containers)
- Environment issues are the primary friction (not docs, not code complexity)
- Container startup time is acceptable (<2 min)
Change: 包含预配置依赖项的容器化开发环境
Hypothesis: 大部分设置时间花费在环境配置上,而非理解代码。可直接使用的容器消除了配置变量的问题。
Assumptions:
- Docker在开发工作流中是可接受的(部分开发者抵触容器)
- 环境问题是主要的摩擦点(而非文档或代码复杂度)
- 容器启动时间在可接受范围内(<2分钟)
Feedback
Feedback
Signal: Time from clone to first passing test (measured in onboarding script)
Timeframe: Immediate per-developer, aggregate after 5 new devs
Signal: 从克隆到首次测试通过的时间(通过引导脚本测量)
Timeframe: 每位开发者可立即得到数据,收集5位新开发者的数据后进行汇总分析
Guardrails
Guardrails
- Container must work on Mac, Linux, and Windows (WSL2)
- Don't require Docker for those who prefer native setup
- Revisit if container approach creates new friction (debugging, IDE integration)
undefined- 容器必须支持Mac、Linux和Windows(WSL2)系统
- 不强制要求使用Docker,为偏好原生设置的开发者保留选项
- 如果容器方案带来新的摩擦(如调试、IDE集成问题),则重新审视
undefinedExample 3: Checking Aim Mid-Work
示例3:工作中途检查目标
Input:
/aim
I'm three days into this auth refactor and not sure if I'm still solving the right problem.Output:
undefined输入:
/aim
我已经进行了三天的认证重构工作,但不确定是否仍在解决正确的问题。输出:
undefinedAim Check
Aim Check
Original aim (inferred): Simplify the authentication flow for easier maintenance.
Let me ask clarifying questions to validate:
-
What behavior change were you targeting?
- Faster feature development in auth-adjacent code?
- Fewer auth-related bugs in production?
- Easier onboarding for new devs to the auth system?
-
What's the current state?
- How long does an auth change take today?
- What breaks most often?
- What do devs complain about?
-
What signal will tell you this worked?
- PR cycle time for auth changes?
- Bug count in auth module?
- Onboarding feedback?
Without clear answers, consider to extract what you've learned, then restart with a crisp aim.
/salvageRed flag: If "simplify" is the aim, you need a measurable definition. Simplicity is a mechanism, not an outcome. What does simpler auth enable that complex auth blocks?
undefinedOriginal aim (inferred): 简化认证流程,便于维护。
让我提出一些澄清问题以验证:
-
你针对的是哪种行为改变?
- 加快认证相关代码的功能开发速度?
- 减少生产环境中与认证相关的bug?
- 让新开发者更容易上手认证系统?
-
当前状态是怎样的?
- 现在进行一次认证变更需要多长时间?
- 最常出现问题的部分是什么?
- 开发者们抱怨的点是什么?
-
什么信号能告诉你这项工作成功了?
- 认证相关变更的PR周期时间?
- 认证模块的bug数量?
- 新开发者的上手反馈?
如果没有明确答案,建议使用提取已学到的经验,然后重新设定清晰的目标。
/salvage警示信号:如果“简化”是你的目标,你需要一个可衡量的定义。简洁性是一种机制,而非成果。简化的认证能实现什么复杂认证无法做到的事情?
undefinedSession Persistence
会话持久化
This skill can persist context to for use by subsequent skills.
.oh/<session>.mdIf session name provided ():
/aim auth-refactor- Reads/writes directly
.oh/auth-refactor.md
If no session name provided ():
/aim- After producing the aim statement, offer to save it:
"Save to session? [suggested-name] [custom] [skip]"
- Suggest a name based on git branch (e.g., →
feature/auth-flow) or the aim contentauth-flow - If user accepts, create
.oh/<session>.md
Reading: Check for existing session file. If found, read prior skill outputs (problem-statement, problem-space, etc.) for context.
Writing: After producing output, write the aim statement to the session file:
markdown
undefined该技能可将上下文持久化到,供后续技能使用。
.oh/<session>.md若提供了会话名称(如):
/aim auth-refactor- 直接读写
.oh/auth-refactor.md
若未提供会话名称(如):
/aim- 生成目标陈述后,会询问是否保存:
“Save to session? [suggested-name] [custom] [skip]”
- 根据git分支(如→
feature/auth-flow)或目标内容建议一个名称auth-flow - 如果用户同意,创建
.oh/<session>.md
读取:检查是否存在会话文件。如果找到,读取之前的技能输出(如problem-statement、problem-space等)以获取上下文。
写入:生成输出后,将目标陈述写入会话文件:
markdown
undefinedSession: <session>
Session: <session>
Aim
Aim
Updated: <timestamp>
[aim statement content]
If the section exists, replace it. If not, create it.Updated: <timestamp>
[aim statement content]
如果该部分已存在,则替换;如果不存在,则创建。Adaptive Enhancement
自适应增强
Base Skill (prompt only)
基础技能(仅提示)
Works anywhere. Produces aim statement for discussion. No persistence.
可在任何场景使用。生成用于讨论的目标陈述,无持久化功能。
With .oh/ session file
配合.oh/会话文件使用
- Reads for prior context from other skills
.oh/<session>.md - Writes aim statement to the session file
- Subsequent skills (,
/problem-statement, etc.) can read the aim/solution-space
- 读取获取其他技能的历史上下文
.oh/<session>.md - 将目标陈述写入会话文件
- 后续技能(如、
/problem-statement等)可读取该目标/solution-space
With Open Horizons MCP
配合Open Horizons MCP使用
- Queries related endeavors to see if aim already exists
- Pulls relevant tribal knowledge that might inform mechanism choice
- Logs aim statement to graph database
- Links aim to active endeavors
- Session file serves as local cache for MCP data
- 查询相关项目,查看目标是否已存在
- 获取相关的团队经验,为机制选择提供参考
- 将目标陈述记录到图形数据库
- 将目标与活跃项目关联
- 会话文件作为MCP数据的本地缓存
Position in Framework
在框架中的位置
Comes after: Nothing—aim is the entry point.
Leads to: to map the terrain, or if the problem is already clear.
Can loop back from: (restart with learning), (if aim has drifted).
/problem-space/solution-space/salvage/review之前的步骤:无——目标是入口点。
后续的步骤:用于梳理领域和约束,若问题已明确则转向。
可从以下步骤返回:(基于所学重新开始)、(若目标已偏离)。
/problem-space/solution-space/salvage/reviewLeads To
后续流程
After establishing aim, typically:
- - Map the terrain and constraints
/problem-space - - Map constraints and what you're optimizing
/problem-space - - Check if current work still serves the aim
/review
Remember: The aim IS the abstraction. Features are outputs; behavior changes are outcomes. Start with what you want users to do differently.
确定目标后,通常可进行:
- - 梳理领域和约束
/problem-space - - 梳理约束和优化方向
/problem-space - - 检查当前工作是否仍符合目标
/review
记住:目标是一种抽象概念。功能是产出物,行为改变是成果。从你期望用户做出的行为改变开始。