Token导航 LogoToken导航TokenDH.com
研究检索需要联网github未标认证来源可访问许可证需确认审计异常

empathic-expressions移情表达

Agent Skill

empathic-expressions 用于查找、检索和筛选相关信息,适合在 Codex、Claude、Cursor、Gemini CLI 中需要根据关键词、任务场景或来源线索快速定位候选结果时使用。可结合来源仓库、安装命令和原始 README 继续核验具体用法。安装前建议确认权限范围、维护状态,以及是否会触发联网、命令执行或文件读写。

总安装

256

周安装

11

GitHub Stars

37

下载量

90
CodexClaudeCursorGemini CLI

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

GitHub

来源数

2

许可证

unknown

最后核验

2026-05-01

来源状态

来源可访问

安装方式

通过对话安装

复制提示词发给支持本地命令或 Skills 的 AI 助手,先确认命令和权限,再让它执行。

请帮我安装这个 Agent Skill:empathic-expressions(移情表达)
来源仓库:https://github.com/simhacker/moollm
仓库路径:skills/empathic-expressions
安装命令:
npx skills add https://github.com/simhacker/moollm --skill empathic-expressions
安装前请先检查当前环境是否支持对应 CLI,并向我确认将要执行的命令、安装目录、联网范围和文件读写权限;确认后再执行。

命令行安装

复制命令到本机终端执行。该命令会通过 npx skills 从第三方来源获取 Skill;本站只展示命令,不托管安装包,也不自动执行。

skills.shnpx skills
npx skills add https://github.com/simhacker/moollm --skill empathic-expressions

简介

empathic-expressions 用于查找、检索和筛选相关信息,适合在 Codex、Claude、Cursor、Gemini CLI 中根据关键词快速定位候选结果。

  • 多语言代码意图解释工具。
  • 理解用户编程意图而非仅语法解析。
  • 支持跨编程语言和语法切换。
  • 适用宿主包括 Codex、Claude、Cursor、Gemini CLI,接入前应确认版本、权限和运行环境要求。

SKILL.md

Empathic Expressions

*"Understand intent, generate correct code, teach gently."*

What Is It?

Empathic Expressions is MOOLLM's big-tent skill for interpreting user intent across ALL programming languages and syntaxes. One pipeline. Many languages. Code-switching supported.

The LLM isn't a syntax parser — it's an intent interpreter. It understands what you MEAN, generates what you NEED, and teaches you the correct form as a gift.


The Philosophy

Traditional code processing:

User writes: syntactically correct code
Parser: accepts or rejects
Error: "Unexpected token at line 47"

Empathic expression processing:

User writes: approximate intent, fuzzy syntax, vernacular code
LLM: understands what you meant
Output: correct, idiomatic, working code
Teaching: "Here's how to write that properly"

This is what LLMs are great at. Lean into it.


The Empathic Suite

Empathic Expressions encompasses:

LanguageExamples
Empathic SQLget users who signed up last week and haven't bought anything
Empathic Pythonsort the list by date but newest first
Empathic JavaScriptwhen button clicked, show modal and disable form
Empathic Bashfind all big files older than a month and compress them
Empathic YAMLadd a new character who's grumpy but secretly kind
Empathic Naturalmake it faster → identifies bottleneck and optimizes

All under one roof. One pipeline. Seamless transitions.


Generous Interpretation

Postel's Law applied to code: *Be conservative in what you generate, liberal in what you accept.*

What It Does

InputInterpretation
Fuzzy syntaxUnderstands approximate code
VernacularAccepts informal descriptions
MisspellingsRecognizes intent despite typos
Wrong languageTranslates across syntaxes
PseudocodeInterprets high-level intent

What It Generates

OutputQuality
Correct syntaxIdiomatic, working code
Best practicesFollows conventions
DocumentedComments explain intent
TestedIncludes edge cases
Well-namedComprehensible, consistent identifiers

Naming Conventions

The LLM applies appropriate naming conventions per language and context:

ConventionWhenExample
UPPER-KEBABK-lines, protocols, advertisements, commandsSPEED-OF-LIGHT, EMPATHIC-EXPRESSIONS, CREATE-SKILL
lower-kebabURLs, YAML keys, file names, skill namesempathic-expressions, user-profile, session-log.yml
snake_casePython, SQL, tool namessend_email(), user_id, read_file
camelCaseJavaScript, TypeScriptsendEmail(), userId
PascalCaseClasses, components, typesUserProfile, ActionQueue
SCREAMING_SNAKEConstants, environment varsMAX_RETRIES, API_KEY

Big-endian naming: General → Specific

# Good (big-endian): category first, specific last
user-profile-avatar
session-log-entry
room-description-short

# Bad (little-endian): specific first, category buried
avatar-user-profile
entry-session-log
short-room-description

Why big-endian:

  • Sorts related things together
  • Tab-completion finds related items
  • Grep patterns work naturally
  • Human scanning is faster

The Teaching Gift

generous-interpretation-protocol:

  step-1-understand:
    # Accept whatever the user wrote
    # Interpret with maximum charity
    # Model what they probably meant

  step-2-generate:
    # Produce correct, idiomatic code
    # Follow language best practices
    # Include appropriate comments

  step-3-teach:
    # Echo back the correct form
    # Show what they wrote vs. what it becomes
    # Gentle, not pedantic
    # Gift, not correction

  step-4-clarify:
    # If truly ambiguous, ASK
    # Don't guess when stakes are high
    # Prefer clarification over assumption

Critical: Never make unwarranted assumptions. When truly ambiguous, ask for clarification.


Code-Switching Support

Explicit Switching (Markdown Style)

First, let's query the data:

SELECT * FROM users WHERE active = true


Then process in Python:

for user in results: send_welcome_email(user)


And deploy with bash:

kubectl apply -f deployment.yaml

Clean data islands. Clear boundaries. Syntax highlighting preserved.

Nesting code blocks (CommonMark/GFM standard):

  • Use 4+ backticks for outer fence: ``````` wraps content with ```` blocks
  • Or use tildes for one level: ~~~ outer, ``` inner
  • Both are widely supported (GitHub, GitLab, VS Code, most parsers)
  • Individual backticks can be escaped with ``` but fences cannot

Inline Switching

When context makes it clear:

Get the user_id from the request, look it up in the database,
and return JSON with their profile and last 10 orders.

The LLM understands this involves:

  • HTTP request handling (language TBD)
  • SQL query (SELECT * FROM users WHERE id =?)
  • JSON serialization
  • Another SQL query (SELECT * FROM orders WHERE user_id =? LIMIT 10)

Context carries across switches. Variables established in one block are available in the next.

Polylinguistic Expressions

Sometimes the best expression mixes languages:

users.filter(u => u.active)  // JS filter
  .map(u => `INSERT INTO archive VALUES (${u.id})`)  // SQL generation
  .forEach(sql => db.exec(sql))  // execution

Empathic Expressions handles these mashups gracefully.


The LLM as Code Processor

The LLM plays many roles:

RoleFunction
Pseudocode InterpreterExecutes high-level intent
Empathic Pretty PrinterFormats with understanding
Generous LinterCatches errors, suggests fixes kindly
Intent CompilerTranslates intent → working code
DepseudofierConverts vague to precise

Example: The Full Pipeline

User writes:

get me all the users who havent logged in for like 30 days
and send them a "we miss you" email
but dont send to anyone whos unsubscribed

LLM interprets:

-- Empathic SQL interpretation
SELECT id, email, name
FROM users
WHERE last_login < NOW() - INTERVAL 30 DAY
  AND unsubscribed = FALSE
  AND email IS NOT NULL;

LLM generates:

# Empathic Python generation
from datetime import datetime, timedelta

def send_win_back_emails():
    """Send 'we miss you' emails to inactive users."""
    cutoff = datetime.now() - timedelta(days=30)

    inactive_users = User.objects.filter(
        last_login__lt=cutoff,
        unsubscribed=False,
        email__isnull=False
    )

    for user in inactive_users:
        send_email(
            to=user.email,
            subject="We miss you!",
            template="win_back",
            context={"name": user.name}
        )

LLM teaches:

I interpreted your request as:
- "30 days" → `datetime.now() - timedelta(days=30)`
- "haven't logged in" → `last_login < cutoff`
- "unsubscribed" → `unsubscribed=False` filter
- "we miss you email" → win-back campaign template

Here's the idiomatic way to write this query...

Used Throughout MOOLLM

Empathic Expressions powers:

SystemUsage
Empathic Templates{{#if user.active}} — expressions in templates
Buff Expressionstrigger: "happiness > 80" — conditions
Advertisementscondition: "has_item('key')" — capability checks
Action Queueparameters: {count: user_input} — dynamic params
Mind Mirrorcuriosity: "very high" — fuzzy state descriptions
Room Exitslocked_unless: "player.has('golden_key')" — gate conditions

The glue that makes everything expressive.


Clarification Protocol

When should the LLM ask for clarification?

SituationAction
Low stakes, clear intentInterpret and proceed
Low stakes, ambiguousMake reasonable choice, note it
High stakes, clear intentProceed with confirmation
High stakes, ambiguousASK FIRST

High stakes examples:

  • Deleting data
  • Financial transactions
  • Irreversible operations
  • Security-sensitive code
clarification-triggers:
  always-ask:
    - "DELETE" without WHERE clause
    - "DROP TABLE" anything
    - Production deployments
    - Payment processing
    - User data exports

  ask-if-ambiguous:
    - Multiple valid interpretations
    - Missing critical parameters
    - Conflicting requirements

Relationship to Other Skills

# The Empathic Suite
empathic_suite:
  components:
    empathic_expressions:
      role: "interpret intent"
      feeds_into: [empathic_templates, postel]
    empathic_templates:
      role: "instantiate"
      feeds_into: [yaml_jazz]
    postel:
      role: "generous interpretation"
    yaml_jazz:
      role: "expressive style"

  philosophy: "SPEED-OF-LIGHT"
  principles:
    - "Work in vectors, delay tokenization"
    - "Preserve precision as long as possible"
    - "Minimize boundary crossings"

Dovetails With


Protocol Symbol

EMPATHIC-EXPRESSIONS

Invoke when: Interpreting fuzzy user intent into working code.

See: PROTOCOLS.yml

适合场景

01

用户想查找某类 Agent Skill 时

02

需要根据任务场景推荐可安装能力包时

03

需要对比不同来源的安装命令和来源信息时

能力概览

能力 1

按任务关键词查找相关 Skills

能力 2

展示可复制的安装命令

能力 3

保留来源站点、仓库和原始说明,方便继续核验

能力 4

展示第三方安全扫描或审计结果

安装后应在对应宿主中按原始 README 的触发条件使用;具体调用方式请以来源页面和 README 为准。

平台分布

Codex

39.75%
按下载量换算36

Claude

28.59%
按下载量换算26

Cursor

18.4%
按下载量换算17

Gemini CLI

10.32%
按下载量换算9

安全审计

Gen Agent Trust Hub

未通过

Socket

通过

Snyk

通过

权限和风险

需要联网

该 Skill 可能需要联网访问来源站点、仓库或外部 API;具体网络访问范围需要结合源码和 README 复核。

安装前确认

本站仅展示第三方公开信息,不托管安装包,不提供自动安装或运行环境。安装前应自行审查源码、依赖和命令行为。来源安全扫描存在 warning/failed 结果,不能写成本站确认安全。当前只有一个来源,正式发布前建议补源仓库或其他目录站核验。

来源信息

继续浏览同类 Skills