用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
直接命令不会经过审查 Prompt;运行前请先检查来源。
npx skills add https://github.com/alibaba/anolisa --skill pr-body命令会保持在同一行。复制前请横向滚动并检查完整内容。
想先保存到本地?可下载 SkillsMP 当前能够提供的文件。
使用 agent-sec-cli 扫描 prompt 文本中的注入攻击和越狱尝试,返回结构化 JSON 扫描结果。当用户提到 prompt 安全、prompt 注入检测、越狱检测、提示词攻击检测,或者需要判断一段文本是否包含恶意 prompt 注入时,都应使用此技能。即使用户没有明确说"扫描",只要涉及评估 prompt 文本的安全性,也应触发此技能。
Use this skill when the user asks about ANOLISA, Alibaba Cloud Linux 4 Agentic Edition, cosh, Copilot Shell, AgentSecCore, AgentSight, Tokenless, ws-ckpt, OS Skills, or any component of ANOLISA. This includes questions about usage, configuration, commands, free quota, billing, pricing, authentication, or how to use specific features like switching to bash, token optimization, checkpoint rollback, security features, or deploying OpenClaw/Claude Code.
只读查询 agent-sec-cli 已落盘的历史安全事件记录,并据此生成会话级安全复盘。仅当用户显式要求查看或审计已发生的安全事件、安全告警、安全审计记录,或要求按 session/run/trace/时间/类别筛选与统计已有安全事件,或要求复盘某次会话的安全判定时使用。不用于扫描新内容:检查代码安全性用 code-scanner,检测 prompt 注入用 prompt-scanner,审查 Skill 安全状态用 skill-ledger。不要因为对话中出现“安全”“工具调用”等字样、或为了主动自查而触发。
基于 SOC 职业分类
正在显示 SKILL.md
| name | pr-body |
| description | 分析当前分支的全部变更,自动生成或更新 PR 标题和正文。聚焦内容质量:解释 why、归纳 what、标注测试方式,遵循 anolisa 项目 PR 模板规范。适用于新建 PR 前生成描述,或已有 PR 需要更新描述。 |
分析当前分支相对于 main 的全部变更(所有 commit,不仅是最新一条),生成或更新符合 alibaba/anolisa 规范的 PR 标题和正文。
# 当前分支
git branch --show-current
# 全部 commit(从 main 分叉点起)
git log --oneline origin/main..HEAD
# 变更文件列表
git diff --stat origin/main..HEAD
# 完整 diff(用于分析变更内容)
git diff origin/main..HEAD
# 是否已有 PR
gh pr list --head $(git branch --show-current) --repo alibaba/anolisa --state open --json number,title,body
在生成 PR 描述前,先执行 agentsight-code-review skill 对当前变更进行自检。如果存在 findings,先修复再继续。
在分析变更前,运行以下检查并记录结果(后续自动填入 Checklist)。这些检查
镜像 test-agentsight CI job,目的是在 push 前本地拦截会导致 CI 失败的问题
(一次 push + CI ≈ 4 分钟,本地检查 ≈ 30 秒)。
# 在 agentsight 目录下执行(CI 锁定 toolchain 1.89.0;缺则先
# `rustup toolchain install 1.89.0 --component rustfmt --component clippy --component llvm-tools-preview`)
cargo +1.89.0 fmt --all --check # 1. 格式
cargo +1.89.0 clippy --all-targets -- -D warnings # 2. lint
python3 scripts/check-arch-boundaries.py # 3. 架构边界
# 4. 测试 + 覆盖率(CI 用 llvm-cov 跑测试,不是 cargo test;用默认 toolchain 即可——
# 覆盖率行映射与工具链版本无关,且 +1.89.0 需该工具链装 llvm-tools-preview,
# dev 机常装在 stable 上。fmt/clippy 上面 pin +1.89.0 是因为 lint 规则版本敏感)
cargo llvm-cov --cobertura --output-path coverage.xml \
--ignore-filename-regex '(\.skel\.rs|target/debug/build|target/release/build|src/probes/)'
# 5. 增量覆盖率门禁(与 CI 一致:对比 origin/main,阈值 80%)
git fetch origin main
diff-cover coverage.xml --compare-branch=origin/main --fail-under=80
cargo fmt --check 失败 → 跑 cargo +1.89.0 fmt 修复后重新检查。cargo clippy 失败 → 列出告警、修复、重新检查。check-arch-boundaries.py 的提示修正跨层依赖。diff-cover / cargo-llvm-cov 未安装 → 安装后再验(pip install diff-cover;
rustup component add llvm-tools-preview),不要跳过本步却标记"已通过"。6. Commit message 规范检查:对 git log origin/main..HEAD 的每个 commit
逐条核对是否符合 conventional commit(commitlint 是独立的硬门禁,其中 scope 必填
是最容易漏的硬失败;fmt/clippy/覆盖率同样是硬门禁):
type(scope): subject 格式,scope 必填(缺 scope = CI 硬失败)。git rebase / git commit --amend 修正后再继续。可选:把以上检查装成 git pre-push hook,对所有人/所有 agent 通用(git 原生 机制,谁 push 都触发)。在 agentsight 目录跑
make install-hooks即启用; 详见下文「步骤 7:pre-push hook(可选)」。
从 diff 中提取以下信息:
格式:type(sight): 简要描述
规则:
示例:
feat(sight): add Go TLS uprobe for plaintext capture
fix(sight): handle qodercli wrapped SSE format
docs(sight): add scoped AGENTS.md for high-risk modules
refactor(sight): extract HTTP2 frame decoder from parser
使用以下模板,每个字段必须基于实际 diff 内容填写,禁止使用占位符:
## Description
<1-3 段说明,先写 why(动机),再写 what(做了什么)。>
<如果关联了 issue,说明该 issue 的背景。>
## Related Issue
closes #<issue-number>
## Type of Change
- [ ] Bug fix (non-breaking change that fixes an issue)
- [ ] New feature (non-breaking change that adds functionality)
- [ ] Breaking change (fix or feature that would cause existing functionality to not work as expected)
- [ ] Documentation update
- [ ] Refactoring (no functional change)
- [ ] Performance improvement
- [ ] CI/CD or build changes
## Scope
- [x] `sight` (agentsight)
## Key Changes
<按模块或逻辑分组列出关键变更,每条一行:>
<- `src/parser/sse.rs`: 新增 qodercli SSE 包装格式解析>
<- `src/bpf/gotls.bpf.c`: 新增 Go crypto/tls uprobe>
## Checklist
- [x] I have read the [Contributing Guide](../CONTRIBUTING.md)
- [x/空] `cargo fmt --check` pass(基于 preflight 结果勾选)
- [x/空] `cargo clippy --all-targets -- -D warnings` pass(基于 preflight 结果勾选)
- [x/空] `cargo llvm-cov` 测试 + 增量覆盖率 `diff-cover --fail-under=80` pass(基于 preflight 结果勾选)
- [ ] I have added tests that prove my fix is effective or that my feature works
- [ ] I have updated the documentation accordingly
- [x] Lock files are up to date (`Cargo.lock`)
## Testing
<具体说明如何验证这次变更,不要写"运行了 cargo test"这种泛泛的话。>
<示例:用 qodercli 发起 LLM 请求,确认 agentsight 正确解析 SSE 响应并提取 token 数。>
将生成的 PR 标题和正文完整展示给用户,然后使用 AskUserQuestion 工具询问用户下一步操作:
问题:「PR 内容已生成,请确认下一步操作?」
选项:
用户确认后再执行对应操作,未经确认不得自动提交。
根据用户在步骤 5 中的选择执行:
选择「创建 Issue 和 PR」:
gh issue create --repo alibaba/anolisa \
--title "<从变更中提取的 issue 标题>" \
--body "<issue 描述:背景、问题、期望>"
closes #Ngh pr create --repo alibaba/anolisa \
--title "type(sight): 描述" \
--body "$(cat <<'EOF'
<生成的 body,包含 closes #N>
EOF
)"
选择「仅创建 PR」:
gh pr create --repo alibaba/anolisa \
--title "type(sight): 描述" \
--body "$(cat <<'EOF'
<生成的 body>
EOF
)"
选择「更新已有 PR」:
gh pr edit <PR-NUMBER> --repo alibaba/anolisa \
--title "type(sight): 描述" \
--body "$(cat <<'EOF'
<生成的 body>
EOF
)"
更新时注意:
)选择「仅输出,不提交」:
不执行任何 GitHub 操作,流程结束。
步骤 1.6 的检查也可装成 git pre-push hook——git 原生机制,无论人还是任何
AI agent git push 都会触发,比 skill 多一层兜底(防止漏跑 skill 直接 push)。
启用(opt-in,不影响他人;卸载用 make uninstall-hooks):
cd src/agentsight
make install-hooks
行为:
src/agentsight/ 时才检查,否则直接放行
(monorepo 好公民,不干扰其他组件)。cargo +1.89.0 fmt --check、cargo +1.89.0 clippy、架构边界检查、
以及 commit message 规范(conventional commit,scope 必填,跳过 Merge/Revert/fixup! 等)。llvm-cov + diff-cover)较慢(约 1 分钟),默认跳过;需要时用
PREPUSH_COVERAGE=1 git push 启用。注意(monorepo 限制):core.hooksPath 是单值的。若你也在用 copilot-shell 的
husky(它把 hooksPath 指向 .husky/),两者只能启用其一;make install-hooks
检测到已有 hooksPath 会警告而不强行覆盖。统一的多组件 hook 调度不在本 skill 范围。
closes #N;无关联 issue 则写 no-issue: <原因>