skills/cleanexpo/build-diagnostics/SKILL.md
When given a blocker:
npx skillsauth add aiskillstore/marketplace build-diagnosticsInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
Purpose: When Truth Layer finds a blocker, this agent investigates root cause and implements fix.
Core Principle: Use all available tools to understand the problem fully before attempting solutions.
When given a blocker:
INPUT: Build fails - Turbopack cannot write manifest
├─ Step 1: Reproduce the error exactly
├─ Step 2: Gather all context (config, logs, environment)
├─ Step 3: Identify root cause (not symptom)
├─ Step 4: Check if known issue (MCP + web search)
├─ Step 5: Propose solution with confidence level
└─ OUTPUT: Detailed diagnosis + fix strategy
Don't accept surface symptoms:
Tools to Use:
When confident of root cause:
1. Create minimal reproducible fix
2. Test locally with same conditions
3. Verify no new problems introduced
4. Document what changed and why
5. Report back to Truth Layer for validation
Blocker: [description]
REPRODUCE
- Run exact command: [command]
- Capture full output: [log]
- Environment check: [NODE_VERSION, etc]
GATHER CONTEXT
- Config files reviewed: [list]
- Related code examined: [files]
- Error patterns found: [patterns]
ROOT CAUSE ANALYSIS
- Symptom: [what fails]
- Actual cause: [why it fails]
- Confidence: [X%]
- Affected systems: [what depends on this]
PROPOSED FIX
- Approach: [description]
- Risk level: [low/medium/high]
- Alternative solutions: [other approaches]
- Why this one: [rationale]
VALIDATION PLAN
- How to test: [specific steps]
- Success criteria: [measurable]
- Rollback plan: [if wrong]
BEFORE FIX STATE
- [Current configuration/state]
CHANGES
- [What's being changed]
- [Why this fixes it]
AFTER FIX STATE
- [New state]
- [Verification that it worked]
npm run build with full output capturenext.config.mjs, tsconfig.json, package.jsonnpm run typecheck to get full error listSYMPTOM: "Allocation failed - JavaScript heap out of memory"
ROOT CAUSE: Node heap too small for large codebase
FIX: Increase --max-old-space-size in package.json
VALIDATION: npm run build succeeds without memory errors
SYMPTOM: "Cannot write to path X"
ROOT CAUSE: Parent directories don't exist
FIX: Create directory structure with fs.mkdir recursive
VALIDATION: File write succeeds
SYMPTOM: "Type 'X' not assignable to 'Y'"
ROOT CAUSE: Function signature changed, call sites not updated
FIX: Either update interface or map values correctly
VALIDATION: npm run typecheck passes
SYMPTOM: "Cannot find module" or weird import errors
ROOT CAUSE: Files importing each other in circle
FIX: Extract shared code to third module
VALIDATION: Imports resolve cleanly
High Confidence (>80%):
Medium Confidence (50-80%):
Low Confidence (<50%):
If you hit these, STOP and ask for help:
Report Format for Escalation:
ESCALATION REQUIRED
INVESTIGATION SUMMARY
- What we know: [facts]
- What we tried: [attempts]
- Why it failed: [reasons]
POSSIBLE CAUSES (ranked by likelihood)
1. [X] - confidence [Y]%
2. [X] - confidence [Y]%
NEXT STEPS (need human input on)
- [Decision needed]
- [Preference between options]
- [Architectural guidance]
✅ Every blocker has root cause identified ✅ Fixes are minimal and isolated ✅ All fixes verified before returning to Truth Layer ✅ No new problems introduced ✅ Time: Thorough investigation beats rushed fixes
❌ "Let's just reboot and see if it helps" ❌ "I'll try random stuff until something works" ❌ "This error is probably not related to my change" ❌ Giving up and claiming it's not possible ❌ Making changes without understanding impact
Key Mantra:
"We don't fix symptoms. We fix root causes. And we verify before we claim victory."
development
Apple Human Interface Guidelines for content display components. Use this skill when the user asks about charts component, collection view, image view, web view, color well, image well, activity view, lockup, data visualization, content display, displaying images, rendering web content, color pickers, or presenting collections of items in Apple apps. Also use when the user says how should I display charts, what's the best way to show images, should I use a web view, how do I build a grid of items, what component shows media, or how do I present a share sheet. Cross-references: hig-foundations for color/typography/accessibility, hig-patterns for data visualization patterns, hig-components-layout for structural containers, hig-platforms for platform-specific component behavior.
tools
Automate HelpDesk tasks via Rube MCP (Composio): list tickets, manage views, use canned responses, and configure custom fields. Always search tools first for current schemas.
testing
Expert Haskell engineer specializing in advanced type systems, pure functional design, and high-reliability software. Use PROACTIVELY for type-level programming, concurrency, and architecture guidance.
tools
GraphQL gives clients exactly the data they need - no more, no less. One endpoint, typed schema, introspection. But the flexibility that makes it powerful also makes it dangerous. Without proper controls, clients can craft queries that bring down your server. This skill covers schema design, resolvers, DataLoader for N+1 prevention, federation for microservices, and client integration with Apollo/urql. Key insight: GraphQL is a contract. The schema is the API documentation. Design it carefully.