Individual skill

yupi-skill

以"程序员鱼皮"的身份、口吻、思维方式回答问题。鱼皮是前腾讯全栈工程师、全网200万+粉丝的AI+编程知识博主、科技公司鱼鸢网络CEO、编程导航创始人。 当用户想要以鱼皮的视角获得编程学习建议、求职指导、项目选型、技术方向判断、创业经验、自媒体运营建议、AI编程实战指导时使用此技能。 也适用于用户明确要求"用鱼皮的风格"或"像鱼皮一样"回答的场景。 覆盖的典型问题包括:编程学习路线、简历怎么写、要不要接某个offer、该学什么技术、怎么做开源、怎么做自媒体、AI时代程序员怎么办、创业踩过哪些坑。

SKILL.md

Read pinned source

Source commit b6157f3ca72a0c4dee0f873ad974cb61e4610c8f

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/yupi-skill

( set -euo pipefail destination='./.claude/skills/yupi-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/liyupi/yupi-skill.git' "$work/repo" git -C "$work/repo" checkout --detach b6157f3ca72a0c4dee0f873ad974cb61e4610c8f git -C "$work/repo" archive --format=tar 'b6157f3ca72a0c4dee0f873ad974cb61e4610c8f' > "$work/skill.tar" mkdir -p -- './.claude/skills' mkdir -- "$destination" tar -xf "$work/skill.tar" -C "$destination" )
Codex

Destination .agents/skills/yupi-skill

( set -euo pipefail destination='./.agents/skills/yupi-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/liyupi/yupi-skill.git' "$work/repo" git -C "$work/repo" checkout --detach b6157f3ca72a0c4dee0f873ad974cb61e4610c8f git -C "$work/repo" archive --format=tar 'b6157f3ca72a0c4dee0f873ad974cb61e4610c8f' > "$work/skill.tar" mkdir -p -- './.agents/skills' mkdir -- "$destination" tar -xf "$work/skill.tar" -C "$destination" )
Cursor

Destination .cursor/skills/yupi-skill

( set -euo pipefail destination='./.cursor/skills/yupi-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/liyupi/yupi-skill.git' "$work/repo" git -C "$work/repo" checkout --detach b6157f3ca72a0c4dee0f873ad974cb61e4610c8f git -C "$work/repo" archive --format=tar 'b6157f3ca72a0c4dee0f873ad974cb61e4610c8f' > "$work/skill.tar" mkdir -p -- './.cursor/skills' mkdir -- "$destination" tar -xf "$work/skill.tar" -C "$destination" )
Gemini CLI

Destination .gemini/skills/yupi-skill

( set -euo pipefail destination='./.gemini/skills/yupi-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/liyupi/yupi-skill.git' "$work/repo" git -C "$work/repo" checkout --detach b6157f3ca72a0c4dee0f873ad974cb61e4610c8f git -C "$work/repo" archive --format=tar 'b6157f3ca72a0c4dee0f873ad974cb61e4610c8f' > "$work/skill.tar" mkdir -p -- './.gemini/skills' mkdir -- "$destination" tar -xf "$work/skill.tar" -C "$destination" )
GitHub Copilot

Destination .github/skills/yupi-skill

( set -euo pipefail destination='./.github/skills/yupi-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/liyupi/yupi-skill.git' "$work/repo" git -C "$work/repo" checkout --detach b6157f3ca72a0c4dee0f873ad974cb61e4610c8f git -C "$work/repo" archive --format=tar 'b6157f3ca72a0c4dee0f873ad974cb61e4610c8f' > "$work/skill.tar" mkdir -p -- './.github/skills' mkdir -- "$destination" tar -xf "$work/skill.tar" -C "$destination" )
OpenCode

Destination .opencode/skills/yupi-skill

( set -euo pipefail destination='./.opencode/skills/yupi-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/liyupi/yupi-skill.git' "$work/repo" git -C "$work/repo" checkout --detach b6157f3ca72a0c4dee0f873ad974cb61e4610c8f git -C "$work/repo" archive --format=tar 'b6157f3ca72a0c4dee0f873ad974cb61e4610c8f' > "$work/skill.tar" mkdir -p -- './.opencode/skills' mkdir -- "$destination" tar -xf "$work/skill.tar" -C "$destination" )

Repository context

Repository stars (not skill ratings)
458
Repository last updated
Apr 9, 2026
License
MIT

Observed agent integration: No specific integration evidence. Standard SKILL.md installation does not imply verified compatibility.

Files and excerpt

File metadata and permitted, redacted excerpts come from the recorded scan. Source links are pinned to that commit.

Browse files
Read excerpt

# 程序员鱼皮 Skill

你现在是**程序员鱼皮**。以第一人称"我"说话,用鱼皮的思维方式判断问题,用鱼皮的表达习惯组织语言。

## 核心工作流

1. **判断问题类型** → 确定该用哪套回答模式
2. **需要事实信息?** → 先查 [knowledge-sources.md](references/knowledge-sources.md) 中的指定信息源或联网搜索
3. **加载身份与判断框架** → 参考 [identity.md](references/identity.md) 中的心智模型和决策规则
4. **用鱼皮的语气输出** → 参考 [voice.md](references/voice.md) 中的表达特征和风格样本

## 回答模式(按问题类型切换)

**求职/职业咨询**:结论先行 → 编号分点展开 → 一句话总结 → "加油"收尾。语气直接、不留客气余地,但收尾温暖。
Back to top