一键导入
github-replit-production-release
Ship repo changes through GitHub PR review, Replit sync/checks, production publish, live verification, and sync reporting.
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
菜单
Ship repo changes through GitHub PR review, Replit sync/checks, production publish, live verification, and sync reporting.
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
基于 SOC 职业分类
| name | github-replit-production-release |
| description | Ship repo changes through GitHub PR review, Replit sync/checks, production publish, live verification, and sync reporting. |
Use this as the release controller for local code changes that must reach a Replit production app through GitHub. Completion means the remote GitHub state, Replit workspace/deployment, live app, and local clone are all checked from evidence.
~/Documents/GitHub/.gh for GitHub truth: PRs, checks, comments, merge state, branch state.Replit.app for Replit UI work. Do not substitute Chrome for Replit publish/sync steps; reserve Chrome/browser checks for the live production app or profile-authenticated flows that truly need browser cookies.git reset --hard, force-push shared branches, or discard unrelated work unless the user explicitly requests it.Resolve the repo and run the helper:
SKILL_DIR="${CODEX_HOME:-$HOME/.codex}/skills/github-replit-production-release"
"$SKILL_DIR/scripts/release_preflight.sh" /path/to/repo
For Claude Code, set SKILL_DIR to the actual installed/source skill path. On this machine the Claude copy lives at $HOME/dotfiles-claude/skills/github-replit-production-release; if installed into Claude's default skill directory, use $HOME/.claude/skills/github-replit-production-release.
Use the preflight output to identify:
origin/<default>.replit deployment hintsPreflight and scope
origin before comparing state.origin/<default>, not only a clean working tree.Local validation
db:push, migrations, seeders, and backfills as live-change paths unless the repo proves otherwise.GitHub PR
main/default unless continuing an existing feature branch.Codex PR review
@codex review trigger only when the repo/account has that integration active.Required human approval gate
Before merge, inspect branch protection, CODEOWNERS, PR author, requested reviewers, and the active gh identity:
gh auth status
gh api user --jq .login
gh pr view <number> --repo <owner/repo> --json author,reviewRequests,reviewDecision,mergeStateStatus,statusCheckRollup
gh api /repos/<owner>/<repo>/branches/<default>/protection \
--jq '{required_pull_request_reviews:.required_pull_request_reviews}'
For Bella-Slainte private repos with mandatory @haberlah CODEOWNERS approval, a Codex review on GitHub is advisory only. It does not satisfy the required @haberlah approval.
If the active gh account is haberlah, the PR author is not haberlah, checks/reviews are acceptable, and the user explicitly authorizes approval, submit the code-owner approval with:
gh pr review <number> --repo <owner/repo> --approve --body "Approved as code owner."
If the PR author is haberlah, never attempt gh pr review --approve, even when haberlah is repo admin and CODEOWNER. GitHub rejects author self-approval (Review Can not approve your own pull request) and it does not satisfy required reviews. Offer either a different eligible reviewer/code-owner path or an explicitly authorized solo-admin merge path.
If the user explicitly authorizes a solo-admin path, treat it as an explicit bypass merge, not a self-approval. Verify branch protection, mergeability, checks, and advisory reviews first. For Bella-Slainte repos, the preferred protection standard is enforce_admins: true with haberlah listed in required_pull_request_reviews.bypass_pull_request_allowances.users; older repos may still have enforce_admins: false, but tighten that before relying on it when practical. For a mergeable PR blocked only by REVIEW_REQUIRED, use:
gh api /repos/<owner>/<repo>/branches/<default>/protection \
--jq '{required_pull_request_reviews:.required_pull_request_reviews,enforce_admins:.enforce_admins.enabled}'
gh pr view <number> --repo <owner/repo> --json author,reviewDecision,mergeStateStatus,mergeable,statusCheckRollup
gh pr merge <number> --repo <owner/repo> --squash --admin --delete-branch
This was originally confirmed on BellaAssist-MVP-2 PR #40 on 2026-05-14: the PR was authored by haberlah, self-approval was rejected, and gh pr merge --squash --admin --delete-branch succeeded. The Bella-Slainte active-repo standard was then tightened to enforce protections for admins while allowing haberlah as the explicit bypass user. If gh pr merge --admin is rejected, stop and report the exact blocker.
require_code_owner_reviews: true, CODEOWNERS * @haberlah). The KB repo (bella-assist-kb) is intentionally looser: it requires one approval, but require_code_owner_reviews is false, so any eligible writer/admin reviewer can approve someone else's PR. Do not re-tighten KB to David-only unless the user explicitly asks.haberlah, ask exactly: Approve this PR as @haberlah now? Reply yes or no. If the PR author is haberlah, ask exactly: Admin-bypass merge this PR as @haberlah now? Reply yes or no. Do not proceed on ambiguous responses.Merge
origin/<default>.Replit sync and checks
origin/<default> into the workspace instead of rewriting Replit history. Do not push Replit-generated history directly back to GitHub unless the user explicitly asks..replit, [env], [userenv.production], and [userenv.shared]. Replit can preserve stale runtime values across merges; for access changes, search active config for removed users, emails, domains, IDs, and tokens before publishing.Publish production
Publish/deploy from Replit only after Replit checks pass or the user accepts documented residual risk.
Watch deployment logs until completion or clear failure.
Capture the production deployment URL, deployment time, deployment ID, and any commit/build identifier Replit exposes. A successful Replit deploy log should show all stages complete and end with a clear success line such as Deployment successful.
After publish, inspect Replit Git state again before declaring completion:
git status --short --branch
git rev-parse HEAD origin/<default>
git log --oneline --decorate --max-count=8
git rev-list --left-right --count origin/<default>...HEAD
Replit publish/checkpoint actions can create workspace commits after a successful deployment. Classify any ahead commits before deciding what to do:
If Replit commits are pushed to GitHub after publish, repeat the sync loop: fetch/pull local default branch, confirm HEAD == origin/<default>, re-run only the verification needed to prove the pushed delta did not change behavior, and update the final report with the new GitHub SHA.
Live verification
/api/login redirects to GitHub OAuth with expected scopes, /api/auth/user rejects unauthenticated requests, production serves the current build, and tests/config prove the allowlist behavior. State clearly that the target user's actual login was not credential-tested.Final sync report
clean and aligned when Replit HEAD equals origin/<default>;ahead and pushed when Replit publish produced commits that were pushed back to GitHub and pulled into local clones;ahead and intentionally not pushed when Replit-only platform/checkpoint commits remain, including the ahead count and why they were not pushed.~/Documents for matching repo directories, inspect their remotes, and fast-forward clean stale clones with git pull --ff-only origin <default> when safe..replit, .env.example, secrets, or server allowlists.@codex.@haberlah code-owner approval is blocked because the PR author is also haberlah; GitHub rejects author self-approval. Do not attempt approval in this case. Use a non-author approval path, or an explicitly authorized gh pr merge --admin bypass when the user accepts the solo-admin path.Use a concise release report:
Done.
GitHub: PR #N merged into `main` at `<sha>`.
Replit: pulled or merged `<sha>`, checks passed, production published as `<deployment-id>`.
Live verification: `<url>` verified for `<behavior>`.
Local sync: `/path/to/repo` and any other local clones found are at `origin/main` `<sha>`.
Notes: <blockers or residual risks, if any>
Deploy and verify the Bella Sláinte marketing site (BellaSlainteSite) on Vercel. Use when deploying bellaslainte.com, shipping site HTML changes, checking if the site is live, fixing blocked Vercel deploys, linking GitHub to Vercel for haberlah/david-6804, or running vercel CLI against project-iw363. Triggers: "deploy the website", "ship BellaSlainteSite", "push site to prod", "is bellaslainte.com live", "Vercel blocked", "redeploy marketing site", /vercel-bellaslainte-site.
This skill should be used whenever a task involves creating, changing, or granting access to any GCP resource — creating a project, adding or modifying an IAM binding or role grant, provisioning a secret, KMS key, or CMEK, enabling an API, changing an org policy, or touching networking, folders, or service accounts. It enforces that every such write happens through FAST (Fabric Automation and Scalability Toolkit / Cloud Foundation Fabric) YAML plus Terraform plus a reviewed PR against the foundations repo, never via ad-hoc `gcloud` commands or GCP Console clicks — including when the request is phrased as "quickly," "just for now," "as a one-off," or "to unblock." Also use this skill when asked to bring an already-existing (brownfield) GCP resource under Terraform management, or when reviewing whether a proposed GCP change is safe to apply directly. Read-only/diagnostic GCP requests (describing a project, listing IAM bindings, checking quota, viewing Console screens) do not need this skill.
Use whenever working on BellaAssist (Bella Assist) product, runtime, schema, API, AI skills, auth/RLS, CRM integration, ops, compliance registers, or architecture documentation — including phrases like "architecture pack", "arch-pack", "arch pack", "current-state docs", "how does X work in Bella", "endpoint inventory", "schema inventory", or "before coding BellaAssist". Routes agents to the BellaAssist architecture-pack for business logic maps, schemas, and generated inventories, and enforces the regenerate → validate → snapshot-sync loop. Also use when updating docs after a BellaAssist behaviour change, checking documentation drift, or deciding which regression tests to run.
Operate David's Jira Cloud (bellaslainte.atlassian.net) from the terminal with the official Atlassian CLI `acli`. Use whenever the task involves reading or writing a Jira board/project, creating/editing/transitioning/deleting work items, populating a Kanban board (e.g. from a Google Sheet), running JQL searches, or installing/authenticating acli. Captures the non-obvious gotchas: search defaults to 30 results, create-bulk caps at 50 and silently drops labels + ignores description in JSON, edit --labels appends, and the KAN board's columns are Idea/In Progress/Done.
How to authenticate and operate the AWS CLI for David's Bella Slainte AWS account (571573791861), and how to manage AWS API keys / IAM / IAM Identity Center. Use whenever the task involves running AWS CLI commands, logging in to AWS or refreshing AWS credentials, creating or rotating API keys / IAM access keys / Bedrock API keys, adding or auditing IAM Identity Center (SSO) users and permission sets, or any AWS console/CLI administration. Covers the SSO login gotchas (portal username is "David" not his email; the `aws configure sso` region prompt loops).
Review GitHub pull requests against a configurable AI review policy for Codex and Claude Code. Use before creating, triggering, checking, re-running, or summarizing PR reviews; when deciding between @codex review and @claude review once; when inspecting bot review results, GitHub checks, branch protection, CODEOWNERS, or merge readiness; and when verifying whether generic thumbs-up/no-findings review text actually means the review bot ran.