chore(skills): make public-repo scrubbing explicit in ship and babysit - #6819
Conversation
The repo is public and both skills publish permanently. `/ship` already listed what to omit, but the rule only fired inside that skill — a PR opened directly with `gh pr create` skipped it entirely, which is how a customer name, a knowledge base id, and verbatim sheet and column names reached a public PR description. Ship's list now covers every artifact rather than just the title and body, names verbatim customer content as its own category, draws the line on aggregate counts (fine detached from a tenant, not fine attributed to one), and carries a pre-publish grep so the check is mechanical instead of remembered. Babysit had no such guidance at all despite posting replies continuously, and triage is precisely where prod evidence gets pasted in. It now has a short section plus a hard rule, pointing at ship's list rather than restating it.
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
PR SummaryLow Risk Overview Adds a Reviewed by Cursor Bugbot for commit 4750c52. Configure here. |
Greptile SummaryThis PR expands public-repository scrubbing guidance across
Confidence Score: 3/5This PR should not merge until the pre-publish command is wired to inspect the actual title, body, and commit log it is intended to scrub. The new hygiene policy relies on a standalone grep that reads standard input rather than any named PR artifact, so following the documented procedure does not reliably prevent tenant-identifying material from being published. Files Needing Attention: .agents/skills/ship/SKILL.md and .agents/skills/babysit/SKILL.md
|
| Filename | Overview |
|---|---|
| .agents/skills/ship/SKILL.md | Broadens public-content hygiene guidance, but the new grep command does not inspect the title, body, or commit log named by the instructions. |
| .agents/skills/babysit/SKILL.md | Adds public-repository hygiene for review replies, but delegates the mechanical check to the incomplete /ship grep. |
Reviews (1): Last reviewed commit: "chore(skills): make public-repo scrubbin..." | Re-trigger Greptile
|
|
||
| ```bash | ||
| grep -niE 'customer-or-company-name|@[a-z0-9.-]+\.(com|io|ai)|[0-9a-f]{8}-[0-9a-f]{4}-|\.sharepoint\.com|arn:aws|https?://[a-z0-9.-]*\.internal' | ||
| ``` |
There was a problem hiding this comment.
Scrub command receives no artifacts
When an agent follows this pre-publish check, the standalone grep reads standard input rather than the title, body, or commit log named above it, causing those artifacts to remain unchecked before public publication. How this was verified: The added command supplies neither file arguments nor piped output from the named PR artifacts.
Summary
/ship's "What to Omit" now applies to every artifact a PR produces — title, description, commit messages, and later comments — not just the title and bodygh pr create/babysitgets a short public-repo hygiene section plus a hard rule; it had none despite posting replies continuouslyWhy
The rule already existed in
/ship, but it only fired inside that skill. A PR opened directly withgh pr createskipped it, and a customer name, a knowledge base id, and verbatim sheet and column names reached a public PR description. Both were caught and scrubbed, but editing a comment does not unsend its notification email — so the guidance needed to be mechanical and to live where the posting actually happens.Babysit is the higher-risk surface of the two: triaging a review finding usually means pasting evidence gathered from production, and review bots quote replies back, so a leak propagates. It points at ship's list rather than restating it, to keep one source of truth.
Type of Change
Testing
Checklist