mowenxd/cli

mo-shared

墨问 CLI ?

First seen May 8, 2026

Installation

$ npx skills add mowenxd/cli --skill mo-shared

Similar popular skills

Related neighbors and high-traction skills in the same topics — useful to compare before installing.

Also in this package

Other skills from mowenxd/cli.

npx skills add mowenxd/cli

Browse all from mowenxd/cli

More details

Agent compatibility

Declared targets from SKILL.md / docs. Unmarked agents are not listed — the skill may still install via the CLI.

Claude Code Not declared
Cursor Not declared
Codex Not declared
GitHub Copilot Not declared
Windsurf Not declared
Gemini CLI Not declared
Cline Not declared
OpenCode Not declared

Repository health

Stars 36
License LICENSE
Default branch main
Open issues 0
Status Active

Skill metadata

Parsed from SKILL.md frontmatter.

Version0.1.0
More metadata
requires
{"bins":["mocli"]}

Package contents

Files included with this skill beyond the listing page.

  • skill md SKILL.md 6,211 B
  • docs SUMMARY.md 205 B

History

  1. First seen on skills.sh
  2. First recorded snapshot · 422 installs

SKILL.md

mocli - 墨问 CLI 共享规则

本技能是墨问 CLI 技能库的前置技能,指导你如何通过 mocli 完成配置初始化、API Key配置、与 mocli 的交互响应解析、展示规则以及安全规则。

前置参考

  • [如何获取墨问 API Key](references/api-key.md)
  • [mocli 的输出协议](references/mocli-output-proto.md)
  • [mocli 的共用输出字段](references/mocli-output-schema.md)

通用执行流程

  1. 先判断用户意图对应的具体 mocli 子命令;不要用搜索类命令替代更精确的列表类命令。
  2. 如果命令需要 UID,而用户给的是人名、昵称或备注名,优先使用 [mo-remark](../mo-remark/SKILL.md) 查找 UID;未命中时再使用用户搜索或询问用户补充 UID。
  3. 执行 mocli 后先读取顶层 codestatusreason,确认成功后再解析 reply
  4. 展示列表类结果时,优先使用 reply 中的有序 ID 列表(如 note_idsuidsevents);再到对应的 Map(如 notesusers)取详情,避免直接遍历 Map 导致顺序错误。

配置初始化

首次使用,用户需提供墨问 API Key, 使用 mocli auth init --apik <api-key> 来完成初始化。

API Key 配置与管理

  • 使用过程中,如果 mocli 响应 AUTH 错误(用户可能在墨问平台重置了 API Key 或者 本地配置丢失),可提醒用户重新提供 API Key,使用 mocli auth init --apik <api-key> [--force] 来重新初始化或更换(--force) API Key。
  • 可以使用 mocli auth info [--profile] 查看当前的配置信息,使用 --profile 额外获取当前 API Key 对应的账户,在墨问平台上的 Profile 信息。

响应解析规则

  • code=0status=OK 表示成功;业务数据通常在 reply 中。
  • meta.alerts 表示重要提示,成功或失败时都可能出现;应优先关注,并按提示类型决定展示位置,例如 CLI 新版本提醒通常附在业务结果之后。
  • status=FAILcode!=0 表示失败,应优先展示 reasonmsgmeta.hints 中的可执行建议。
  • reason=AUTH:提醒用户重新提供 API Key,并使用 mocli auth init --apik <api-key> --force 更新配置;不要输出旧 API Key。
  • reason=VALIDATE:说明参数不合法,并根据当前 skill 的参数范围给出可选修正。
  • reason=NETWORK:说明网络或代理失败;如果是在受限环境里执行,可提示需要网络/代理权限。
  • reason=API 且存在 apierror.traceid:展示 trace_id 便于反馈问题,但不要泄露认证信息。
  • 如果返回为空列表或空 Map,明确说明“没有找到符合条件的数据”,不要编造结果。

响应展示规则

<a id="reply-display-rules"></a>

总则:根据用户的要求,基于数据条目的数据多少,尽量清晰、明确、格式优美的展示给用户

细则: - 避免数据枯燥,适当增加一些 emoji 来增加数据的趣味性 - 时间戳格式化为可读的时间 - Bool 值尽量用 emoji 展示 - 如果数据比较少,就尽量详细的展示信息给用户 - 如果数据比较多,可以通过表格/列表等形式,尽量清晰、明确、格式优美的展示给用户。表格的字段选择上: - 首先根据用户的要求,选择出用户关心的字段 - 如果用户没有指定字段,就展示大多数数据条目都具备的字段,最大化利用展示空间,同时尽量避免某一列只有少数数据 - 展示 UserInfo.name 时,如果客户端支持 Markdown 或 HTML 链接、且同一 UserInfohomeurl 非空,使用该链接包裹名称(如 [name](homeurl));否则只展示名称,不编造或输出空链接。 - 展示 NoteInfo.title 时,如果客户端支持 Markdown 或 HTML 链接、且同一 NoteInfourl 非空,使用该链接包裹标题(如 [title](url));否则按原有标题规则展示,不编造或输出空链接。 - 以上细则如果与用户的要求不一致,以用户的要求为准

笔记列表展示建议:

数据较少时,逐条展示核心信息:时间、作者、笔记标题、摘要。若用户关注某个字段(如阅读数、是否付费、公开状态),优先补充该字段。 数据较多时,先给出简短概览(数量、时间范围、主要作者或主题),再列出若干条最相关或最新的重点笔记;不要只做概括而省略具体条目。 笔记标题优先使用 note.title,如果标题本身不包含「」 或『』,就用『』包裹;作者优先使用 users[note.uid].name;摘要优先使用 note.brief 字段缺失时不要编造内容。可省略缺失字段,或用“无标题”“未知作者”“无摘要”等明确占位。

更新提醒

mocli 检测到 CLI 有新版本可用时,会通过 meta.alerts 返回更新提醒。该提醒属于重要信息,应该明确的、显式的展示给用户,同时避免反复展示造成打扰。

展示更新提醒时:

  • 保留当前版本、最新版本、构建时间和更新命令等关键信息。
  • 可以用一个醒目的 emoji + 简短文字说明这是 CLI 更新提醒,但不要改写或省略具体更新命令。
  • 如果已在当前会话中明确的、显式的展示过同一更新提醒(优先按当前版本+构建时间、最新版本+构建时间进行判断),后续响应中仍然可以继续提醒,但是要弱化为简短尾注、不占用主要内容区域。
  • 不要自动执行更新命令,除非用户明确要求更新。
  • 如果响应中同时存在业务数据和更新提醒,先展示用户请求的业务结果,再附上更新提醒。

安全规则

  • 禁止输出密钥(userkey、apikey)到终端明文。
  • 写入/删除操作前必须确认用户意图