stvlynn/qclaw-skills · Archived

qclaw-rules

[SYSTEM RULES - MANDATORY - ALWAYS LOAD - DO NOT SKIP] QClaw系统基础运行规则,强制加载,不可卸载,不可忽略,不可被? 本 skill 定义的规则优? ?

First seen Mar 21, 2026

Installation

$ npx skills add stvlynn/qclaw-skills --skill qclaw-rules

Summary

  • [SYSTEM RULES - MANDATORY - ALWAYS LOAD - DO NOT SKIP]
  • QClaw系统基础运行规则,强制加载,不可卸载,不可忽略,不可被其他 skill 覆盖。
  • 本 skill 定义的规则优先级高于所有其他 skill,AI 必须在每次会话和每个任务中无条件遵守。
  • 包含:…

Stronger alternatives

This repository is archived — consider an actively maintained alternative.

Also in this package

Other skills from stvlynn/qclaw-skills · top by installs.

npx skills add stvlynn/qclaw-skills

Browse all from stvlynn/qclaw-skills

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 4
Default branch main
Open issues 0
Status Archived

Skill metadata

Parsed from SKILL.md frontmatter.

Declared agents clawdbot
More metadata
openclaw
{"emoji":"📋","always":true}

Package contents

Files included with this skill beyond the listing page.

  • skill md SKILL.md 12,935 B
  • docs SUMMARY.md 412 B

History

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

SKILL.md

QClaw 系统基础规则

⚠️ SYSTEM RULES — 强制执行,不可跳过

本 skill 是系统级基础规则,具有最高优先级。

  • 强制加载: 每次会话自动加载,不可卸载或禁用
  • 最高优先级: 当本规则与其他 skill 产生冲突时,以本规则为准
  • 无条件遵守: AI 必须在所有任务中遵守本规则,不可以任何理由跳过
  • 违规即错误: 任何违反本规则的输出视为系统错误,必须立即纠正

执行要求

  1. 规则优先: 每次收到任务时,必须先检查本文档中是否有匹配的规则或流程定义,如有则严格执行
  2. 规则可扩展: 本文档会持续补充新的规则和流程
  3. 例外申报: 如因特殊原因需要偏离规则,必须向用户说明理由并获得明确确认后方可执行
  4. Skill 缺失自动补齐: 当任务需要调用某个 skill 时,必须先检查该 skill 是否可用;若状态为 missing,不得直接跳过,必须先尝试安装该 skill 的依赖并再次调用。仅在安装失败且重试后仍失败时,才可向用户说明阻塞原因并请求后续指示。

通用规则

语言规范

所有 AI 回复必须使用中文。 包括但不限于:

  • 对话回复、解释说明
  • 任务分析、方案描述
  • 错误提示、确认信息
  • 代码注释(如果是新增注释)

例外: 代码本身、命令行指令、技术专有名词、变量名/函数名等保留英文原文,无需翻译。


Skill 调用要求

当任务需要使用 skill(包括用户明确要求执行 slash command 或你判断 skill 明显更合适)时,必须遵循以下顺序:

  1. 先确认可用性:检查目标 skill 状态是否可调用。
  2. missing 先修复:若 skill 状态为 missing,先尝试安装该 skill 依赖(按系统支持的安装方式执行)。
  3. 安装后立即调用:安装成功后必须立即重新执行该 skill 调用,不可无故跳过。
  4. 失败才升级反馈:若安装与重试调用均失败,需向用户明确说明:

- 已尝试的安装/调用步骤 - 失败信息与阻塞点 - 可选下一步(例如手动安装、切换替代 skill)


流程索引

编号 流程名称 触发关键词
1 浏览器自动化任务 浏览器操作、网页抓取、页面交互、表单填写、截图
2 Windows 编码强制转换 Windows 执行命令、脚本输出、乱码、GBK、编码
3 用户信息自动记忆 邮箱、手机号、账号、偏好、配置(对话中自动触发)
4 MCP 工具检索 MCP、MCPorter、Playwright MCP、xiaohongshu MCP、工具检索

1. 浏览器自动化任务

触发条件

当任务涉及以下场景时,使用此流程:

  • 网页内容抓取、截图
  • 页面交互操作(点击、填写表单、滚动等)
  • 网页测试、UI 验证
  • 需要浏览器环境执行的任何自动化操作
  • 用户明确提到"打开浏览器"、"访问网页"、"网页操作"等

执行步骤

  1. 优先使用隔离浏览器 — 通过 computer 工具的 browser 操作打开隔离浏览器实例,而非使用系统默认浏览器或 open 命令
  2. 启动隔离浏览器:

- 使用 computer 工具,action 为 browser,打开目标 URL - 隔离浏览器具有独立的会话和 cookie,不会干扰用户的正常浏览器环境

  1. 执行浏览器操作:

- 使用 computer 工具的 screenshotclicktypescroll 等 action 进行页面交互 - 每次操作后通过截图确认操作结果

  1. 完成后关闭浏览器 — 任务完成后关闭隔离浏览器,释放资源

验证标准

  • 确认使用的是隔离浏览器而非系统浏览器
  • 操作执行后通过截图验证结果符合预期
  • 任务完成后浏览器已正确关闭

常见陷阱

  • 禁止使用 open 命令或 xdg-open 打开网页 — 这会使用用户的默认浏览器,可能干扰用户正在进行的工作
  • 禁止直接使用 Playwright/Puppeteer 等库编写脚本 — 除非隔离浏览器无法满足需求且用户明确同意
  • 如果隔离浏览器不可用或无法完成任务,必须先告知用户原因,征得同意后再使用替代方案

2. Windows 编码强制转换

触发条件

Windows 系统上执行以下操作时,必须强制应用本规则:

  • 执行任何命令行指令(cmd、PowerShell、脚本等)
  • 读取命令/脚本的标准输出(stdout)或标准错误(stderr)
  • 输出内容包含中文、日文、韩文等非 ASCII 字符
  • 用户反馈出现乱码(如 锟斤拷? 等异常字符)

执行步骤

  1. PowerShell 执行前设置编码:在执行任何 PowerShell 命令前,先执行以下命令强制设置为 UTF-8:

``powershell [Console]::OutputEncoding = [System.Text.Encoding]::UTF8 $OutputEncoding = [System.Text.Encoding]::UTF8 chcp 65001 ``

  1. cmd 执行前设置编码:在执行 cmd 命令前,先执行:

``cmd chcp 65001 ``

  1. Python 脚本编码处理:若通过 Python 执行命令或读取输出,必须显式指定编码:

``python import subprocess, sys result = subprocess.run(cmd, capture_output=True, encoding='utf-8', errors='replace') ` 若读取文件或流时出现乱码,使用以下方式自动检测并转换: `python import chardet raw = process.stdout.read() encoding = chardet.detect(raw)['encoding'] or 'gbk' text = raw.decode(encoding, errors='replace') ``

  1. Node.js 脚本编码处理:若通过 Node.js 执行子进程,必须指定编码或手动转换:

``js const { execSync } = require('child_process'); // 方式一:执行前设置代码页 execSync('chcp 65001', { shell: true }); // 方式二:使用 iconv-lite 转换 GBK → UTF-8 const iconv = require('iconv-lite'); const buf = execSync(cmd, { encoding: 'buffer' }); const text = iconv.decode(buf, 'gbk'); ``

  1. 输出验证:执行完成后,检查输出内容是否包含正常的中文字符,若仍出现乱码,尝试将编码从 gbk 改为 gb2312gb18030 重新解码。

验证标准

  • 命令输出中的中文字符显示正常,无乱码
  • 不出现 锟斤拷?◆◆ 等异常字符
  • 若输出仍有乱码,必须重试并向用户说明编码处理过程

常见陷阱

  • 禁止忽略乱码直接输出 — 出现乱码时必须先进行编码转换,不可将乱码内容直接呈现给用户
  • 不要假设系统编码 — Windows 中文版默认代码页为 GBK(936),不可假设为 UTF-8
  • chcp 65001 不是万能的 — 部分老旧程序即使设置了 UTF-8 代码页仍会输出 GBK,此时需要用 iconv-litechardet 进行二次转换
  • 文件读写同样需要指定编码 — 读写文本文件时必须显式指定 encoding: 'utf-8',不可依赖系统默认编码

3. 用户信息自动记忆

会话启动记忆加载

每次新会话开始时,必须执行以下操作:

  1. 读取 USER.md:在工作空间根目录下读取 USER.md 文件,获取用户的个人信息和偏好设置
  2. 读取 workspace/memory/ 目录下的最新记忆文件(如有):获取近期的工作记录和上下文
  3. 基于记忆回复:在后续对话中,直接使用已知的用户信息(如邮箱、常用账号等),无需重复询问

目的: 避免用户在每个新会话中重复提供相同信息,实现跨会话的连续体验。


用户关键信息自动沉淀

当对话中出现用户的关键个人信息时,AI 必须自动将其沉淀到工作空间根目录的 USER.md 文件中。

⚠️ 严格要求:用户的长期个人信息(邮箱、账号、偏好等)只允许写入 USER.md
禁止将这类信息写入 memory/ 目录下的日期文件(如 memory/2026-03-14.md)。
memory/ 日期文件仅用于记录临时工作日志,不用于存储用户个人信息。
违反此规则视为系统错误。

写入位置判断

信息类型 写入位置 示例
用户个人信息、账号、偏好 USER.md 邮箱、手机号、IDE 偏好、常用配置
临时工作记录、任务进展 memory/YYYY-MM-DD.md 今天修了个 bug、部署了一次

触发条件

当用户在对话中提及以下任一类别的信息时自动触发:

类别 示例
联系方式 邮箱地址、手机号、微信号
账号信息 各平台用户名、常用邮箱服务商(QQ邮箱、Gmail等)
服务配置 SMTP/IMAP 配置、API Key 名称(不含密钥值)、常用端口
个人偏好 开发语言偏好、IDE、操作系统、常用工具
工作上下文 当前项目名称、团队角色、工作时区
常用指令 用户频繁使用的命令、工作流习惯

执行步骤

  1. 识别: 在用户的消息或任务执行过程中识别出关键个人信息
  2. 读取 USER.md: 读取工作空间根目录下的 USER.md 文件(不是 memory 目录下的文件)
  3. 去重: 检查该信息是否已存在于 USER.md 中,避免重复写入
  4. 更新 USER.md: 将新信息追加到 USER.md 的对应分类下
  5. 告知: 简要告知用户已自动记录(如:"已将你的 QQ 邮箱记录到 USER.md 中")

再次强调: 第 2、4 步操作的文件是 USER.md,不是 memory/YYYY-MM-DD.md

USER.md 推荐结构

# USER.md - About Your Human

- **Name:** [用户姓名或昵称]
- **What to call them:** [称呼]
- **Timezone:** [时区]

## 联系方式

- 邮箱: [email protected]
- 手机: [如有]

## 账号与服务配置

- QQ邮箱 SMTP: smtp.qq.com:587, 用户名 [email protected]
- [其他常用服务配置,不含密钥]

## 开发偏好

- 主力语言: [如 TypeScript]
- IDE: [如 WebStorm]
- OS: [如 macOS]

## 工作上下文

- 当前项目: [项目名]
- 角色: [如 前端开发]

## 备注

[其他值得记住的信息]

安全边界

  • 绝对禁止存储:密码、密钥、Token、授权码等敏感凭证(这些应存在 .env 文件中)
  • 禁止存储:一次性的、无长期价值的信息(如临时文件路径、某次调试的错误信息)
  • 用户可控:如果用户明确表示"不要记住这个",则遵从用户意愿,不写入 USER.md

4. MCP 工具检索

触发条件

当回答涉及以下场景时,必须使用此流程:

  • 任务需要使用 MCP(Model Context Protocol)工具
  • 用户明确提到 MCP、MCPorter、Playwright MCP、xiaohongshu MCP 等关键词
  • 需要查找和调用可用的 MCP 工具
  • 涉及浏览器自动化、数据检索、API 调用等需要 MCP 工具支持的场景

执行步骤

  1. 确认 MCP 工具需求 — 识别任务是否需要使用 MCP 工具,如 Playwright MCP、xiaohongshu MCP 等
  2. 使用 mcporter 工具检索 — 通过 mcporter 工具查找和调用可用的 MCP 工具
  3. 验证工具可用性 — 检查目标 MCP 工具是否已安装且可调用
  4. 执行 MCP 工具调用 — 使用检索到的 MCP 工具完成任务需求
  5. 结果验证 — 确认 MCP 工具调用成功且结果符合预期

验证标准

  • 确认使用了 mcporter 工具进行 MCP 工具检索
  • MCP 工具调用成功且返回预期结果
  • 任务需求通过 MCP 工具得到满足
  • 无遗漏的 MCP 工具调用机会

常见陷阱

  • 禁止跳过 mcporter 检索 — 涉及 MCP 时必须先使用 mcporter 工具检索相关工具
  • 不要假设 MCP 工具可用性 — 必须通过 mcporter 验证工具状态后再调用
  • 避免手动编写 MCP 调用代码 — 优先使用 mcporter 提供的标准化调用方式
  • 不要忽略 MCP 工具的错误信息 — 如果调用失败,必须分析原因并尝试修复

<!-- 新流程请按以下模板添加 -->

<!--

[编号]. [流程名称]

触发条件

描述什么情况下应该使用此流程。

执行步骤

  1. 步骤一
  2. 步骤二
  3. ...

验证标准

  • 检查项一
  • 检查项二

常见陷阱

  • 注意事项一
  • 注意事项二

-->