管理 OpenWork 功能开关,从编码前以关闭状态登记,到按组织和部署环境逐步发布、全局停用,并在发布完成后移除临时开关。还包括添加代码检查和规划停用时对进行中任务、已存数据及历史记录的处理。
- 编码前登记新功能
- 先向指定组织逐步发布
- 区分云端与自托管版本
在合并或部署前,以只读方式评估账单、权限或数据变更对生产组织的影响;检查受影响的界面,并仅在前序检查不足且获批时,使用 PlanetScale 生产数据副本验证。
Billing, plans, seats, permissions, access rules, auth, flag removals or data migrations that could lock real organizations out or change what they pay. Use before merging or deploying such a change to see exactly which production organizations it affects, prove the UI on production-shaped data, and only with explicit approval test against a PlanetScale copy of real data.
实测评分 未实测
查看安装方法此技能用于在发布前检查账单、套餐、席位、权限、身份验证、功能标记和数据迁移等变更。首先以只读方式比较当前规则和拟议规则与生产数据的结果,找出访问权限或收费会发生变化的组织。若涉及界面变更,则使用有代表性的测试数据检查实际页面。只有前两步无法回答问题时,才会在获得批准后,对 PlanetScale 上的生产数据副本进行只读检查。
适合在合并或部署可能影响组织访问权限或应付金额的变更前使用。它可以帮助确认影响范围,并整理所需的运维准备、部署顺序和回滚方案。
读取生产数据需要使用平台管理 MCP。对 PlanetScale 数据副本进行检查必须获得批准,并使用专用工作流和存放在受保护环境中的令牌。副本存在期间的费用相当于生产分支。请勿在聊天、公开日志或截图中包含机密信息。
本介绍由 AI(OpenAI Codex)根据公开的 SKILL.md 撰写。准确的规格请查看下方原文。
AI 根据 SKILL.md 的内容检查了需要注意的操作和使用前提。评分只依据实际运行的结果(实测对比)。
不计入评分。 由 AI(OpenAI Codex)于 2026年10月28日 评估。仅供参考,安装前请同时查看原文。
安装前可以查看交给 AI 代理的指令内容。
Tests prove the rule you wrote. They do not tell you which real organizations the rule changes. Before a risky change ships, answer three questions in order and stop at the first level that answers them:
Confidentiality (AGENTS.md, hard rule): production names, ids, emails and counts stay in chat. Never put them in a branch, commit, fixture, screenshot, PR or issue. Describe affected organizations generically ("one grandfathered org with ~30 SSO users").
Run the new rule against production inputs without writing anything.
den_query (read-only SQL against
the Den database). Never use admin write tools (den_update_org_plan,
den_set_org_capability, den_set_feature_rollout) during a dry run.dev rule) and after (the PR) for every
organization the rule can touch, and report only the ones that differ, plus
anyone at or near a new limit.den_query traps that produced wrong answers before:
GREATEST(5, JSON_EXTRACT(m,'$.limits.members'))
says '40' < '5'. Always CAST(JSON_UNQUOTE(JSON_EXTRACT(...)) AS UNSIGNED).invitation, session, account, keys and
tokens) and any statement containing a write keyword as a word, including
inside string literals ('%grant%', 'invitation.create.attempted'). Use
LIKE 'invitation.%.attempted', or count placeholder member rows
(joined_at IS NULL) instead of reading invitations.audit_event by org_id and a created_at
range; never scan it whole.feature_rollout and organization_feature, not
organization.metadata.capabilities (a legacy copy).Reproduce each affected shape with generic data and drive the real screens.
evals/worlds/*.ts, generic names such as
"Acme") and prove the journeys in a proof (write-a-spec). Use the fake
Stripe lab (evals/worlds/fake-stripe.ts) when billing must be configured,
or limits that depend on Stripe being set up switch off.pnpm evals:e2e <name> --local, or boot a preview with
preview-my-work (preview-den / preview-full, locally or on Daytona)
and click through by hand. Attach screenshots to the PR (upload-photo).Use only when Levels 1 and 2 cannot answer the question (data-dependent migrations, performance on real volume). Ask the person first and name the cost and the data involved.
Use the Dry run on a copy of production data workflow
(.github/workflows/prod-data-dry-run.yml). It seeds an isolated
dry-run-<run-id>-<attempt> copy from the latest production backup (Data
Branching), runs one read-only check, and attempts deletion when the job ends,
including on failure or cancel. Verify absence after the run; cleanup can fail.
Both --restore and --seed-data can create a branch classified as production.
The token therefore needs read-only production connection and production-branch
deletion permissions. The real source must be deletion-protected, and the job
verifies that protection before creation, credentials and cleanup. The token
cannot change branch protection or write production data. The PlanetScale MCP
has no branch-creation tools.
ee/apps/den-api/scripts/dry-run/<name>.ts on your
branch, using connect.ts (dryRunDb, report, fail, finish). It may
import the PR's own code (for example a pure rule) and must print
aggregates and pass/fail only: this repository is public, so the job
log and summary are public. Start from smoke.ts.gh workflow run prod-data-dry-run.yml --ref <branch> -f check=<name>.ts).
Database access is always read-only. This workflow cannot apply migrations.prod-data-dry-run
environment after reading the check. Approve only checks that print
aggregates.cleanup_only to delete leftover dry-run-* branches.What the workflow needs (set once, by a person, never pasted in chat): on the
prod-data-dry-run environment, a PlanetScale service token limited to the
Den database with read_database, read_branch, create_branch,
delete_branch, connect_branch, read_backups,
restore_production_branch_backup, connect_production_read_only_branch and
delete_production_branch (never connect_production_branch or write_database).
The real source must be deletion-protected first. These scopes also allow
read-only credentials on the live source and deleting other unprotected
production branches in this database; run-name guards limit the workflow,
not the underlying token. Store it only in the protected environment as PLANETSCALE_DRY_RUN_TOKEN_ID /
PLANETSCALE_DRY_RUN_TOKEN, the PlanetScale organization and database names as
variables PLANETSCALE_DRY_RUN_ORG and PLANETSCALE_DRY_RUN_DATABASE, and a restored branch costs as much as the production branch while
it exists.
Guards the workflow already applies: manual runs only, a required reviewer,
no secrets besides the branch connection (no email, Stripe, Slack, connector
or model credentials), masked credentials, one run at a time, a 90 minute
timeout, and branch deletion in an always() step. Never copy rows out of the
branch, never screenshot it, and never point a full Den deployment with real
integrations at it.
/admin (add-a-feature).还没有评价。欢迎分享你的使用感受。
无需登录即可发表。欢迎分享使用感受、提问,或说明在哪些环境下无法运行。
还没有评论。来写第一条吧。
管理 OpenWork 功能开关,从编码前以关闭状态登记,到按组织和部署环境逐步发布、全局停用,并在发布完成后移除临时开关。还包括添加代码检查和规划停用时对进行中任务、已存数据及历史记录的处理。
连接 OpenCode 浏览器工具与本地运行的 OpenWork Electron 应用,可查看界面、输入并发送任务、检查回复。通过 CDP 辅助探索和调试。
检查变更新增行中可识别客户、潜在客户、合作方或外部个人的信息。报告位置和最小修正建议,不复述身份内容;若信息已公开则升级处理。
引导 Claude Code、Codex 等 AI 客户端连接 OpenWork MCP Gateway,以使用组织技能、插件和外部连接;完成浏览器认证后检查能力搜索与执行工具是否可用。
在运行外部协作者的拉取请求代码前,检查混淆代码、隐藏通信、可疑依赖和构建脚本,并给出文件位置及维护者的核查事项。
为 OpenWork 创建 OpenCode 插件,生成自定义工具、事件钩子和配置文件条目。可添加工具逻辑,或在工具执行前后运行处理代码。