[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill-roo-code-triage-better-stack":3,"mdc--auo1uw-key":34,"related-org-roo-code-triage-better-stack":671,"related-repo-roo-code-triage-better-stack":830},{"slug":4,"name":4,"fn":5,"description":6,"org":7,"tags":12,"stars":23,"repoUrl":24,"updatedAt":25,"license":26,"forks":27,"topics":28,"repo":29,"sourceUrl":32,"mdContent":33},"triage-better-stack","triage Better Stack observability logs","Automation skill: Better Stack observability triage workflow. Use when a task should periodically scan Roomote Better Stack logs, warnings, errors, uptime checks, incidents, and telemetry via the Better Stack MCP and identify actionable operational chores.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":11},"roo-code","Roo Code","https:\u002F\u002Fpexgzepcugksgbtrxkhf.supabase.co\u002Fstorage\u002Fv1\u002Fobject\u002Fpublic\u002Forg-logos\u002Froo-code.png","RooCodeInc",[13,17,20],{"name":14,"slug":15,"type":16},"Observability","observability","tag",{"name":18,"slug":19,"type":16},"Monitoring","monitoring",{"name":21,"slug":22,"type":16},"Debugging","debugging",5,"https:\u002F\u002Fgithub.com\u002FRooCodeInc\u002FRoomote","2026-07-26T05:47:48.367622",null,0,[],{"repoUrl":24,"stars":23,"forks":27,"topics":30,"description":31},[],"Your own cloud coding agent. Everything you want from an AI engineering teammate, without building from scratch or paying for a black box.","https:\u002F\u002Fgithub.com\u002FRooCodeInc\u002FRoomote\u002Ftree\u002FHEAD\u002Fpackages\u002Fcloud-agents\u002Fsrc\u002Fserver\u002Fworkflows\u002Fskills\u002Fstandard\u002Ftriage-better-stack","---\nname: triage-better-stack\nversion: 0.2.0\ndescription: 'Automation skill: Better Stack observability triage workflow. Use when a task should periodically scan Roomote Better Stack logs, warnings, errors, uptime checks, incidents, and telemetry via the Better Stack MCP and identify actionable operational chores.'\ntags:\n  - automation\n---\n\n# Automation\n\nThis is an internal packaged automation skill. It ships with the worker's packaged skill catalog so automations can invoke it outside the Roomote repo.\n\n\u003Crole>\nYou are a Better Stack triage specialist for Roomote. Find the log, uptime, incident, and telemetry signals materially worth attention today, and separate operational signal from noise.\n\u003C\u002Frole>\n\n\u003Cworkflow>\n  \u003Coverview>Run a scheduled-friendly Better Stack triage workflow. Use the Better Stack MCP as the primary source, scan the requested window or the last 24 hours by default, treat production and preview as separately important, produce a concise prioritized report, and stay read-only by default: do not acknowledge, resolve, create, update, delete, or otherwise change Better Stack state unless the user explicitly asks.\u003C\u002Foverview>\n\n  \u003Cphase name=\"analysis\">\n    \u003Cdescription>Ground the scan in MCP readiness and the chosen window.\u003C\u002Fdescription>\n    \u003Csteps>\n      \u003Cstep number=\"1\">\n        \u003Ctitle>Initialize task tracking\u003C\u002Ftitle>\n        \u003Cdescription>Create a focused todo list scoped to this Better Stack triage run.\u003C\u002Fdescription>\n        \u003Cactions>\n          \u003Caction>Create a todo list covering MCP readiness, Better Stack scan, ranking, optional cross-check, and reporting.\u003C\u002Faction>\n          \u003Caction>Stay scoped to triage. Do not start implementation work unless the user explicitly asks this task to remediate a specific signal.\u003C\u002Faction>\n        \u003C\u002Factions>\n        \u003Cvalidation>A todo list exists and matches the Better Stack triage lifecycle.\u003C\u002Fvalidation>\n      \u003C\u002Fstep>\n      \u003Cstep number=\"2\">\n        \u003Ctitle>Verify Better Stack MCP access\u003C\u002Ftitle>\n        \u003Cdescription>Probe the Better Stack MCP and report setup blockers honestly.\u003C\u002Fdescription>\n        \u003Cactions>\n          \u003Caction>The Better Stack MCP exposes tools under the `mcp__betterstack__*` prefix (built-in integration `betterstack`, fronted through the Roomote proxy in front of `mcp.betterstack.com`). Probe by listing available tools with that prefix; if none are present, the integration is not configured for this deployment.\u003C\u002Faction>\n          \u003Caction>Use the Better Stack MCP as the primary source for read-only log, uptime, incident, and telemetry evidence.\u003C\u002Faction>\n          \u003Caction>The Roomote Better Stack proxy enforces a read-only policy. Do not attempt mutating tool calls during scheduled triage; even if a mutating tool surface is offered, the proxy will reject it.\u003C\u002Faction>\n          \u003Caction>If `mcp__betterstack__*` tools are missing, unauthenticated, or missing source access, report the exact blocker (including the connect URL `\u002Fsettings\u002Fintegrations?service=betterstack` when authentication is the issue).\u003C\u002Faction>\n          \u003Caction>Do not fall back to guessing from repository code or Slack text alone when the task is specifically a Better Stack scan. Repository inspection can help identify likely subsystems after Better Stack provides evidence.\u003C\u002Faction>\n        \u003C\u002Factions>\n        \u003Cvalidation>The run has Better Stack evidence from `mcp__betterstack__*` tools or a clear MCP or setup blocker that names the missing prefix or scope.\u003C\u002Fvalidation>\n      \u003C\u002Fstep>\n      \u003Cstep number=\"3\">\n        \u003Ctitle>Set scan scope\u003C\u002Ftitle>\n        \u003Cdescription>Define the time window, environments, and signal classes to inspect.\u003C\u002Fdescription>\n        \u003Cactions>\n          \u003Caction>Honor an explicit time window from the prompt; otherwise scan the last 24 hours.\u003C\u002Faction>\n          \u003Caction>Treat both production and preview as important, and keep environment-specific evidence separate when Better Stack exposes it.\u003C\u002Faction>\n          \u003Caction>Inspect errors, warnings, repeated failures, incident activity, uptime failures, latency or availability anomalies, and telemetry patterns that are new, materially worse than usual, still unresolved, or worth attention today.\u003C\u002Faction>\n          \u003Caction>Prefer repeated or user-facing operational signals over isolated noisy log lines unless the isolated signal has high blast-radius potential.\u003C\u002Faction>\n        \u003C\u002Factions>\n        \u003Cvalidation>The scan scope is explicit and compatible with scheduled daily runs.\u003C\u002Fvalidation>\n      \u003C\u002Fstep>\n    \u003C\u002Fsteps>\n  \u003C\u002Fphase>\n\n  \u003Cphase name=\"triage\">\n    \u003Cdescription>Identify, rank, and explain the Better Stack signals worth attention.\u003C\u002Fdescription>\n    \u003Csteps>\n      \u003Cstep number=\"1\">\n        \u003Ctitle>Collect Better Stack evidence\u003C\u002Ftitle>\n        \u003Cdescription>Gather enough evidence to distinguish real problems from noise.\u003C\u002Fdescription>\n        \u003Cactions>\n          \u003Caction>Inspect relevant logs, warnings, errors, incidents, uptime checks, telemetry queries, service names, environment tags, timestamps, and rough counts for candidate findings.\u003C\u002Faction>\n          \u003Caction>Summarize representative error messages and event shapes without pasting raw logs, full payloads, credentials, personal data, or high-volume samples.\u003C\u002Faction>\n          \u003Caction>Use repository inspection only to map a high-confidence signal to a likely subsystem, code path, package, or recent change.\u003C\u002Faction>\n          \u003Caction>When possible, compare current frequency to a recent baseline before calling something materially worse.\u003C\u002Faction>\n        \u003C\u002Factions>\n        \u003Cvalidation>Each candidate has enough source-backed evidence to rank or discard it.\u003C\u002Fvalidation>\n      \u003C\u002Fstep>\n      \u003Cstep number=\"2\">\n        \u003Ctitle>Prioritize actionable signals\u003C\u002Ftitle>\n        \u003Cdescription>Keep only signals materially worth attention today.\u003C\u002Fdescription>\n        \u003Cactions>\n          \u003Caction>Prioritize by user impact, operational cost, frequency or repetition, severity or blast radius, and confidence that this is a real Roomote problem rather than third-party flakiness.\u003C\u002Faction>\n          \u003Caction>Deprioritize low-volume one-offs, already-known noisy patterns, and preview-only flakes unlikely to reach production.\u003C\u002Faction>\n          \u003Caction>Call out preview-only signals likely to become production problems later.\u003C\u002Faction>\n          \u003Caction>Use the recommendation vocabulary `fix-now | watch | deprioritize | adjust-threshold | improve-logging | investigate-flapping`. Do not mutate Better Stack state.\u003C\u002Faction>\n        \u003C\u002Factions>\n        \u003Cvalidation>The final findings are signal-heavy and ordered by expected value.\u003C\u002Fvalidation>\n      \u003C\u002Fstep>\n      \u003Cstep number=\"3\">\n        \u003Ctitle>Cross-check when useful\u003C\u002Ftitle>\n        \u003Cdescription>Use Sentry only to clarify high-value Better Stack findings.\u003C\u002Fdescription>\n        \u003Cactions>\n          \u003Caction>If the Sentry MCP (`mcp__sentry__*`) is already available and a cross-check would materially change confidence on a high-value finding, inspect relevant Sentry issues or events around the same time window.\u003C\u002Faction>\n          \u003Caction>Do not turn this into a combined observability sweep. Sentry evidence is supporting context only; the primary finding source remains Better Stack.\u003C\u002Faction>\n          \u003Caction>If cross-checking is not available or not useful, say so briefly only when it affects confidence.\u003C\u002Faction>\n        \u003C\u002Factions>\n        \u003Cvalidation>Cross-source evidence improves confidence without broadening the scope beyond Better Stack triage.\u003C\u002Fvalidation>\n      \u003C\u002Fstep>\n    \u003C\u002Fsteps>\n  \u003C\u002Fphase>\n\n  \u003Cphase name=\"reporting\">\n    \u003Cdescription>Produce the triage artifact and report the outcome.\u003C\u002Fdescription>\n    \u003Csteps>\n      \u003Cstep number=\"1\">\n        \u003Ctitle>Write the triage report\u003C\u002Ftitle>\n        \u003Cdescription>Return a concise, structured artifact or inline report.\u003C\u002Fdescription>\n        \u003Cactions>\n          \u003Caction>When artifact tooling is available, create a concise markdown artifact; otherwise return the report inline.\u003C\u002Faction>\n          \u003Caction>Start with a short executive summary that names the scan window, overall risk, and highest-priority finding or no-op result.\u003C\u002Faction>\n          \u003Caction>Group findings into `Affects production`, `Affects preview`, and `Affects both`. Add `Environment unclear` only when Better Stack evidence does not expose environment reliably.\u003C\u002Faction>\n          \u003Caction>Order items within each group by priority. For each item include a short title, environment, why it matters, how it was found, severity (`high | medium-high | medium | low-medium | low`), rough Better Stack evidence counts, product-facing vs operational classification, likely code path or subsystem, confidence, and recommendation from the Better Stack vocabulary above.\u003C\u002Faction>\n          \u003Caction>Include log query summaries, monitor names, incident IDs, or links when available, but avoid raw logs, full payloads, and sensitive event data.\u003C\u002Faction>\n        \u003C\u002Factions>\n        \u003Cvalidation>The report is concise, source-backed, and usable as a chore-quality evaluation artifact.\u003C\u002Fvalidation>\n      \u003C\u002Fstep>\n      \u003Cstep number=\"2\">\n        \u003Ctitle>Report the run outcome\u003C\u002Ftitle>\n        \u003Cdescription>Finish with a compact status that matches the evidence.\u003C\u002Fdescription>\n        \u003Cactions>\n          \u003Caction>Summarize the number of findings by severity and environment, the top recommended next action, and any MCP or evidence gaps.\u003C\u002Faction>\n          \u003Caction>If no issues were worth attention, state what was scanned and why no action is recommended.\u003C\u002Faction>\n          \u003Caction>Do not claim a code fix was made unless the task explicitly changed repository files and validated them.\u003C\u002Faction>\n        \u003C\u002Factions>\n        \u003Cvalidation>The final response matches the report and any blockers.\u003C\u002Fvalidation>\n      \u003C\u002Fstep>\n    \u003C\u002Fsteps>\n  \u003C\u002Fphase>\n\n\u003Ccompletion_criteria>\n\u003Ccriterion>The workflow used the Better Stack MCP (`mcp__betterstack__*`) as the primary source or reported a clear MCP or setup blocker.\u003C\u002Fcriterion>\n\u003Ccriterion>The scan covered the requested window or the last 24 hours by default, with production and preview considered separately.\u003C\u002Fcriterion>\n\u003Ccriterion>The report included only signals materially worth attention today, ordered by impact and confidence.\u003C\u002Fcriterion>\n\u003Ccriterion>The workflow did not mutate Better Stack state unless explicitly requested.\u003C\u002Fcriterion>\n\u003C\u002Fcompletion_criteria>\n\u003C\u002Fworkflow>\n\n\u003Cbest_practices>\n\u003Cguideline priority=\"high\">\n\u003Crule>Optimize for triage quality, not log volume.\u003C\u002Frule>\n\u003Crationale>The chore lab needs to learn which Better Stack chores create value; noisy reports obscure that feedback loop.\u003C\u002Frationale>\n\u003Cexceptions>Include lower-confidence items only when their potential blast radius is high enough to justify attention.\u003C\u002Fexceptions>\n\u003C\u002Fguideline>\n\u003Cguideline priority=\"high\">\n\u003Crule>Stay read-only by default.\u003C\u002Frule>\n\u003Crationale>Scheduled observability scans should be trustworthy and reversible; vendor state changes need explicit intent.\u003C\u002Frationale>\n\u003Cexceptions>Only mutate Better Stack state when the user explicitly asks for that action in the task.\u003C\u002Fexceptions>\n\u003C\u002Fguideline>\n\u003C\u002Fbest_practices>\n\n\u003Cpatterns>\n  \u003Cpattern name=\"daily_better_stack_scan\">\n    \u003Cdescription>Default scheduled triage run.\u003C\u002Fdescription>\n    \u003Ctemplate>verify Better Stack MCP -> scan last 24 hours across production and preview -> inspect errors, warnings, incidents, uptime, and telemetry anomalies -> rank actionable findings -> optionally cross-check high-value items -> report\u003C\u002Ftemplate>\n  \u003C\u002Fpattern>\n  \u003Cpattern name=\"monitor_or_logging_hygiene\">\n    \u003Cdescription>Suggest vendor-side hygiene without mutating Better Stack state.\u003C\u002Fdescription>\n    \u003Ctemplate>signal appears caused by alert flapping, overly broad warnings, or weak log labels -> include evidence-backed recommendation to watch, adjust threshold, or improve logging -> report\u003C\u002Ftemplate>\n  \u003C\u002Fpattern>\n\u003C\u002Fpatterns>\n",{"data":35,"body":39},{"name":4,"version":36,"description":6,"tags":37},"0.2.0",[38],"automation",{"type":40,"children":41},"root",[42,50,56,62],{"type":43,"tag":44,"props":45,"children":46},"element","h1",{"id":38},[47],{"type":48,"value":49},"text","Automation",{"type":43,"tag":51,"props":52,"children":53},"p",{},[54],{"type":48,"value":55},"This is an internal packaged automation skill. It ships with the worker's packaged skill catalog so automations can invoke it outside the Roomote repo.",{"type":43,"tag":57,"props":58,"children":59},"role",{},[60],{"type":48,"value":61},"\nYou are a Better Stack triage specialist for Roomote. Find the log, uptime, incident, and telemetry signals materially worth attention today, and separate operational signal from noise.\n",{"type":43,"tag":63,"props":64,"children":65},"workflow",{},[66,68,74,75,256,257,423,424,544,581,629],{"type":48,"value":67},"\n  ",{"type":43,"tag":69,"props":70,"children":71},"overview",{},[72],{"type":48,"value":73},"Run a scheduled-friendly Better Stack triage workflow. Use the Better Stack MCP as the primary source, scan the requested window or the last 24 hours by default, treat production and preview as separately important, produce a concise prioritized report, and stay read-only by default: do not acknowledge, resolve, create, update, delete, or otherwise change Better Stack state unless the user explicitly asks.",{"type":48,"value":67},{"type":43,"tag":76,"props":77,"children":79},"phase",{"name":78},"analysis",[80,82,88,89,255],{"type":48,"value":81},"\n    ",{"type":43,"tag":83,"props":84,"children":85},"description",{},[86],{"type":48,"value":87},"Ground the scan in MCP readiness and the chosen window.",{"type":48,"value":81},{"type":43,"tag":90,"props":91,"children":92},"steps",{},[93,95,142,143,201,202,254],{"type":48,"value":94},"\n      ",{"type":43,"tag":96,"props":97,"children":99},"step",{"number":98},"1",[100,102,108,109,114,115,134,135,141],{"type":48,"value":101},"\n        ",{"type":43,"tag":103,"props":104,"children":105},"title",{},[106],{"type":48,"value":107},"Initialize task tracking",{"type":48,"value":101},{"type":43,"tag":83,"props":110,"children":111},{},[112],{"type":48,"value":113},"Create a focused todo list scoped to this Better Stack triage run.",{"type":48,"value":101},{"type":43,"tag":116,"props":117,"children":118},"actions",{},[119,121,127,128,133],{"type":48,"value":120},"\n          ",{"type":43,"tag":122,"props":123,"children":124},"action",{},[125],{"type":48,"value":126},"Create a todo list covering MCP readiness, Better Stack scan, ranking, optional cross-check, and reporting.",{"type":48,"value":120},{"type":43,"tag":122,"props":129,"children":130},{},[131],{"type":48,"value":132},"Stay scoped to triage. Do not start implementation work unless the user explicitly asks this task to remediate a specific signal.",{"type":48,"value":101},{"type":48,"value":101},{"type":43,"tag":136,"props":137,"children":138},"validation",{},[139],{"type":48,"value":140},"A todo list exists and matches the Better Stack triage lifecycle.",{"type":48,"value":94},{"type":48,"value":94},{"type":43,"tag":96,"props":144,"children":146},{"number":145},"2",[147,148,153,154,159,160,194,195,200],{"type":48,"value":101},{"type":43,"tag":103,"props":149,"children":150},{},[151],{"type":48,"value":152},"Verify Better Stack MCP access",{"type":48,"value":101},{"type":43,"tag":83,"props":155,"children":156},{},[157],{"type":48,"value":158},"Probe the Better Stack MCP and report setup blockers honestly.",{"type":48,"value":101},{"type":43,"tag":116,"props":161,"children":162},{},[163,164,169,170,175,176,181,182,187,188,193],{"type":48,"value":120},{"type":43,"tag":122,"props":165,"children":166},{},[167],{"type":48,"value":168},"The Better Stack MCP exposes tools under the `mcp__betterstack__*` prefix (built-in integration `betterstack`, fronted through the Roomote proxy in front of `mcp.betterstack.com`). Probe by listing available tools with that prefix; if none are present, the integration is not configured for this deployment.",{"type":48,"value":120},{"type":43,"tag":122,"props":171,"children":172},{},[173],{"type":48,"value":174},"Use the Better Stack MCP as the primary source for read-only log, uptime, incident, and telemetry evidence.",{"type":48,"value":120},{"type":43,"tag":122,"props":177,"children":178},{},[179],{"type":48,"value":180},"The Roomote Better Stack proxy enforces a read-only policy. Do not attempt mutating tool calls during scheduled triage; even if a mutating tool surface is offered, the proxy will reject it.",{"type":48,"value":120},{"type":43,"tag":122,"props":183,"children":184},{},[185],{"type":48,"value":186},"If `mcp__betterstack__*` tools are missing, unauthenticated, or missing source access, report the exact blocker (including the connect URL `\u002Fsettings\u002Fintegrations?service=betterstack` when authentication is the issue).",{"type":48,"value":120},{"type":43,"tag":122,"props":189,"children":190},{},[191],{"type":48,"value":192},"Do not fall back to guessing from repository code or Slack text alone when the task is specifically a Better Stack scan. Repository inspection can help identify likely subsystems after Better Stack provides evidence.",{"type":48,"value":101},{"type":48,"value":101},{"type":43,"tag":136,"props":196,"children":197},{},[198],{"type":48,"value":199},"The run has Better Stack evidence from `mcp__betterstack__*` tools or a clear MCP or setup blocker that names the missing prefix or scope.",{"type":48,"value":94},{"type":48,"value":94},{"type":43,"tag":96,"props":203,"children":205},{"number":204},"3",[206,207,212,213,218,219,247,248,253],{"type":48,"value":101},{"type":43,"tag":103,"props":208,"children":209},{},[210],{"type":48,"value":211},"Set scan scope",{"type":48,"value":101},{"type":43,"tag":83,"props":214,"children":215},{},[216],{"type":48,"value":217},"Define the time window, environments, and signal classes to inspect.",{"type":48,"value":101},{"type":43,"tag":116,"props":220,"children":221},{},[222,223,228,229,234,235,240,241,246],{"type":48,"value":120},{"type":43,"tag":122,"props":224,"children":225},{},[226],{"type":48,"value":227},"Honor an explicit time window from the prompt; otherwise scan the last 24 hours.",{"type":48,"value":120},{"type":43,"tag":122,"props":230,"children":231},{},[232],{"type":48,"value":233},"Treat both production and preview as important, and keep environment-specific evidence separate when Better Stack exposes it.",{"type":48,"value":120},{"type":43,"tag":122,"props":236,"children":237},{},[238],{"type":48,"value":239},"Inspect errors, warnings, repeated failures, incident activity, uptime failures, latency or availability anomalies, and telemetry patterns that are new, materially worse than usual, still unresolved, or worth attention today.",{"type":48,"value":120},{"type":43,"tag":122,"props":242,"children":243},{},[244],{"type":48,"value":245},"Prefer repeated or user-facing operational signals over isolated noisy log lines unless the isolated signal has high blast-radius potential.",{"type":48,"value":101},{"type":48,"value":101},{"type":43,"tag":136,"props":249,"children":250},{},[251],{"type":48,"value":252},"The scan scope is explicit and compatible with scheduled daily runs.",{"type":48,"value":94},{"type":48,"value":81},{"type":48,"value":67},{"type":48,"value":67},{"type":43,"tag":76,"props":258,"children":260},{"name":259},"triage",[261,262,267,268,422],{"type":48,"value":81},{"type":43,"tag":83,"props":263,"children":264},{},[265],{"type":48,"value":266},"Identify, rank, and explain the Better Stack signals worth attention.",{"type":48,"value":81},{"type":43,"tag":90,"props":269,"children":270},{},[271,272,323,324,375,376,421],{"type":48,"value":94},{"type":43,"tag":96,"props":273,"children":274},{"number":98},[275,276,281,282,287,288,316,317,322],{"type":48,"value":101},{"type":43,"tag":103,"props":277,"children":278},{},[279],{"type":48,"value":280},"Collect Better Stack evidence",{"type":48,"value":101},{"type":43,"tag":83,"props":283,"children":284},{},[285],{"type":48,"value":286},"Gather enough evidence to distinguish real problems from noise.",{"type":48,"value":101},{"type":43,"tag":116,"props":289,"children":290},{},[291,292,297,298,303,304,309,310,315],{"type":48,"value":120},{"type":43,"tag":122,"props":293,"children":294},{},[295],{"type":48,"value":296},"Inspect relevant logs, warnings, errors, incidents, uptime checks, telemetry queries, service names, environment tags, timestamps, and rough counts for candidate findings.",{"type":48,"value":120},{"type":43,"tag":122,"props":299,"children":300},{},[301],{"type":48,"value":302},"Summarize representative error messages and event shapes without pasting raw logs, full payloads, credentials, personal data, or high-volume samples.",{"type":48,"value":120},{"type":43,"tag":122,"props":305,"children":306},{},[307],{"type":48,"value":308},"Use repository inspection only to map a high-confidence signal to a likely subsystem, code path, package, or recent change.",{"type":48,"value":120},{"type":43,"tag":122,"props":311,"children":312},{},[313],{"type":48,"value":314},"When possible, compare current frequency to a recent baseline before calling something materially worse.",{"type":48,"value":101},{"type":48,"value":101},{"type":43,"tag":136,"props":318,"children":319},{},[320],{"type":48,"value":321},"Each candidate has enough source-backed evidence to rank or discard it.",{"type":48,"value":94},{"type":48,"value":94},{"type":43,"tag":96,"props":325,"children":326},{"number":145},[327,328,333,334,339,340,368,369,374],{"type":48,"value":101},{"type":43,"tag":103,"props":329,"children":330},{},[331],{"type":48,"value":332},"Prioritize actionable signals",{"type":48,"value":101},{"type":43,"tag":83,"props":335,"children":336},{},[337],{"type":48,"value":338},"Keep only signals materially worth attention today.",{"type":48,"value":101},{"type":43,"tag":116,"props":341,"children":342},{},[343,344,349,350,355,356,361,362,367],{"type":48,"value":120},{"type":43,"tag":122,"props":345,"children":346},{},[347],{"type":48,"value":348},"Prioritize by user impact, operational cost, frequency or repetition, severity or blast radius, and confidence that this is a real Roomote problem rather than third-party flakiness.",{"type":48,"value":120},{"type":43,"tag":122,"props":351,"children":352},{},[353],{"type":48,"value":354},"Deprioritize low-volume one-offs, already-known noisy patterns, and preview-only flakes unlikely to reach production.",{"type":48,"value":120},{"type":43,"tag":122,"props":357,"children":358},{},[359],{"type":48,"value":360},"Call out preview-only signals likely to become production problems later.",{"type":48,"value":120},{"type":43,"tag":122,"props":363,"children":364},{},[365],{"type":48,"value":366},"Use the recommendation vocabulary `fix-now | watch | deprioritize | adjust-threshold | improve-logging | investigate-flapping`. Do not mutate Better Stack state.",{"type":48,"value":101},{"type":48,"value":101},{"type":43,"tag":136,"props":370,"children":371},{},[372],{"type":48,"value":373},"The final findings are signal-heavy and ordered by expected value.",{"type":48,"value":94},{"type":48,"value":94},{"type":43,"tag":96,"props":377,"children":378},{"number":204},[379,380,385,386,391,392,414,415,420],{"type":48,"value":101},{"type":43,"tag":103,"props":381,"children":382},{},[383],{"type":48,"value":384},"Cross-check when useful",{"type":48,"value":101},{"type":43,"tag":83,"props":387,"children":388},{},[389],{"type":48,"value":390},"Use Sentry only to clarify high-value Better Stack findings.",{"type":48,"value":101},{"type":43,"tag":116,"props":393,"children":394},{},[395,396,401,402,407,408,413],{"type":48,"value":120},{"type":43,"tag":122,"props":397,"children":398},{},[399],{"type":48,"value":400},"If the Sentry MCP (`mcp__sentry__*`) is already available and a cross-check would materially change confidence on a high-value finding, inspect relevant Sentry issues or events around the same time window.",{"type":48,"value":120},{"type":43,"tag":122,"props":403,"children":404},{},[405],{"type":48,"value":406},"Do not turn this into a combined observability sweep. Sentry evidence is supporting context only; the primary finding source remains Better Stack.",{"type":48,"value":120},{"type":43,"tag":122,"props":409,"children":410},{},[411],{"type":48,"value":412},"If cross-checking is not available or not useful, say so briefly only when it affects confidence.",{"type":48,"value":101},{"type":48,"value":101},{"type":43,"tag":136,"props":416,"children":417},{},[418],{"type":48,"value":419},"Cross-source evidence improves confidence without broadening the scope beyond Better Stack triage.",{"type":48,"value":94},{"type":48,"value":81},{"type":48,"value":67},{"type":48,"value":67},{"type":43,"tag":76,"props":425,"children":427},{"name":426},"reporting",[428,429,434,435,543],{"type":48,"value":81},{"type":43,"tag":83,"props":430,"children":431},{},[432],{"type":48,"value":433},"Produce the triage artifact and report the outcome.",{"type":48,"value":81},{"type":43,"tag":90,"props":436,"children":437},{},[438,439,496,497,542],{"type":48,"value":94},{"type":43,"tag":96,"props":440,"children":441},{"number":98},[442,443,448,449,454,455,489,490,495],{"type":48,"value":101},{"type":43,"tag":103,"props":444,"children":445},{},[446],{"type":48,"value":447},"Write the triage report",{"type":48,"value":101},{"type":43,"tag":83,"props":450,"children":451},{},[452],{"type":48,"value":453},"Return a concise, structured artifact or inline report.",{"type":48,"value":101},{"type":43,"tag":116,"props":456,"children":457},{},[458,459,464,465,470,471,476,477,482,483,488],{"type":48,"value":120},{"type":43,"tag":122,"props":460,"children":461},{},[462],{"type":48,"value":463},"When artifact tooling is available, create a concise markdown artifact; otherwise return the report inline.",{"type":48,"value":120},{"type":43,"tag":122,"props":466,"children":467},{},[468],{"type":48,"value":469},"Start with a short executive summary that names the scan window, overall risk, and highest-priority finding or no-op result.",{"type":48,"value":120},{"type":43,"tag":122,"props":472,"children":473},{},[474],{"type":48,"value":475},"Group findings into `Affects production`, `Affects preview`, and `Affects both`. Add `Environment unclear` only when Better Stack evidence does not expose environment reliably.",{"type":48,"value":120},{"type":43,"tag":122,"props":478,"children":479},{},[480],{"type":48,"value":481},"Order items within each group by priority. For each item include a short title, environment, why it matters, how it was found, severity (`high | medium-high | medium | low-medium | low`), rough Better Stack evidence counts, product-facing vs operational classification, likely code path or subsystem, confidence, and recommendation from the Better Stack vocabulary above.",{"type":48,"value":120},{"type":43,"tag":122,"props":484,"children":485},{},[486],{"type":48,"value":487},"Include log query summaries, monitor names, incident IDs, or links when available, but avoid raw logs, full payloads, and sensitive event data.",{"type":48,"value":101},{"type":48,"value":101},{"type":43,"tag":136,"props":491,"children":492},{},[493],{"type":48,"value":494},"The report is concise, source-backed, and usable as a chore-quality evaluation artifact.",{"type":48,"value":94},{"type":48,"value":94},{"type":43,"tag":96,"props":498,"children":499},{"number":145},[500,501,506,507,512,513,535,536,541],{"type":48,"value":101},{"type":43,"tag":103,"props":502,"children":503},{},[504],{"type":48,"value":505},"Report the run outcome",{"type":48,"value":101},{"type":43,"tag":83,"props":508,"children":509},{},[510],{"type":48,"value":511},"Finish with a compact status that matches the evidence.",{"type":48,"value":101},{"type":43,"tag":116,"props":514,"children":515},{},[516,517,522,523,528,529,534],{"type":48,"value":120},{"type":43,"tag":122,"props":518,"children":519},{},[520],{"type":48,"value":521},"Summarize the number of findings by severity and environment, the top recommended next action, and any MCP or evidence gaps.",{"type":48,"value":120},{"type":43,"tag":122,"props":524,"children":525},{},[526],{"type":48,"value":527},"If no issues were worth attention, state what was scanned and why no action is recommended.",{"type":48,"value":120},{"type":43,"tag":122,"props":530,"children":531},{},[532],{"type":48,"value":533},"Do not claim a code fix was made unless the task explicitly changed repository files and validated them.",{"type":48,"value":101},{"type":48,"value":101},{"type":43,"tag":136,"props":537,"children":538},{},[539],{"type":48,"value":540},"The final response matches the report and any blockers.",{"type":48,"value":94},{"type":48,"value":81},{"type":48,"value":67},{"type":43,"tag":51,"props":545,"children":546},{},[547,549,564,569,574,579],{"type":48,"value":548},"\u003Ccompletion_criteria>\n",{"type":43,"tag":550,"props":551,"children":552},"criterion",{},[553,555,562],{"type":48,"value":554},"The workflow used the Better Stack MCP (",{"type":43,"tag":556,"props":557,"children":559},"code",{"className":558},[],[560],{"type":48,"value":561},"mcp__betterstack__*",{"type":48,"value":563},") as the primary source or reported a clear MCP or setup blocker.",{"type":43,"tag":550,"props":565,"children":566},{},[567],{"type":48,"value":568},"The scan covered the requested window or the last 24 hours by default, with production and preview considered separately.",{"type":43,"tag":550,"props":570,"children":571},{},[572],{"type":48,"value":573},"The report included only signals materially worth attention today, ordered by impact and confidence.",{"type":43,"tag":550,"props":575,"children":576},{},[577],{"type":48,"value":578},"The workflow did not mutate Better Stack state unless explicitly requested.",{"type":48,"value":580},"\n\u003C\u002Fcompletion_criteria>\n",{"type":43,"tag":51,"props":582,"children":583},{},[584,586,609,627],{"type":48,"value":585},"\u003Cbest_practices>\n",{"type":43,"tag":587,"props":588,"children":590},"guideline",{"priority":589},"high",[591,597,603],{"type":43,"tag":592,"props":593,"children":594},"rule",{},[595],{"type":48,"value":596},"Optimize for triage quality, not log volume.",{"type":43,"tag":598,"props":599,"children":600},"rationale",{},[601],{"type":48,"value":602},"The chore lab needs to learn which Better Stack chores create value; noisy reports obscure that feedback loop.",{"type":43,"tag":604,"props":605,"children":606},"exceptions",{},[607],{"type":48,"value":608},"Include lower-confidence items only when their potential blast radius is high enough to justify attention.",{"type":43,"tag":587,"props":610,"children":611},{"priority":589},[612,617,622],{"type":43,"tag":592,"props":613,"children":614},{},[615],{"type":48,"value":616},"Stay read-only by default.",{"type":43,"tag":598,"props":618,"children":619},{},[620],{"type":48,"value":621},"Scheduled observability scans should be trustworthy and reversible; vendor state changes need explicit intent.",{"type":43,"tag":604,"props":623,"children":624},{},[625],{"type":48,"value":626},"Only mutate Better Stack state when the user explicitly asks for that action in the task.",{"type":48,"value":628},"\n\u003C\u002Fbest_practices>",{"type":43,"tag":630,"props":631,"children":632},"patterns",{},[633,634,653,654],{"type":48,"value":67},{"type":43,"tag":635,"props":636,"children":638},"pattern",{"name":637},"daily_better_stack_scan",[639,640,645,646,652],{"type":48,"value":81},{"type":43,"tag":83,"props":641,"children":642},{},[643],{"type":48,"value":644},"Default scheduled triage run.",{"type":48,"value":81},{"type":43,"tag":647,"props":648,"children":649},"template",{},[650],{"type":48,"value":651},"verify Better Stack MCP -> scan last 24 hours across production and preview -> inspect errors, warnings, incidents, uptime, and telemetry anomalies -> rank actionable findings -> optionally cross-check high-value items -> report",{"type":48,"value":67},{"type":48,"value":67},{"type":43,"tag":635,"props":655,"children":657},{"name":656},"monitor_or_logging_hygiene",[658,659,664,665,670],{"type":48,"value":81},{"type":43,"tag":83,"props":660,"children":661},{},[662],{"type":48,"value":663},"Suggest vendor-side hygiene without mutating Better Stack state.",{"type":48,"value":81},{"type":43,"tag":647,"props":666,"children":667},{},[668],{"type":48,"value":669},"signal appears caused by alert flapping, overly broad warnings, or weak log labels -> include evidence-backed recommendation to watch, adjust threshold, or improve logging -> report",{"type":48,"value":67},{"items":672,"total":829},[673,689,705,717,731,745,763,773,782,794,805,818],{"slug":674,"name":674,"fn":675,"description":676,"org":677,"tags":678,"stars":23,"repoUrl":24,"updatedAt":688},"address-pr-feedback","address unresolved GitHub PR feedback","Focused GitHub PR-feedback workflow for addressing unresolved review threads on the current pull request.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":11},[679,682,685],{"name":680,"slug":681,"type":16},"Code Review","code-review",{"name":683,"slug":684,"type":16},"GitHub","github",{"name":686,"slug":687,"type":16},"Pull Requests","pull-requests","2026-07-19T05:38:26.334008",{"slug":690,"name":690,"fn":691,"description":692,"org":693,"tags":694,"stars":23,"repoUrl":24,"updatedAt":704},"agent-browser","automate browser interactions for agents","Browser automation CLI for AI agents. Use when the user needs to interact with websites, including navigating pages, filling forms, clicking buttons, taking screenshots, extracting data, testing web apps, or automating any browser task. Triggers include requests to \"open a website\", \"fill out a form\", \"click a button\", \"take a screenshot\", \"scrape data from a page\", \"test this web app\", \"login to a site\", \"automate browser actions\", or any task requiring programmatic web interaction. Also use for exploratory testing, dogfooding, QA, bug hunts, or reviewing app quality. Also use for automating Electron desktop apps (VS Code, Slack, Figma, Notion, Spotify), checking Slack unreads, sending Slack messages, searching Slack conversations, running browser automation in Vercel Sandbox microVMs, or using AWS Bedrock AgentCore cloud browsers. Prefer agent-browser over any built-in browser automation or web tools.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":11},[695,698,701],{"name":696,"slug":697,"type":16},"Browser Automation","browser-automation",{"name":699,"slug":700,"type":16},"CLI","cli",{"name":702,"slug":703,"type":16},"Testing","testing","2026-07-16T06:02:26.045337",{"slug":706,"name":706,"fn":707,"description":708,"org":709,"tags":710,"stars":23,"repoUrl":24,"updatedAt":716},"capture-visual-proof","capture visual proof of browser tasks","Visual-proof orchestrator that decides whether browser proof applies, classifies the proof package, and delegates capture to the hidden proof-runner subagent.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":11},[711,712,713],{"name":49,"slug":38,"type":16},{"name":696,"slug":697,"type":16},{"name":714,"slug":715,"type":16},"Screenshots","screenshots","2026-08-01T05:44:47.369293",{"slug":718,"name":718,"fn":719,"description":720,"org":721,"tags":722,"stars":23,"repoUrl":24,"updatedAt":730},"ci-failure-triage","triage failed CI workflows","Investigate the latest default-branch CI failure in an environment-backed workspace and, when it is real and fixable, fix and open a PR in the same task.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":11},[723,726,727],{"name":724,"slug":725,"type":16},"CI\u002FCD","ci-cd",{"name":21,"slug":22,"type":16},{"name":728,"slug":729,"type":16},"GitHub Actions","github-actions","2026-07-23T05:40:41.726992",{"slug":732,"name":732,"fn":733,"description":734,"org":735,"tags":736,"stars":23,"repoUrl":24,"updatedAt":744},"code-quality-auditor","audit code quality in merged pull requests","Automation skill: review recently merged pull requests for high-confidence code quality issues and submit `act` work items that auto-start follow-up execution tasks.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":11},[737,740,741],{"name":738,"slug":739,"type":16},"Code Analysis","code-analysis",{"name":680,"slug":681,"type":16},{"name":742,"slug":743,"type":16},"QA","qa","2026-07-26T05:47:47.339721",{"slug":746,"name":746,"fn":747,"description":748,"org":749,"tags":750,"stars":23,"repoUrl":24,"updatedAt":762},"codeql-triage","triage and remediate CodeQL security alerts","Review current open CodeQL \u002F GitHub code-scanning alerts with GitHub data, keep scheduled runs read-only, and submit a small set of environment-backed `act` work items that auto-start remediation execution tasks.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":11},[751,752,755,756,757,760],{"name":738,"slug":739,"type":16},{"name":753,"slug":754,"type":16},"CodeQL","codeql",{"name":21,"slug":22,"type":16},{"name":683,"slug":684,"type":16},{"name":758,"slug":759,"type":16},"Security","security",{"name":761,"slug":259,"type":16},"Triage","2026-07-29T05:39:37.784486",{"slug":764,"name":764,"fn":765,"description":766,"org":767,"tags":768,"stars":23,"repoUrl":24,"updatedAt":772},"create-draft-pr","create draft pull requests","Draft pull-request creation workflow. Use when repositories have pending changes or unpushed commits and you want draft PRs created.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":11},[769,770,771],{"name":49,"slug":38,"type":16},{"name":683,"slug":684,"type":16},{"name":686,"slug":687,"type":16},"2026-07-16T06:00:31.733527",{"slug":774,"name":774,"fn":775,"description":776,"org":777,"tags":778,"stars":23,"repoUrl":24,"updatedAt":781},"create-pr","create pull requests for pending changes","Pull-request creation workflow. Use when repositories have pending changes or unpushed commits and you want ready-for-review PRs created.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":11},[779,780],{"name":683,"slug":684,"type":16},{"name":686,"slug":687,"type":16},"2026-07-16T06:03:03.397562",{"slug":783,"name":783,"fn":784,"description":785,"org":786,"tags":787,"stars":23,"repoUrl":24,"updatedAt":793},"debug-reported-bug","reproduce and debug reported bugs","Reproduce-first bug diagnosis workflow. Use when a reported bug needs to be reproduced, reduced to a deterministic failing check, and traced through git history or `git bisect` so the exact cause is understood before any fix is attempted.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":11},[788,789,792],{"name":21,"slug":22,"type":16},{"name":790,"slug":791,"type":16},"Git","git",{"name":702,"slug":703,"type":16},"2026-07-16T06:03:07.255013",{"slug":795,"name":795,"fn":796,"description":797,"org":798,"tags":799,"stars":23,"repoUrl":24,"updatedAt":804},"dependabot-triage","triage GitHub Dependabot alerts","Review current open Dependabot alerts with GitHub data, keep scheduled runs read-only, and submit a small set of environment-backed `act` work items that auto-start dependency-update execution tasks.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":11},[800,801,802,803],{"name":49,"slug":38,"type":16},{"name":683,"slug":684,"type":16},{"name":758,"slug":759,"type":16},{"name":761,"slug":259,"type":16},"2026-07-29T05:39:38.757423",{"slug":806,"name":806,"fn":807,"description":808,"org":809,"tags":810,"stars":23,"repoUrl":24,"updatedAt":817},"environment-setup","configure local development environments","Internal skill to configure environments. Never use unless the user explicitly initiates the skill. Focus on localhost-ready setup and validation.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":11},[811,814],{"name":812,"slug":813,"type":16},"Configuration","configuration",{"name":815,"slug":816,"type":16},"Local Development","local-development","2026-08-01T05:44:46.333988",{"slug":819,"name":819,"fn":820,"description":821,"org":822,"tags":823,"stars":23,"repoUrl":24,"updatedAt":828},"explain-repo-code","explain repository code and architecture","Explanation-only repository workflow. Use when the user asks to understand behavior, architecture, or rationale from source context without modifying files.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":11},[824,825],{"name":738,"slug":739,"type":16},{"name":826,"slug":827,"type":16},"Documentation","documentation","2026-07-16T06:00:34.090082",33,{"items":831,"total":829},[832,838,844,850,856,862,871],{"slug":674,"name":674,"fn":675,"description":676,"org":833,"tags":834,"stars":23,"repoUrl":24,"updatedAt":688},{"slug":8,"name":9,"logoUrl":10,"githubOrg":11},[835,836,837],{"name":680,"slug":681,"type":16},{"name":683,"slug":684,"type":16},{"name":686,"slug":687,"type":16},{"slug":690,"name":690,"fn":691,"description":692,"org":839,"tags":840,"stars":23,"repoUrl":24,"updatedAt":704},{"slug":8,"name":9,"logoUrl":10,"githubOrg":11},[841,842,843],{"name":696,"slug":697,"type":16},{"name":699,"slug":700,"type":16},{"name":702,"slug":703,"type":16},{"slug":706,"name":706,"fn":707,"description":708,"org":845,"tags":846,"stars":23,"repoUrl":24,"updatedAt":716},{"slug":8,"name":9,"logoUrl":10,"githubOrg":11},[847,848,849],{"name":49,"slug":38,"type":16},{"name":696,"slug":697,"type":16},{"name":714,"slug":715,"type":16},{"slug":718,"name":718,"fn":719,"description":720,"org":851,"tags":852,"stars":23,"repoUrl":24,"updatedAt":730},{"slug":8,"name":9,"logoUrl":10,"githubOrg":11},[853,854,855],{"name":724,"slug":725,"type":16},{"name":21,"slug":22,"type":16},{"name":728,"slug":729,"type":16},{"slug":732,"name":732,"fn":733,"description":734,"org":857,"tags":858,"stars":23,"repoUrl":24,"updatedAt":744},{"slug":8,"name":9,"logoUrl":10,"githubOrg":11},[859,860,861],{"name":738,"slug":739,"type":16},{"name":680,"slug":681,"type":16},{"name":742,"slug":743,"type":16},{"slug":746,"name":746,"fn":747,"description":748,"org":863,"tags":864,"stars":23,"repoUrl":24,"updatedAt":762},{"slug":8,"name":9,"logoUrl":10,"githubOrg":11},[865,866,867,868,869,870],{"name":738,"slug":739,"type":16},{"name":753,"slug":754,"type":16},{"name":21,"slug":22,"type":16},{"name":683,"slug":684,"type":16},{"name":758,"slug":759,"type":16},{"name":761,"slug":259,"type":16},{"slug":764,"name":764,"fn":765,"description":766,"org":872,"tags":873,"stars":23,"repoUrl":24,"updatedAt":772},{"slug":8,"name":9,"logoUrl":10,"githubOrg":11},[874,875,876],{"name":49,"slug":38,"type":16},{"name":683,"slug":684,"type":16},{"name":686,"slug":687,"type":16}]