OpenWorkの新機能を無効状態で登録し、組織別・提供環境別の段階公開から全体停止、公開完了後のフラグ削除まで、一貫した仕組みで管理するスキル。
- 実装前に新機能を登録したいとき
- 特定の組織から段階公開したいとき
- cloudとself_hostedの提供範囲を分離
課金や権限などの変更が本番組織に与える影響を読み取り専用で調べ、画面確認や承認済みの実データ検証まで段階的に進めるスキルです。
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コピーでの検証は承認が必要で、専用ワークフローと保護された環境のトークンを使います。コピーの利用には本番ブランチ相当の費用が発生し、機密情報をチャットや公開ログ、画像に含めない運用が求められます。
この紹介文は、公開されている SKILL.md をもとに AI(OpenAI Codex)が作成しました。正確な仕様は下の原文を確認してください。
SKILL.md の記述から、注意が要る操作と導入の前提を AI が確認しました。点数は実際に動かした結果(実行検証)だけで付けています。
点数には入れていません。 2026年10月28日 時点で AI(OpenAI Codex)が判定しました。目安なので、入れる前に原文も確認してください。
インストールする前に、エージェントに与えられる指示の中身を確認できます。
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の新機能を無効状態で登録し、組織別・提供環境別の段階公開から全体停止、公開完了後のフラグ削除まで、一貫した仕組みで管理するスキル。
ローカル開発中のOpenWorkのElectronアプリに接続し、画面の状態確認や入力・タスク送信を自動化します。応答を画面で確かめながら、挙動の調査やデバッグを進めるためのスキルです。
変更差分の追加行から、顧客・見込み客・取引先・外部の個人を特定する情報を確認。情報そのものを再掲せず、該当箇所と最小限の修正方針を報告します。
Claude CodeやCodexなどをOpenWork MCP Gatewayに接続し、組織のスキル・プラグイン・外部接続を使うための設定と認証、接続確認を進めます。
外部協力者のプルリクエストを実行前に調べ、難読化や隠れた通信、不審な依存関係などを確認。通常の差分レビューでは見落としやすい挙動を指摘します。
OpenWorkで使うOpenCodeプラグインのひな形を作成し、独自ツールの定義や処理を呼び出すフック、設定ファイルへの追加まで整えるスキル。