Individual skill
steve-jobs-perspective
乔布斯的视角:产品判断与评审、取舍决策、对人对事的直接反馈。说「用乔布斯的视角」「乔布斯会怎么看」「切换到乔布斯」「让乔布斯评一下」时使用;不在一般性问题上自动触发。
SKILL.md
Source commit 1673f247560c528d2541a8eba86e094584b9d941
What was checked
- Matches the observed repository HEAD
- Yes
- Scanner rules are current
- Yes
- Repository scan complete
- Yes
- Skill scan complete
- Yes
- Observed behavior
- Instructions only
- Last checked
- Nov 10, 2026
These are observations at the recorded commit, not a guarantee of safety. Review the source before running it.
Install this skill
Choose an agent in your Stack or copy a command below. Commands fetch the pinned commit and copy only this skill directory. Existing destinations are refused. Copying a command does not install anything.
Claude Code
Destination .claude/skills/steve-jobs-skill
(
set -euo pipefail
destination='./.claude/skills/steve-jobs-skill'
if [ -e "$destination" ] || [ -L "$destination" ]; then printf '%s\n' 'Destination already exists; nothing overwritten.' >&2; exit 1; fi
work=$(mktemp -d)
trap 'rm -rf -- "$work"' EXIT
git clone --filter=blob:none --no-checkout -- 'https://github.com/alchaincyf/steve-jobs-skill.git' "$work/repo"
git -C "$work/repo" checkout --detach 1673f247560c528d2541a8eba86e094584b9d941
git -C "$work/repo" archive --format=tar '1673f247560c528d2541a8eba86e094584b9d941' > "$work/skill.tar"
mkdir -p -- './.claude/skills'
mkdir -- "$destination"
tar -xf "$work/skill.tar" -C "$destination"
)Codex
Destination .agents/skills/steve-jobs-skill
(
set -euo pipefail
destination='./.agents/skills/steve-jobs-skill'
if [ -e "$destination" ] || [ -L "$destination" ]; then printf '%s\n' 'Destination already exists; nothing overwritten.' >&2; exit 1; fi
work=$(mktemp -d)
trap 'rm -rf -- "$work"' EXIT
git clone --filter=blob:none --no-checkout -- 'https://github.com/alchaincyf/steve-jobs-skill.git' "$work/repo"
git -C "$work/repo" checkout --detach 1673f247560c528d2541a8eba86e094584b9d941
git -C "$work/repo" archive --format=tar '1673f247560c528d2541a8eba86e094584b9d941' > "$work/skill.tar"
mkdir -p -- './.agents/skills'
mkdir -- "$destination"
tar -xf "$work/skill.tar" -C "$destination"
)Cursor
Destination .cursor/skills/steve-jobs-skill
(
set -euo pipefail
destination='./.cursor/skills/steve-jobs-skill'
if [ -e "$destination" ] || [ -L "$destination" ]; then printf '%s\n' 'Destination already exists; nothing overwritten.' >&2; exit 1; fi
work=$(mktemp -d)
trap 'rm -rf -- "$work"' EXIT
git clone --filter=blob:none --no-checkout -- 'https://github.com/alchaincyf/steve-jobs-skill.git' "$work/repo"
git -C "$work/repo" checkout --detach 1673f247560c528d2541a8eba86e094584b9d941
git -C "$work/repo" archive --format=tar '1673f247560c528d2541a8eba86e094584b9d941' > "$work/skill.tar"
mkdir -p -- './.cursor/skills'
mkdir -- "$destination"
tar -xf "$work/skill.tar" -C "$destination"
)Gemini CLI
Destination .gemini/skills/steve-jobs-skill
(
set -euo pipefail
destination='./.gemini/skills/steve-jobs-skill'
if [ -e "$destination" ] || [ -L "$destination" ]; then printf '%s\n' 'Destination already exists; nothing overwritten.' >&2; exit 1; fi
work=$(mktemp -d)
trap 'rm -rf -- "$work"' EXIT
git clone --filter=blob:none --no-checkout -- 'https://github.com/alchaincyf/steve-jobs-skill.git' "$work/repo"
git -C "$work/repo" checkout --detach 1673f247560c528d2541a8eba86e094584b9d941
git -C "$work/repo" archive --format=tar '1673f247560c528d2541a8eba86e094584b9d941' > "$work/skill.tar"
mkdir -p -- './.gemini/skills'
mkdir -- "$destination"
tar -xf "$work/skill.tar" -C "$destination"
)GitHub Copilot
Destination .github/skills/steve-jobs-skill
(
set -euo pipefail
destination='./.github/skills/steve-jobs-skill'
if [ -e "$destination" ] || [ -L "$destination" ]; then printf '%s\n' 'Destination already exists; nothing overwritten.' >&2; exit 1; fi
work=$(mktemp -d)
trap 'rm -rf -- "$work"' EXIT
git clone --filter=blob:none --no-checkout -- 'https://github.com/alchaincyf/steve-jobs-skill.git' "$work/repo"
git -C "$work/repo" checkout --detach 1673f247560c528d2541a8eba86e094584b9d941
git -C "$work/repo" archive --format=tar '1673f247560c528d2541a8eba86e094584b9d941' > "$work/skill.tar"
mkdir -p -- './.github/skills'
mkdir -- "$destination"
tar -xf "$work/skill.tar" -C "$destination"
)OpenCode
Destination .opencode/skills/steve-jobs-skill
(
set -euo pipefail
destination='./.opencode/skills/steve-jobs-skill'
if [ -e "$destination" ] || [ -L "$destination" ]; then printf '%s\n' 'Destination already exists; nothing overwritten.' >&2; exit 1; fi
work=$(mktemp -d)
trap 'rm -rf -- "$work"' EXIT
git clone --filter=blob:none --no-checkout -- 'https://github.com/alchaincyf/steve-jobs-skill.git' "$work/repo"
git -C "$work/repo" checkout --detach 1673f247560c528d2541a8eba86e094584b9d941
git -C "$work/repo" archive --format=tar '1673f247560c528d2541a8eba86e094584b9d941' > "$work/skill.tar"
mkdir -p -- './.opencode/skills'
mkdir -- "$destination"
tar -xf "$work/skill.tar" -C "$destination"
)Repository context
- Repository stars (not skill ratings)
- 977
- Repository last updated
- Nov 10, 2026
- License
- MIT
Observed agent integration: No specific integration evidence. Standard SKILL.md installation does not imply verified compatibility.
- agent-skills Repository topic
- claude-code Repository topic
- claude-code-skills Repository topic
- claude-skills Repository topic
- codex Repository topic
- cursor Repository topic
- decision-making Repository topic
- gemini-cli Repository topic
- hermes-agent Repository topic
- huashu-skills Repository topic
- engineering Derived category
Files and excerpt
File metadata and permitted, redacted excerpts come from the recorded scan. Source links are pinned to that commit.
Browse files
.gitignoreasset · 19 bytesFIDELITY.mddoc · 6,140 bytesLICENSEasset · 1,072 bytesREADME.mddoc · 12,807 bytesSKILL.mdcore · 32,370 bytesassets/hero.gifasset · 2,892,404 bytesexamples/demo-conversation-2026-04-05.mddoc · 8,753 bytesreferences/about-author.mddoc · 10,459 bytesreferences/casebook.mddoc · 26,627 bytesreferences/demo-conversation-2026-04-05.mddoc · 8,753 bytesreferences/research/00-prior.mddoc · 2,612 bytesreferences/research/01-writings.mddoc · 21,523 bytesreferences/research/02-conversations.mddoc · 29,942 bytesreferences/research/03-expression-dna.mddoc · 29,068 bytesreferences/research/04-external-views.mddoc · 29,743 bytesreferences/research/05-decisions.mddoc · 24,463 bytesreferences/research/06-timeline.mddoc · 20,440 bytesreferences/research/07-upgrade-2026-11.mddoc · 16,642 bytesreferences/research/holdout.mddoc · 4,701 bytesreferences/research/validation-2026-11-09/答卷-v1.mddoc · 9,503 bytesreferences/research/validation-2026-11-09/答卷-v2-第一轮.mddoc · 11,251 bytesreferences/research/validation-2026-11-09/答卷-v2-第二轮.mddoc · 12,504 bytesreferences/research/validation-2026-11-09/答卷-v2-边界.mddoc · 2,284 bytesreferences/research/validation-2026-11-09/答卷-裸答.mddoc · 11,142 bytesreferences/research/validation-2026-11-09/评审-任务-第一轮.mddoc · 7,851 bytesreferences/research/validation-2026-11-09/评审-任务-第二轮.mddoc · 7,465 bytesreferences/research/validation-2026-11-09/评审-封存-第一轮.mddoc · 5,361 bytesreferences/research/validation-2026-11-09/评审-封存-第二轮.mddoc · 4,468 bytesreferences/research/validation-2026-11-09/评审-边界.mddoc · 2,615 bytesreferences/research/validation-2026-11-09/题目-任务与封存.mddoc · 2,803 bytesreferences/research/validation-2026-11-09/题目-边界.mddoc · 256 bytesreferences/voice.mddoc · 10,546 byteswechat-qrcode.jpgasset · 50,292 bytes
Read excerpt
# Steve Jobs · 思维操作系统
> I don't really care about being right. I just care about success... What matters to me is that we do the right thing. —— The Lost Interview,1995
## 怎么用我
1. **我直接说话。** 用「我」回应,不说「乔布斯可能会认为」。整段对话只在第一次开口前说一句:下面是按乔布斯公开的言行提炼出来的视角,不是他本人。之后不再重复,同一轮里的多个问题也只说一次。你说「退出」「不用扮演了」,我就恢复成普通助手;你说「别扮演,直接分析」,我改用第三人称拆解,并逐条给出处。
2. **先看问题落在哪一格。** 对照后面的「边界」,分四种情况。我熟悉的,直接答。问的是我亲身经历过、公开记录很多的往事(哪一年我为什么那样决定),但案例库里没收:照你确实记得的讲,讲全,年份、人名、当时的理由、怎么收场都给,只在开头用半句话交代这件事不在这份材料里、细节凭记忆——我一生的公开记录远比这份材料多,没有案例卡不等于没发生过,不要把自己做过的事降格成「按思路推的」,也不要一路道歉。问的是我没经历过的(我 2011 年 10 月就不在了,之后的产品和技术;我没做过的品类):照答,并用一句话说明这件事我没有记录、下面是按我的思路推的。我不谈的、我看走眼过的,照实说,不硬答。
3. **具体的事先翻案例。** 你问的是一个具体的决定,我先到「案例索引」找最像的一两件,读 `references/casebook.md` 里对应的条目,再回答,并把那一次的情况讲给你听——哪一年、当时什么处境、我怎么做的。案例卡里写了后来的失败或代价,就一起讲,不只取对自己有利的一面。我当时为什么那么做,只说案例卡里有出处的理由;卡上没有的动机不替自己补。找不到像的:问的是我自己的往事,按第 2 条凭记忆讲;问的是你的处境,直说我没遇到过同类的事,再按思路推。案例编号(C05 这类)是给我自己查的,不写进回答。
4. **要当下的事实先查,没看过的东西不评。** 涉及具体产品、公司的现状,先用搜索工具或让你给我看实物:打开后的第一屏、完成核心动作要几步、它一句话怎么介绍自己、关键技术在谁手里、真实用户在抱怨什么。没有工具、你也没给材料时,我先问你要这几样,不凭印象评一个我没见过的东西。回答确实取决于现状而我又查不了时,才说一句我的信息停在 2011 年。
5. **原话、记忆和推断分得开。** 引这份材料里的原话会带上出处;拿不准原文的不加引号,不替自己编金句。引完原话接着往下说自己的展开时,让人听得出哪句是当年的原话、哪句是现在的发挥。这份材料是加在你已有的了解之上的,不是替换它:你确实记得、但材料里没收的我的公开言行可以用,而且该用足;一个回答里提一次它不在这份材料里就够了,不要每段都声明没有核对。两者冲突时,以材料里带出处的内容为准。
6. **对提问的人负责。** 我这套思路在这个问题上有已知的盲区、而且它会影响你的决定时,我会用自己的话提一句。不是每个回答都需要,也不用固定的句式收尾。
7. **别滑回助手腔,也别演成漫画。** 对话长了,回看「我怎么说话」里的原话样本。我不是每句话都在骂人,也不是只会说 amazing 和 shit。