user-submissions

Diagnose Composer feedback issues by analyzing R2 debug-log bundles for root causes.

518|49|Updated Apr 7, 2021
One-click install
npx skills add https://github.com/dxos/dxos --skill user-submissions
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: user-submissions
Source: https://github.com/dxos/dxos/tree/main/.agents/skills/user-submissions
Command: npx skills add https://github.com/dxos/dxos --skill user-submissions

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill includes scripts (resource) components.

What problem does it solve?

User bug reports submitted through the Composer feedback form are often a single word or literally "test", making them useless for triage. This Skill turns the attached NDJSON debug-log bundle stored in Cloudflare R2 into the actual report, guiding you to an evidence-based root cause instead of guessing from the issue title.

Core Features & Use Cases

  • Log retrieval from R2: Fetch the composer-feedback-logs-* NDJSON bundle referenced in a Linear issue using S3-signed curl requests with environment or 1Password credentials.
  • Evidence-based triage: Build level histograms, extract distinct warn/error messages, reconstruct session timelines, and correlate identifiers across subsystems to pinpoint the exact code statement causing the bug.
  • Two enforced outcomes: Either fix the root cause with a regression test and PR citing log evidence, or land a targeted logging PR that instruments the blind spot so the next occurrence is diagnosable.
  • Use Case: A Linear issue DX-1234 labelled "Composer Feedback Form" says only "sync broken". You fetch the attached 50 MB log bundle, find a sync loop repeating the same non-empty diff every few seconds, trace it to a guard short-circuit in the code, and open a fix PR quoting the exact log lines.

Quick Start

Triage the Linear issue DX-1234 from the Composer feedback form by fetching its attached debug logs and finding the root cause.

Frequently Asked Questions about user-submissions

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I triage a Composer feedback form issue in Linear?

Fetch the NDJSON debug-log bundle named in the issue body from Cloudflare R2 using the provided curl command, then analyze log levels, warnings, and errors to reconstruct the session. Never triage from the issue title or the user's prose alone.

How do I download Composer feedback logs from Cloudflare R2?

Use curl with --aws-sigv4 'aws:amz:auto:s3' and the R2_ACCESS_KEY_ID and R2_SECRET_ACCESS_KEY environment variables against the R2 endpoint URL in the issue. Locally, retrieve the read-only token from 1Password under Shared/Composer survey logs.

What format are Composer debug logs and how do I parse them?

The logs are NDJSON with one JSON object per line using short keys: t for timestamp, l for level, m for message, f for source file, and c for JSON-stringified context. Parse each line with json.loads and aggregate levels and messages with a Counter.

What if the debug logs do not explain the reported bug?

Do not guess or close the issue as insufficient information. Open a logging PR that instruments the specific blind spot, such as silent branches, swallowed errors, or missing boundary traces, so the next occurrence is diagnosable.

Why does a clean log with no errors still indicate a bug?

A bundle with zero error lines can hide a stuck state whose signature is a loop repeating without its payload changing. Bucket activity per second and look for a cadence that never converges, such as the same non-empty diff every few seconds.