Citus Check Style Reindent
citusdata/citus
Fix a failing citusdata/citus check-style job by running make reindent with the exact uncrustify/citusindent versions the currently checked-out branch pins (read from its own STYLEGUIDE.md and its…
Confirmation gate before any bulk delete, cleanup, or destructive operation that could result in data loss — shell-level (rm -rf, git rm, bulk sed) or brain-level (bulk forget, delete sweeps…
$ npx skills add garrytan/gbrain --skill data-loss-gate -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install garrytan/gbrain data-loss-gate --agent claude-codeProject scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).
$ git clone --depth 1 https://github.com/garrytan/gbrain.git skills-src && mkdir -p .claude/skills && cp -r skills-src/skills/data-loss-gate .claude/skills/data-loss-gate && rm -rf skills-srcUse ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.
Claude Code skills documentation · loads skills from .claude/skills/
Install the "data-loss-gate" agent skill from https://github.com/garrytan/gbrain/tree/master/skills/data-loss-gate into .claude/skills/data-loss-gate/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "data-loss-gate", then confirm the skill loads.Claude Code copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$skill-installer install https://github.com/garrytan/gbrain/tree/master/skills/data-loss-gateType this inside Codex. $skill-installer <name> installs a curated skill from openai/skills. The installer writes to $CODEX_HOME/skills (default ~/.codex/skills). Restart Codex if the skill does not show up.
$ npx skills add garrytan/gbrain --skill data-loss-gate -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install garrytan/gbrain data-loss-gate --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/garrytan/gbrain.git skills-src && mkdir -p .agents/skills && cp -r skills-src/skills/data-loss-gate .agents/skills/data-loss-gate && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "data-loss-gate" agent skill from https://github.com/garrytan/gbrain/tree/master/skills/data-loss-gate into .agents/skills/data-loss-gate/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "data-loss-gate", then confirm the skill loads.Codex copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add garrytan/gbrain --skill data-loss-gate -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install garrytan/gbrain data-loss-gate --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/garrytan/gbrain.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/skills/data-loss-gate .cursor/skills/data-loss-gate && rm -rf skills-srcUse ~/.cursor/skills/ instead of .cursor/skills for a personal install.
Cursor skills documentation · loads skills from .cursor/skills/, .agents/skills/, .claude/skills/, .codex/skills/
Install the "data-loss-gate" agent skill from https://github.com/garrytan/gbrain/tree/master/skills/data-loss-gate into .cursor/skills/data-loss-gate/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "data-loss-gate", then confirm the skill loads.Cursor copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gemini skills install https://github.com/garrytan/gbrain.git --path skills/data-loss-gate--scope user (default) or --scope workspace; --path is the subfolder of the repo that holds the skill; --consent skips the security confirmation prompt.
$ npx skills add garrytan/gbrain --skill data-loss-gate -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install garrytan/gbrain data-loss-gate --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/garrytan/gbrain.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/skills/data-loss-gate .gemini/skills/data-loss-gate && rm -rf skills-srcUse ~/.gemini/skills/ instead of .gemini/skills for a personal install, then run /skills reload.
Gemini CLI skills documentation · loads skills from .gemini/skills/, .agents/skills/
Install the "data-loss-gate" agent skill from https://github.com/garrytan/gbrain/tree/master/skills/data-loss-gate into .gemini/skills/data-loss-gate/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "data-loss-gate", then confirm the skill loads.Gemini CLI copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gh skill install garrytan/gbrain data-loss-gateInstalls for Copilot at project scope by default; add --scope user for a personal install. Preview a skill first with gh skill preview. Needs GitHub CLI 2.90.0 or later (public preview).
$ npx skills add garrytan/gbrain --skill data-loss-gate -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/garrytan/gbrain.git skills-src && mkdir -p .github/skills && cp -r skills-src/skills/data-loss-gate .github/skills/data-loss-gate && rm -rf skills-srcUse ~/.copilot/skills/ instead of .github/skills for a personal install. Commit .github/skills so cloud agent and code review can use it.
GitHub Copilot skills documentation · loads skills from .github/skills/, .claude/skills/, .agents/skills/
Install the "data-loss-gate" agent skill from https://github.com/garrytan/gbrain/tree/master/skills/data-loss-gate into .github/skills/data-loss-gate/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "data-loss-gate", then confirm the skill loads.GitHub Copilot copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add garrytan/gbrain --skill data-loss-gate -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install garrytan/gbrain data-loss-gate --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/garrytan/gbrain.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/skills/data-loss-gate .opencode/skills/data-loss-gate && rm -rf skills-srcUse ~/.config/opencode/skills/ instead of .opencode/skills for a personal install.
OpenCode skills documentation · loads skills from .opencode/skills/, .claude/skills/, .agents/skills/
Install the "data-loss-gate" agent skill from https://github.com/garrytan/gbrain/tree/master/skills/data-loss-gate into .opencode/skills/data-loss-gate/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "data-loss-gate", then confirm the skill loads.OpenCode copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
data-loss-gateConfirmation gate before any bulk delete, cleanup, or destructive operation that could result in data loss — shell-level (rm -rf, git rm, bulk sed) or brain-level (bulk forget, delete sweeps…
Data Loss Gate is an agent skill from garrytan/gbrain. Confirmation gate before any bulk delete, cleanup, or destructive operation that could result in data loss — shell-level (rm -rf, git rm, bulk sed) or brain-level (bulk forget, delete sweeps, purge-deleted, source removal, raw-SQL truncation). Presents a recoverability card and requires an explicit "yes" from the user before proceeding. Routing convention, not an operation-boundary enforcement.
Its SKILL.md is about 2.8k tokens, which your agent loads only when the skill is triggered. The skill folder holds 1 other file.
It sits in Databases. It works with Git and SQL. The repository describes itself as: Garry's Opinionated OpenClaw/Hermes Agent Brain. The licence is MIT.
4 steps, taken from the step headings in SKILL.md.
Read from SKILL.md and the folder at commit fc54831. It shows what the files ask for, not the result of running them.
Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.
From allowed-tools in the SKILL.md frontmatter.
Shell commands in SKILL.md call:
gitFrom the folder's file list and the shell code blocks in SKILL.md.
No URLs in SKILL.md. Its commands use git, which can reach the network depending on how they are called.
From URLs in SKILL.md, links to its own repository left out.
Names no API keys, tokens, secrets or passwords.
From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.
Data Loss Gate loads about 2.8k tokens when it runs. Until then it costs about 103 tokens; SKILL.md has 1,323 words of instructions outside code blocks.
Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.
The automated check found no risky patterns in SKILL.md.
Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.
The full file from garrytan/gbrain at commit fc54831, republished under its MIT licence (© garrytan). 1,323 words, ~2,816 tokens.
.claude/skills/data-loss-gate/SKILL.md (or your agent's skills folder). This skill also uses 1 other file; get the full folder from GitHub.Convention: see conventions/brain-first.md — inspect the actual target before proposing deletion:
get_backlinks,gbrain graph <slug>,git logon the underlying files. The confirmation card below is only as good as the inspection behind it.Convention: see _brain-filing-rules.md — the post-confirmation deletion log files date-keyed under
daily/.
A gate that fires BEFORE any destructive operation and requires explicit user confirmation. The agent stops, presents a recoverability card, and waits.
Scope honesty: this gate is a routing convention — the harness resolves it
into context when a destructive intent matches, and a well-behaved agent
follows it. It is NOT an operation-boundary enforcement: nothing in the gbrain
runtime mechanically blocks a delete if the skill never loads. (A native
confirm gate at the operation boundary is a filed TODO; until it lands, this
convention is the line of defense.) Some CLI surfaces carry their own flag
gates — e.g. gbrain sources remove requires --confirm-destructive — but
the flag confirms that the AGENT is sure. This skill exists to confirm that
the USER is.
Before ANY of these operations:
Shell / filesystem level:
rm -rf on any directory with datarm / unlink on more than 10 filessed -i that modifies more than 10 filesgit rm on tracked filesBrain / database level (gbrain-specific):
gbrain forget <fact-id> over many
facts. One forget is a considered, idempotent act; a forget sweep is data loss.gbrain delete <slug> in a loop, or any script that
sweeps delete_page across a set of slugs. Deletes are soft (recoverable via
gbrain restore <slug>) until purged — say so on the card, then gate anyway:
a sweep that's wrong in bulk is expensive to un-wrong in bulk.gbrain pages purge-deleted — permanently removes soft-deleted pages
from every source of the brain. This is the point of no return for the
soft-delete safety net. Show the user gbrain pages purge-deleted --dry-run --json
first; the command itself asks (exit 3 without a terminal) and runs with
--yes only after the user agrees.gbrain sources remove <id> deletes the source AND
every page in it. The --confirm-destructive flag does not substitute for
the card.gbrain mounts remove <id> only removes the local
registration (the mounted brain's database survives; re-add to recover). Gate
it anyway when the flow ALSO plans to delete the mount's underlying database
or files — then the full card applies to those.DROP TABLE, TRUNCATE, or DELETE without a
narrow WHERE against the brain database, via any path (psql, a migration
script, an engine executeRaw call).Do NOT run the destructive command. Inspect the actual target first (backlinks, graph edges, git history, file contents — whatever grounds the card), then present the user with:
⚠️ DATA DELETION — Confirmation Required
What: [exactly what will be deleted/modified]
Count: [number of files/rows/pages/facts affected]
Size: [how much data will be removed]
Location: [exact paths, slugs, or source/mount ids]
Why: [the reason for the deletion]
Recoverable?
- [ ] Backed up to a remote (git remote, database backup, object storage)
- [ ] In git history (can git checkout)
- [ ] Soft-deleted in the brain (restorable via `gbrain restore` until purged)
- [ ] Re-fetchable from an upstream source (which one, how long)
- [ ] NOT recoverable — permanent data loss
What we'd lose:
- [specific data/capability that would be gone]
- [any downstream systems that depend on this data]
Alternative to deletion:
- [compress instead of delete?]
- [move to cold storage?]
- [archive to a remote backup?]
- [soft-delete and defer the purge?]
Proceed? (yes/no)For the mechanics of presenting the gate and stopping the turn, use the ask-user choice-gate pattern — this skill supplies the card content and the explicit-yes strictness; ask-user supplies the stop-and-wait discipline.
After confirmation:
daily/notes/YYYY-MM-DD.md under ## Data DeletionsThere are no categories of data that are disposable by default. Old logs, git stash entries, build artifacts, caches — each of these has, at some point, been the source of truth for something. Disposability is a property of the SPECIFIC target, verified by inspecting it (backlinks, git status, what depends on it, whether it's re-fetchable and at what cost) — never a property of its category. If the inspection genuinely shows the target is ephemeral and regenerable, the card is quick to fill out and the user's "yes" is quick to get. That's the cost of the gate working.
A downstream agent once deleted a multi-gigabyte cache of raw source files from its brain's data directory to free disk space. The files looked like "just cache" — but they were the source data for a planned feature. The data happened to be re-fetchable from its upstream source, but the deletion was still wrong because:
The rule: if it's data and it's bulk, ASK FIRST. Always.
Follow the agent operator protocol for any gbrain error code, exit code, [AGENT] block or notice block. Specific to this skill:
confirmation_required) or asks for --confirm-destructive: that flag confirms the agent is sure, not the user. Show the recoverability card and wait for the user's explicit yes.gbrain pages purge-deleted removes soft-deleted pages for good, so gbrain restore cannot bring them back afterwards: say so on the card. Never promise physical erasure or a recovery you cannot verify.write_pending (exit 10): poll the receipt before writing the deletion log entry.This skill guarantees:
daily/notes/YYYY-MM-DD.md under
## Data Deletions with timestamp, scope, and recovery path.writes_to:.The full behavior contract is documented in the body sections above; this section exists for the conformance test.
Two artifacts:
daily/notes/YYYY-MM-DD.md:## Data Deletions
- **[HH:MM]** [what was deleted] — [count], [size]. Reason: [why].
Recovery: [backup/git/restore path, or "none — permanent"].© garrytan, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file
SKILL.md and 1 other file in skills/data-loss-gate of garrytan/gbrain.
Open the folder on GitHubat commit fc54831
Data Loss Gate next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.
| Skill | Stars | Used in | Tokens | Auto-check | Licence | Repo updated |
|---|---|---|---|---|---|---|
| Data Loss Gate this skillgarrytan/gbrain | 31k | — | ~2.8k | Automated safety check: Pass | MIT | |
| Citus Check Style Reindentcitusdata/citus | 13k | — | ~1.5k | Automated safety check: Notes | AGPL-3.0 | |
| BisectClickHouse/ClickHouse | 50k | — | ~1.4k | Automated safety check: Pass | Apache-2.0 | |
| Wtfnoobnooc/agent | 1.4k | — | ~2.1k | Automated safety check: Notes | None | |
| Notcrawlopenclaw/notcrawl | 134 | — | ~698 | Automated safety check: Pass | MIT | |
| Drizzle Migration Conflictsickn33/agentic-awesome-skills | 47k | 1 repos | ~2.5k | Automated safety check: Notes | Apache-2.0 |
citusdata/citus
Fix a failing citusdata/citus check-style job by running make reindent with the exact uncrustify/citusindent versions the currently checked-out branch pins (read from its own STYLEGUIDE.md and its…
ClickHouse/ClickHouse
Bisect a ClickHouse regression using pre-built master binaries from CI.
noobnooc/agent
Pre-launch and pre-commit audit for vibe coding projects. An agent skill from noobnooc/agent.
openclaw/notcrawl
A skill your agent uses for local Notion archive search, sync freshness, Markdown/database exports, git-share snapshots, and Notcrawl repo/release work.
sickn33/agentic-awesome-skills
Diagnose, repair, and prevent Drizzle Kit migration conflicts involving generated SQL, snapshots, journals, merge queues, and team workflows.
ClickHouse/ClickHouse
Audit open "flaky test" GitHub issues and close those whose tests are no longer failing on master.
garrytan/gbrain
Traces a factual error the user points out back to its source (a brain page, a memory file, SOUL.md or USER.md, or a hallucination) and fixes that source instead of just noting the correction.
garrytan/gbrain
Searches and writes a company-wide knowledge brain through the gbrain CLI, so durable decisions and facts about people, projects and history stay findable beyond one session.
garrytan/gbrain
Ingest links, articles, tweets, and ideas into the brain. An agent skill from garrytan/gbrain.
garrytan/gbrain
Sends what your notes already know about a topic to Perplexity, so the cited web search reports only what is new, such as entity updates or deal changes.
garrytan/gbrain
Migrate a brain from gbrain-base (or any pack) to gbrain-base-v2's 14-canonical-type taxonomy via gbrain onboard --check + the unify-types Minion handler.
garrytan/gbrain
Run gbrain skillpack-check to produce an agent-readable JSON health report for the gbrain install.
Categories
Confirmation gate before any bulk delete, cleanup, or destructive operation that could result in data loss — shell-level (rm -rf, git rm, bulk sed) or brain-level (bulk forget, delete sweeps…. Data Loss Gate is an agent skill from garrytan/gbrain. Confirmation gate before any bulk delete, cleanup, or destructive operation that could result in data loss — shell-level (rm -rf, git rm, bulk sed) or brain-level (bulk forget, delete sweeps, purge-deleted, source removal, raw-SQL truncation).
Data Loss Gate fits situations like: databases work in your project.
Run `npx skills add garrytan/gbrain --skill data-loss-gate -a claude-code`. Or copy the skill folder (skills/data-loss-gate in garrytan/gbrain) into .claude/skills/data-loss-gate in your project. Claude Code loads it when a task matches its description.
Run `npx skills add garrytan/gbrain --skill data-loss-gate -a codex`. Or copy the skill folder (skills/data-loss-gate in garrytan/gbrain) into .agents/skills/data-loss-gate in your project. Codex loads it when a task matches its description.
Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add garrytan/gbrain --skill data-loss-gate -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/data-loss-gate, .gemini/skills/data-loss-gate, .github/skills/data-loss-gate and .opencode/skills/data-loss-gate in your project.
Going by SKILL.md and its folder, Data Loss Gate needs the command-line tools its instructions call (git).
SKILL.md contains no URLs. Its commands use git, which can reach the network depending on how they are called. This is read from the text; nothing was executed.
Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.
Data Loss Gate is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.
About 2.8k tokens (SKILL.md is roughly 11k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.
Skills that share tags, products or a category with Data Loss Gate: Citus Check Style Reindent (citusdata/citus, 13k stars), Bisect (ClickHouse/ClickHouse, 50k stars), Wtf (noobnooc/agent, 1.4k stars) and Notcrawl (openclaw/notcrawl, 134 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
garrytan (a GitHub user) maintains it in garrytan/gbrain, which has 30,701 GitHub stars. The repository holds 47 skills in this directory. The repository was last updated on October 9, 2026.
Source: garrytan/gbrain on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.