用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
直接命令不会经过审查 Prompt;运行前请先检查来源。
npx skills add https://github.com/SocketDev/action --skill writing-disclosures命令会保持在同一行。复制前请横向滚动并检查完整内容。
想先保存到本地?可下载 SkillsMP 当前能够提供的文件。
Propagate a wheelhouse template change across fleet repos: worktrees, push/PR fallback, cleanup.
Run this repo's GitHub Actions locally with Agent-CI before pushing CI-sensitive changes.
Audit package exports for dead, internal-only, or weakly-consumed subpaths before pruning.
基于 SOC 职业分类
正在显示 SKILL.md
| name | writing-disclosures |
| description | Write or review a dual-use DISCLOSURE file; npm Trust & Safety reads it, so every claim must be verifiable. |
| user-invocable | true |
| allowed-tools | Read, Grep, Glob, Bash, Edit, Write |
| model | claude-sonnet-4-6 |
Write the DISCLOSURE file for a package that declares
contentPolicy.class: "dual-use" (npm policy:
https://docs.npmjs.com/policies/dual-use). The policy asks for free-form
text that describes two things: the dual-use functionality, and its
intended legitimate use. npm's Trust & Safety team reads this file when
they review the package, and the declaration can never be removed once a
version ships with it — so every sentence must be true, provable, and
plainly written.
No sentence without a receipt. Before writing a claim, find the code
that proves it — a bin entry, a dependency, a network call site, a build
config line — and keep the receipt next to the draft. If no receipt exists,
the sentence does not go in. The incident this rule comes from: a member's
first draft named three executables while the manifest shipped five, said the
packages "transmit only scan data" (one build variant bundles a Sentry SDK
and reports crashes to Sentry), and asserted "no persistence capability" —
an absolute nobody can prove.
Open the declaring manifest. List every bin key, every dependency
that talks to the network (http clients, telemetry SDKs, anything
Sentry-like), and the repository URL.
Grep the source for what the tool actually does: what it wraps or shims, what files it reads, every remote endpoint it contacts, and what data each request carries. Variant builds count — if a build toggle injects a dependency (an INLINED_* flag, an instrumentation entry), the shipped artifact's behavior is what must be disclosed.
Write four parts, in plain full sentences a junior developer can read without a dictionary:
Delete every unprovable absolute ("no persistence capability", "never collects data") and every marketing word. Describe what the code does, not what it is not.
Run the gates and fix what they name:
node scripts/fleet/check/dual-use-declarations-are-complete.mts
node scripts/fleet/check/disclosure-content-is-grounded.mts
contentPolicy + DISCLOSURE, no later version may drop them.DISCLOSURE must ride the tarball: keep it in the manifest's files
allowlist.