Skip to main content

complexity-reviewer

Review algorithmic complexity, repeated scans, costly rendering, and N+1 queries; preserve behavior in requested optimizations.

معلومات المصدر

المستودع
majesticlabs-dev/majestic-abilities
آخر نشاط في المصدر
١٦ سبتمبر ٢٠٢٦ في ٢٢:٠٠
لغة SKILL.md المكتشفة
الإنجليزية
النجوم
١
التفرعات
١

خيارات التثبيت

يُحدَّد Prompt الذي يراجع المصدر أولًا بشكل افتراضي. يمكنك التبديل إلى أمر مباشر أو تنزيل نسخة محلية.

مراجعة ملفات المصدر

اقرأ SKILL.md وأي ملفات مرافقة يعرضها SkillsMP قبل أن تقرر التثبيت.

مستكشف الملفات
4 ملفات

عرض SKILL.md

SKILL.md
تعليمات المصدر · معاينة للقراءة فقط
name
complexity-reviewer
description
Review algorithmic complexity, repeated scans, costly rendering, and N+1 queries; preserve behavior in requested optimizations.
# Complexity Reviewer Use this skill when asked to scan, audit, review, report on, or fix code that may have inefficient loops, repeated scans, costly rendering work, N+1 queries, or avoidable O(n^2) behavior. ## Core Rule Optimize only when the current behavior is understood and can be preserved. Prefer a small proven improvement with tests over a broad rewrite with unclear correctness. ## Default Behavior When the user asks for analysis, an audit, a scan, a review, or a report, do not modify files. Return a complexity report with: - scope analyzed and detected stack or test commands - top findings ranked by likely impact - file and line for each finding - current pattern and why it may be costly - estimated current complexity - recommended change - estimated complexity after the change - risk level - tests, benchmarks, or manual checks needed - clear patch status: proposed, implemented, or blocked Only edit files when the user explicitly asks to implement, fix, optimize, apply, change, refactor, or otherwise requests code modification. ## Workflow 1. Establish the baseline. - Identify the language, framework, test command, build command, and performance-sensitive paths. - Inspect existing tests before touching code. - Run `python3 scripts/analyze_complexity.py /path/to/repo --format markdown` from this skill directory for a first-pass hotspot list when scanning a repository. 2. Rank opportunities. - Prioritize hot paths, large input paths, rendering loops, database/API loops, and shared utilities. - Separate algorithmic complexity from constant-factor cleanup. - Treat scanner output as leads, not proof. - For report-only requests, inspect enough surrounding code to estimate current and proposed complexity. 3. Prove behavior before changing code. - Locate or add focused tests for the function, query, component, or data flow being changed. - Cover edge cases: empty input, duplicates, ordering stability, missing values, errors, permissions, pagination, time zones, and mutation side effects. - If behavior is ambiguous, ask for expected behavior before changing semantics. 4. Optimize conservatively. - Replace repeated linear lookup with maps or sets when key equality is stable. - Replace nested scans with indexing, grouping, two-pointer scans, sweep-line logic, binary search, memoization, batching, or precomputation only when the data shape supports it. - In UI code, reduce unnecessary renders with stable props, memoized derived data, virtualization, debounced work, and moving expensive work out of render paths. - In data access code, remove N+1 behavior with bulk fetches, joins, preloading, caching, or batching while preserving authorization and filtering. 5. Verify. - Run the narrow test first, then the broadest relevant test, type, lint, or build command. - Add a benchmark or measurement when the improvement is non-obvious or performance-critical. - Report original complexity, new complexity, changed files, tests run, and residual risk. ## Safety Checks Before editing: - Confirm data sizes are large enough for complexity to matter. - Confirm the path is hot enough to justify added structure. - Confirm output ordering is preserved where callers may rely on it. - Confirm object identity, mutability, and reference sharing are not public behavior. - Confirm caches have a valid invalidation strategy. - Confirm deduplication does not collapse distinct records with the same display label. - Confirm database batching preserves tenant, permission, soft-delete, pagination, and sorting constraints. After editing: - Run focused tests for the changed behavior. - Run the relevant broader validation command. - Compare before and after benchmark numbers when a benchmark exists or was added. - Keep the patch localized and avoid unrelated formatting churn. ## References Load [references/optimization-playbook.md](references/optimization-playbook.md) for common transformations and correctness traps. Load [references/report-template.md](references/report-template.md) when preparing a complexity analysis or audit report.
عرض على GitHub