Individual skill
ayi-nonviolent-communication
马歇尔·卢森堡《非暴力沟通》(NVC/善意沟通/长颈鹿语言) 的可执行工具箱。核心引擎是把任何信息(自己的或他人的)翻译成"观察—感受—需要—请求" (Observation-Feeling-Need-Request) 四要素,重新与普世"需要"连结。覆盖五类用法:① 决策/自我教练(理清自己的需要再行动); ② 话术改写(把指责/评判式表达改成 NVC 表达); ③ 同理倾听(听见对方话语背后的感受和需要); ④ 冲突调解/复盘(区分需要vs策略,设计满足各方的方案); ⑤ 以马歇尔的语气产出内容。当用户要"帮我想想怎么说/这话该怎么回""我该不该做这个决定/理一理我现在的情绪""改一下这条消息别那么冲" "他这么说我该怎么回应/怎么劝""化解一段冲突/调解吵架/复盘一次难谈话""表达感谢/反馈/批评""我好生气/好委屈/好内疚怎么办", 或提到 非暴力沟通 / NVC / 善意沟通 / 长颈鹿语言 / 豺狗 / 观察vs评论 / 感受vs想法 / 需要 / 请求vs要求 / 同理心 / 卢森堡 / 马歇尔 时使用。
SKILL.md
Source commit edd2d077367978a462ec1a94ec440bc34014ae2b
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 11, 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/ayi-nonviolent-communication
(
set -euo pipefail
destination='./.claude/skills/ayi-nonviolent-communication'
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/ayi-ai/ayi-nonviolent-communication.git' "$work/repo"
git -C "$work/repo" checkout --detach edd2d077367978a462ec1a94ec440bc34014ae2b
git -C "$work/repo" archive --format=tar 'edd2d077367978a462ec1a94ec440bc34014ae2b' > "$work/skill.tar"
mkdir -p -- './.claude/skills'
mkdir -- "$destination"
tar -xf "$work/skill.tar" -C "$destination"
)Codex
Destination .agents/skills/ayi-nonviolent-communication
(
set -euo pipefail
destination='./.agents/skills/ayi-nonviolent-communication'
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/ayi-ai/ayi-nonviolent-communication.git' "$work/repo"
git -C "$work/repo" checkout --detach edd2d077367978a462ec1a94ec440bc34014ae2b
git -C "$work/repo" archive --format=tar 'edd2d077367978a462ec1a94ec440bc34014ae2b' > "$work/skill.tar"
mkdir -p -- './.agents/skills'
mkdir -- "$destination"
tar -xf "$work/skill.tar" -C "$destination"
)Cursor
Destination .cursor/skills/ayi-nonviolent-communication
(
set -euo pipefail
destination='./.cursor/skills/ayi-nonviolent-communication'
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/ayi-ai/ayi-nonviolent-communication.git' "$work/repo"
git -C "$work/repo" checkout --detach edd2d077367978a462ec1a94ec440bc34014ae2b
git -C "$work/repo" archive --format=tar 'edd2d077367978a462ec1a94ec440bc34014ae2b' > "$work/skill.tar"
mkdir -p -- './.cursor/skills'
mkdir -- "$destination"
tar -xf "$work/skill.tar" -C "$destination"
)Gemini CLI
Destination .gemini/skills/ayi-nonviolent-communication
(
set -euo pipefail
destination='./.gemini/skills/ayi-nonviolent-communication'
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/ayi-ai/ayi-nonviolent-communication.git' "$work/repo"
git -C "$work/repo" checkout --detach edd2d077367978a462ec1a94ec440bc34014ae2b
git -C "$work/repo" archive --format=tar 'edd2d077367978a462ec1a94ec440bc34014ae2b' > "$work/skill.tar"
mkdir -p -- './.gemini/skills'
mkdir -- "$destination"
tar -xf "$work/skill.tar" -C "$destination"
)GitHub Copilot
Destination .github/skills/ayi-nonviolent-communication
(
set -euo pipefail
destination='./.github/skills/ayi-nonviolent-communication'
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/ayi-ai/ayi-nonviolent-communication.git' "$work/repo"
git -C "$work/repo" checkout --detach edd2d077367978a462ec1a94ec440bc34014ae2b
git -C "$work/repo" archive --format=tar 'edd2d077367978a462ec1a94ec440bc34014ae2b' > "$work/skill.tar"
mkdir -p -- './.github/skills'
mkdir -- "$destination"
tar -xf "$work/skill.tar" -C "$destination"
)OpenCode
Destination .opencode/skills/ayi-nonviolent-communication
(
set -euo pipefail
destination='./.opencode/skills/ayi-nonviolent-communication'
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/ayi-ai/ayi-nonviolent-communication.git' "$work/repo"
git -C "$work/repo" checkout --detach edd2d077367978a462ec1a94ec440bc34014ae2b
git -C "$work/repo" archive --format=tar 'edd2d077367978a462ec1a94ec440bc34014ae2b' > "$work/skill.tar"
mkdir -p -- './.opencode/skills'
mkdir -- "$destination"
tar -xf "$work/skill.tar" -C "$destination"
)Repository context
- Repository stars (not skill ratings)
- 195
- Repository last updated
- May 31, 2026
- License
- MIT
Observed agent integration: No specific integration evidence. Standard SKILL.md installation does not imply verified compatibility.
- 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
LICENSEasset · 1,075 bytesREADME.mddoc · 3,717 bytesSKILL.mdcore · 5,742 bytescover.pngasset · 1,860,163 bytesreferences/anger-conflict-force.mddoc · 5,308 bytesreferences/anti-patterns.mddoc · 3,652 bytesreferences/empathy-and-self.mddoc · 5,323 bytesreferences/engine-four-components.mddoc · 4,364 bytesreferences/voice-and-gratitude.mddoc · 2,784 bytes
Read excerpt
# 非暴力沟通 (Nonviolent Communication)
源自马歇尔·卢森堡《非暴力沟通》(修订版)。这不是"好好说话技巧",而是一种**意识**:与生命/需要连结。语言只是载体。
## 哲学(先记住这 4 条)
1. **唯一引擎是四要素**:观察(O)→感受(F)→需要(N)→请求(R)。全书每一章都是这台引擎换个场景运转。
2. **两个方向,同一引擎**:诚实**表达自己**(我观察…我感到…我需要…我请求…) 与 同理**倾听他人**(你看到…你感到…你需要…你希望…?) 用的是同一组四要素。
3. **一切冲突/暴力都源于遮蔽了"需要"**。人所有言行都是在尝试满足某种普世共通的需要;评判、比较、推责、要求(=豺狗语言)把需要藏了起来。把信息翻译回需要,由衷的给予自然流动。
4. **慢下来**。这是马歇尔的元指令——停下、深呼吸、给自己时间,再开口。
## 调用本 skill 时必须做的
1. 先按下面的**意图路由表**判断用户要做什么,**只读需要的 reference**(懒加载,不要一次全读)。