Setup
28.9kConfigura GBrain con auto-aprovisionamiento de Supabase o PGLite, inyección en AGENTS.md y primera importación.
- Costo de contexto al activarse
- 7.4k tok
- Tamaño del paquete
- 1 archivo
- Última actualización
- hace 4 días
Antes de arreglar una alerta de lentitud, stale o timeout, mide el paso tú mismo con un cronómetro en vez de un cambio de código: triage de operaciones basado en medición previa.
Reemplaza a: Subir el timeout a ciegas como primera respuesta, Reescribir el pipeline basándose en una teoría no verificada
en todo el repo
0–100, la ruta de este skill
último commit aquí
últimos 90 días
87 tok en reposo
11 KB
Funciona con cualquier agente que lea SKILL.md
npx -y skills add garrytan/gbrain --skill measure-before-you-fix --agent claude-codeSe instala solo en este repositorio.
Di cualquiera de estas frases y el agente debería cargar este skill.
Convention: see conventions/brain-first.md — before re-deriving a diagnosis,
searchthe brain for prior incidents of the same alert. A recurring alert usually has a recorded verdict already.
Route here on any alert whose claim is temporal — "X is stale", "step timed out", "pipeline wedged", "job is slow", "N hours behind". These alerts invite an immediate structural fix (raise the timeout, split the step, reorder the pipeline). Do the measurement first. It is almost always cheaper than the fix, and it frequently invalidates it. (Routing is a harness convention, not a mechanical guarantee — the contract below is the discipline that makes it stick.)
On gbrain surfaces this covers: gbrain doctor staleness checks (e.g. sync
freshness, cycle freshness), autopilot cycle alerts, the sync stall watchdog
(reason: 'stall_timeout'), and any cron monitor built on top of them.
One stopwatch measurement of the suspect step, before any code change.
If you cannot state the measured duration of the thing you claim is slow, you do not yet know the root cause, and any fix you write is a guess wearing a diff.
This skill guarantees:
--all hides which member is slow).gbrain doctor's warn/fail lines) before the system is declared unhealthy.Read the alert's own numbers. They often contradict the theory already.
(Locks: none means it isn't lock contention. Note it and drop that branch.)
Time the suspect step directly. Isolate the smallest unit that the alert blames, and run it with a clock:
time gbrain sync --source source-a --no-embed
Run it on the specific named entity, not the aggregate. A whole-brain run
hides which member is slow; --source source-a answers the question.
Cross-check state with gbrain sources status (per-source sync lag).
Compare measured vs. budgeted. Grep every timeout in the wrapper, not just the default in the helper signature:
grep -n "timeoutMs\|timeout:" <the wrapper or cron script>
A generous per-call override makes the helper's default irrelevant. Check the call site before blaming the default.
Check the alert threshold against the authoritative one. Before
concluding the system is broken, confirm the alerter and the audit agree on
what "bad" means. gbrain doctor's sync-freshness check defaults to
24h warn / 72h fail (env-overridable via GBRAIN_SYNC_FRESHNESS_WARN_HOURS
/ GBRAIN_SYNC_FRESHNESS_FAIL_HOURS); a cron monitor paging at 12h is
speaking below the authoritative warn line. A monitor that acts early is
correct; a monitor that speaks at its act-line is a false-positive
generator.
Only now design the fix — against the number you measured.
A cron monitor legitimately acts earlier than the doctor fails, to keep drift out of FAIL territory. That is good design. The bug is reusing the act-threshold as the alert-threshold: everything between "act" and "warn" becomes a recurring page about a healthy system.
Separate the two constants. Act at the aggressive line, speak at the authoritative one:
const ACT_HOURS = Number(env.MONITOR_ACT_HOURS || 12); // act early — fine
const ALERT_HOURS = Math.max(ACT_HOURS, DOCTOR_WARN_HOURS); // speak at the audit's line
Symptom to recognize instantly: a repeating alert whose numbers sit below the doctor's own warn line, while the underlying resource looks fine when queried directly.
ps for the worker; check the launch flag;
gbrain jobs list for queued work).source-a, source-b) reported hours-stale.
Three successive root causes were asserted and a wrapper rewrite approved —
before any measurement. The measurement:
time gbrain sync --source source-a --no-embed finished in single-digit
seconds with "Already up to date" (same for source-b), and
gbrain sources status showed every source synced that morning. Every
theory died at once. Actual cause: the monitor alerted at its
act-threshold, hours below gbrain doctor's authoritative warn line. The
fix was two lines (ALERT_HOURS = max(ACT_HOURS, WARN_HOURS)), not a
rewrite. Lesson: when a page repeats about a system that measures healthy,
suspect the thresholds before the system.nice'd) step was equally unfounded — the step
finished in seconds while the host was under sustained concurrent load.
Contention theories need the same stopwatch as staleness theories.The output is a measurement verdict (conversation-level; this skill writes no brain pages). Only after the verdict is a fix proposed, sized against the measured number:
## Measurement verdict
- Alert: <the alert text and which monitor emitted it>
- Claim: <the temporal claim, e.g. "source-a 14h stale">
- Measured: <exact command> → <duration> (<key output, e.g. "Already up to date">)
- Budgeted: <timeout constant + any call-site override, file:line>
- Thresholds: monitor act-line <X>h vs doctor warn-line <Y>h → <match | MISMATCH>
- Verdict: false page on healthy system | needs more time | wedged | genuine regression
- Fix: <the change, justified by the measured number — or "none; adjust the alert line">
investigate — systematic debugging of code bugs ("why is this
broken", 500 errors, wrong output). Boundary: investigate root-causes code
behavior; this skill is the measure-first gate for temporal ops alerts
(stale/timeout/freshness/wedged) that runs before any timeout or threshold
is touched. If the stopwatch confirms a genuine slowness or regression, hand
off to investigate with the measured number.skills/maintain/SKILL.md — runs brain health checks and repairs
(doctor, extraction, dream cycle). Boundary: maintain emits and acts on
health output; this skill governs how to respond when one of those checks
pages, before budgets or wrappers change.skills/cron-scheduler/SKILL.md — schedules monitors and jobs.
Boundary: cron-scheduler decides when monitors run; this skill supplies
the act-line vs alert-line rule their thresholds must encode.skills/conventions/test-before-bulk.md — trial-before-bulk for
mutations. Same spirit (evidence before action), different object: that
convention gates bulk writes; this skill gates timeout/threshold/pipeline
changes.Reproducido de garrytan/gbrain bajo licencia MIT. Leer esta página en markdown.
2 archivos en el paquete. Solo se lee SKILL.md al activarse — las referencias se cargan si el skill decide que las necesita.
Requiere acceso a la CLI de gbrain (gbrain sync, gbrain doctor, gbrain sources status) para poder cronometrar el paso.
Este repo incluye 75 skills. Si instalas uno, normalmente ya tienes los demás.
Configura GBrain con auto-aprovisionamiento de Supabase o PGLite, inyección en AGENTS.md y primera importación.
Chequeos de salud del brain: aplicación de back-links, auditoría de citas, validación de filing, detección de info obsoleta, páginas huérfanas y benchmarks.
Migra un brain de gbrain-base a la taxonomía de 14 tipos canónicos de gbrain-base-v2 usando gbrain onboard --check y el handler Minion unify-types.
Cuándo y qué recuperar: abre la página del brain de una entidad relevante antes de responder desde memoria.
Operaciones del brain: búsqueda primero, ciclo leer-enriquecer-escribir, atribución de fuentes, enriquecimiento ambiental y back-linking. Leer antes de cualquier interacción con el brain.
Importa exports de ChatGPT, Claude y Perplexity y transcripciones de sesiones como páginas fechadas en conversations/, valida y extrae hechos, y mantiene el archivo sin huecos con detección y backfill.
Skill unificado de Minions para jobs deterministas de shell y orquestación de subagentes LLM: cola durable, observable y controlable, más la doctrina de ejecución durable para operaciones largas.
Ejecuta `gbrain skillpack-check` para generar un reporte JSON legible por agentes sobre la salud del install de gbrain, combinando `gbrain doctor` y `apply-migrations --list`.
Tests de salud + auto-fix para instalaciones de gbrain (y servicios OpenClaw si existen); úsalo tras reinicios o cuando algo parezca roto, y es extensible con scripts propios.