tribunal-kit 9.2.4 → 9.2.5
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.agent/.manifest.json +78 -78
- package/.agent/.shared/ui-ux-pro-max/README.md +4 -4
- package/.agent/.tribunal/session.jsonl +15 -15
- package/.agent/ADRs/ADR-001-system-architecture-intelligence.md +49 -0
- package/.agent/ARCHITECTURE.md +63 -63
- package/.agent/agents/accessibility-reviewer.md +109 -109
- package/.agent/agents/agent-shield-auditor.md +18 -18
- package/.agent/agents/ai-code-reviewer.md +223 -223
- package/.agent/agents/anti-pattern-reviewer.md +104 -104
- package/.agent/agents/api-architect.md +89 -89
- package/.agent/agents/architecture-auditor.md +195 -0
- package/.agent/agents/backend-specialist.md +242 -242
- package/.agent/agents/cloud-engineer.md +120 -120
- package/.agent/agents/code-archaeologist.md +186 -186
- package/.agent/agents/complexity-reviewer.md +76 -76
- package/.agent/agents/database-architect.md +206 -206
- package/.agent/agents/db-latency-auditor.md +237 -237
- package/.agent/agents/debugger.md +215 -215
- package/.agent/agents/dependency-reviewer.md +124 -124
- package/.agent/agents/devops-engineer.md +240 -240
- package/.agent/agents/documentation-writer.md +228 -228
- package/.agent/agents/explorer-agent.md +186 -186
- package/.agent/agents/frontend-reviewer.md +195 -195
- package/.agent/agents/frontend-specialist.md +122 -122
- package/.agent/agents/game-developer.md +68 -68
- package/.agent/agents/harness-manager.md +49 -49
- package/.agent/agents/human-gate-negotiator.md +22 -22
- package/.agent/agents/interaction-reviewer.md +123 -123
- package/.agent/agents/kernel-scheduler.md +56 -56
- package/.agent/agents/logic-reviewer.md +147 -147
- package/.agent/agents/memory-archivist.md +37 -37
- package/.agent/agents/minimalist-reviewer.md +104 -104
- package/.agent/agents/mobile-developer.md +216 -216
- package/.agent/agents/mobile-reviewer.md +180 -180
- package/.agent/agents/orchestrator.md +268 -268
- package/.agent/agents/penetration-tester.md +180 -180
- package/.agent/agents/performance-optimizer.md +202 -202
- package/.agent/agents/performance-reviewer.md +180 -180
- package/.agent/agents/pipeline-reviewer.md +144 -144
- package/.agent/agents/precedence-reviewer.md +266 -266
- package/.agent/agents/product-manager.md +167 -167
- package/.agent/agents/product-owner.md +103 -103
- package/.agent/agents/product-reviewer.md +103 -103
- package/.agent/agents/project-planner.md +181 -181
- package/.agent/agents/qa-automation-engineer.md +244 -244
- package/.agent/agents/resilience-reviewer.md +108 -108
- package/.agent/agents/schema-reviewer.md +87 -87
- package/.agent/agents/security-auditor.md +204 -204
- package/.agent/agents/seo-specialist.md +213 -213
- package/.agent/agents/sql-reviewer.md +180 -180
- package/.agent/agents/supervisor-agent.md +202 -202
- package/.agent/agents/swarm-worker-contracts.md +170 -170
- package/.agent/agents/swarm-worker-registry.md +99 -99
- package/.agent/agents/system-architect.md +260 -105
- package/.agent/agents/test-coverage-reviewer.md +181 -181
- package/.agent/agents/test-engineer.md +138 -138
- package/.agent/agents/throughput-optimizer.md +316 -316
- package/.agent/agents/type-safety-reviewer.md +202 -202
- package/.agent/agents/ui-ux-auditor.md +80 -80
- package/.agent/agents/ui-visual-auditor.md +102 -102
- package/.agent/agents/ux-reviewer.md +109 -109
- package/.agent/agents/visual-reviewer.md +103 -103
- package/.agent/agents/vitals-reviewer.md +245 -245
- package/.agent/config/claude.json +18 -18
- package/.agent/config/plugin.json +102 -102
- package/.agent/config/slash-commands.json +115 -115
- package/.agent/config/specialist-registry.json +415 -415
- package/.agent/config/system-prompt.md +258 -258
- package/.agent/history/arch-mapper-cache.json +6712 -0
- package/.agent/history/architecture.idx.json +5746 -0
- package/.agent/mcp_config.json +32 -32
- package/.agent/patterns/generator.md +11 -11
- package/.agent/patterns/inversion.md +14 -14
- package/.agent/patterns/pipeline.md +11 -11
- package/.agent/patterns/reviewer.md +15 -15
- package/.agent/patterns/tool-wrapper.md +11 -11
- package/.agent/plans/implementation_plan.md +48 -0
- package/.agent/plans/task.md +35 -0
- package/.agent/routing_index.json +2060 -2060
- package/.agent/rules/GEMINI.md +437 -437
- package/.agent/rules/GEMINI_PLANNER.md +82 -82
- package/.agent/rules/kernel.md +86 -86
- package/.agent/scripts/_colors.js +210 -210
- package/.agent/scripts/_utils.js +373 -377
- package/.agent/scripts/architecture_mapper.js +625 -0
- package/.agent/scripts/ast_context_loader.js +137 -137
- package/.agent/scripts/auto_preview.js +203 -203
- package/.agent/scripts/browser_audit.js +102 -102
- package/.agent/scripts/bundle_analyzer.js +287 -287
- package/.agent/scripts/case_law_manager.js +887 -887
- package/.agent/scripts/checklist.js +300 -300
- package/.agent/scripts/cicd_validator.js +305 -305
- package/.agent/scripts/context_broker.js +962 -962
- package/.agent/scripts/context_compiler.js +1143 -1112
- package/.agent/scripts/contract_engine.js +402 -402
- package/.agent/scripts/dependency_analyzer.js +313 -313
- package/.agent/scripts/graph_builder.js +384 -384
- package/.agent/scripts/graph_visualizer.js +390 -390
- package/.agent/scripts/graph_zoom.js +181 -181
- package/.agent/scripts/guardrail_engine.js +785 -785
- package/.agent/scripts/harness_manager.js +60 -60
- package/.agent/scripts/impact_classifier.js +192 -192
- package/.agent/scripts/inner_loop_validator.js +472 -472
- package/.agent/scripts/integrity_manifest.js +484 -484
- package/.agent/scripts/lint_runner.js +218 -218
- package/.agent/scripts/marathon_harness.js +986 -986
- package/.agent/scripts/mcp_server.js +181 -181
- package/.agent/scripts/memory_archivist.js +97 -97
- package/.agent/scripts/memory_consolidator.js +37 -37
- package/.agent/scripts/memory_engine.js +782 -782
- package/.agent/scripts/minify_context.js +111 -111
- package/.agent/scripts/minimal_change_engine.js +445 -445
- package/.agent/scripts/mutation_runner.js +307 -305
- package/.agent/scripts/payload_schemas.js +164 -164
- package/.agent/scripts/pipeline_engine.js +906 -906
- package/.agent/scripts/prompt_compiler.js +272 -272
- package/.agent/scripts/schema_validator.js +326 -326
- package/.agent/scripts/security_scan.js +390 -390
- package/.agent/scripts/session_logger.js +115 -115
- package/.agent/scripts/session_manager.js +299 -299
- package/.agent/scripts/signal_detector.js +175 -175
- package/.agent/scripts/skill_evolution.js +997 -997
- package/.agent/scripts/skill_integrator.js +304 -304
- package/.agent/scripts/socratic_gate_policy.js +63 -63
- package/.agent/scripts/strengthen_skills.js +199 -199
- package/.agent/scripts/swarm_dispatcher.js +983 -979
- package/.agent/scripts/syscall_registry.js +105 -105
- package/.agent/scripts/test_runner.js +209 -209
- package/.agent/scripts/token_budget_broker.js +165 -165
- package/.agent/scripts/trace_engine.js +126 -126
- package/.agent/scripts/verify_all.js +276 -276
- package/.agent/scripts/visual_audit.js +87 -87
- package/.agent/skill_topic_map.json +314 -314
- package/.agent/skills/12-principles-of-animation/SKILL.md +51 -51
- package/.agent/skills/60fps-animation/SKILL.md +91 -91
- package/.agent/skills/accessible-animation/SKILL.md +189 -189
- package/.agent/skills/adapt/SKILL.md +56 -56
- package/.agent/skills/adr-generation/SKILL.md +57 -0
- package/.agent/skills/advanced-rag-pipelines/SKILL.md +94 -94
- package/.agent/skills/agent-organizer/SKILL.md +117 -117
- package/.agent/skills/agent-syscall-guidelines/SKILL.md +25 -25
- package/.agent/skills/agentic-patterns/SKILL.md +281 -281
- package/.agent/skills/agentic-workflows-2026/SKILL.md +91 -91
- package/.agent/skills/agentshield-security/SKILL.md +26 -26
- package/.agent/skills/ai-app-hardening/SKILL.md +51 -51
- package/.agent/skills/ai-prompt-injection-defense/SKILL.md +162 -162
- package/.agent/skills/animation-on-scroll/SKILL.md +196 -196
- package/.agent/skills/animation-systems/SKILL.md +198 -198
- package/.agent/skills/antfu-conventions/SKILL.md +54 -54
- package/.agent/skills/api-patterns/SKILL.md +218 -218
- package/.agent/skills/api-security-auditor/SKILL.md +155 -155
- package/.agent/skills/app-builder/SKILL.md +535 -535
- package/.agent/skills/app-builder/templates/SKILL.md +108 -108
- package/.agent/skills/app-builder/templates/astro-static/TEMPLATE.md +76 -76
- package/.agent/skills/app-builder/templates/chrome-extension/TEMPLATE.md +92 -92
- package/.agent/skills/app-builder/templates/cli-tool/TEMPLATE.md +88 -88
- package/.agent/skills/app-builder/templates/electron-desktop/TEMPLATE.md +88 -88
- package/.agent/skills/app-builder/templates/express-api/TEMPLATE.md +83 -83
- package/.agent/skills/app-builder/templates/flutter-app/TEMPLATE.md +90 -90
- package/.agent/skills/app-builder/templates/monorepo-turborepo/TEMPLATE.md +90 -90
- package/.agent/skills/app-builder/templates/nextjs-fullstack/TEMPLATE.md +126 -126
- package/.agent/skills/app-builder/templates/nextjs-saas/TEMPLATE.md +127 -127
- package/.agent/skills/app-builder/templates/nextjs-static/TEMPLATE.md +172 -172
- package/.agent/skills/app-builder/templates/nuxt-app/TEMPLATE.md +139 -139
- package/.agent/skills/app-builder/templates/python-fastapi/TEMPLATE.md +83 -83
- package/.agent/skills/app-builder/templates/react-native-app/TEMPLATE.md +122 -122
- package/.agent/skills/appflow-wireframe/SKILL.md +96 -96
- package/.agent/skills/apple-design/SKILL.md +89 -89
- package/.agent/skills/architecture/SKILL.md +188 -188
- package/.agent/skills/architecture-drift/SKILL.md +45 -0
- package/.agent/skills/audit-and-fix/SKILL.md +100 -100
- package/.agent/skills/authentication-best-practices/SKILL.md +157 -157
- package/.agent/skills/autonomous-execution/SKILL.md +76 -0
- package/.agent/skills/backend-security-expert/SKILL.md +73 -73
- package/.agent/skills/baseline-ui/SKILL.md +55 -55
- package/.agent/skills/bash-linux/SKILL.md +139 -139
- package/.agent/skills/behavioral-modes/SKILL.md +200 -200
- package/.agent/skills/better-colors/SKILL.md +116 -116
- package/.agent/skills/better-typography/SKILL.md +90 -90
- package/.agent/skills/better-ui/SKILL.md +130 -130
- package/.agent/skills/bolder/SKILL.md +49 -49
- package/.agent/skills/brainstorming/SKILL.md +460 -460
- package/.agent/skills/browser-audit/SKILL.md +102 -102
- package/.agent/skills/browser-native-ai/SKILL.md +72 -72
- package/.agent/skills/build-primitive/SKILL.md +50 -50
- package/.agent/skills/building-native-ui/SKILL.md +162 -162
- package/.agent/skills/cicd-pro/SKILL.md +412 -412
- package/.agent/skills/clarify/SKILL.md +55 -55
- package/.agent/skills/clean-code/SKILL.md +367 -367
- package/.agent/skills/cloud-architect/SKILL.md +409 -409
- package/.agent/skills/cobejs/SKILL.md +70 -70
- package/.agent/skills/code-review-checklist/SKILL.md +163 -163
- package/.agent/skills/codebase-design/SKILL.md +76 -76
- package/.agent/skills/colorize/SKILL.md +57 -57
- package/.agent/skills/compact-landing/SKILL.md +50 -50
- package/.agent/skills/company-logos/SKILL.md +54 -54
- package/.agent/skills/config-validator/SKILL.md +125 -125
- package/.agent/skills/containerization-pro/SKILL.md +422 -422
- package/.agent/skills/context-engineering-pro/SKILL.md +69 -69
- package/.agent/skills/create-design-md/SKILL.md +92 -92
- package/.agent/skills/critique/SKILL.md +79 -79
- package/.agent/skills/csharp-developer/SKILL.md +478 -478
- package/.agent/skills/data-validation-schemas/SKILL.md +297 -297
- package/.agent/skills/database-design/SKILL.md +219 -219
- package/.agent/skills/delight/SKILL.md +46 -46
- package/.agent/skills/deployment-procedures/SKILL.md +132 -132
- package/.agent/skills/design-lab/SKILL.md +42 -42
- package/.agent/skills/devops-engineer/SKILL.md +305 -305
- package/.agent/skills/devops-incident-responder/SKILL.md +103 -103
- package/.agent/skills/diagnosing-bugs/SKILL.md +172 -172
- package/.agent/skills/distill/SKILL.md +45 -45
- package/.agent/skills/documentation-templates/SKILL.md +251 -251
- package/.agent/skills/domain-modeling/SKILL.md +61 -61
- package/.agent/skills/duckdb-analytical-sql/SKILL.md +51 -51
- package/.agent/skills/edge-ai-mobile/SKILL.md +42 -42
- package/.agent/skills/edge-computing/SKILL.md +143 -143
- package/.agent/skills/emil-design-eng/SKILL.md +134 -134
- package/.agent/skills/error-resilience/SKILL.md +403 -403
- package/.agent/skills/expo-router-v4/SKILL.md +72 -72
- package/.agent/skills/extract-design-system/SKILL.md +120 -120
- package/.agent/skills/fabel-protocol/SKILL.md +282 -282
- package/.agent/skills/failure-mode-analysis/SKILL.md +48 -0
- package/.agent/skills/fixing-accessibility/SKILL.md +87 -87
- package/.agent/skills/fixing-metadata/SKILL.md +83 -83
- package/.agent/skills/fixing-motion-performance/SKILL.md +78 -78
- package/.agent/skills/framer-motion-expert/SKILL.md +237 -237
- package/.agent/skills/frontend-design/SKILL.md +103 -103
- package/.agent/skills/frontend-security-expert/SKILL.md +56 -56
- package/.agent/skills/game-design-expert/SKILL.md +92 -92
- package/.agent/skills/game-engineering-expert/SKILL.md +108 -108
- package/.agent/skills/generative-ui-expert/SKILL.md +100 -100
- package/.agent/skills/geo-fundamentals/SKILL.md +108 -108
- package/.agent/skills/git-pro/SKILL.md +401 -401
- package/.agent/skills/github-operations/SKILL.md +295 -295
- package/.agent/skills/gpt-taste/SKILL.md +50 -50
- package/.agent/skills/graph-engineering/SKILL.md +28 -28
- package/.agent/skills/gsap-core/SKILL.md +277 -277
- package/.agent/skills/gsap-frameworks/SKILL.md +168 -168
- package/.agent/skills/gsap-performance/SKILL.md +94 -94
- package/.agent/skills/gsap-plugins/SKILL.md +441 -441
- package/.agent/skills/gsap-react/SKILL.md +213 -213
- package/.agent/skills/gsap-scrolltrigger/SKILL.md +312 -312
- package/.agent/skills/gsap-timeline/SKILL.md +122 -122
- package/.agent/skills/gsap-utils/SKILL.md +299 -299
- package/.agent/skills/harden/SKILL.md +55 -55
- package/.agent/skills/harness-protocol/SKILL.md +48 -48
- package/.agent/skills/huggingface-spaces/SKILL.md +1 -1
- package/.agent/skills/human-gate-negotiation/SKILL.md +30 -30
- package/.agent/skills/i18n-localization/SKILL.md +134 -134
- package/.agent/skills/impeccable/SKILL.md +52 -52
- package/.agent/skills/improve-codebase-architecture/SKILL.md +48 -48
- package/.agent/skills/improve-ui/SKILL.md +70 -70
- package/.agent/skills/intelligent-routing/SKILL.md +204 -204
- package/.agent/skills/knowledge-graph/SKILL.md +71 -71
- package/.agent/skills/landing-page/SKILL.md +65 -65
- package/.agent/skills/lint-and-validate/SKILL.md +224 -224
- package/.agent/skills/llm-engineering/SKILL.md +360 -360
- package/.agent/skills/local-first/SKILL.md +138 -138
- package/.agent/skills/local-first-architecture/SKILL.md +62 -62
- package/.agent/skills/lottie-animation/SKILL.md +62 -62
- package/.agent/skills/marquee-loop/SKILL.md +72 -72
- package/.agent/skills/masked-reveal/SKILL.md +230 -230
- package/.agent/skills/mcp-builder/SKILL.md +105 -105
- package/.agent/skills/micro-interaction/SKILL.md +253 -253
- package/.agent/skills/mobile-design/SKILL.md +245 -245
- package/.agent/skills/monorepo-management/SKILL.md +295 -295
- package/.agent/skills/morphing-icons/SKILL.md +348 -348
- package/.agent/skills/motion-engineering/SKILL.md +197 -197
- package/.agent/skills/nextjs-react-expert/SKILL.md +218 -218
- package/.agent/skills/nodejs-best-practices/SKILL.md +542 -542
- package/.agent/skills/observability/SKILL.md +303 -303
- package/.agent/skills/opentelemetry-observability/SKILL.md +51 -51
- package/.agent/skills/page-transition-animation/SKILL.md +86 -86
- package/.agent/skills/parallel-agents/SKILL.md +110 -110
- package/.agent/skills/performance-profiling/SKILL.md +230 -230
- package/.agent/skills/plan-writing/SKILL.md +127 -127
- package/.agent/skills/platform-engineer/SKILL.md +108 -108
- package/.agent/skills/platform-engineering-opentofu/SKILL.md +59 -59
- package/.agent/skills/playwright-ai-e2e/SKILL.md +52 -52
- package/.agent/skills/playwright-best-practices/SKILL.md +149 -149
- package/.agent/skills/polish/SKILL.md +39 -39
- package/.agent/skills/powershell-windows/SKILL.md +122 -122
- package/.agent/skills/pricing-page/SKILL.md +48 -48
- package/.agent/skills/product-aware-heuristics/SKILL.md +390 -390
- package/.agent/skills/progressive-blur/SKILL.md +80 -80
- package/.agent/skills/project-idioms/SKILL.md +91 -91
- package/.agent/skills/property-based-testing/SKILL.md +50 -50
- package/.agent/skills/python-patterns/SKILL.md +220 -220
- package/.agent/skills/python-pro/SKILL.md +305 -305
- package/.agent/skills/quieter/SKILL.md +49 -49
- package/.agent/skills/react-doctor/SKILL.md +51 -51
- package/.agent/skills/react-specialist/SKILL.md +280 -280
- package/.agent/skills/readme-builder/SKILL.md +270 -270
- package/.agent/skills/realtime-patterns/SKILL.md +283 -283
- package/.agent/skills/red-team-tactics/SKILL.md +191 -191
- package/.agent/skills/redesign-skill/SKILL.md +46 -46
- package/.agent/skills/review-animations/SKILL.md +45 -45
- package/.agent/skills/review-animations/STANDARDS.md +87 -87
- package/.agent/skills/rust-pro/SKILL.md +652 -652
- package/.agent/skills/semantic-filesystem-navigation/SKILL.md +24 -24
- package/.agent/skills/seo-fundamentals/SKILL.md +139 -139
- package/.agent/skills/server-management/SKILL.md +178 -178
- package/.agent/skills/session-log-interrogation/SKILL.md +29 -29
- package/.agent/skills/shadcn-ui-expert/SKILL.md +196 -196
- package/.agent/skills/shape/SKILL.md +56 -56
- package/.agent/skills/skill-creator/SKILL.md +177 -177
- package/.agent/skills/soft-skill/SKILL.md +53 -53
- package/.agent/skills/sounds-on-the-web/SKILL.md +76 -76
- package/.agent/skills/sql-pro/SKILL.md +624 -624
- package/.agent/skills/subagent-driven-development/SKILL.md +32 -32
- package/.agent/skills/supabase-postgres-best-practices/SKILL.md +57 -57
- package/.agent/skills/svg-animation/SKILL.md +356 -356
- package/.agent/skills/swiftui-expert/SKILL.md +164 -164
- package/.agent/skills/swiss-design/SKILL.md +44 -44
- package/.agent/skills/system-design-pro/SKILL.md +188 -318
- package/.agent/skills/systematic-debugging/SKILL.md +129 -129
- package/.agent/skills/systematic-debugging/condition-based-waiting.md +120 -120
- package/.agent/skills/systematic-debugging/defense-in-depth.md +128 -128
- package/.agent/skills/systematic-debugging/root-cause-tracing.md +183 -183
- package/.agent/skills/tailwind-patterns/SKILL.md +583 -583
- package/.agent/skills/taste-skill/SKILL.md +52 -52
- package/.agent/skills/tdd-workflow/SKILL.md +105 -105
- package/.agent/skills/test-result-analyzer/SKILL.md +270 -270
- package/.agent/skills/testing-patterns/SKILL.md +534 -534
- package/.agent/skills/thermo-nuclear-code-quality-review/SKILL.md +62 -62
- package/.agent/skills/thinking-protocol/SKILL.md +21 -21
- package/.agent/skills/to-spring-or-not-to-spring/SKILL.md +43 -43
- package/.agent/skills/transformers-js/references/CONFIGURATION.md +1 -1
- package/.agent/skills/transitions-dev/SKILL.md +90 -90
- package/.agent/skills/trend-researcher/SKILL.md +198 -198
- package/.agent/skills/tribunal-instincts-memory/SKILL.md +31 -31
- package/.agent/skills/typescript-advanced/SKILL.md +306 -306
- package/.agent/skills/typeset/SKILL.md +60 -60
- package/.agent/skills/ui-reasoning-engine/SKILL.md +155 -155
- package/.agent/skills/ui-skill-packs/SKILL.md +57 -57
- package/.agent/skills/ui-skills-root/SKILL.md +69 -69
- package/.agent/skills/ui-ux-pro-max/SKILL.md +110 -110
- package/.agent/skills/ui-ux-researcher/SKILL.md +199 -199
- package/.agent/skills/vector-search-pgvector/SKILL.md +70 -70
- package/.agent/skills/verification-before-completion/SKILL.md +107 -107
- package/.agent/skills/vue-expert/SKILL.md +259 -259
- package/.agent/skills/vulnerability-scanner/SKILL.md +378 -378
- package/.agent/skills/web-accessibility-auditor/SKILL.md +179 -179
- package/.agent/skills/web-design-guidelines/SKILL.md +49 -49
- package/.agent/skills/web-quality-audit/SKILL.md +47 -47
- package/.agent/skills/webapp-testing/SKILL.md +128 -128
- package/.agent/skills/webgpu-performance/SKILL.md +88 -88
- package/.agent/skills/whimsy-injector/SKILL.md +305 -305
- package/.agent/skills/workflow-optimizer/SKILL.md +188 -188
- package/.agent/skills/zero-trust-passkeys/SKILL.md +82 -82
- package/.agent/templates/DESIGN.md +843 -843
- package/.agent/templates/design-tokens.json +140 -140
- package/.agent/templates/sdd/implementer-prompt.md +62 -62
- package/.agent/templates/sdd/re-review-prompt.md +36 -36
- package/.agent/templates/sdd/task-reviewer-prompt.md +78 -78
- package/.agent/workflows/acf.md +153 -153
- package/.agent/workflows/api-tester.md +189 -189
- package/.agent/workflows/assimilate.md +21 -21
- package/.agent/workflows/audit-live.md +53 -53
- package/.agent/workflows/audit.md +172 -172
- package/.agent/workflows/brainstorm.md +157 -157
- package/.agent/workflows/changelog.md +152 -152
- package/.agent/workflows/compare-web.md +35 -35
- package/.agent/workflows/context.md +102 -102
- package/.agent/workflows/contract.md +79 -79
- package/.agent/workflows/create.md +182 -182
- package/.agent/workflows/debug.md +201 -201
- package/.agent/workflows/deploy.md +215 -215
- package/.agent/workflows/enhance.md +165 -165
- package/.agent/workflows/fix-ci.md +94 -94
- package/.agent/workflows/fix.md +149 -149
- package/.agent/workflows/generate.md +216 -216
- package/.agent/workflows/htop.md +22 -22
- package/.agent/workflows/marathon.md +291 -291
- package/.agent/workflows/migrate.md +198 -198
- package/.agent/workflows/minimal.md +101 -101
- package/.agent/workflows/orchestrate.md +205 -205
- package/.agent/workflows/performance-benchmarker.md +148 -148
- package/.agent/workflows/pipeline.md +165 -165
- package/.agent/workflows/plan.md +206 -206
- package/.agent/workflows/preview.md +116 -116
- package/.agent/workflows/refactor.md +207 -207
- package/.agent/workflows/resume.md +20 -20
- package/.agent/workflows/review-ai.md +139 -139
- package/.agent/workflows/review.md +155 -155
- package/.agent/workflows/sdd.md +137 -137
- package/.agent/workflows/session.md +135 -135
- package/.agent/workflows/skill-enhancement-engine.md +84 -84
- package/.agent/workflows/status.md +112 -112
- package/.agent/workflows/strengthen-skills.md +174 -174
- package/.agent/workflows/super-prompt.md +146 -146
- package/.agent/workflows/swarm.md +218 -218
- package/.agent/workflows/team-mode.md +22 -22
- package/.agent/workflows/test.md +224 -224
- package/.agent/workflows/tribunal-backend.md +149 -149
- package/.agent/workflows/tribunal-cicd.md +109 -109
- package/.agent/workflows/tribunal-database.md +142 -142
- package/.agent/workflows/tribunal-frontend.md +157 -157
- package/.agent/workflows/tribunal-full.md +156 -156
- package/.agent/workflows/tribunal-mobile.md +142 -142
- package/.agent/workflows/tribunal-performance.md +149 -149
- package/.agent/workflows/tribunal-speed.md +222 -222
- package/.agent/workflows/tribunal-ui.md +97 -97
- package/.agent/workflows/ui-ux-pro-max.md +103 -103
- package/.agents/skills/12-principles-of-animation/SKILL.md +51 -51
- package/.agents/skills/60fps-animation/SKILL.md +91 -91
- package/.agents/skills/accessible-animation/SKILL.md +189 -189
- package/.agents/skills/adapt/SKILL.md +56 -56
- package/.agents/skills/adr-generation/SKILL.md +57 -0
- package/.agents/skills/advanced-rag-pipelines/SKILL.md +94 -94
- package/.agents/skills/agent-organizer/SKILL.md +117 -117
- package/.agents/skills/agent-syscall-guidelines/SKILL.md +25 -25
- package/.agents/skills/agentic-patterns/SKILL.md +281 -281
- package/.agents/skills/agentic-workflows-2026/SKILL.md +91 -91
- package/.agents/skills/agentshield-security/SKILL.md +26 -26
- package/.agents/skills/ai-app-hardening/SKILL.md +51 -51
- package/.agents/skills/ai-prompt-injection-defense/SKILL.md +162 -162
- package/.agents/skills/animation-on-scroll/SKILL.md +196 -196
- package/.agents/skills/animation-systems/SKILL.md +198 -198
- package/.agents/skills/antfu-conventions/SKILL.md +54 -54
- package/.agents/skills/api-patterns/SKILL.md +218 -218
- package/.agents/skills/api-security-auditor/SKILL.md +155 -155
- package/.agents/skills/app-builder/SKILL.md +535 -535
- package/.agents/skills/app-builder/templates/SKILL.md +108 -108
- package/.agents/skills/app-builder/templates/astro-static/TEMPLATE.md +76 -76
- package/.agents/skills/app-builder/templates/chrome-extension/TEMPLATE.md +92 -92
- package/.agents/skills/app-builder/templates/cli-tool/TEMPLATE.md +88 -88
- package/.agents/skills/app-builder/templates/electron-desktop/TEMPLATE.md +88 -88
- package/.agents/skills/app-builder/templates/express-api/TEMPLATE.md +83 -83
- package/.agents/skills/app-builder/templates/flutter-app/TEMPLATE.md +90 -90
- package/.agents/skills/app-builder/templates/monorepo-turborepo/TEMPLATE.md +90 -90
- package/.agents/skills/app-builder/templates/nextjs-fullstack/TEMPLATE.md +126 -126
- package/.agents/skills/app-builder/templates/nextjs-saas/TEMPLATE.md +127 -127
- package/.agents/skills/app-builder/templates/nextjs-static/TEMPLATE.md +172 -172
- package/.agents/skills/app-builder/templates/nuxt-app/TEMPLATE.md +139 -139
- package/.agents/skills/app-builder/templates/python-fastapi/TEMPLATE.md +83 -83
- package/.agents/skills/app-builder/templates/react-native-app/TEMPLATE.md +122 -122
- package/.agents/skills/appflow-wireframe/SKILL.md +96 -96
- package/.agents/skills/apple-design/SKILL.md +89 -89
- package/.agents/skills/architecture/SKILL.md +188 -188
- package/.agents/skills/architecture-drift/SKILL.md +45 -0
- package/.agents/skills/audit-and-fix/SKILL.md +100 -100
- package/.agents/skills/authentication-best-practices/SKILL.md +157 -157
- package/.agents/skills/autonomous-execution/SKILL.md +76 -0
- package/.agents/skills/backend-security-expert/SKILL.md +73 -73
- package/.agents/skills/baseline-ui/SKILL.md +55 -55
- package/.agents/skills/bash-linux/SKILL.md +139 -139
- package/.agents/skills/behavioral-modes/SKILL.md +200 -200
- package/.agents/skills/better-colors/SKILL.md +116 -116
- package/.agents/skills/better-typography/SKILL.md +90 -90
- package/.agents/skills/better-ui/SKILL.md +130 -130
- package/.agents/skills/bolder/SKILL.md +49 -49
- package/.agents/skills/brainstorming/SKILL.md +460 -460
- package/.agents/skills/browser-audit/SKILL.md +102 -102
- package/.agents/skills/browser-native-ai/SKILL.md +72 -72
- package/.agents/skills/build-primitive/SKILL.md +50 -50
- package/.agents/skills/building-native-ui/SKILL.md +162 -162
- package/.agents/skills/cicd-pro/SKILL.md +412 -412
- package/.agents/skills/clarify/SKILL.md +55 -55
- package/.agents/skills/clean-code/SKILL.md +367 -367
- package/.agents/skills/cloud-architect/SKILL.md +409 -409
- package/.agents/skills/cobejs/SKILL.md +70 -70
- package/.agents/skills/code-review-checklist/SKILL.md +163 -163
- package/.agents/skills/codebase-design/SKILL.md +76 -76
- package/.agents/skills/colorize/SKILL.md +57 -57
- package/.agents/skills/compact-landing/SKILL.md +50 -50
- package/.agents/skills/company-logos/SKILL.md +54 -54
- package/.agents/skills/config-validator/SKILL.md +125 -125
- package/.agents/skills/containerization-pro/SKILL.md +422 -422
- package/.agents/skills/context-engineering-pro/SKILL.md +69 -69
- package/.agents/skills/create-design-md/SKILL.md +92 -92
- package/.agents/skills/critique/SKILL.md +79 -79
- package/.agents/skills/csharp-developer/SKILL.md +478 -478
- package/.agents/skills/data-validation-schemas/SKILL.md +297 -297
- package/.agents/skills/database-design/SKILL.md +219 -219
- package/.agents/skills/delight/SKILL.md +46 -46
- package/.agents/skills/deployment-procedures/SKILL.md +132 -132
- package/.agents/skills/design-lab/SKILL.md +42 -42
- package/.agents/skills/devops-engineer/SKILL.md +305 -305
- package/.agents/skills/devops-incident-responder/SKILL.md +103 -103
- package/.agents/skills/diagnosing-bugs/SKILL.md +172 -172
- package/.agents/skills/distill/SKILL.md +45 -45
- package/.agents/skills/documentation-templates/SKILL.md +251 -251
- package/.agents/skills/domain-modeling/SKILL.md +61 -61
- package/.agents/skills/duckdb-analytical-sql/SKILL.md +51 -51
- package/.agents/skills/edge-ai-mobile/SKILL.md +42 -42
- package/.agents/skills/edge-computing/SKILL.md +143 -143
- package/.agents/skills/emil-design-eng/SKILL.md +134 -134
- package/.agents/skills/error-resilience/SKILL.md +403 -403
- package/.agents/skills/expo-router-v4/SKILL.md +72 -72
- package/.agents/skills/extract-design-system/SKILL.md +120 -120
- package/.agents/skills/fabel-protocol/SKILL.md +282 -282
- package/.agents/skills/failure-mode-analysis/SKILL.md +48 -0
- package/.agents/skills/fixing-accessibility/SKILL.md +87 -87
- package/.agents/skills/fixing-metadata/SKILL.md +83 -83
- package/.agents/skills/fixing-motion-performance/SKILL.md +78 -78
- package/.agents/skills/framer-motion-expert/SKILL.md +237 -237
- package/.agents/skills/frontend-design/SKILL.md +103 -103
- package/.agents/skills/frontend-security-expert/SKILL.md +56 -56
- package/.agents/skills/game-design-expert/SKILL.md +92 -92
- package/.agents/skills/game-engineering-expert/SKILL.md +108 -108
- package/.agents/skills/generative-ui-expert/SKILL.md +100 -100
- package/.agents/skills/geo-fundamentals/SKILL.md +108 -108
- package/.agents/skills/git-pro/SKILL.md +401 -401
- package/.agents/skills/github-operations/SKILL.md +295 -295
- package/.agents/skills/gpt-taste/SKILL.md +50 -50
- package/.agents/skills/graph-engineering/SKILL.md +28 -28
- package/.agents/skills/gsap-core/SKILL.md +277 -277
- package/.agents/skills/gsap-frameworks/SKILL.md +168 -168
- package/.agents/skills/gsap-performance/SKILL.md +94 -94
- package/.agents/skills/gsap-plugins/SKILL.md +441 -441
- package/.agents/skills/gsap-react/SKILL.md +213 -213
- package/.agents/skills/gsap-scrolltrigger/SKILL.md +312 -312
- package/.agents/skills/gsap-timeline/SKILL.md +122 -122
- package/.agents/skills/gsap-utils/SKILL.md +299 -299
- package/.agents/skills/harden/SKILL.md +55 -55
- package/.agents/skills/harness-protocol/SKILL.md +48 -48
- package/.agents/skills/huggingface-spaces/SKILL.md +1 -1
- package/.agents/skills/human-gate-negotiation/SKILL.md +30 -30
- package/.agents/skills/i18n-localization/SKILL.md +134 -134
- package/.agents/skills/impeccable/SKILL.md +52 -52
- package/.agents/skills/improve-codebase-architecture/SKILL.md +48 -48
- package/.agents/skills/improve-ui/SKILL.md +70 -70
- package/.agents/skills/intelligent-routing/SKILL.md +204 -204
- package/.agents/skills/knowledge-graph/SKILL.md +71 -71
- package/.agents/skills/landing-page/SKILL.md +65 -65
- package/.agents/skills/lint-and-validate/SKILL.md +224 -224
- package/.agents/skills/llm-engineering/SKILL.md +360 -360
- package/.agents/skills/local-first/SKILL.md +138 -138
- package/.agents/skills/local-first-architecture/SKILL.md +62 -62
- package/.agents/skills/lottie-animation/SKILL.md +62 -62
- package/.agents/skills/marquee-loop/SKILL.md +72 -72
- package/.agents/skills/masked-reveal/SKILL.md +230 -230
- package/.agents/skills/mcp-builder/SKILL.md +105 -105
- package/.agents/skills/micro-interaction/SKILL.md +253 -253
- package/.agents/skills/mobile-design/SKILL.md +245 -245
- package/.agents/skills/monorepo-management/SKILL.md +295 -295
- package/.agents/skills/morphing-icons/SKILL.md +348 -348
- package/.agents/skills/motion-engineering/SKILL.md +197 -197
- package/.agents/skills/nextjs-react-expert/SKILL.md +218 -218
- package/.agents/skills/nodejs-best-practices/SKILL.md +542 -542
- package/.agents/skills/observability/SKILL.md +303 -303
- package/.agents/skills/opentelemetry-observability/SKILL.md +51 -51
- package/.agents/skills/page-transition-animation/SKILL.md +86 -86
- package/.agents/skills/parallel-agents/SKILL.md +110 -110
- package/.agents/skills/performance-profiling/SKILL.md +230 -230
- package/.agents/skills/plan-writing/SKILL.md +127 -127
- package/.agents/skills/platform-engineer/SKILL.md +108 -108
- package/.agents/skills/platform-engineering-opentofu/SKILL.md +59 -59
- package/.agents/skills/playwright-ai-e2e/SKILL.md +52 -52
- package/.agents/skills/playwright-best-practices/SKILL.md +149 -149
- package/.agents/skills/polish/SKILL.md +39 -39
- package/.agents/skills/powershell-windows/SKILL.md +122 -122
- package/.agents/skills/pricing-page/SKILL.md +48 -48
- package/.agents/skills/product-aware-heuristics/SKILL.md +390 -390
- package/.agents/skills/progressive-blur/SKILL.md +80 -80
- package/.agents/skills/project-idioms/SKILL.md +91 -91
- package/.agents/skills/property-based-testing/SKILL.md +50 -50
- package/.agents/skills/python-patterns/SKILL.md +220 -220
- package/.agents/skills/python-pro/SKILL.md +305 -305
- package/.agents/skills/quieter/SKILL.md +49 -49
- package/.agents/skills/react-doctor/SKILL.md +51 -51
- package/.agents/skills/react-specialist/SKILL.md +280 -280
- package/.agents/skills/readme-builder/SKILL.md +270 -270
- package/.agents/skills/realtime-patterns/SKILL.md +283 -283
- package/.agents/skills/red-team-tactics/SKILL.md +191 -191
- package/.agents/skills/redesign-skill/SKILL.md +46 -46
- package/.agents/skills/review-animations/SKILL.md +45 -45
- package/.agents/skills/review-animations/STANDARDS.md +87 -87
- package/.agents/skills/rust-pro/SKILL.md +652 -652
- package/.agents/skills/semantic-filesystem-navigation/SKILL.md +24 -24
- package/.agents/skills/seo-fundamentals/SKILL.md +139 -139
- package/.agents/skills/server-management/SKILL.md +178 -178
- package/.agents/skills/session-log-interrogation/SKILL.md +29 -29
- package/.agents/skills/shadcn-ui-expert/SKILL.md +196 -196
- package/.agents/skills/shape/SKILL.md +56 -56
- package/.agents/skills/skill-creator/SKILL.md +177 -177
- package/.agents/skills/soft-skill/SKILL.md +53 -53
- package/.agents/skills/sounds-on-the-web/SKILL.md +76 -76
- package/.agents/skills/sql-pro/SKILL.md +624 -624
- package/.agents/skills/subagent-driven-development/SKILL.md +32 -32
- package/.agents/skills/supabase-postgres-best-practices/SKILL.md +57 -57
- package/.agents/skills/svg-animation/SKILL.md +356 -356
- package/.agents/skills/swiftui-expert/SKILL.md +164 -164
- package/.agents/skills/swiss-design/SKILL.md +44 -44
- package/.agents/skills/system-design-pro/SKILL.md +188 -318
- package/.agents/skills/systematic-debugging/SKILL.md +129 -129
- package/.agents/skills/systematic-debugging/condition-based-waiting.md +120 -120
- package/.agents/skills/systematic-debugging/defense-in-depth.md +128 -128
- package/.agents/skills/systematic-debugging/root-cause-tracing.md +183 -183
- package/.agents/skills/tailwind-patterns/SKILL.md +583 -583
- package/.agents/skills/taste-skill/SKILL.md +52 -52
- package/.agents/skills/tdd-workflow/SKILL.md +105 -105
- package/.agents/skills/test-result-analyzer/SKILL.md +270 -270
- package/.agents/skills/testing-patterns/SKILL.md +534 -534
- package/.agents/skills/thermo-nuclear-code-quality-review/SKILL.md +62 -62
- package/.agents/skills/thinking-protocol/SKILL.md +21 -21
- package/.agents/skills/to-spring-or-not-to-spring/SKILL.md +43 -43
- package/.agents/skills/transformers-js/references/CONFIGURATION.md +1 -1
- package/.agents/skills/transitions-dev/SKILL.md +90 -90
- package/.agents/skills/trend-researcher/SKILL.md +198 -198
- package/.agents/skills/tribunal-instincts-memory/SKILL.md +31 -31
- package/.agents/skills/typescript-advanced/SKILL.md +306 -306
- package/.agents/skills/typeset/SKILL.md +60 -60
- package/.agents/skills/ui-reasoning-engine/SKILL.md +155 -155
- package/.agents/skills/ui-skill-packs/SKILL.md +57 -57
- package/.agents/skills/ui-skills-root/SKILL.md +69 -69
- package/.agents/skills/ui-ux-pro-max/SKILL.md +110 -110
- package/.agents/skills/ui-ux-researcher/SKILL.md +199 -199
- package/.agents/skills/vector-search-pgvector/SKILL.md +70 -70
- package/.agents/skills/verification-before-completion/SKILL.md +107 -107
- package/.agents/skills/vue-expert/SKILL.md +259 -259
- package/.agents/skills/vulnerability-scanner/SKILL.md +378 -378
- package/.agents/skills/web-accessibility-auditor/SKILL.md +179 -179
- package/.agents/skills/web-design-guidelines/SKILL.md +49 -49
- package/.agents/skills/web-quality-audit/SKILL.md +47 -47
- package/.agents/skills/webapp-testing/SKILL.md +128 -128
- package/.agents/skills/webgpu-performance/SKILL.md +88 -88
- package/.agents/skills/whimsy-injector/SKILL.md +305 -305
- package/.agents/skills/workflow-optimizer/SKILL.md +188 -188
- package/.agents/skills/zero-trust-passkeys/SKILL.md +82 -82
- package/AGENTS.md +93 -93
- package/CLAUDE.md +444 -444
- package/CONTRIBUTING.md +134 -134
- package/README.md +242 -242
- package/SECURITY.md +58 -52
- package/bin/adapter-install.js +264 -264
- package/bin/global-store.js +48 -48
- package/bin/mcp-server.js +1653 -1653
- package/bin/proxy-server.js +122 -122
- package/bin/spawn-agent.js +45 -45
- package/bin/tk-proxy.js +34 -34
- package/bin/tribunal-kit.js +113 -113
- package/bin/wrapper.js +209 -211
- package/hooks/hooks-cursor.json +10 -10
- package/hooks/hooks.json +10 -10
- package/hooks/session-start.js +77 -77
- package/mcp_config.json +18 -18
- package/package.json +169 -179
- package/{.claude-plugin → plugins/claude}/marketplace.json +14 -14
- package/{.claude-plugin → plugins/claude}/plugin.json +26 -26
- package/{.codex-plugin → plugins/codex}/plugin.json +41 -41
- package/{plugin.json → plugins/core-plugin.json} +26 -26
- package/{.cursor-plugin → plugins/cursor}/plugin.json +26 -26
- package/{.devin-plugin → plugins/devin}/plugin.json +14 -14
- package/{gemini-extension.json → plugins/gemini/extension.json} +6 -6
- package/{.hermes-plugin → plugins/hermes}/__init__.py +102 -102
- package/{.hermes-plugin → plugins/hermes}/plugin.yaml +6 -6
- package/{.kimi-plugin → plugins/kimi}/plugin.json +34 -34
- package/{marketplace.json → plugins/marketplace.json} +14 -14
- package/{.opencode → plugins/opencode}/INSTALL.md +42 -42
- package/{.opencode → plugins/opencode}/plugins/tribunal.js +110 -110
- package/{.opencode → plugins/opencode}/rules.md +258 -258
- package/{.pi → plugins/pi}/extensions/tribunal.ts +130 -130
- package/scripts/apply-version.js +57 -57
- package/scripts/audit_skill_sdo.js +89 -89
- package/scripts/benchmark.js +231 -231
- package/scripts/build-graph.js +71 -71
- package/scripts/changelog.js +190 -190
- package/scripts/clean-pycache.js +42 -42
- package/scripts/context_compiler.js +1143 -1117
- package/scripts/fix-vbc.js +96 -96
- package/scripts/fix-vbc.ps1 +3 -3
- package/scripts/modernize_skills.js +268 -268
- package/scripts/package-cores.js +116 -116
- package/scripts/skill_enhancement_engine.js +608 -608
- package/scripts/stress_benchmark.js +358 -358
- package/scripts/sync-skills.js +61 -61
- package/scripts/sync-version.js +177 -177
- package/scripts/telemetry_gc.js +156 -156
- package/scripts/validate-payload.js +73 -73
- package/scripts/visual_audit.js +136 -136
- package/skills/12-principles-of-animation/SKILL.md +51 -51
- package/skills/60fps-animation/SKILL.md +91 -91
- package/skills/accessible-animation/SKILL.md +189 -189
- package/skills/adapt/SKILL.md +56 -56
- package/skills/adr-generation/SKILL.md +57 -0
- package/skills/advanced-rag-pipelines/SKILL.md +94 -94
- package/skills/agent-organizer/SKILL.md +117 -117
- package/skills/agent-syscall-guidelines/SKILL.md +25 -25
- package/skills/agentic-patterns/SKILL.md +281 -281
- package/skills/agentic-workflows-2026/SKILL.md +91 -91
- package/skills/agentshield-security/SKILL.md +26 -26
- package/skills/ai-app-hardening/SKILL.md +51 -51
- package/skills/ai-prompt-injection-defense/SKILL.md +162 -162
- package/skills/animation-on-scroll/SKILL.md +196 -196
- package/skills/animation-systems/SKILL.md +198 -198
- package/skills/antfu-conventions/SKILL.md +54 -54
- package/skills/api-patterns/SKILL.md +218 -218
- package/skills/api-security-auditor/SKILL.md +155 -155
- package/skills/app-builder/SKILL.md +535 -535
- package/skills/app-builder/templates/SKILL.md +108 -108
- package/skills/app-builder/templates/astro-static/TEMPLATE.md +76 -76
- package/skills/app-builder/templates/chrome-extension/TEMPLATE.md +92 -92
- package/skills/app-builder/templates/cli-tool/TEMPLATE.md +88 -88
- package/skills/app-builder/templates/electron-desktop/TEMPLATE.md +88 -88
- package/skills/app-builder/templates/express-api/TEMPLATE.md +83 -83
- package/skills/app-builder/templates/flutter-app/TEMPLATE.md +90 -90
- package/skills/app-builder/templates/monorepo-turborepo/TEMPLATE.md +90 -90
- package/skills/app-builder/templates/nextjs-fullstack/TEMPLATE.md +126 -126
- package/skills/app-builder/templates/nextjs-saas/TEMPLATE.md +127 -127
- package/skills/app-builder/templates/nextjs-static/TEMPLATE.md +172 -172
- package/skills/app-builder/templates/nuxt-app/TEMPLATE.md +139 -139
- package/skills/app-builder/templates/python-fastapi/TEMPLATE.md +83 -83
- package/skills/app-builder/templates/react-native-app/TEMPLATE.md +122 -122
- package/skills/appflow-wireframe/SKILL.md +96 -96
- package/skills/apple-design/SKILL.md +89 -89
- package/skills/architecture/SKILL.md +188 -188
- package/skills/architecture-drift/SKILL.md +45 -0
- package/skills/audit-and-fix/SKILL.md +100 -100
- package/skills/authentication-best-practices/SKILL.md +157 -157
- package/skills/autonomous-execution/SKILL.md +76 -0
- package/skills/backend-security-expert/SKILL.md +73 -73
- package/skills/baseline-ui/SKILL.md +55 -55
- package/skills/bash-linux/SKILL.md +139 -139
- package/skills/behavioral-modes/SKILL.md +200 -200
- package/skills/better-colors/SKILL.md +116 -116
- package/skills/better-typography/SKILL.md +90 -90
- package/skills/better-ui/SKILL.md +130 -130
- package/skills/bolder/SKILL.md +49 -49
- package/skills/brainstorming/SKILL.md +460 -460
- package/skills/browser-audit/SKILL.md +102 -102
- package/skills/browser-native-ai/SKILL.md +72 -72
- package/skills/build-primitive/SKILL.md +50 -50
- package/skills/building-native-ui/SKILL.md +162 -162
- package/skills/cicd-pro/SKILL.md +412 -412
- package/skills/clarify/SKILL.md +55 -55
- package/skills/clean-code/SKILL.md +367 -367
- package/skills/cloud-architect/SKILL.md +409 -409
- package/skills/cobejs/SKILL.md +70 -70
- package/skills/code-review-checklist/SKILL.md +163 -163
- package/skills/codebase-design/SKILL.md +76 -76
- package/skills/colorize/SKILL.md +57 -57
- package/skills/compact-landing/SKILL.md +50 -50
- package/skills/company-logos/SKILL.md +54 -54
- package/skills/config-validator/SKILL.md +125 -125
- package/skills/containerization-pro/SKILL.md +422 -422
- package/skills/context-engineering-pro/SKILL.md +69 -69
- package/skills/create-design-md/SKILL.md +92 -92
- package/skills/critique/SKILL.md +79 -79
- package/skills/csharp-developer/SKILL.md +478 -478
- package/skills/data-validation-schemas/SKILL.md +297 -297
- package/skills/database-design/SKILL.md +219 -219
- package/skills/delight/SKILL.md +46 -46
- package/skills/deployment-procedures/SKILL.md +132 -132
- package/skills/design-lab/SKILL.md +42 -42
- package/skills/devops-engineer/SKILL.md +305 -305
- package/skills/devops-incident-responder/SKILL.md +103 -103
- package/skills/diagnosing-bugs/SKILL.md +172 -172
- package/skills/distill/SKILL.md +45 -45
- package/skills/documentation-templates/SKILL.md +251 -251
- package/skills/domain-modeling/SKILL.md +61 -61
- package/skills/duckdb-analytical-sql/SKILL.md +51 -51
- package/skills/edge-ai-mobile/SKILL.md +42 -42
- package/skills/edge-computing/SKILL.md +143 -143
- package/skills/emil-design-eng/SKILL.md +134 -134
- package/skills/error-resilience/SKILL.md +403 -403
- package/skills/expo-router-v4/SKILL.md +72 -72
- package/skills/extract-design-system/SKILL.md +120 -120
- package/skills/fabel-protocol/SKILL.md +282 -282
- package/skills/failure-mode-analysis/SKILL.md +48 -0
- package/skills/fixing-accessibility/SKILL.md +87 -87
- package/skills/fixing-metadata/SKILL.md +83 -83
- package/skills/fixing-motion-performance/SKILL.md +78 -78
- package/skills/framer-motion-expert/SKILL.md +237 -237
- package/skills/frontend-design/SKILL.md +103 -103
- package/skills/frontend-security-expert/SKILL.md +56 -56
- package/skills/game-design-expert/SKILL.md +92 -92
- package/skills/game-engineering-expert/SKILL.md +108 -108
- package/skills/generative-ui-expert/SKILL.md +100 -100
- package/skills/geo-fundamentals/SKILL.md +108 -108
- package/skills/git-pro/SKILL.md +401 -401
- package/skills/github-operations/SKILL.md +295 -295
- package/skills/gpt-taste/SKILL.md +50 -50
- package/skills/graph-engineering/SKILL.md +28 -28
- package/skills/gsap-core/SKILL.md +277 -277
- package/skills/gsap-frameworks/SKILL.md +168 -168
- package/skills/gsap-performance/SKILL.md +94 -94
- package/skills/gsap-plugins/SKILL.md +441 -441
- package/skills/gsap-react/SKILL.md +213 -213
- package/skills/gsap-scrolltrigger/SKILL.md +312 -312
- package/skills/gsap-timeline/SKILL.md +122 -122
- package/skills/gsap-utils/SKILL.md +299 -299
- package/skills/harden/SKILL.md +55 -55
- package/skills/harness-protocol/SKILL.md +48 -48
- package/skills/huggingface-spaces/SKILL.md +1 -1
- package/skills/human-gate-negotiation/SKILL.md +30 -30
- package/skills/i18n-localization/SKILL.md +134 -134
- package/skills/impeccable/SKILL.md +52 -52
- package/skills/improve-codebase-architecture/SKILL.md +48 -48
- package/skills/improve-ui/SKILL.md +70 -70
- package/skills/intelligent-routing/SKILL.md +204 -204
- package/skills/knowledge-graph/SKILL.md +71 -71
- package/skills/landing-page/SKILL.md +65 -65
- package/skills/lint-and-validate/SKILL.md +224 -224
- package/skills/llm-engineering/SKILL.md +360 -360
- package/skills/local-first/SKILL.md +138 -138
- package/skills/local-first-architecture/SKILL.md +62 -62
- package/skills/lottie-animation/SKILL.md +62 -62
- package/skills/marquee-loop/SKILL.md +72 -72
- package/skills/masked-reveal/SKILL.md +230 -230
- package/skills/mcp-builder/SKILL.md +105 -105
- package/skills/micro-interaction/SKILL.md +253 -253
- package/skills/mobile-design/SKILL.md +245 -245
- package/skills/monorepo-management/SKILL.md +295 -295
- package/skills/morphing-icons/SKILL.md +348 -348
- package/skills/motion-engineering/SKILL.md +197 -197
- package/skills/nextjs-react-expert/SKILL.md +218 -218
- package/skills/nodejs-best-practices/SKILL.md +542 -542
- package/skills/observability/SKILL.md +303 -303
- package/skills/opentelemetry-observability/SKILL.md +51 -51
- package/skills/page-transition-animation/SKILL.md +86 -86
- package/skills/parallel-agents/SKILL.md +110 -110
- package/skills/performance-profiling/SKILL.md +230 -230
- package/skills/plan-writing/SKILL.md +127 -127
- package/skills/platform-engineer/SKILL.md +108 -108
- package/skills/platform-engineering-opentofu/SKILL.md +59 -59
- package/skills/playwright-ai-e2e/SKILL.md +52 -52
- package/skills/playwright-best-practices/SKILL.md +149 -149
- package/skills/polish/SKILL.md +39 -39
- package/skills/powershell-windows/SKILL.md +122 -122
- package/skills/pricing-page/SKILL.md +48 -48
- package/skills/product-aware-heuristics/SKILL.md +390 -390
- package/skills/progressive-blur/SKILL.md +80 -80
- package/skills/project-idioms/SKILL.md +91 -91
- package/skills/property-based-testing/SKILL.md +50 -50
- package/skills/python-patterns/SKILL.md +220 -220
- package/skills/python-pro/SKILL.md +305 -305
- package/skills/quieter/SKILL.md +49 -49
- package/skills/react-doctor/SKILL.md +51 -51
- package/skills/react-specialist/SKILL.md +280 -280
- package/skills/readme-builder/SKILL.md +270 -270
- package/skills/realtime-patterns/SKILL.md +283 -283
- package/skills/red-team-tactics/SKILL.md +191 -191
- package/skills/redesign-skill/SKILL.md +46 -46
- package/skills/review-animations/SKILL.md +45 -45
- package/skills/review-animations/STANDARDS.md +87 -87
- package/skills/rust-pro/SKILL.md +652 -652
- package/skills/semantic-filesystem-navigation/SKILL.md +24 -24
- package/skills/seo-fundamentals/SKILL.md +139 -139
- package/skills/server-management/SKILL.md +178 -178
- package/skills/session-log-interrogation/SKILL.md +29 -29
- package/skills/shadcn-ui-expert/SKILL.md +196 -196
- package/skills/shape/SKILL.md +56 -56
- package/skills/skill-creator/SKILL.md +177 -177
- package/skills/soft-skill/SKILL.md +53 -53
- package/skills/sounds-on-the-web/SKILL.md +76 -76
- package/skills/sql-pro/SKILL.md +624 -624
- package/skills/subagent-driven-development/SKILL.md +32 -32
- package/skills/supabase-postgres-best-practices/SKILL.md +57 -57
- package/skills/svg-animation/SKILL.md +356 -356
- package/skills/swiftui-expert/SKILL.md +164 -164
- package/skills/swiss-design/SKILL.md +44 -44
- package/skills/system-design-pro/SKILL.md +188 -318
- package/skills/systematic-debugging/SKILL.md +129 -129
- package/skills/systematic-debugging/condition-based-waiting.md +120 -120
- package/skills/systematic-debugging/defense-in-depth.md +128 -128
- package/skills/systematic-debugging/root-cause-tracing.md +183 -183
- package/skills/tailwind-patterns/SKILL.md +583 -583
- package/skills/taste-skill/SKILL.md +52 -52
- package/skills/tdd-workflow/SKILL.md +105 -105
- package/skills/test-result-analyzer/SKILL.md +270 -270
- package/skills/testing-patterns/SKILL.md +534 -534
- package/skills/thermo-nuclear-code-quality-review/SKILL.md +62 -62
- package/skills/thinking-protocol/SKILL.md +21 -21
- package/skills/to-spring-or-not-to-spring/SKILL.md +43 -43
- package/skills/transformers-js/references/CONFIGURATION.md +1 -1
- package/skills/transitions-dev/SKILL.md +90 -90
- package/skills/trend-researcher/SKILL.md +198 -198
- package/skills/tribunal-instincts-memory/SKILL.md +31 -31
- package/skills/typescript-advanced/SKILL.md +306 -306
- package/skills/typeset/SKILL.md +60 -60
- package/skills/ui-reasoning-engine/SKILL.md +155 -155
- package/skills/ui-skill-packs/SKILL.md +57 -57
- package/skills/ui-skills-root/SKILL.md +69 -69
- package/skills/ui-ux-pro-max/SKILL.md +110 -110
- package/skills/ui-ux-researcher/SKILL.md +199 -199
- package/skills/vector-search-pgvector/SKILL.md +70 -70
- package/skills/verification-before-completion/SKILL.md +107 -107
- package/skills/vue-expert/SKILL.md +259 -259
- package/skills/vulnerability-scanner/SKILL.md +378 -378
- package/skills/web-accessibility-auditor/SKILL.md +179 -179
- package/skills/web-design-guidelines/SKILL.md +49 -49
- package/skills/web-quality-audit/SKILL.md +47 -47
- package/skills/webapp-testing/SKILL.md +128 -128
- package/skills/webgpu-performance/SKILL.md +88 -88
- package/skills/whimsy-injector/SKILL.md +305 -305
- package/skills/workflow-optimizer/SKILL.md +188 -188
- package/skills/zero-trust-passkeys/SKILL.md +82 -82
- package/{dist → src}/browser/audit.js +229 -229
- package/{dist → src}/browser/case_bridge.js +189 -189
- package/{dist → src}/browser/cdp.js +513 -513
- package/{dist → src}/browser/compare.js +110 -110
- package/{dist → src}/browser/discovery.js +140 -140
- package/{dist → src}/browser/idpi.js +142 -142
- package/{dist → src}/browser/index.js +89 -89
- package/{dist → src}/browser/launcher.js +154 -154
- package/{dist → src}/browser/sentinel.js +202 -202
- package/{dist → src}/browser/synapse.js +251 -251
- package/{dist → src}/browser/trimmer.js +210 -210
- package/{dist → src}/commands/align.js +201 -201
- package/{dist → src}/commands/audit-web.js +112 -112
- package/{dist → src}/commands/browse.js +56 -56
- package/{dist → src}/commands/case.js +71 -73
- package/{dist → src}/commands/compare-web.js +61 -61
- package/{dist → src}/commands/compile.js +91 -91
- package/{dist → src}/commands/context.js +71 -71
- package/{dist → src}/commands/contract.js +440 -440
- package/{dist → src}/commands/deconstruct.js +58 -58
- package/{dist → src}/commands/graph.js +44 -44
- package/{dist → src}/commands/guardrail.js +275 -275
- package/{dist → src}/commands/heal.js +99 -99
- package/{dist → src}/commands/hook.js +28 -28
- package/{dist → src}/commands/init.js +393 -393
- package/{dist → src}/commands/learn.js +119 -117
- package/{dist → src}/commands/marathon.js +45 -45
- package/{dist → src}/commands/memory.js +508 -508
- package/{dist → src}/commands/minimal.js +71 -71
- package/{dist → src}/commands/mutate.js +30 -30
- package/{dist → src}/commands/native.js +264 -264
- package/{dist → src}/commands/optimize.js +332 -328
- package/{dist → src}/commands/sdd.js +265 -229
- package/{dist → src}/commands/status.js +66 -66
- package/{dist → src}/commands/sync.js +25 -25
- package/{dist → src}/commands/uninstall.js +54 -54
- package/{dist → src}/commands/update.js +37 -37
- package/{dist → src}/commands/validate.js +58 -58
- package/{dist → src}/esm/index.mjs +1 -1
- package/{dist → src}/mcp/server.js +8 -8
- package/{dist → src}/tui/banner.js +1 -1
- package/{dist → src}/tui/index.js +21 -21
- package/{dist → src}/tui/reviewer-grid.js +90 -90
- package/{dist → src}/tui/shimmer.js +91 -91
- package/{dist → src}/tui/theme.js +130 -130
- package/{dist → src}/tui/tree.js +93 -93
- package/{dist → src}/tui/wizard.js +148 -148
- package/{dist → src}/types.js +8 -8
- package/{dist → src}/utils/fs.js +102 -102
- package/{dist → src}/utils/hasher.js +142 -142
- package/{dist → src}/utils/helpers.js +53 -53
- package/{dist → src}/utils/logger.js +54 -54
- package/{dist → src}/utils/version.js +157 -157
- package/.agent/history/README.md +0 -53
- package/.agent/history/architecture-explorer.html +0 -352
- package/.agent/history/architecture-graph.yaml +0 -619
- package/.agent/history/case-law/cases/template-case.json +0 -19
- package/.agent/history/graph-cache.json +0 -1042
- package/.agent/history/integrity_manifest.json +0 -4694
- package/.agent/history/memory/.memory.idx +0 -7596
- package/.agent/history/memory/MEMORY.md +0 -512
- package/.agent/history/memory.db +0 -0
- package/.agent/history/snapshots/.opencode__plugins__tribunal.js.json +0 -12
- package/.agent/history/snapshots/.pi__extensions__tribunal.ts.json +0 -12
- package/.agent/history/snapshots/bin__adapter-install.js.json +0 -13
- package/.agent/history/snapshots/bin__global-store.js.json +0 -15
- package/.agent/history/snapshots/bin__mcp-server.js.json +0 -21
- package/.agent/history/snapshots/bin__proxy-server.js.json +0 -20
- package/.agent/history/snapshots/bin__spawn-agent.js.json +0 -12
- package/.agent/history/snapshots/bin__tk-proxy.js.json +0 -21
- package/.agent/history/snapshots/bin__tribunal-kit.js.json +0 -21
- package/.agent/history/snapshots/bin__wrapper.js.json +0 -14
- package/.agent/history/snapshots/eslint.config.js.json +0 -8
- package/.agent/history/snapshots/hooks__session-start.js.json +0 -11
- package/.agent/history/snapshots/scripts__apply-version.js.json +0 -11
- package/.agent/history/snapshots/scripts__audit_skill_sdo.js.json +0 -11
- package/.agent/history/snapshots/scripts__benchmark.js.json +0 -14
- package/.agent/history/snapshots/scripts__changelog.js.json +0 -12
- package/.agent/history/snapshots/scripts__clean-pycache.js.json +0 -11
- package/.agent/history/snapshots/scripts__context_compiler.js.json +0 -17
- package/.agent/history/snapshots/scripts__fix-vbc.js.json +0 -11
- package/.agent/history/snapshots/scripts__modernize_skills.js.json +0 -11
- package/.agent/history/snapshots/scripts__package-cores.js.json +0 -12
- package/.agent/history/snapshots/scripts__skill_enhancement_engine.js.json +0 -11
- package/.agent/history/snapshots/scripts__stress_benchmark.js.json +0 -15
- package/.agent/history/snapshots/scripts__sync-skills.js.json +0 -11
- package/.agent/history/snapshots/scripts__sync-version.js.json +0 -11
- package/.agent/history/snapshots/scripts__telemetry_gc.js.json +0 -11
- package/.agent/history/snapshots/scripts__validate-payload.js.json +0 -11
- package/.agent/history/snapshots/scripts__visual_audit.js.json +0 -11
- package/.agent/history/snapshots/test__integration__bridges.test.js.json +0 -13
- package/.agent/history/snapshots/test__integration__browser_cli.test.js.json +0 -12
- package/.agent/history/snapshots/test__integration__graceful_degradation.test.js.json +0 -12
- package/.agent/history/snapshots/test__integration__init.test.js.json +0 -13
- package/.agent/history/snapshots/test__integration__minimal_change_pipeline.test.js.json +0 -13
- package/.agent/history/snapshots/test__integration__parallel_tribunal.test.js.json +0 -12
- package/.agent/history/snapshots/test__integration__routing.test.js.json +0 -11
- package/.agent/history/snapshots/test__integration__swarm_dispatcher.test.js.json +0 -13
- package/.agent/history/snapshots/test__integration__sync_status.test.js.json +0 -13
- package/.agent/history/snapshots/test__integration__wave2.test.js.json +0 -13
- package/.agent/history/snapshots/test__integration__wrapper.test.js.json +0 -13
- package/.agent/history/snapshots/test__unit__align.test.js.json +0 -10
- package/.agent/history/snapshots/test__unit__args.test.js.json +0 -20
- package/.agent/history/snapshots/test__unit__ast_context_loader.test.js.json +0 -12
- package/.agent/history/snapshots/test__unit__audit_release.test.js.json +0 -16
- package/.agent/history/snapshots/test__unit__browser_case_bridge.test.js.json +0 -11
- package/.agent/history/snapshots/test__unit__browser_discovery.test.js.json +0 -10
- package/.agent/history/snapshots/test__unit__browser_idpi.test.js.json +0 -10
- package/.agent/history/snapshots/test__unit__browser_sentinel.test.js.json +0 -11
- package/.agent/history/snapshots/test__unit__browser_synapse.test.js.json +0 -10
- package/.agent/history/snapshots/test__unit__browser_trimmer.test.js.json +0 -10
- package/.agent/history/snapshots/test__unit__case_law_manager.test.js.json +0 -10
- package/.agent/history/snapshots/test__unit__cicd_validator.test.js.json +0 -12
- package/.agent/history/snapshots/test__unit__compile.test.js.json +0 -10
- package/.agent/history/snapshots/test__unit__context_broker.test.js.json +0 -10
- package/.agent/history/snapshots/test__unit__context_compiler.test.js.json +0 -26
- package/.agent/history/snapshots/test__unit__contract_engine.test.js.json +0 -13
- package/.agent/history/snapshots/test__unit__copyDir.test.js.json +0 -23
- package/.agent/history/snapshots/test__unit__graph_tools.test.js.json +0 -11
- package/.agent/history/snapshots/test__unit__guardrail_engine.test.js.json +0 -10
- package/.agent/history/snapshots/test__unit__impact_classifier.test.js.json +0 -12
- package/.agent/history/snapshots/test__unit__init.test.js.json +0 -14
- package/.agent/history/snapshots/test__unit__inner_loop_validator.test.js.json +0 -10
- package/.agent/history/snapshots/test__unit__integrity_manifest.test.js.json +0 -13
- package/.agent/history/snapshots/test__unit__learn.test.js.json +0 -11
- package/.agent/history/snapshots/test__unit__marathon.test.js.json +0 -22
- package/.agent/history/snapshots/test__unit__mcp_server.test.js.json +0 -16
- package/.agent/history/snapshots/test__unit__memory.test.js.json +0 -13
- package/.agent/history/snapshots/test__unit__minimal_change.test.js.json +0 -10
- package/.agent/history/snapshots/test__unit__native.test.js.json +0 -10
- package/.agent/history/snapshots/test__unit__optimize.test.js.json +0 -13
- package/.agent/history/snapshots/test__unit__path_resolution.test.js.json +0 -14
- package/.agent/history/snapshots/test__unit__platform_download_audit.test.js.json +0 -11
- package/.agent/history/snapshots/test__unit__production_readiness_evidence.test.js.json +0 -21
- package/.agent/history/snapshots/test__unit__prompt_compiler.test.js.json +0 -10
- package/.agent/history/snapshots/test__unit__sdd_integration.test.js.json +0 -12
- package/.agent/history/snapshots/test__unit__selfInstall.test.js.json +0 -23
- package/.agent/history/snapshots/test__unit__semver.test.js.json +0 -20
- package/.agent/history/snapshots/test__unit__skill_evolution.test.js.json +0 -11
- package/.agent/history/snapshots/test__unit__stress.test.js.json +0 -15
- package/.agent/history/snapshots/test__unit__swarm_dispatcher.test.js.json +0 -12
- package/.agent/history/snapshots/test__unit__token_budget_broker.test.js.json +0 -10
- package/.agent/history/snapshots/test__unit__tui.test.js.json +0 -10
- package/.agent/history/snapshots/test__unit__utils.test.js.json +0 -10
- package/.agents/plugins/marketplace.json +0 -20
- package/.claude/CLAUDE.md +0 -442
- /package/{dist → src}/cli.js +0 -0
- /package/{dist → src}/index.d.ts +0 -0
|
@@ -1,157 +1,157 @@
|
|
|
1
|
-
---
|
|
2
|
-
name: authentication-best-practices
|
|
3
|
-
description: "Use when Authentication and Authorization mastery. Best practices for OAuth2, OpenID Connect, JWT (JSON Web Tokens), session management, password hashing, MFA (Multi-Factor Authentication), RBAC/ABAC, SSO, and secure credential storage. Use when auditing or implementing login flows, identity systems, or access control."
|
|
4
|
-
version: 5.0.0
|
|
5
|
-
last-updated: 2026-09-13
|
|
6
|
-
skills:
|
|
7
|
-
- backend-security-expert
|
|
8
|
-
- api-security-auditor
|
|
9
|
-
- vulnerability-scanner
|
|
10
|
-
tools: Read, Grep, Glob, Bash, Edit, Write
|
|
11
|
-
scripts-binding:
|
|
12
|
-
- .agent/scripts/lint_runner.js
|
|
13
|
-
- .agent/scripts/verify_all.js
|
|
14
|
-
---
|
|
15
|
-
|
|
16
|
-
# Authentication & Authorization — Identity Mastery
|
|
17
|
-
|
|
18
|
-
---
|
|
19
|
-
|
|
20
|
-
## 🛠️ Technical Architecture & Reference Recipes
|
|
21
|
-
|
|
22
|
-
---
|
|
23
|
-
|
|
24
|
-
---
|
|
25
|
-
|
|
26
|
-
## Passwords & Hashing
|
|
27
|
-
|
|
28
|
-
```typescript
|
|
29
|
-
// ❌ BAD: md5, sha1, sha256 (too fast, vulnerable to brute force/rainbow tables)
|
|
30
|
-
const hash = crypto.createHash('sha256').update(password).digest('hex');
|
|
31
|
-
|
|
32
|
-
// ✅ GOOD: Argon2 (memory-hard, ASIC resistant) or bcrypt
|
|
33
|
-
import * as argon2 from 'argon2';
|
|
34
|
-
|
|
35
|
-
async function hashPassword(password: string): Promise<string> {
|
|
36
|
-
// Argon2 hashes include the salt inherently in the resulting string
|
|
37
|
-
return await argon2.hash(password, {
|
|
38
|
-
type: argon2.argon2id, // recommended variant
|
|
39
|
-
memoryCost: 2 ** 16, // 64 MB
|
|
40
|
-
timeCost: 3, // iterations
|
|
41
|
-
parallelism: 1, // threads
|
|
42
|
-
});
|
|
43
|
-
}
|
|
44
|
-
|
|
45
|
-
async function verifyPassword(hash: string, password: string): Promise<boolean> {
|
|
46
|
-
return await argon2.verify(hash, password);
|
|
47
|
-
}
|
|
48
|
-
```
|
|
49
|
-
|
|
50
|
-
### Password Policies
|
|
51
|
-
|
|
52
|
-
- **Length over complexity**: Require minimum 12 characters. Stop requiring arbitrary symbols (e.g., `!@#`).
|
|
53
|
-
- **Check against breaches**: Use HaveIBeenPwned API or similar to reject compromised passwords during signup.
|
|
54
|
-
- **Never expire passwords arbitrarily**: Only force resets if there is evidence of a breach.
|
|
55
|
-
|
|
56
|
-
---
|
|
57
|
-
|
|
58
|
-
## Session Management vs. JWT
|
|
59
|
-
|
|
60
|
-
### 1. Stateful Sessions (Cookies)
|
|
61
|
-
|
|
62
|
-
**Best for**: Monolithic web apps, SSR apps (Next.js, Remix).
|
|
63
|
-
|
|
64
|
-
- Server stores session ID mapped to user data in Redis/DB.
|
|
65
|
-
- Client stores session ID in an `HttpOnly`, `Secure`, `SameSite=Lax/Strict` cookie.
|
|
66
|
-
- **Pros**: Immediate revocation, server-side truth, invisible to XSS.
|
|
67
|
-
- **Cons**: Requires DB lookup per request.
|
|
68
|
-
|
|
69
|
-
### 2. Stateless JWT (JSON Web Tokens)
|
|
70
|
-
|
|
71
|
-
**Best for**: Distributed APIs, Microservices, Native mobile apps.
|
|
72
|
-
|
|
73
|
-
- Server signs a token containing user claims.
|
|
74
|
-
- Client passes it in `Authorization: Bearer <token>` header.
|
|
75
|
-
- **Pros**: No DB lookup needed, easy cross-origin sharing.
|
|
76
|
-
- **Cons**: Cannot be easily revoked before expiration.
|
|
77
|
-
|
|
78
|
-
### The JWT "Refresh Token" Pattern
|
|
79
|
-
|
|
80
|
-
```typescript
|
|
81
|
-
// Scenario: API authentication
|
|
82
|
-
// 1. Access Token (Short-lived: 15 mins)
|
|
83
|
-
const accessToken = jwt.sign({ userId: user.id }, JWT_SECRET, {
|
|
84
|
-
expiresIn: '15m',
|
|
85
|
-
algorithm: 'HS256', // ALWAYS explicitly specify
|
|
86
|
-
});
|
|
87
|
-
// 2. Refresh Token (Long-lived: 7 days, opaque string in DB)
|
|
88
|
-
const refreshToken = crypto.randomBytes(40).toString('hex');
|
|
89
|
-
await db.refreshTokens.create({ token: refreshToken, userId: user.id, expires: addDays(7) });
|
|
90
|
-
|
|
91
|
-
// Client flow:
|
|
92
|
-
// - Access token kept in memory (JS variable) to prevent XSS theft.
|
|
93
|
-
// - Refresh token kept in HttpOnly cookie.
|
|
94
|
-
// - When Access Token expires, endpoint reads cookie, validates DB, issues new Access Token.
|
|
95
|
-
```
|
|
96
|
-
|
|
97
|
-
---
|
|
98
|
-
|
|
99
|
-
## OAuth2 & OIDC (OpenID Connect)
|
|
100
|
-
|
|
101
|
-
```
|
|
102
|
-
Roles:
|
|
103
|
-
1. Resource Owner (User)
|
|
104
|
-
2. Client (Your App)
|
|
105
|
-
3. Authorization Server (Google/GitHub/Auth0)
|
|
106
|
-
4. Resource Server (API)
|
|
107
|
-
|
|
108
|
-
Flow (Authorization Code + PKCE):
|
|
109
|
-
1. User clicks "Login with Google".
|
|
110
|
-
2. App generates `code_verifier` and `code_challenge`.
|
|
111
|
-
3. App redirects user to Google with `code_challenge`.
|
|
112
|
-
4. User logs in, Google redirects back to App with an authorization `code`.
|
|
113
|
-
5. App sends `code` + `code_verifier` to Google backend.
|
|
114
|
-
6. Google returns `id_token` (OIDC identity) and `access_token` (OAuth permissions).
|
|
115
|
-
|
|
116
|
-
// ❌ HALLUCINATION TRAP: Implicit Flow is deprecated.
|
|
117
|
-
// Never use Implicit Flow (response_type=token) where the token is returned in the URL hash.
|
|
118
|
-
// Always use Authorization Code Flow with PKCE, even for Single Page Apps (SPAs).
|
|
119
|
-
```
|
|
120
|
-
|
|
121
|
-
---
|
|
122
|
-
|
|
123
|
-
## Multi-Factor Authentication (MFA)
|
|
124
|
-
|
|
125
|
-
- **SMS**: Deprecated by NIST due to SIM swapping vulnerabilities. (Better than nothing, but avoid as primary MFA).
|
|
126
|
-
- **TOTP (Authenticator Apps)**: Standard implementations use HMAC-SHA1. Keep the secret key heavily encrypted at rest.
|
|
127
|
-
- **WebAuthn / Passkeys**: The modern gold standard. Replaces passwords entirely using hardware enclaves (FaceID, TouchID, YubiKey).
|
|
128
|
-
|
|
129
|
-
---
|
|
130
|
-
|
|
131
|
-
## Authorization Models
|
|
132
|
-
|
|
133
|
-
### RBAC (Role-Based Access Control)
|
|
134
|
-
|
|
135
|
-
- Users have Roles (`admin`, `editor`, `viewer`).
|
|
136
|
-
- Roles have Permissions (`create:post`, `delete:user`).
|
|
137
|
-
|
|
138
|
-
```typescript
|
|
139
|
-
// ✅ Check permissions, not roles directly (more flexible)
|
|
140
|
-
if (!user.permissions.includes('delete:user')) {
|
|
141
|
-
throw new ForbiddenError();
|
|
142
|
-
}
|
|
143
|
-
```
|
|
144
|
-
|
|
145
|
-
### ABAC (Attribute-Based Access Control)
|
|
146
|
-
|
|
147
|
-
- Access based on context (e.g., "User can edit Document if Document.department == User.department").
|
|
148
|
-
|
|
149
|
-
```typescript
|
|
150
|
-
// Example Policy
|
|
151
|
-
function canEditPost(user: User, post: Post): boolean {
|
|
152
|
-
if (user.role === 'admin') return true;
|
|
153
|
-
if (post.authorId === user.id) return true;
|
|
154
|
-
if (post.status === 'draft' && user.department === 'content') return true;
|
|
155
|
-
return false;
|
|
156
|
-
}
|
|
157
|
-
```
|
|
1
|
+
---
|
|
2
|
+
name: authentication-best-practices
|
|
3
|
+
description: "Use when Authentication and Authorization mastery. Best practices for OAuth2, OpenID Connect, JWT (JSON Web Tokens), session management, password hashing, MFA (Multi-Factor Authentication), RBAC/ABAC, SSO, and secure credential storage. Use when auditing or implementing login flows, identity systems, or access control."
|
|
4
|
+
version: 5.0.0
|
|
5
|
+
last-updated: 2026-09-13
|
|
6
|
+
skills:
|
|
7
|
+
- backend-security-expert
|
|
8
|
+
- api-security-auditor
|
|
9
|
+
- vulnerability-scanner
|
|
10
|
+
tools: Read, Grep, Glob, Bash, Edit, Write
|
|
11
|
+
scripts-binding:
|
|
12
|
+
- .agent/scripts/lint_runner.js
|
|
13
|
+
- .agent/scripts/verify_all.js
|
|
14
|
+
---
|
|
15
|
+
|
|
16
|
+
# Authentication & Authorization — Identity Mastery
|
|
17
|
+
|
|
18
|
+
---
|
|
19
|
+
|
|
20
|
+
## 🛠️ Technical Architecture & Reference Recipes
|
|
21
|
+
|
|
22
|
+
---
|
|
23
|
+
|
|
24
|
+
---
|
|
25
|
+
|
|
26
|
+
## Passwords & Hashing
|
|
27
|
+
|
|
28
|
+
```typescript
|
|
29
|
+
// ❌ BAD: md5, sha1, sha256 (too fast, vulnerable to brute force/rainbow tables)
|
|
30
|
+
const hash = crypto.createHash('sha256').update(password).digest('hex');
|
|
31
|
+
|
|
32
|
+
// ✅ GOOD: Argon2 (memory-hard, ASIC resistant) or bcrypt
|
|
33
|
+
import * as argon2 from 'argon2';
|
|
34
|
+
|
|
35
|
+
async function hashPassword(password: string): Promise<string> {
|
|
36
|
+
// Argon2 hashes include the salt inherently in the resulting string
|
|
37
|
+
return await argon2.hash(password, {
|
|
38
|
+
type: argon2.argon2id, // recommended variant
|
|
39
|
+
memoryCost: 2 ** 16, // 64 MB
|
|
40
|
+
timeCost: 3, // iterations
|
|
41
|
+
parallelism: 1, // threads
|
|
42
|
+
});
|
|
43
|
+
}
|
|
44
|
+
|
|
45
|
+
async function verifyPassword(hash: string, password: string): Promise<boolean> {
|
|
46
|
+
return await argon2.verify(hash, password);
|
|
47
|
+
}
|
|
48
|
+
```
|
|
49
|
+
|
|
50
|
+
### Password Policies
|
|
51
|
+
|
|
52
|
+
- **Length over complexity**: Require minimum 12 characters. Stop requiring arbitrary symbols (e.g., `!@#`).
|
|
53
|
+
- **Check against breaches**: Use HaveIBeenPwned API or similar to reject compromised passwords during signup.
|
|
54
|
+
- **Never expire passwords arbitrarily**: Only force resets if there is evidence of a breach.
|
|
55
|
+
|
|
56
|
+
---
|
|
57
|
+
|
|
58
|
+
## Session Management vs. JWT
|
|
59
|
+
|
|
60
|
+
### 1. Stateful Sessions (Cookies)
|
|
61
|
+
|
|
62
|
+
**Best for**: Monolithic web apps, SSR apps (Next.js, Remix).
|
|
63
|
+
|
|
64
|
+
- Server stores session ID mapped to user data in Redis/DB.
|
|
65
|
+
- Client stores session ID in an `HttpOnly`, `Secure`, `SameSite=Lax/Strict` cookie.
|
|
66
|
+
- **Pros**: Immediate revocation, server-side truth, invisible to XSS.
|
|
67
|
+
- **Cons**: Requires DB lookup per request.
|
|
68
|
+
|
|
69
|
+
### 2. Stateless JWT (JSON Web Tokens)
|
|
70
|
+
|
|
71
|
+
**Best for**: Distributed APIs, Microservices, Native mobile apps.
|
|
72
|
+
|
|
73
|
+
- Server signs a token containing user claims.
|
|
74
|
+
- Client passes it in `Authorization: Bearer <token>` header.
|
|
75
|
+
- **Pros**: No DB lookup needed, easy cross-origin sharing.
|
|
76
|
+
- **Cons**: Cannot be easily revoked before expiration.
|
|
77
|
+
|
|
78
|
+
### The JWT "Refresh Token" Pattern
|
|
79
|
+
|
|
80
|
+
```typescript
|
|
81
|
+
// Scenario: API authentication
|
|
82
|
+
// 1. Access Token (Short-lived: 15 mins)
|
|
83
|
+
const accessToken = jwt.sign({ userId: user.id }, JWT_SECRET, {
|
|
84
|
+
expiresIn: '15m',
|
|
85
|
+
algorithm: 'HS256', // ALWAYS explicitly specify
|
|
86
|
+
});
|
|
87
|
+
// 2. Refresh Token (Long-lived: 7 days, opaque string in DB)
|
|
88
|
+
const refreshToken = crypto.randomBytes(40).toString('hex');
|
|
89
|
+
await db.refreshTokens.create({ token: refreshToken, userId: user.id, expires: addDays(7) });
|
|
90
|
+
|
|
91
|
+
// Client flow:
|
|
92
|
+
// - Access token kept in memory (JS variable) to prevent XSS theft.
|
|
93
|
+
// - Refresh token kept in HttpOnly cookie.
|
|
94
|
+
// - When Access Token expires, endpoint reads cookie, validates DB, issues new Access Token.
|
|
95
|
+
```
|
|
96
|
+
|
|
97
|
+
---
|
|
98
|
+
|
|
99
|
+
## OAuth2 & OIDC (OpenID Connect)
|
|
100
|
+
|
|
101
|
+
```
|
|
102
|
+
Roles:
|
|
103
|
+
1. Resource Owner (User)
|
|
104
|
+
2. Client (Your App)
|
|
105
|
+
3. Authorization Server (Google/GitHub/Auth0)
|
|
106
|
+
4. Resource Server (API)
|
|
107
|
+
|
|
108
|
+
Flow (Authorization Code + PKCE):
|
|
109
|
+
1. User clicks "Login with Google".
|
|
110
|
+
2. App generates `code_verifier` and `code_challenge`.
|
|
111
|
+
3. App redirects user to Google with `code_challenge`.
|
|
112
|
+
4. User logs in, Google redirects back to App with an authorization `code`.
|
|
113
|
+
5. App sends `code` + `code_verifier` to Google backend.
|
|
114
|
+
6. Google returns `id_token` (OIDC identity) and `access_token` (OAuth permissions).
|
|
115
|
+
|
|
116
|
+
// ❌ HALLUCINATION TRAP: Implicit Flow is deprecated.
|
|
117
|
+
// Never use Implicit Flow (response_type=token) where the token is returned in the URL hash.
|
|
118
|
+
// Always use Authorization Code Flow with PKCE, even for Single Page Apps (SPAs).
|
|
119
|
+
```
|
|
120
|
+
|
|
121
|
+
---
|
|
122
|
+
|
|
123
|
+
## Multi-Factor Authentication (MFA)
|
|
124
|
+
|
|
125
|
+
- **SMS**: Deprecated by NIST due to SIM swapping vulnerabilities. (Better than nothing, but avoid as primary MFA).
|
|
126
|
+
- **TOTP (Authenticator Apps)**: Standard implementations use HMAC-SHA1. Keep the secret key heavily encrypted at rest.
|
|
127
|
+
- **WebAuthn / Passkeys**: The modern gold standard. Replaces passwords entirely using hardware enclaves (FaceID, TouchID, YubiKey).
|
|
128
|
+
|
|
129
|
+
---
|
|
130
|
+
|
|
131
|
+
## Authorization Models
|
|
132
|
+
|
|
133
|
+
### RBAC (Role-Based Access Control)
|
|
134
|
+
|
|
135
|
+
- Users have Roles (`admin`, `editor`, `viewer`).
|
|
136
|
+
- Roles have Permissions (`create:post`, `delete:user`).
|
|
137
|
+
|
|
138
|
+
```typescript
|
|
139
|
+
// ✅ Check permissions, not roles directly (more flexible)
|
|
140
|
+
if (!user.permissions.includes('delete:user')) {
|
|
141
|
+
throw new ForbiddenError();
|
|
142
|
+
}
|
|
143
|
+
```
|
|
144
|
+
|
|
145
|
+
### ABAC (Attribute-Based Access Control)
|
|
146
|
+
|
|
147
|
+
- Access based on context (e.g., "User can edit Document if Document.department == User.department").
|
|
148
|
+
|
|
149
|
+
```typescript
|
|
150
|
+
// Example Policy
|
|
151
|
+
function canEditPost(user: User, post: Post): boolean {
|
|
152
|
+
if (user.role === 'admin') return true;
|
|
153
|
+
if (post.authorId === user.id) return true;
|
|
154
|
+
if (post.status === 'draft' && user.department === 'content') return true;
|
|
155
|
+
return false;
|
|
156
|
+
}
|
|
157
|
+
```
|
|
@@ -0,0 +1,76 @@
|
|
|
1
|
+
---
|
|
2
|
+
description: Use when executing subagent tasks autonomously. Defines the scratchpad structure and ReAct loops.
|
|
3
|
+
version: 3.0.0
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# Autonomous Execution (Bounded Jev-style Loop)
|
|
7
|
+
|
|
8
|
+
$ARGUMENTS
|
|
9
|
+
|
|
10
|
+
---
|
|
11
|
+
|
|
12
|
+
## 1. Scratchpad Memory Rule
|
|
13
|
+
|
|
14
|
+
You MUST initialize and maintain your state in `task-<N>-scratchpad.md`.
|
|
15
|
+
Do not try to remember complex API signatures in your context window. Write them down in the scratchpad.
|
|
16
|
+
|
|
17
|
+
### Scratchpad Structure:
|
|
18
|
+
|
|
19
|
+
```markdown
|
|
20
|
+
# Scratchpad - Task <N>
|
|
21
|
+
|
|
22
|
+
## 1. Goal
|
|
23
|
+
|
|
24
|
+
[Briefly state the goal derived from the task brief]
|
|
25
|
+
|
|
26
|
+
## 2. Execution Plan
|
|
27
|
+
|
|
28
|
+
- [ ] Step 1
|
|
29
|
+
- [ ] Step 2
|
|
30
|
+
|
|
31
|
+
## 3. Current Context
|
|
32
|
+
|
|
33
|
+
- `some_file.js`: Exports `functionA(a, b)`
|
|
34
|
+
- API: Requires `Bearer` token
|
|
35
|
+
|
|
36
|
+
## 4. Attempt Log
|
|
37
|
+
|
|
38
|
+
- Attempt 1: Failed test `x is undefined`. Fix: Update `y`.
|
|
39
|
+
```
|
|
40
|
+
|
|
41
|
+
Whenever you discover something new or fail a test, UPDATE the scratchpad before taking your next action.
|
|
42
|
+
|
|
43
|
+
## 2. Dynamic Discovery (No Guessing)
|
|
44
|
+
|
|
45
|
+
Do NOT assume file structures or API endpoints.
|
|
46
|
+
|
|
47
|
+
- Use `list_dir` or `grep_search` to find the files you need to modify.
|
|
48
|
+
- Use `view_file` to read the exact lines of code you are changing.
|
|
49
|
+
- Verify every import against `package.json`.
|
|
50
|
+
|
|
51
|
+
## 3. The ReAct Loop (Thought -> Action -> Observation)
|
|
52
|
+
|
|
53
|
+
You are in a continuous loop. Do not stop until the task is complete.
|
|
54
|
+
|
|
55
|
+
1. **Thought:** "I need to find the SDD controller."
|
|
56
|
+
2. **Action:** Call `grep_search` for "SDD controller".
|
|
57
|
+
3. **Observation:** See results.
|
|
58
|
+
4. **Thought:** "I found it in `sdd.js`. I will read it."
|
|
59
|
+
5. **Action:** Call `view_file` on `sdd.js`.
|
|
60
|
+
|
|
61
|
+
## 4. TDD Self-Correction
|
|
62
|
+
|
|
63
|
+
1. Write tests.
|
|
64
|
+
2. Run tests via `run_command` (e.g., `npm run test` or `cargo test`).
|
|
65
|
+
3. If they fail, READ the error output.
|
|
66
|
+
4. Document the failure in your scratchpad.
|
|
67
|
+
5. Fix the code.
|
|
68
|
+
6. Loop until tests pass (GREEN).
|
|
69
|
+
|
|
70
|
+
## 5. Circuit Breaker
|
|
71
|
+
|
|
72
|
+
If you fail the same test 3 times, or if you reach 10 total iterations, STOP and report the failure in your final output. Do NOT loop infinitely.
|
|
73
|
+
|
|
74
|
+
## 6. Zero Commits
|
|
75
|
+
|
|
76
|
+
You are an implementer. You only modify files. The SDD Controller will generate the `.diff` and commit the files after the Tribunal Wave approves your work. DO NOT run `git commit`.
|
|
@@ -1,73 +1,73 @@
|
|
|
1
|
-
---
|
|
2
|
-
name: backend-security-expert
|
|
3
|
-
description: "Use when Backend security auditing for modern server-side architectures. Focuses on Next.js Server Actions, Node.js/Edge APIs, JWT & Session architectures, ORM injection (Prisma/Drizzle), and RBAC implementation."
|
|
4
|
-
version: 5.0.0
|
|
5
|
-
last-updated: 2026-09-13
|
|
6
|
-
skills:
|
|
7
|
-
- frontend-security-expert
|
|
8
|
-
- api-security-auditor
|
|
9
|
-
- vulnerability-scanner
|
|
10
|
-
tools: Read, Grep, Glob, Bash, Edit, Write
|
|
11
|
-
scripts-binding:
|
|
12
|
-
- .agent/scripts/lint_runner.js
|
|
13
|
-
- .agent/scripts/verify_all.js
|
|
14
|
-
---
|
|
15
|
-
|
|
16
|
-
# Backend Security Expert — Modern Server Architectures
|
|
17
|
-
|
|
18
|
-
---
|
|
19
|
-
|
|
20
|
-
## 🛠️ Technical Architecture & Reference Recipes
|
|
21
|
-
|
|
22
|
-
---
|
|
23
|
-
|
|
24
|
-
## 2026 Backend Security & Cryptography Invariants
|
|
25
|
-
|
|
26
|
-
1. **Timing-Safe Equality**:
|
|
27
|
-
```ts
|
|
28
|
-
import { timingSafeEqual } from 'node:crypto';
|
|
29
|
-
function verifySecret(provided: string, expected: string): boolean {
|
|
30
|
-
const bufA = Buffer.from(provided);
|
|
31
|
-
const bufB = Buffer.from(expected);
|
|
32
|
-
if (bufA.length !== bufB.length) return false;
|
|
33
|
-
return timingSafeEqual(bufA, bufB);
|
|
34
|
-
}
|
|
35
|
-
```
|
|
36
|
-
2. **SSRF Guardrails on Webhooks**: Never allow user-submitted URLs to hit AWS/GCP metadata services (`169.254.169.254`) or loopback (`localhost`). Validate IP address after DNS resolution before connecting.
|
|
37
|
-
3. **Mass Assignment Prevention**: Never pass `req.body` directly into database inserts. Explicitly pick allowed attributes via Zod schemas (`schema.parse(req.body)`).
|
|
38
|
-
4. **JWT Verification Security**: Always specify `algorithms: ['HS256']` explicitly to prevent the notorious `alg: "none"` vulnerability.
|
|
39
|
-
|
|
40
|
-
## Hallucination Traps (Read First)
|
|
41
|
-
|
|
42
|
-
- ❌ Recommending session tokens without algorithm enforcement → ✅ Always verify JWT algorithms (`alg: "HS256"`)
|
|
43
|
-
- ❌ String equality `token === expectedToken` → ✅ Use `crypto.timingSafeEqual` to prevent timing attacks
|
|
44
|
-
- ❌ Treating ORMs as automatically injection-proof → ✅ Prisma and Drizzle are vulnerable if raw SQL is dynamically interpolated
|
|
45
|
-
- ❌ Assuming Next.js Server Actions are private internal functions → ✅ Server Actions are public HTTP endpoints
|
|
46
|
-
- ❌ Fetching user-supplied URLs without private IP filtering → ✅ Block RFC 1918 and link-local ranges to prevent SSRF
|
|
47
|
-
|
|
48
|
-
---
|
|
49
|
-
|
|
50
|
-
## 1. Next.js Server Actions & Edge APIs
|
|
51
|
-
|
|
52
|
-
Server Actions create implicit API endpoints. They must be treated like raw REST routes.
|
|
53
|
-
|
|
54
|
-
- **Authentication**: Validate the session ID/token at the very top of _every_ Server Action.
|
|
55
|
-
- **Input Validation**: Parse all inputs using Zod. Do not trust TypeScript types, as they do not exist at runtime.
|
|
56
|
-
- **Rate Limiting**: Apply `@upstash/ratelimit` or similar to prevent brute force and abuse on public-facing actions.
|
|
57
|
-
|
|
58
|
-
## 2. Authentication & Authorization (RBAC)
|
|
59
|
-
|
|
60
|
-
- **Role-Based Access**: Check if the authenticated user has permission to perform the specific action, not just if they are logged in.
|
|
61
|
-
- **IDOR Prevention**: Always verify that the resource being modified belongs to the user requesting the modification (e.g., `WHERE userId = session.userId`).
|
|
62
|
-
- **Secrets Management**: Never hardcode API keys. Ensure they are loaded from `.env` and fail loudly if missing.
|
|
63
|
-
|
|
64
|
-
## 3. Database & ORM Security
|
|
65
|
-
|
|
66
|
-
- **NoSQL/ORM Injection**: Avoid passing raw JSON or objects directly into query constraints (e.g., MongoDB `$where` or Prisma raw queries).
|
|
67
|
-
- **Mass Assignment**: Never destructure user input directly into a database create/update call. Explicitly pick the fields allowed to be updated.
|
|
68
|
-
- **Query Depth**: For GraphQL backends, always implement depth limiting and cost analysis to prevent query-based DDoS.
|
|
69
|
-
|
|
70
|
-
## 4. Headers & Server Hardening
|
|
71
|
-
|
|
72
|
-
- **CORS**: Never use wildcard `Access-Control-Allow-Origin: *` for authenticated routes.
|
|
73
|
-
- **Security Headers**: Ensure Helmet (or equivalent Next.js headers config) is active for HSTS, X-Frame-Options, and Content-Type-Options.
|
|
1
|
+
---
|
|
2
|
+
name: backend-security-expert
|
|
3
|
+
description: "Use when Backend security auditing for modern server-side architectures. Focuses on Next.js Server Actions, Node.js/Edge APIs, JWT & Session architectures, ORM injection (Prisma/Drizzle), and RBAC implementation."
|
|
4
|
+
version: 5.0.0
|
|
5
|
+
last-updated: 2026-09-13
|
|
6
|
+
skills:
|
|
7
|
+
- frontend-security-expert
|
|
8
|
+
- api-security-auditor
|
|
9
|
+
- vulnerability-scanner
|
|
10
|
+
tools: Read, Grep, Glob, Bash, Edit, Write
|
|
11
|
+
scripts-binding:
|
|
12
|
+
- .agent/scripts/lint_runner.js
|
|
13
|
+
- .agent/scripts/verify_all.js
|
|
14
|
+
---
|
|
15
|
+
|
|
16
|
+
# Backend Security Expert — Modern Server Architectures
|
|
17
|
+
|
|
18
|
+
---
|
|
19
|
+
|
|
20
|
+
## 🛠️ Technical Architecture & Reference Recipes
|
|
21
|
+
|
|
22
|
+
---
|
|
23
|
+
|
|
24
|
+
## 2026 Backend Security & Cryptography Invariants
|
|
25
|
+
|
|
26
|
+
1. **Timing-Safe Equality**:
|
|
27
|
+
```ts
|
|
28
|
+
import { timingSafeEqual } from 'node:crypto';
|
|
29
|
+
function verifySecret(provided: string, expected: string): boolean {
|
|
30
|
+
const bufA = Buffer.from(provided);
|
|
31
|
+
const bufB = Buffer.from(expected);
|
|
32
|
+
if (bufA.length !== bufB.length) return false;
|
|
33
|
+
return timingSafeEqual(bufA, bufB);
|
|
34
|
+
}
|
|
35
|
+
```
|
|
36
|
+
2. **SSRF Guardrails on Webhooks**: Never allow user-submitted URLs to hit AWS/GCP metadata services (`169.254.169.254`) or loopback (`localhost`). Validate IP address after DNS resolution before connecting.
|
|
37
|
+
3. **Mass Assignment Prevention**: Never pass `req.body` directly into database inserts. Explicitly pick allowed attributes via Zod schemas (`schema.parse(req.body)`).
|
|
38
|
+
4. **JWT Verification Security**: Always specify `algorithms: ['HS256']` explicitly to prevent the notorious `alg: "none"` vulnerability.
|
|
39
|
+
|
|
40
|
+
## Hallucination Traps (Read First)
|
|
41
|
+
|
|
42
|
+
- ❌ Recommending session tokens without algorithm enforcement → ✅ Always verify JWT algorithms (`alg: "HS256"`)
|
|
43
|
+
- ❌ String equality `token === expectedToken` → ✅ Use `crypto.timingSafeEqual` to prevent timing attacks
|
|
44
|
+
- ❌ Treating ORMs as automatically injection-proof → ✅ Prisma and Drizzle are vulnerable if raw SQL is dynamically interpolated
|
|
45
|
+
- ❌ Assuming Next.js Server Actions are private internal functions → ✅ Server Actions are public HTTP endpoints
|
|
46
|
+
- ❌ Fetching user-supplied URLs without private IP filtering → ✅ Block RFC 1918 and link-local ranges to prevent SSRF
|
|
47
|
+
|
|
48
|
+
---
|
|
49
|
+
|
|
50
|
+
## 1. Next.js Server Actions & Edge APIs
|
|
51
|
+
|
|
52
|
+
Server Actions create implicit API endpoints. They must be treated like raw REST routes.
|
|
53
|
+
|
|
54
|
+
- **Authentication**: Validate the session ID/token at the very top of _every_ Server Action.
|
|
55
|
+
- **Input Validation**: Parse all inputs using Zod. Do not trust TypeScript types, as they do not exist at runtime.
|
|
56
|
+
- **Rate Limiting**: Apply `@upstash/ratelimit` or similar to prevent brute force and abuse on public-facing actions.
|
|
57
|
+
|
|
58
|
+
## 2. Authentication & Authorization (RBAC)
|
|
59
|
+
|
|
60
|
+
- **Role-Based Access**: Check if the authenticated user has permission to perform the specific action, not just if they are logged in.
|
|
61
|
+
- **IDOR Prevention**: Always verify that the resource being modified belongs to the user requesting the modification (e.g., `WHERE userId = session.userId`).
|
|
62
|
+
- **Secrets Management**: Never hardcode API keys. Ensure they are loaded from `.env` and fail loudly if missing.
|
|
63
|
+
|
|
64
|
+
## 3. Database & ORM Security
|
|
65
|
+
|
|
66
|
+
- **NoSQL/ORM Injection**: Avoid passing raw JSON or objects directly into query constraints (e.g., MongoDB `$where` or Prisma raw queries).
|
|
67
|
+
- **Mass Assignment**: Never destructure user input directly into a database create/update call. Explicitly pick the fields allowed to be updated.
|
|
68
|
+
- **Query Depth**: For GraphQL backends, always implement depth limiting and cost analysis to prevent query-based DDoS.
|
|
69
|
+
|
|
70
|
+
## 4. Headers & Server Hardening
|
|
71
|
+
|
|
72
|
+
- **CORS**: Never use wildcard `Access-Control-Allow-Origin: *` for authenticated routes.
|
|
73
|
+
- **Security Headers**: Ensure Helmet (or equivalent Next.js headers config) is active for HSTS, X-Frame-Options, and Content-Type-Options.
|
|
@@ -1,55 +1,55 @@
|
|
|
1
|
-
---
|
|
2
|
-
name: baseline-ui
|
|
3
|
-
description: "Use when Quickly deslop UI code by fixing spacing, hierarchy, typography, contrast, and small layout issues. Use when the interface needs a fast cleanup or polish pass."
|
|
4
|
-
version: 5.0.0
|
|
5
|
-
last-updated: 2026-09-13
|
|
6
|
-
skills:
|
|
7
|
-
- better-ui
|
|
8
|
-
- frontend-design
|
|
9
|
-
- better-colors
|
|
10
|
-
tools: Read, Grep, Glob, Bash, Edit, Write
|
|
11
|
-
scripts-binding:
|
|
12
|
-
- .agent/scripts/lint_runner.js
|
|
13
|
-
- .agent/scripts/verify_all.js
|
|
14
|
-
---
|
|
15
|
-
|
|
16
|
-
# Baseline UI — Fast Deslopping & Hierarchy Cleanup
|
|
17
|
-
|
|
18
|
-
---
|
|
19
|
-
|
|
20
|
-
## 🛠️ Technical Architecture & Reference Recipes
|
|
21
|
-
|
|
22
|
-
---
|
|
23
|
-
|
|
24
|
-
---
|
|
25
|
-
|
|
26
|
-
## 1. Stack & System Constraints
|
|
27
|
-
|
|
28
|
-
- **Tailwind CSS Defaults**: MUST use Tailwind CSS default utilities unless custom values already exist or are explicitly requested.
|
|
29
|
-
- **Animation Primitives**: MUST use `motion/react` (formerly `framer-motion`) when JavaScript animation is required.
|
|
30
|
-
- **Utility Class Merging**: MUST use `cn` utility (`clsx` + `tailwind-merge`) for dynamic class logic.
|
|
31
|
-
- **Accessible Component Primitives**: MUST use established accessible primitives (`Base UI`, `React Aria`, `Radix`) for anything with keyboard or focus behavior. Prefer `Base UI` for new unstyled primitives.
|
|
32
|
-
- **Destructive Actions**: MUST use an `AlertDialog` for destructive or irreversible actions.
|
|
33
|
-
- **Loading States**: SHOULD use structural skeletons for loading states instead of plain spinners.
|
|
34
|
-
|
|
35
|
-
---
|
|
36
|
-
|
|
37
|
-
## 2. The 5-Step UI Deslop Protocol
|
|
38
|
-
|
|
39
|
-
1. **Fix Spacing Violations**: Replace hardcoded arbitrary margins/paddings (`margin-top: 13px`, `padding: 7px 11px`) with an 8px grid system (`4px`, `8px`, `12px`, `16px`, `24px`, `32px`, `48px`).
|
|
40
|
-
2. **Establish Typographic Hierarchy**: Max 3 font sizes per component context. Headings bold/semibold with tight letter-spacing (`-0.025em`) and `text-wrap: balance`. Body text regular with `1.5` line height.
|
|
41
|
-
3. **Elevate Contrast Ratios**: Eliminate low-contrast gray-on-gray text. Ensure text meets minimum WCAG AA 4.5:1 ratio against background.
|
|
42
|
-
4. **Clean Up Borders & Dividers**: Replace harsh 100% opaque black/white borders with subtle 8%-12% opacity borders (`border-color: rgba(255,255,255,0.08)` or `var(--border)`).
|
|
43
|
-
5. **Enforce Container Alignment & Active Feedback**: Align text left with action buttons, group related controls with flex gaps, and add instant press feedback (`scale(0.97)`) on all interactive targets.
|
|
44
|
-
|
|
45
|
-
---
|
|
46
|
-
|
|
47
|
-
## Anti-Slop Table
|
|
48
|
-
|
|
49
|
-
| Slop Pattern | Baseline Fix | Rationale |
|
|
50
|
-
| ----------------------------------- | ----------------------------------------------- | ------------------------------------------- |
|
|
51
|
-
| `color: #888` on dark background | `color: var(--text-muted)` (min 4.5:1 ratio) | Improves readability and WCAG compliance |
|
|
52
|
-
| `padding: 15px 23px` | `padding: 16px 24px` | Aligns to 8px structural grid |
|
|
53
|
-
| `border: 1px solid black` | `border: 1px solid rgba(0,0,0,0.1)` | Removes harsh, distracting lines |
|
|
54
|
-
| Mixed font sizes (13px, 14px, 15px) | Standardized scale (12px, 14px, 16px) | Establishes clear visual hierarchy |
|
|
55
|
-
| Plain text buttons without states | Rounded button with hover/active press feedback | Indicates clickability and tactile response |
|
|
1
|
+
---
|
|
2
|
+
name: baseline-ui
|
|
3
|
+
description: "Use when Quickly deslop UI code by fixing spacing, hierarchy, typography, contrast, and small layout issues. Use when the interface needs a fast cleanup or polish pass."
|
|
4
|
+
version: 5.0.0
|
|
5
|
+
last-updated: 2026-09-13
|
|
6
|
+
skills:
|
|
7
|
+
- better-ui
|
|
8
|
+
- frontend-design
|
|
9
|
+
- better-colors
|
|
10
|
+
tools: Read, Grep, Glob, Bash, Edit, Write
|
|
11
|
+
scripts-binding:
|
|
12
|
+
- .agent/scripts/lint_runner.js
|
|
13
|
+
- .agent/scripts/verify_all.js
|
|
14
|
+
---
|
|
15
|
+
|
|
16
|
+
# Baseline UI — Fast Deslopping & Hierarchy Cleanup
|
|
17
|
+
|
|
18
|
+
---
|
|
19
|
+
|
|
20
|
+
## 🛠️ Technical Architecture & Reference Recipes
|
|
21
|
+
|
|
22
|
+
---
|
|
23
|
+
|
|
24
|
+
---
|
|
25
|
+
|
|
26
|
+
## 1. Stack & System Constraints
|
|
27
|
+
|
|
28
|
+
- **Tailwind CSS Defaults**: MUST use Tailwind CSS default utilities unless custom values already exist or are explicitly requested.
|
|
29
|
+
- **Animation Primitives**: MUST use `motion/react` (formerly `framer-motion`) when JavaScript animation is required.
|
|
30
|
+
- **Utility Class Merging**: MUST use `cn` utility (`clsx` + `tailwind-merge`) for dynamic class logic.
|
|
31
|
+
- **Accessible Component Primitives**: MUST use established accessible primitives (`Base UI`, `React Aria`, `Radix`) for anything with keyboard or focus behavior. Prefer `Base UI` for new unstyled primitives.
|
|
32
|
+
- **Destructive Actions**: MUST use an `AlertDialog` for destructive or irreversible actions.
|
|
33
|
+
- **Loading States**: SHOULD use structural skeletons for loading states instead of plain spinners.
|
|
34
|
+
|
|
35
|
+
---
|
|
36
|
+
|
|
37
|
+
## 2. The 5-Step UI Deslop Protocol
|
|
38
|
+
|
|
39
|
+
1. **Fix Spacing Violations**: Replace hardcoded arbitrary margins/paddings (`margin-top: 13px`, `padding: 7px 11px`) with an 8px grid system (`4px`, `8px`, `12px`, `16px`, `24px`, `32px`, `48px`).
|
|
40
|
+
2. **Establish Typographic Hierarchy**: Max 3 font sizes per component context. Headings bold/semibold with tight letter-spacing (`-0.025em`) and `text-wrap: balance`. Body text regular with `1.5` line height.
|
|
41
|
+
3. **Elevate Contrast Ratios**: Eliminate low-contrast gray-on-gray text. Ensure text meets minimum WCAG AA 4.5:1 ratio against background.
|
|
42
|
+
4. **Clean Up Borders & Dividers**: Replace harsh 100% opaque black/white borders with subtle 8%-12% opacity borders (`border-color: rgba(255,255,255,0.08)` or `var(--border)`).
|
|
43
|
+
5. **Enforce Container Alignment & Active Feedback**: Align text left with action buttons, group related controls with flex gaps, and add instant press feedback (`scale(0.97)`) on all interactive targets.
|
|
44
|
+
|
|
45
|
+
---
|
|
46
|
+
|
|
47
|
+
## Anti-Slop Table
|
|
48
|
+
|
|
49
|
+
| Slop Pattern | Baseline Fix | Rationale |
|
|
50
|
+
| ----------------------------------- | ----------------------------------------------- | ------------------------------------------- |
|
|
51
|
+
| `color: #888` on dark background | `color: var(--text-muted)` (min 4.5:1 ratio) | Improves readability and WCAG compliance |
|
|
52
|
+
| `padding: 15px 23px` | `padding: 16px 24px` | Aligns to 8px structural grid |
|
|
53
|
+
| `border: 1px solid black` | `border: 1px solid rgba(0,0,0,0.1)` | Removes harsh, distracting lines |
|
|
54
|
+
| Mixed font sizes (13px, 14px, 15px) | Standardized scale (12px, 14px, 16px) | Establishes clear visual hierarchy |
|
|
55
|
+
| Plain text buttons without states | Rounded button with hover/active press feedback | Indicates clickability and tactile response |
|