Token导航 LogoToken导航TokenDH.com
研究检索敏感数据clawhub未标认证来源可访问clear审计通过

error-rosetta错误罗塞塔

Agent Skill

error-rosetta 用于记录任务执行中的错误、用户纠正、经验和能力缺口,适合在 OpenClaw 中希望让 Agent 持续沉淀问题、修正和最佳实践时使用。可结合来源仓库、安装命令和原始 README 继续核验具体用法。安装前建议确认权限范围、维护状态,以及是否会触发联网、命令执行或文件读写。

总安装

8,726

周安装

360

GitHub Stars

公开资料未说明

下载量

2,851
OpenClaw

安装说明

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

GitHub

来源数

2

许可证

MIT-0

最后核验

2026-05-01

来源状态

来源可访问

安装方式

通过对话安装

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

请帮我安装这个 Agent Skill:error-rosetta(错误罗塞塔)
来源仓库:https://github.com/jcools1977/error-rosetta
安装命令:
openclaw skills install error-rosetta
安装前请先检查当前环境是否支持对应 CLI,并向我确认将要执行的命令、安装目录、联网范围和文件读写权限;确认后再执行。

命令行安装

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

ClawHubOpenClaw
openclaw skills install error-rosetta

简介

将复杂错误信息、堆栈跟踪转换为易懂的自然语言说明。

  • 适用于解析工具链输出的技术性报错或日志内容。error-rosetta 属于研究检索类 Skill,可作为该场景下的辅助能力补充。
  • 输入为原始错误文本,输出为简化后的解释和建议方向。
  • 通过 clawhub 安装,需确认是否依赖外部模型或数据库支持翻译能力。
  • 对于多语言环境,应提前指定目标语言以确保准确转换。

SKILL.md

name
error-rosetta
version
1.0.0
description
>
author
J. DeVere Cooley
category
everyday-tools
tags
metadata
openclaw
emoji
📜
os
["darwin", "linux", "win32"]
cost
free
requires_api
false
tags

Error Rosetta

"The Rosetta Stone let scholars read Egyptian hieroglyphics by providing the same text in three languages. Your compiler already speaks three languages — the error code, the stack trace, and the actual problem. It just refuses to use the third one."

What It Does

You see this:

TypeError: Cannot read properties of undefined (reading 'map')
    at UserList (webpack-internal:///./src/components/UserList.tsx:14:23)
    at renderWithHooks (webpack-internal:///./node_modules/react-dom/cjs/react-dom.development.js:14985:18)
    at mountIndeterminateComponent (webpack-internal:///./node_modules/react-dom/cjs/react-dom.development.js:17811:13)

Error Rosetta gives you this:

PLAIN ENGLISH: Your UserList component is trying to call .map() on
something that doesn't exist yet. On line 14, you're accessing a
property that is undefined — probably because the data hasn't loaded
from the API when the component first renders.

ROOT CAUSE: src/components/UserList.tsx:14 accesses `users.map()`
but `users` is undefined on first render. Your useEffect that fetches
users hasn't completed yet.

FIX: Add a guard before mapping:
  {users?.map(...)}  or  {users && users.map(...)}

  Better: Initialize your state with an empty array:
  const [users, setUsers] = useState([]);

The Translation Layers

Layer 1: Error Identification

Every error message, no matter how cryptic, contains these decodable components:

ComponentWhat It Tells YouExample
Error TypeCategory of problemTypeError, ENOENT, HTTP 422, SegFault
Error MessageWhat went wrong (usually poorly)"Cannot read properties of undefined"
LocationWhere it happenedFile path + line number
Stack TraceHow it got thereCall chain from entry point to error
Error CodeMachine-readable identifierE0308, TS2345, EPERM

Layer 2: Context Enrichment

Raw error → enriched with your codebase context:

ENRICHMENT PROCESS:
├── Read the file + line referenced in the error
├── Understand what the code is TRYING to do (not just what failed)
├── Check the data flow: where does the undefined/null/wrong-type value come from?
├── Check recent changes: did a recent commit introduce this?
├── Check patterns: does this error match a known pattern for this framework/language?
└── Check siblings: are similar errors happening elsewhere?

Layer 3: Plain Language Translation

The enriched error is translated into three outputs:

1. WHAT HAPPENED (one sentence, no jargon)
   "Your code tried to use a list of users before the list was loaded."

2. WHY IT HAPPENED (root cause, in your codebase)
   "useState(undefined) + useEffect(async fetch) = undefined on first render."

3. HOW TO FIX IT (specific to your code, not generic advice)
   "Line 8: Change useState() to useState([])"

Error Pattern Library

JavaScript/TypeScript

Cryptic ErrorPlain TranslationCommon Fix
Cannot read properties of undefined (reading 'x')You're accessing .x on something that doesn't existAdd optional chaining ?.x or check for null/undefined first
x is not a functionYou're calling something that isn't callable — it's a value, not a functionCheck: did you forget () on a prior call? Is the import correct?
Maximum call stack size exceededInfinite recursion — a function calls itself foreverFind the recursive call missing its base case
Cannot assign to 'x' because it is a read-only propertyYou're mutating something that shouldn't be mutatedUse spread/Object.assign to create a new object instead
Module not found: Can't resolve 'x'Import path is wrong or package isn't installedCheck spelling, check node_modules, run npm install
TS2345: Argument of type 'X' is not assignable to parameter of type 'Y'Type mismatch — you're passing the wrong shape of dataCheck what the function expects vs. what you're giving it

Python

Cryptic ErrorPlain TranslationCommon Fix
AttributeError: 'NoneType' object has no attribute 'x'A function returned None when you expected an objectThe function upstream returned nothing — check its return paths
IndentationError: unexpected indentWhitespace is wrong (tabs vs. spaces or wrong level)Fix indentation — use consistent spaces
RecursionError: maximum recursion depth exceededInfinite recursionFind the missing base case in your recursive function
KeyError: 'x'You're accessing a dictionary key that doesn't existUse .get('x', default) or check if 'x' in dict first
ImportError: cannot import name 'x' from 'y'The thing you're importing doesn't exist in that moduleCheck spelling, check the module's __init__.py, check version

Rust

Cryptic ErrorPlain TranslationCommon Fix
E0382: borrow of moved value: 'x'You used a value after giving ownership to something elseClone it, use a reference, or restructure to avoid the move
E0308: mismatched typesExpected one type, got anotherCheck your function signatures and return types
E0502: cannot borrow 'x' as mutable because it is also borrowed as immutableYou have a read reference and are trying to writeRestructure to not hold both borrows simultaneously
E0106: missing lifetime specifierRust can't figure out how long a reference should liveAdd explicit lifetime annotations

Go

Cryptic ErrorPlain TranslationCommon Fix
cannot use x (type Y) as type ZType mismatch in assignment or function callCheck the expected type and convert
undefined: xUsing a name that doesn't exist in this scopeCheck import, check spelling, check scope
fatal error: all goroutines are asleep - deadlock!Every goroutine is waiting for something and nothing can proceedCheck channel operations — something isn't sending or receiving
panic: runtime error: index out of rangeArray/slice access beyond its lengthCheck bounds before accessing

System/OS Errors

Cryptic ErrorPlain TranslationCommon Fix
ENOENT: no such file or directoryFile or directory doesn't exist at that pathCheck the path — typo? Missing directory? Relative vs absolute?
EACCES: permission deniedYou don't have permission to access thisCheck file permissions, check if you need sudo/admin
EADDRINUSE: address already in useAnother process is already using that portKill the other process or use a different port
ENOMEM: not enough memorySystem is out of memoryCheck for memory leaks, increase available memory, or reduce consumption
ETIMEDOUT: connection timed outThe remote host didn't respond in timeCheck network, check if the service is running, check firewall

HTTP Errors

CodeWhat The Server Actually MeansDeveloper Action
400 Bad Request"Your request is malformed — I can't even parse it"Check request body format, content-type header, required fields
401 Unauthorized"Who are you? I don't see valid credentials"Check auth token, check if it's expired, check the auth header format
403 Forbidden"I know who you are. You're not allowed"Check permissions/roles, check if the resource requires different access
404 Not Found"That URL doesn't point to anything"Check the URL path, check if the resource exists, check API version
409 Conflict"This conflicts with the current state"Check for duplicate resources, check version/ETag conflicts
422 Unprocessable Entity"I can read your request but the data doesn't make sense"Check validation rules, check field values against API docs
429 Too Many Requests"Slow down. You're hitting the rate limit"Add backoff/retry logic, check rate limit headers
500 Internal Server Error"Something broke on my end, not your fault"Check server logs, it's a bug in the backend
502 Bad Gateway"I'm a proxy and the server behind me is broken"Check the upstream service, check proxy config
503 Service Unavailable"I'm overloaded or doing maintenance"Retry with backoff, check status page

The Translation Process

INPUT: Error message, stack trace, or log output (paste the whole thing)

Phase 1: PARSE
├── Identify error type, code, message, and location
├── Extract stack trace frames
├── Identify the framework/language/tool that produced the error
└── Separate signal from noise (framework internals vs. your code)

Phase 2: LOCATE
├── Find YOUR code in the stack trace (skip framework frames)
├── Read the file and line where the error originated
├── Read the surrounding context (function, class, module)
└── Trace the data flow to the error point

Phase 3: DIAGNOSE
├── Match against known error patterns for this language/framework
├── Analyze the specific code context (not generic advice)
├── Identify the root cause (not the symptom)
├── Check: is this a new bug or a recurring pattern?
└── Check: did a recent change introduce this?

Phase 4: PRESCRIBE
├── Plain English explanation (one sentence)
├── Root cause in your code (specific file, line, variable)
├── Exact fix (code change, not concept)
├── Prevention (how to avoid this class of error in the future)
└── Confidence level (how certain is this diagnosis)

Output Format

╔══════════════════════════════════════════════════════════════╗
║                    ERROR ROSETTA                            ║
╠══════════════════════════════════════════════════════════════╣
║                                                              ║
║  ERROR: TypeError: Cannot read properties of undefined       ║
║         (reading 'map')                                      ║
║                                                              ║
║  TRANSLATION:                                                ║
║  Your UserList component renders before the API response     ║
║  arrives. On the first render, `users` is undefined, and     ║
║  you're calling .map() on undefined.                         ║
║                                                              ║
║  ROOT CAUSE:                                                 ║
║  src/components/UserList.tsx:8                                ║
║    const [users, setUsers] = useState();  ← initialized as  ║
║    undefined, not as empty array                             ║
║                                                              ║
║  FIX:                                                        ║
║  Line 8: useState()  →  useState([])                         ║
║                                                              ║
║  PREVENTION:                                                 ║
║  Always initialize state with the correct empty type:        ║
║    Arrays: useState([])                                      ║
║    Objects: useState(null) with explicit null check           ║
║    Strings: useState('')                                     ║
║                                                              ║
║  CONFIDENCE: 95% (matches React uninitialized-state pattern) ║
╚══════════════════════════════════════════════════════════════╝

When to Invoke

  • Every time you see an error you don't immediately understand. That's the whole point.
  • When onboarding in a new language or framework (the error messages are a new dialect)
  • When the error is in a dependency's code and you need to understand what YOU did wrong
  • When debugging a CI failure with a wall of log output
  • When a user reports an error and you need to decode it fast

Why It Matters

Developers spend 35-50% of their time debugging. A significant portion of that time is spent understanding what the error message is telling them — not fixing the actual bug. The faster you decode the message, the faster you fix the problem.

Error Rosetta doesn't fix bugs. It removes the translation step between seeing the error and understanding the error. Everything after that is just typing.

Zero external dependencies. Zero API calls. Pure pattern matching and code analysis.

适合场景

01

OpenClaw 用户查找和安装 Skill 时

02

用户想查找某类 Agent Skill 时

03

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

04

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

能力概览

能力 1

按任务关键词查找相关 Skills

能力 2

展示可复制的安装命令

能力 3

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

能力 4

补充不同宿主或平台的使用分布数据

能力 5

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

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

平台分布

OpenClaw

76.38%
按下载量换算2,178

安全审计

VirusTotal

通过

ClawScan

通过

Static analysis

通过

权限和风险

敏感数据

该 Skill 可能接触密钥、Token、环境变量或敏感配置,应进入高风险复核队列,默认不自动发布。

安装前确认

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

来源信息

继续浏览同类 Skills