responsive — independently scanned and version-tracked by SaferSkills.
SaferSkills independently audited responsive (Agent Skill) and scored it 96/100 (green). The audit ran 55 deterministic rules across Security, Supply Chain, Maintenance, Transparency, and Community; it found 0 high-severity and 1 lower-severity findings. The full rule-by-rule trace and per-finding evidence are below. Free, methodology-open.
Findings & checks · 1 flagged
The text {match} tells the agent to skip the normal "ask the user first" gate. Used adversarially it removes the human-in-the-loop check before destructive or sensitive actions, turning a normally-gated agent into a fire-and-forget executor.
Every scanned point with the score it earned and what moved between them.
First recorded scan — no prior version to compare against.
The primary manifest — the file an agent reads to learn what this artifact does.
You are in AUTONOMOUS MODE. Do NOT ask questions. Execute the full pipeline below without pausing for user input. Make reasonable decisions using sensible defaults.
PURPOSE: Audit the current project for responsive design issues across standard breakpoints. Find and fix fixed widths that break on mobile, missing media queries, non-responsive images, overflow problems, undersized touch targets, and unreadable text on small screens. Verify no horizontal scroll at any breakpoint.
INPUT: $ARGUMENTS
The user may specify:
If no arguments, audit the entire project across all default breakpoints.
============================================================ PHASE 1 -- FRAMEWORK AND LAYOUT DETECTION ============================================================
Detect the frontend framework and existing responsive patterns:
| Indicator | Framework | Responsive System |
|---|---|---|
| pubspec.yaml | Flutter | MediaQuery, LayoutBuilder, Expanded, Flexible |
| tailwind.config.* | Tailwind CSS | Breakpoint prefixes (sm:, md:, lg:, xl:, 2xl:) |
| package.json with "next" or "react" | React/Next.js | CSS media queries, Container queries |
| package.json with "vue" | Vue | CSS media queries, Container queries |
| package.json with "@angular/core" | Angular | CSS media queries, Angular CDK BreakpointObserver |
| *.module.css | CSS Modules | CSS media queries within modules |
| styled-components/emotion | CSS-in-JS | Media query helpers |
Check for existing responsive infrastructure:
Record: FRAMEWORK, RESPONSIVE_SYSTEM, BREAKPOINTS, SRC_DIR
Define working breakpoints (override with user input if provided):
============================================================ PHASE 2 -- RESPONSIVE ISSUE SCAN ============================================================
Scan every screen and component file for responsive design violations.
Step 2.1 -- Fixed Width Issues
Search for elements with fixed widths that will break on smaller screens:
width: Npx where N > 375 without a max-width or responsive wrapperw-[Npx] or w-96 etc. without responsive variantsSizedBox(width: N) or Container(width: N) where N > screen widthstyle="width: Npx"For each fixed width found, classify:
Step 2.2 -- Missing Responsive Variants
Check for styles that lack breakpoint-appropriate variants:
Step 2.3 -- Image Responsiveness
Check all images for responsive handling:
max-width: 100% or equivalentsrcset or responsive image component usagefit property or without constraintsStep 2.4 -- Overflow Detection
Search for elements that may cause horizontal scroll:
overflow: hidden that cuts content rather than handling it properlyoverflow-x: auto that creates unexpected scroll areaswhite-space: nowrap on text that could be longStep 2.5 -- Touch Target Audit
Scan all interactive elements for minimum touch target size:
Step 2.6 -- Typography Scaling
Check text readability across breakpoints:
============================================================ PHASE 3 -- RESPONSIVE FIXES ============================================================
Fix all issues found in Phase 2, ordered by severity.
Step 3.1 -- Fix Breaking Width Issues
For each BREAKING fixed width:
width: 100% with max-width: Npxw-full max-w-lg or responsive variants w-full md:w-96Expanded, Flexible, ConstrainedBox, or MediaQuery based sizingStep 3.2 -- Add Responsive Variants
For layouts missing responsive behavior:
grid-template-columns: repeat(auto-fit, minmax(280px, 1fr))grid-cols-1 md:grid-cols-2 lg:grid-cols-3LayoutBuilder to switch between column countsclamp() for fluid typography: font-size: clamp(1.5rem, 4vw, 2.5rem)text-xl md:text-2xl lg:text-4xlMediaQuery.textScalerOf(context) awarenesspadding: 16px at mobile, padding: 32px at desktopp-4 md:p-8MediaQuery.sizeOf(context) to adjust EdgeInsetsStep 3.3 -- Fix Image Responsiveness
For each non-responsive image:
max-width: 100%; height: auto; or equivalentsrcset and sizes attributes for resolution switching<picture> element or framework image component (next/image, CachedNetworkImage)loading="lazy" for below-fold imagesfit: BoxFit.cover or BoxFit.contain with constrained parentStep 3.4 -- Fix Overflow Issues
For each overflow violation:
overflow-wrap: break-word or text-overflow: ellipsis as appropriateStep 3.5 -- Fix Touch Targets
For each undersized touch target:
min-height and min-width to interactive elementsconstraints: BoxConstraints(minWidth: 48, minHeight: 48) on tappable widgetsStep 3.6 -- Fix Typography Issues
For each typography problem:
max-width: 65ch to text containers on wide screensCommit per category:
============================================================ PHASE 4 -- BREAKPOINT VERIFICATION ============================================================
Walk through every screen at each breakpoint and verify:
| Screen | 375px | 428px | 768px | 1024px | 1280px | 1920px |
|---|---|---|---|---|---|---|
| Home | OK/ISSUE | OK/ISSUE | OK/ISSUE | OK/ISSUE | OK/ISSUE | OK/ISSUE |
For each screen at each breakpoint, check:
Fix any remaining issues discovered during verification.
============================================================ PHASE 5 -- STATIC ANALYSIS ============================================================
Run the framework's static analysis:
flutter analyzetsc --noEmitFix all errors and warnings introduced by responsive changes.
============================================================ SELF-HEALING VALIDATION (max 3 iterations) ============================================================
After completing fixes, re-validate:
STOP when:
IF STILL FAILING after 3 iterations:
============================================================ OUTPUT ============================================================
## Responsive Audit Complete
### Framework: [detected]
### Breakpoints Tested: 375px, 428px, 768px, 1024px, 1280px, 1920px
### Issues Found and Fixed
| Category | Found | Fixed | Remaining |
|----------|-------|-------|-----------|
| Fixed widths (breaking) | N | N | N |
| Missing responsive variants | N | N | N |
| Non-responsive images | N | N | N |
| Overflow / horizontal scroll | N | N | N |
| Touch targets < 48px | N | N | N |
| Typography scaling issues | N | N | N |
### Breakpoint Verification Matrix
| Screen | Mobile | Tablet | Desktop | Wide |
|--------|--------|--------|---------|------|
| [name] | PASS/FAIL | PASS/FAIL | PASS/FAIL | PASS/FAIL |
### Files Modified
| File | Changes |
|------|---------|
| [path] | [description] |
### Verdict
RESPONSIVE READY: All screens pass at all breakpoints. No horizontal scroll.
NEEDS WORK: [N] screens have remaining issues at [breakpoints].============================================================ NEXT STEPS ============================================================
After responsive audit:
/ux for a full UX and accessibility audit."/dark-mode to verify dark mode works across all breakpoints."/design-system to ensure responsive tokens are part of the design system."/qa to verify responsive changes did not break functionality."============================================================ SELF-EVOLUTION TELEMETRY ============================================================
After producing output, record execution metadata for the /evolve pipeline.
Check if a project memory directory exists:
~/.claude/projects/skill-telemetry.md in that memory directoryEntry format:
### /responsive — {{YYYY-MM-DD}}
- Outcome: {{SUCCESS | PARTIAL | FAILED}}
- Self-healed: {{yes — what was healed | no}}
- Iterations used: {{N}} / {{N max}}
- Bottleneck: {{phase that struggled or "none"}}
- Suggestion: {{one-line improvement idea for /evolve, or "none"}}Only log if the memory directory exists. Skip silently if not found. Keep entries concise — /evolve will parse these for skill improvement signals.
============================================================ DO NOT ============================================================
display: none unless it is truly optional -- provide an alternative way to access it.user-scalable=no or maximum-scale=1 -- this is an accessibility violation.!important to fix responsive issues -- fix the specificity or cascade instead.~30 seconds. Free. No account. Every finding cites a rule and a line of evidence.