no-workarounds

Detect and reject workaround patterns in code fixes to enforce root-cause resolution.

Updated Aug 15, 2025
One-click install
npx skills add https://github.com/yehezkieldio/topaz --skill no-workarounds-yehezkieldio
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: no-workarounds
Source: https://github.com/yehezkieldio/topaz/tree/main/.agents/skills/no-workarounds
Command: npx skills add https://github.com/yehezkieldio/topaz --skill no-workarounds-yehezkieldio

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill includes references (resource) components.

What problem does it solve? Developers under time pressure often silence symptoms instead of fixing root causes, using type assertions, lint suppressions, empty catch blocks, arbitrary delays, and copy-paste adaptations that compound into expensive technical debt. This Skill provides gate functions and detection rules that catch these patterns before they enter the codebase. ## Core Features & Use Cases - Seven Workaround Categories: Detects type system evasion, lint suppression, error swallowing, timing hacks, monkey patching, defensive duplication, and copy-paste adaptation with concrete before/after code examples. - Gate Functions: Provides pre-fix checklists that force root-cause analysis before any fix is proposed, including an escape valve process for genuinely unavoidable workarounds. - Reference Catalog: Ships a 30-pattern workaround catalog and philosophical foundations drawn from Toyota's Jidoka, Fowler's Technical Debt Quadrant, and the Broken Windows Theory. - Use Case: When a TypeScript build fails and the instinct is to add as any or @ts-ignore, activate this Skill to trace the actual type mismatch and fix the type definition or API contract instead. ## Quick Start Review my proposed bug fix and reject any workarounds, then guide me to a root-cause solution.

Frequently Asked Questions about no-workarounds

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

FAQPage Schema
How do I fix bugs without using workarounds?

State the problem, ask why it exists rather than how to make it stop, and trace to the root cause before proposing any fix. Verify the fix addresses the source rather than silencing a signal like a compiler error or test failure.

What are common code workaround patterns to avoid?

The seven categories are type system evasion (as, any), lint suppression (@ts-ignore, eslint-disable), error swallowing (empty catch), timing hacks (setTimeout, arbitrary sleeps), monkey patching, defensive duplication (scattered optional chaining), and copy-paste adaptation.

When is a workaround acceptable in software engineering?

Only when the root cause is in external code you do not control, the upstream fix has an uncertain timeline, business impact justifies the debt, and the workaround is isolated. It must be marked with a WORKAROUND comment, a tracking issue, tests, and a review date within 90 days.

Why is using 'as any' in TypeScript considered harmful?

Type assertions disable compile-time checking, converting catchable type errors into runtime failures. The proper fix is runtime validation with schema libraries or type guards, correcting the type definition, or fixing the API contract.

When should this Skill not be used?

Skip it for trivial formatting changes and documentation-only edits where no behavioral fix is involved. It is designed for debugging, bug fixing, test failures, architectural decisions, and code review scenarios.