@thierrynakoa/fire-flow 12.2.2 → 13.0.1

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.
Files changed (501) hide show
  1. package/CREDITS.md +25 -0
  2. package/DOMINION-FLOW-OVERVIEW.md +182 -38
  3. package/README.md +399 -690
  4. package/TROUBLESHOOTING.md +264 -367
  5. package/agents/fire-debugger.md +54 -0
  6. package/agents/fire-executor.md +1610 -1033
  7. package/agents/fire-fact-checker.md +1 -1
  8. package/agents/fire-planner.md +85 -17
  9. package/agents/fire-project-researcher.md +1 -1
  10. package/agents/fire-researcher.md +4 -22
  11. package/agents/{fire-phoenix-analyst.md → fire-resurrection-analyst.md} +394 -394
  12. package/agents/fire-reviewer.md +552 -499
  13. package/agents/fire-verifier.md +114 -19
  14. package/bin/cli.js +18 -101
  15. package/commands/fire-0-orient.md +2 -2
  16. package/commands/fire-1a-new.md +50 -15
  17. package/commands/fire-1c-setup.md +33 -5
  18. package/commands/fire-1d-discuss.md +87 -1
  19. package/commands/fire-2-plan.md +556 -527
  20. package/commands/fire-3-execute.md +2046 -1356
  21. package/commands/fire-4-verify.md +975 -906
  22. package/commands/fire-5-handoff.md +46 -5
  23. package/commands/fire-6-resume.md +2 -31
  24. package/commands/fire-add-new-skill.md +138 -19
  25. package/commands/fire-autonomous.md +14 -2
  26. package/commands/fire-complete-milestone.md +1 -1
  27. package/commands/fire-cost.md +179 -183
  28. package/commands/fire-debug.md +1 -6
  29. package/commands/fire-loop-resume.md +2 -2
  30. package/commands/fire-loop-stop.md +1 -1
  31. package/commands/fire-loop.md +2 -15
  32. package/commands/fire-map-codebase.md +1 -1
  33. package/commands/fire-migrate-database.md +548 -0
  34. package/commands/fire-new-milestone.md +1 -1
  35. package/commands/fire-reflect.md +1 -2
  36. package/commands/fire-research.md +142 -21
  37. package/commands/{fire-phoenix.md → fire-resurrect.md} +859 -603
  38. package/commands/fire-scaffold.md +297 -0
  39. package/commands/fire-search.md +1 -2
  40. package/commands/fire-security-scan.md +483 -484
  41. package/commands/fire-setup.md +359 -0
  42. package/commands/fire-skill.md +770 -0
  43. package/commands/fire-skills-diff.md +506 -506
  44. package/commands/fire-skills-history.md +388 -388
  45. package/commands/fire-skills-rollback.md +7 -7
  46. package/commands/fire-skills-sync.md +470 -470
  47. package/commands/fire-test.md +5 -5
  48. package/commands/fire-todos.md +1 -1
  49. package/commands/fire-update.md +5 -5
  50. package/commands/fire-validate-skills.md +282 -0
  51. package/commands/fire-verify-uat.md +9 -177
  52. package/commands/fire-vuln-scan.md +492 -493
  53. package/hooks/run-hook.sh +8 -8
  54. package/hooks/run-session-end.sh +7 -7
  55. package/hooks/session-end.sh +90 -90
  56. package/hooks/session-start.sh +1 -1
  57. package/package.json +4 -25
  58. package/plugin.json +7 -7
  59. package/references/autonomy-levels.md +235 -0
  60. package/references/behavioral-directives.md +95 -3
  61. package/references/blocker-tracking.md +1 -1
  62. package/references/circuit-breaker.md +93 -2
  63. package/references/context-engineering.md +227 -9
  64. package/references/honesty-protocols.md +70 -1
  65. package/references/issue-to-pr-pipeline.md +149 -150
  66. package/references/metrics-and-trends.md +1 -2
  67. package/references/research-improvements.md +4 -108
  68. package/references/sdlc-mapping.md +73 -0
  69. package/references/state-machine.md +151 -0
  70. package/skills-library/AVAILABLE_TOOLS_REFERENCE.md +333 -0
  71. package/skills-library/SKILLS-INDEX.md +57 -558
  72. package/skills-library/SKILLS_LIBRARY_INDEX.md +532 -0
  73. package/skills-library/_general/api-patterns/api-field-name-mismatch.md +107 -0
  74. package/skills-library/_general/api-patterns/streaming-command-timeout.md +122 -0
  75. package/skills-library/_general/api-patterns/streaming-proxy-cors-bypass.md +102 -0
  76. package/skills-library/_general/automation/settings-gui-generator.md +172 -0
  77. package/skills-library/_general/database-solutions/data-type-mapping-reference.md +181 -0
  78. package/skills-library/_general/database-solutions/mysql-limit-offset-string-coercion.md +102 -0
  79. package/skills-library/_general/database-solutions/mysql-to-pg-migration.md +195 -0
  80. package/skills-library/_general/database-solutions/orm-schema-portability.md +193 -0
  81. package/skills-library/_general/database-solutions/persistent-analysis-storage.md +207 -0
  82. package/skills-library/_general/database-solutions/pg-to-mysql-schema-migration-methodology.md +190 -0
  83. package/skills-library/_general/database-solutions/sql-dialect-compatibility-matrix.md +306 -0
  84. package/skills-library/_general/database-solutions/sqlite-to-pg-migration.md +219 -0
  85. package/skills-library/_general/frontend/canvas-bubble-animation-grouping.md +270 -0
  86. package/skills-library/_general/frontend/color-token-migration.md +112 -0
  87. package/skills-library/_general/frontend/framer-motion-layoutid-grouping.md +150 -0
  88. package/skills-library/_general/frontend/pyqt6-settings-dialog.md +191 -0
  89. package/skills-library/_general/frontend/react-flow-animated-layout-switching.md +101 -0
  90. package/skills-library/_general/frontend/react-hooks-order-debugging.md +141 -0
  91. package/skills-library/_general/frontend/redux-localstorage-auth-desync.md +126 -0
  92. package/skills-library/_general/frontend/safari-csp-theme-color-debugging.md +124 -0
  93. package/skills-library/_general/frontend/safari-sw-cache-poisoning.md +138 -0
  94. package/skills-library/_general/frontend/svg-sparkline-no-charting-library.md +131 -0
  95. package/skills-library/_general/growth-marketing/oss-daily-growth-intelligence.md +224 -0
  96. package/skills-library/_general/integrations/claude-code-local-mcp-integration.md +250 -0
  97. package/skills-library/_general/integrations/mcp-composite-tool-orchestration.md +200 -0
  98. package/skills-library/_general/methodology/AGENT_SDK_STANDALONE_TOOLING.md +181 -0
  99. package/skills-library/_general/methodology/AGENT_TEAMS_GUIDE.md +169 -0
  100. package/skills-library/_general/methodology/ALAS_STATEFUL_EXECUTION.md +207 -0
  101. package/skills-library/_general/methodology/AUTO_REVIEWER_SUBAGENT.md +211 -0
  102. package/skills-library/_general/methodology/CONSISTENCY_CHECK_AMBIGUITY_GATE.md +96 -0
  103. package/skills-library/_general/methodology/DEAD_ENDS_SHELF.md +4 -4
  104. package/skills-library/_general/methodology/DISTILL_NOT_DUMP.md +108 -0
  105. package/skills-library/_general/methodology/EXECUTION_PROGRESS_MONITOR.md +157 -0
  106. package/skills-library/_general/methodology/HIERARCHICAL_REVIEW_MARS.md +122 -0
  107. package/skills-library/_general/methodology/MCP_INTER_AGENT_BRIDGE.md +207 -0
  108. package/skills-library/_general/methodology/MERMAID_WIZARD_DIAGRAMS.md +77 -0
  109. package/skills-library/_general/methodology/MISSING_DIMENSION_DETECTOR.md +89 -0
  110. package/skills-library/_general/methodology/MULTI_AGENT_COORDINATION.md +397 -0
  111. package/skills-library/_general/methodology/OBSERVATION_MASKING.md +100 -0
  112. package/skills-library/_general/methodology/PHOENIX_REBUILD_METHODOLOGY.md +82 -11
  113. package/skills-library/_general/methodology/REVIEW_BACKTRACK_PANEL.md +140 -0
  114. package/skills-library/_general/methodology/REVIEW_FIX_LOOP.md +117 -0
  115. package/skills-library/_general/methodology/VOTING_VERDICT_ARBITRATION.md +155 -0
  116. package/skills-library/_general/methodology/ZERO_FRICTION_CLI_SETUP.md +2 -2
  117. package/skills-library/_general/methodology/dead-code-activation.md +123 -0
  118. package/skills-library/_general/methodology/debug-swarm-researcher-escape-hatch.md +240 -240
  119. package/skills-library/_general/methodology/shell-autonomous-loop-fixplan.md +1 -1
  120. package/skills-library/_general/patterns-standards/GOF_DESIGN_PATTERNS_FOR_AI_AGENTS.md +5 -5
  121. package/skills-library/_general/patterns-standards/cascading-failure-diagnosis.md +119 -0
  122. package/skills-library/_general/patterns-standards/domain-specific-layout-algorithms.md +209 -0
  123. package/skills-library/_general/patterns-standards/python-desktop-app-architecture.md +399 -0
  124. package/skills-library/_general/patterns-standards/realtime-monitoring-dashboard.md +457 -0
  125. package/skills-library/_general/patterns-standards/togglable-processing-pipeline.md +169 -0
  126. package/skills-library/_general/performance/liveclock-extraction.md +112 -0
  127. package/skills-library/_general/performance/ref-based-canvas-animation.md +117 -0
  128. package/skills-library/_general/performance/use-visible-interval.md +131 -0
  129. package/skills-library/_general/testing/playwright-firefox-withcredentials-auth-issue.md +104 -0
  130. package/skills-library/_quarantine/README.md +30 -0
  131. package/skills-library/api-patterns/BROADCAST_SCHEDULER_SHARED_EXECUTE_FUNCTION.md +150 -0
  132. package/skills-library/api-patterns/ERROR_RESPONSE_STANDARDS.md +145 -0
  133. package/skills-library/api-patterns/EXPRESS_ROUTE_ORDERING_MIDDLEWARE_INTERCEPTION.md +326 -0
  134. package/skills-library/api-patterns/PAGINATION_PATTERNS.md +137 -0
  135. package/skills-library/api-patterns/PODCAST_PROGRESS_TRACKING_THREE_ROOT_CAUSES.md +277 -0
  136. package/skills-library/api-patterns/RATE_LIMITING_TOGGLE.md +155 -0
  137. package/skills-library/api-patterns/graphql-content-queries.md +708 -0
  138. package/skills-library/appointment-scheduler-design.md +423 -0
  139. package/skills-library/automation/AUTO_POPULATE_COMPLETE_GUIDE.md +631 -0
  140. package/skills-library/automation/CC_WORKFLOW_STUDIO.md +83 -0
  141. package/skills-library/automation/CLAUDE_CODE_SWARM_MODE.md +95 -0
  142. package/skills-library/automation/DAEMON_TRIGGER_FILE_IPC.md +195 -0
  143. package/skills-library/automation/scheduled-content-publishing.md +608 -0
  144. package/skills-library/awesome-workflows/Blogging-Platform-Instructions/view_commands.md +25 -0
  145. package/skills-library/awesome-workflows/CREDENTIAL-SECURITY-WORKFLOW.md +109 -0
  146. package/skills-library/awesome-workflows/DEBUGGING-WORKFLOW.md +124 -0
  147. package/skills-library/awesome-workflows/Design-Review-Workflow/README.md +31 -0
  148. package/skills-library/awesome-workflows/Design-Review-Workflow/design-principles-example.md +129 -0
  149. package/skills-library/awesome-workflows/Design-Review-Workflow/design-review-agent.md +107 -0
  150. package/skills-library/awesome-workflows/Design-Review-Workflow/design-review-claude-md-snippet.md +24 -0
  151. package/skills-library/awesome-workflows/Design-Review-Workflow/design-review-slash-command.md +38 -0
  152. package/skills-library/awesome-workflows/PARALLEL-RESEARCH-WORKFLOW.md +89 -0
  153. package/skills-library/awesome-workflows/PHASE-EXECUTION-WORKFLOW.md +97 -0
  154. package/skills-library/awesome-workflows/SESSION-HANDOFF-WORKFLOW.md +116 -0
  155. package/skills-library/cms-patterns/content-branch-preview.md +515 -0
  156. package/skills-library/cms-patterns/inline-visual-editing.md +666 -0
  157. package/skills-library/cms-patterns/mdx-component-content.md +649 -0
  158. package/skills-library/cms-patterns/media-manager-abstraction.md +827 -0
  159. package/skills-library/cms-patterns/schema-driven-form-generator.md +838 -0
  160. package/skills-library/complexity-metrics/complexity-divider.md +707 -0
  161. package/skills-library/complexity-metrics/work-with-complexity.md +193 -0
  162. package/skills-library/creative-multimedia/animation-stack-guide.md +577 -0
  163. package/skills-library/creative-multimedia/audio-enhancement-pipeline.md +625 -0
  164. package/skills-library/creative-multimedia/content-repurposing-pipeline.md +1146 -0
  165. package/skills-library/creative-multimedia/data-visualization-generator.md +862 -0
  166. package/skills-library/creative-multimedia/doc-to-podcast-pipeline.md +2184 -0
  167. package/skills-library/creative-multimedia/ffmpeg-command-generator.md +405 -0
  168. package/skills-library/creative-multimedia/image-optimization-pipeline.md +605 -0
  169. package/skills-library/creative-multimedia/multi-format-content-generator.md +1759 -0
  170. package/skills-library/creative-multimedia/og-image-generator.md +635 -0
  171. package/skills-library/creative-multimedia/podcast-audio-composition.md +1355 -0
  172. package/skills-library/creative-multimedia/podcast-quality-evaluation.md +1452 -0
  173. package/skills-library/creative-multimedia/podcast-script-generation.md +1841 -0
  174. package/skills-library/creative-multimedia/svg-generation.md +750 -0
  175. package/skills-library/creative-multimedia/text-to-speech-provider-selector.md +1414 -0
  176. package/skills-library/creative-multimedia/transcription-pipeline-selector.md +677 -0
  177. package/skills-library/creative-multimedia/video-streaming-setup.md +559 -0
  178. package/skills-library/database-solutions/AI_RESPONSE_DATABASE_CACHING.md +520 -0
  179. package/skills-library/database-solutions/CONDITIONAL_SQL_MIGRATION_PATTERN.md +119 -0
  180. package/skills-library/database-solutions/DATABASE_COLUMN_NAME_MISMATCH.md +393 -0
  181. package/skills-library/database-solutions/DATABASE_SCHEMA.md +394 -0
  182. package/skills-library/database-solutions/DATABASE_SCHEMA_VERIFICATION_GUIDE.md +348 -0
  183. package/skills-library/database-solutions/DATABASE_STRATEGY.md +71 -0
  184. package/skills-library/database-solutions/ES_MODULE_SEED_SCRIPT_PATTERN.md +52 -0
  185. package/skills-library/database-solutions/MIGRATION_GUIDE.md +3 -0
  186. package/skills-library/database-solutions/PLPGSQL_VARIABLE_CONFLICT_FIX.md +208 -0
  187. package/skills-library/database-solutions/POSTGRESQL_JSONB_DOUBLE_STRINGIFY_FIX.md +245 -0
  188. package/skills-library/database-solutions/POSTGRESQL_LICENSE_TABLE_DESIGN.md +393 -0
  189. package/skills-library/database-solutions/POSTGRESQL_UUID_DOCUMENT_RAG_DUAL_SCOPE.md +732 -0
  190. package/skills-library/database-solutions/POSTGRES_SQL_TEMPLATE_BINDING_ERROR.md +240 -0
  191. package/skills-library/database-solutions/PRISMA_DB_PUSH_DATA_LOSS_PREVENTION.md +141 -0
  192. package/skills-library/database-solutions/PRODUCTION_QUERY_OPTIMIZATION_RESTART_FIX.md +389 -0
  193. package/skills-library/database-solutions/RLS_SECURITY_GUIDE.md +107 -0
  194. package/skills-library/database-solutions/SCHEMA_ENHANCEMENTS_GUIDE.md +373 -0
  195. package/skills-library/database-solutions/SCHEMA_MIGRATION_GUIDE.md +368 -0
  196. package/skills-library/database-solutions/SCHEMA_VERIFICATION_QUICK_REFERENCE.md +104 -0
  197. package/skills-library/database-solutions/ai-erd-generator.md +1213 -0
  198. package/skills-library/database-solutions/content-publishing-states.md +631 -0
  199. package/skills-library/database-solutions/database-schema-designer.md +522 -0
  200. package/skills-library/database-solutions/er-diagram-components.md +569 -0
  201. package/skills-library/database-solutions/er-to-ddl-mapping.md +1405 -0
  202. package/skills-library/database-solutions/erd-creator-textbook-research.md +433 -0
  203. package/skills-library/database-solutions/erd-react-flow-architecture.md +1965 -0
  204. package/skills-library/database-solutions/mariadb-aggregate-function-replacement.md +145 -0
  205. package/skills-library/database-solutions/normalization-validator.md +778 -0
  206. package/skills-library/database-solutions/postgres-full-text-search-content.md +494 -0
  207. package/skills-library/database-solutions/postgresql-to-mysql-runtime-translation.md +286 -0
  208. package/skills-library/database-solutions/regex-alternation-ordering-sql-types.md +92 -0
  209. package/skills-library/database-solutions/reserved-word-context-aware-quoting.md +142 -0
  210. package/skills-library/database-solutions/sql-ddl-generator.md +756 -0
  211. package/skills-library/database-solutions/supabase-connection-pooler-fix.md +102 -0
  212. package/skills-library/deployment-security/CPANEL_NODE_DEPLOYMENT.md +166 -0
  213. package/skills-library/deployment-security/DEPLOYMENT.md +275 -0
  214. package/skills-library/deployment-security/DEPLOYMENT_CHECKLIST.md +363 -0
  215. package/skills-library/deployment-security/DEPLOYMENT_PLAN.md +669 -0
  216. package/skills-library/deployment-security/KNEX_DATABASE_ABSTRACTION.md +444 -0
  217. package/skills-library/deployment-security/LICENSE_KEY_SYSTEM.md +206 -0
  218. package/skills-library/deployment-security/NODE18_DEPENDENCY_COMPATIBILITY.md +284 -0
  219. package/skills-library/deployment-security/PHP_INSTALLER_WIZARD_GUIDE.md +315 -0
  220. package/skills-library/deployment-security/PM2_ENVIRONMENT_VARIABLE_CACHING.md +256 -0
  221. package/skills-library/deployment-security/PM2_MEMORY_EXHAUSTION_FIX.md +370 -0
  222. package/skills-library/deployment-security/PRODUCTION_DEPLOYMENT_GUIDE.md +592 -0
  223. package/skills-library/deployment-security/PRODUCTION_HARDENING_DOCUMENTATION.md +307 -0
  224. package/skills-library/deployment-security/PRODUCTION_RECOVERY_CHERRY_PICK_PATTERN.md +202 -0
  225. package/skills-library/deployment-security/PYINSTALLER_CUDA_WHISPER_BUNDLING.md +236 -0
  226. package/skills-library/deployment-security/SECURITY.md +41 -0
  227. package/skills-library/deployment-security/SMTP_SSL_HOSTNAME_MISMATCH_SHARED_HOSTING.md +220 -0
  228. package/skills-library/deployment-security/SPA_SEO_OPTIMIZATION_CPANEL.md +200 -0
  229. package/skills-library/deployment-security/SUPABASE_EDGE_FUNCTIONS.md +338 -0
  230. package/skills-library/deployment-security/VERCEL_GITHUB_DEPLOYMENT_GUIDE.md +858 -0
  231. package/skills-library/deployment-security/VPS_DEPLOYMENT_READINESS.md +356 -0
  232. package/skills-library/deployment-security/deployment-changes-not-applying.md +241 -0
  233. package/skills-library/deployment-security/env-file-management-production-local.md +203 -0
  234. package/skills-library/deployment-security/express-secure-file-downloads.md +413 -0
  235. package/skills-library/deployment-security/react-production-deployment-desktop-guide.md +2011 -0
  236. package/skills-library/deployment-security/self-hosted-supabase-coolify-guide.md +1684 -0
  237. package/skills-library/deployment-security/unique-features-ai-strategy-plaid-security.md +1613 -0
  238. package/skills-library/deployment-security/vps-deployment.md +135 -0
  239. package/skills-library/document-processing/WORD_EXPORT_MARKDOWN_FORMATTING.md +482 -0
  240. package/skills-library/document-processing/document-ai-landingai-integration.md +677 -0
  241. package/skills-library/document-processing/express-secure-file-downloads-mern.md +413 -0
  242. package/skills-library/document-processing/express-secure-file-downloads.md +413 -0
  243. package/skills-library/document-processing/md-to-word-converter.md +318 -0
  244. package/skills-library/document-processing/pdf-forms-integration/README.md +101 -0
  245. package/skills-library/document-processing/pdf-forms-integration/SKILL.md +662 -0
  246. package/skills-library/ecommerce/ADMIN_PRODUCTS_GUIDE.md +428 -0
  247. package/skills-library/ecommerce/ECOMMERCE_API_REFERENCE.md +776 -0
  248. package/skills-library/ecommerce/ECOMMERCE_COMPLETION_SUMMARY.md +673 -0
  249. package/skills-library/ecommerce/ECOMMERCE_IMPLEMENTATION_GUIDE.md +729 -0
  250. package/skills-library/ecommerce/ECOMMERCE_QUICK_REFERENCE.md +521 -0
  251. package/skills-library/ecommerce/ECOMMERCE_TESTING_CHECKLIST.md +565 -0
  252. package/skills-library/ecommerce/ECOMMERCE_WORKFLOW_GUIDE.md +1059 -0
  253. package/skills-library/ecommerce/PRODUCT_CREATION_EXPANDED.md +522 -0
  254. package/skills-library/ecommerce/agentic-commerce-protocol.md +203 -0
  255. package/skills-library/ecommerce/cart-abandonment-recovery.md +236 -0
  256. package/skills-library/ecommerce/cart-architecture-patterns.md +300 -0
  257. package/skills-library/ecommerce/cart-item-count-indicator.md +264 -0
  258. package/skills-library/ecommerce/checkout-ux-conversion.md +227 -0
  259. package/skills-library/ecommerce/composable-commerce-selection.md +166 -0
  260. package/skills-library/ecommerce/ecommerce-analytics-patterns.md +167 -0
  261. package/skills-library/ecommerce/fraud-detection-patterns.md +179 -0
  262. package/skills-library/ecommerce/inventory-stock-management.md +270 -0
  263. package/skills-library/ecommerce/order-saga-state-machine.md +336 -0
  264. package/skills-library/ecommerce/payment-provider-abstraction.md +245 -0
  265. package/skills-library/ecommerce/pci-compliance-checklist.md +192 -0
  266. package/skills-library/ecommerce/refund-chargeback-handling.md +177 -0
  267. package/skills-library/ecommerce/shipping-carrier-integration.md +218 -0
  268. package/skills-library/ecommerce/webhook-idempotency-patterns.md +253 -0
  269. package/skills-library/excalidraw-diagrams/.github/workflows/ci.yml +558 -0
  270. package/skills-library/excalidraw-diagrams/.github/workflows/prompt-gallery.yml +448 -0
  271. package/skills-library/excalidraw-diagrams/.github/workflows/release.yml +42 -0
  272. package/skills-library/excalidraw-diagrams/.github/workflows/test-reusable-ci.yml +25 -0
  273. package/skills-library/excalidraw-diagrams/CLAUDE.md +57 -0
  274. package/skills-library/excalidraw-diagrams/LICENSE +21 -0
  275. package/skills-library/excalidraw-diagrams/README.md +178 -0
  276. package/skills-library/excalidraw-diagrams/SKILL.md +715 -0
  277. package/skills-library/form-solutions/BUTTON_TYPE_FORM_SUBMISSION.md +336 -0
  278. package/skills-library/form-solutions/FILLABLE_PDF_IMPLEMENTATION.md +226 -0
  279. package/skills-library/form-solutions/SURVEYJS_QUESTIONNAIRE_SYSTEM.md +367 -0
  280. package/skills-library/form-solutions/tiptap-minimal-setup.md +690 -0
  281. package/skills-library/frontend/scholarly-classification-bubble-map.md +149 -0
  282. package/skills-library/infrastructure/ci-cd-pipeline-builder.md +517 -0
  283. package/skills-library/infrastructure/observability-designer.md +264 -0
  284. package/skills-library/infrastructure/performance-profiler.md +621 -0
  285. package/skills-library/installer-wizard-patterns.md +249 -0
  286. package/skills-library/integrations/CLAUDE_CODE_TOKEN_ANALYTICS.md +160 -0
  287. package/skills-library/integrations/CONFIGURABLE_AI_PROVIDER_SELECTION.md +728 -0
  288. package/skills-library/integrations/SOCKET_IO_BROADCAST_ALL_VS_ROOM.md +141 -0
  289. package/skills-library/integrations/VIRTUAL_MEETINGS_IMPLEMENTATION.md +374 -0
  290. package/skills-library/integrations/WORDPRESS_LEARNDASH_DATA_RECOVERY.md +53 -0
  291. package/skills-library/integrations/YOUTUBE_API_SETUP.md +141 -0
  292. package/skills-library/integrations/YOUTUBE_BOOKMARKING_EXPLANATION.md +252 -0
  293. package/skills-library/integrations/YOUTUBE_BOOKMARKING_SOLUTION.md +268 -0
  294. package/skills-library/integrations/YOUTUBE_OAUTH_SETUP_GUIDE.md +200 -0
  295. package/skills-library/integrations/YOUTUBE_VIDEO_FIX_COMPLETE.md +192 -0
  296. package/skills-library/integrations/ai-ml/GEMINI_AI_RAG_PIPELINE_COMPLETE_GUIDE.md +195 -0
  297. package/skills-library/integrations/ai-ml/GEMINI_IMAGE_GENERATION_SETUP.md +64 -0
  298. package/skills-library/integrations/cloudflare/cloudflare-turnstile-debugging.md +202 -0
  299. package/skills-library/integrations/cloudflare/cloudflare-turnstile-implementation.md +476 -0
  300. package/skills-library/integrations/cloudflare-turnstile-debugging.md +202 -0
  301. package/skills-library/integrations/cloudflare-turnstile-implementation.md +476 -0
  302. package/skills-library/integrations/ghost-creator-monetization-pattern.md +454 -0
  303. package/skills-library/integrations/headless-cms-architecture.md +484 -0
  304. package/skills-library/integrations/headless-cms-stack-selection.md +183 -0
  305. package/skills-library/integrations/payload-cms-patterns.md +674 -0
  306. package/skills-library/integrations/realtimestt-openwakeword-cuda-windows.md +229 -0
  307. package/skills-library/integrations/rss-podcast-integration.md +300 -0
  308. package/skills-library/integrations/wordpress/WORDPRESS_LEARNDASH_DATA_RECOVERY.md +53 -0
  309. package/skills-library/integrations/youtube/YOUTUBE_API_SETUP.md +141 -0
  310. package/skills-library/integrations/youtube/YOUTUBE_BOOKMARKING_EXPLANATION.md +252 -0
  311. package/skills-library/integrations/youtube/YOUTUBE_BOOKMARKING_SOLUTION.md +268 -0
  312. package/skills-library/integrations/youtube/YOUTUBE_OAUTH_SETUP_GUIDE.md +200 -0
  313. package/skills-library/integrations/youtube/YOUTUBE_VIDEO_FIX_COMPLETE.md +192 -0
  314. package/skills-library/marketing/campaign-analytics.md +97 -0
  315. package/skills-library/marketing/content-creator.md +105 -0
  316. package/skills-library/marketing/marketing-strategy-pmm.md +94 -0
  317. package/skills-library/marketing/social-media-analyzer.md +81 -0
  318. package/skills-library/methodology/ADVANCED_ORCHESTRATION_PATTERNS.md +401 -0
  319. package/skills-library/methodology/AGENT_SELF_IMPROVEMENT_LOOP.md +179 -0
  320. package/skills-library/methodology/BREATH_BASED_PARALLEL_EXECUTION.md +1 -1
  321. package/skills-library/methodology/CLEANSING_CYCLE.md +358 -0
  322. package/skills-library/methodology/CONFIDENCE_ANNOTATION_PATTERN.md +143 -0
  323. package/skills-library/methodology/CRITICAL_PATTERNS_DOCUMENTATION_COMPLETE.md +204 -0
  324. package/skills-library/methodology/DELIVERABLES_SUMMARY.md +341 -0
  325. package/skills-library/methodology/DIFFICULTY_AWARE_AGENT_ROUTING.md +252 -0
  326. package/skills-library/methodology/EVOLUTIONARY_SKILL_SYNTHESIS.md +219 -0
  327. package/skills-library/methodology/GLOMERULUS_DECISION_GATE.md +223 -0
  328. package/skills-library/methodology/HIBERNATION_SYSTEM.md +231 -0
  329. package/skills-library/methodology/INSTRUMENTATION_OVER_RESTRICTION.md +192 -0
  330. package/skills-library/methodology/MASTER_COMPLETION_SUMMARY.md +444 -0
  331. package/skills-library/methodology/MASTER_SESSION_COMPLETION.md +743 -0
  332. package/skills-library/methodology/MERN_QUICK_REFERENCE.md +358 -0
  333. package/skills-library/methodology/ORGAN_AGENT_MAPPING.md +177 -0
  334. package/skills-library/methodology/PARALLEL_WAVE_BASED_REFACTORING.md +440 -0
  335. package/skills-library/methodology/QUICK_REFERENCE.md +358 -0
  336. package/skills-library/methodology/SDFT_ONPOLICY_SELF_DISTILLATION.md +186 -0
  337. package/skills-library/methodology/SELF_QUESTIONING_TASK_GENERATION.md +270 -0
  338. package/skills-library/methodology/SESSION_COMPLETION_SUMMARY.md +304 -0
  339. package/skills-library/methodology/SESSION_SUMMARY.md +432 -0
  340. package/skills-library/methodology/WARRIOR_WORKFLOW_DEBUGGING_PROTOCOL.md +252 -0
  341. package/skills-library/methodology/tech-debt-tracker.md +570 -0
  342. package/skills-library/parallel-debug/SKILL.md +60 -0
  343. package/skills-library/patterns-standards/API_PATTERN_FIX_SUMMARY.md +236 -0
  344. package/skills-library/patterns-standards/BATCH_OPERATIONS_WITH_PROGRESS_MODAL.md +362 -0
  345. package/skills-library/patterns-standards/CRITICAL_CODING_PATTERNS.md +639 -0
  346. package/skills-library/patterns-standards/DARK_MODE_MODAL_VISIBILITY.md +258 -0
  347. package/skills-library/patterns-standards/ERROR_RESILIENCE_IMPLEMENTATION.md +375 -0
  348. package/skills-library/patterns-standards/ES_MODULE_IMPORT_HOISTING_DOTENV.md +298 -0
  349. package/skills-library/patterns-standards/NESTED_BACKDROP_FILTER_CSS_ARTIFACT_FIX.md +76 -0
  350. package/skills-library/patterns-standards/ORDERED_DETECTOR_PIPELINE_GRACEFUL_FALLBACK.md +333 -0
  351. package/skills-library/patterns-standards/PHASE_IMPORT_ERROR_DEBUGGING.md +271 -0
  352. package/skills-library/patterns-standards/PYNPUT_GLOBAL_HOTKEY_VK_MATCHING.md +252 -0
  353. package/skills-library/patterns-standards/REACT_USEEFFECT_CASCADE_RESET_FIX.md +132 -0
  354. package/skills-library/patterns-standards/SUBMENU_HOVER_DROPDOWN_PATTERN.md +225 -0
  355. package/skills-library/patterns-standards/TAILWIND_TEXT_VISIBILITY_OVERRIDE.md +322 -0
  356. package/skills-library/patterns-standards/THEME_AWARE_CSS_VARIABLES_PATTERN.md +209 -0
  357. package/skills-library/patterns-standards/THEME_USER_OBJECT_PROPERTY_NAMING.md +194 -0
  358. package/skills-library/patterns-standards/TOOLTIP_BLOCKING_CLICKS_FIX.md +267 -0
  359. package/skills-library/patterns-standards/claude-code-plugin-structure.md +235 -0
  360. package/skills-library/patterns-standards/react-i18next-setup.md +429 -0
  361. package/skills-library/patterns-standards/thesys-c1-generative-ui-integration.md +967 -0
  362. package/skills-library/plugin-development/CLAUDE_CODE_COMMAND_REGISTRATION_SILENT_FAILURE.md +315 -0
  363. package/skills-library/plugin-development/plugin-command-namespace-vs-global.md +390 -0
  364. package/skills-library/plugin-development/plugin-doc-auto-generation.md +172 -0
  365. package/skills-library/security/GITHUB_REPO_SECURITY_AUDIT.md +115 -0
  366. package/skills-library/security/admin-deletion-safety.md +396 -0
  367. package/skills-library/security/application-vuln-patterns.md +477 -0
  368. package/skills-library/security/env-secrets-manager.md +686 -0
  369. package/skills-library/security/secure-ai-application-templates.md +347 -0
  370. package/skills-library/security/sql-injection-prevention-postgresjs.md +151 -0
  371. package/skills-library/supabase-connection-pooler-fix.md +102 -0
  372. package/skills-library/system-context/POWERSHELL_BASH_INTEROP.md +82 -0
  373. package/skills-library/system-context/SERVICE_LIFECYCLE_MANAGEMENT.md +119 -0
  374. package/skills-library/system-context/SKILL.md +40 -0
  375. package/skills-library/system-context/WINDOWS_DEV_ENVIRONMENT.md +73 -0
  376. package/skills-library/testing/E2E_PLAYWRIGHT_PATTERNS.md +99 -0
  377. package/skills-library/testing/INTEGRATION_TEST_STRATEGY.md +82 -0
  378. package/skills-library/testing/RED_GREEN_BUGFIX_GATE.md +203 -0
  379. package/skills-library/testing/TEST_DATA_MANAGEMENT.md +69 -0
  380. package/skills-library/testing/VITEST_UNIT_TEST_PATTERNS.md +75 -0
  381. package/skills-library/testing/playwright-api-security-tests.md +202 -0
  382. package/skills-library/toolbox/SKILL.md +84 -0
  383. package/skills-library/toolbox/code-graph-and-web-scraping-mcps.md +237 -0
  384. package/skills-library/ui-ux-pro-max/ACCESSIBILITY_ESSENTIALS.md +115 -0
  385. package/skills-library/ui-ux-pro-max/DESIGN_SYSTEM_SCAFFOLDING.md +133 -0
  386. package/skills-library/ui-ux-pro-max/RESPONSIVE_LAYOUT_PATTERNS.md +119 -0
  387. package/skills-library/ui-ux-pro-max/SKILL.md +386 -0
  388. package/skills-library/ui-ux-pro-max/data/charts.csv +26 -0
  389. package/skills-library/ui-ux-pro-max/data/colors.csv +97 -0
  390. package/skills-library/ui-ux-pro-max/data/icons.csv +101 -0
  391. package/skills-library/ui-ux-pro-max/data/landing.csv +31 -0
  392. package/skills-library/ui-ux-pro-max/data/products.csv +97 -0
  393. package/skills-library/ui-ux-pro-max/data/react-performance.csv +45 -0
  394. package/skills-library/ui-ux-pro-max/data/stacks/astro.csv +54 -0
  395. package/skills-library/ui-ux-pro-max/data/stacks/flutter.csv +53 -0
  396. package/skills-library/ui-ux-pro-max/data/stacks/html-tailwind.csv +56 -0
  397. package/skills-library/ui-ux-pro-max/data/stacks/jetpack-compose.csv +53 -0
  398. package/skills-library/ui-ux-pro-max/data/stacks/nextjs.csv +53 -0
  399. package/skills-library/ui-ux-pro-max/data/stacks/nuxt-ui.csv +51 -0
  400. package/skills-library/ui-ux-pro-max/data/stacks/nuxtjs.csv +59 -0
  401. package/skills-library/ui-ux-pro-max/data/stacks/react-native.csv +52 -0
  402. package/skills-library/ui-ux-pro-max/data/stacks/react.csv +54 -0
  403. package/skills-library/ui-ux-pro-max/data/stacks/shadcn.csv +61 -0
  404. package/skills-library/ui-ux-pro-max/data/stacks/svelte.csv +54 -0
  405. package/skills-library/ui-ux-pro-max/data/stacks/swiftui.csv +51 -0
  406. package/skills-library/ui-ux-pro-max/data/stacks/vue.csv +50 -0
  407. package/skills-library/ui-ux-pro-max/data/styles.csv +68 -0
  408. package/skills-library/ui-ux-pro-max/data/typography.csv +58 -0
  409. package/skills-library/ui-ux-pro-max/data/ui-reasoning.csv +101 -0
  410. package/skills-library/ui-ux-pro-max/data/ux-guidelines.csv +100 -0
  411. package/skills-library/ui-ux-pro-max/data/web-interface.csv +31 -0
  412. package/skills-library/wordpress-style-theme-components.md +1526 -0
  413. package/templates/ASSUMPTIONS.md +1 -1
  414. package/templates/DECISION_LOG.md +0 -1
  415. package/templates/phase-prompt.md +1 -1
  416. package/templates/phoenix-comparison.md +6 -6
  417. package/templates/skill-api-integration.md +106 -0
  418. package/templates/skill-architecture-pattern.md +92 -0
  419. package/templates/skill-debug-pattern.md +98 -0
  420. package/templates/skill-devops-recipe.md +107 -0
  421. package/templates/skill-general.md +65 -0
  422. package/templates/skill-ui-component.md +113 -0
  423. package/version.json +7 -3
  424. package/workflows/handoff-session.md +2 -2
  425. package/workflows/new-project.md +2 -2
  426. package/workflows/plan-phase.md +1 -1
  427. package/.claude-plugin/plugin.json +0 -64
  428. package/skills-library/_general/methodology/LIVE_BREADCRUMB_PROTOCOL.md +0 -242
  429. package/skills-library/_general/methodology/llm-judge-memory-crud.md +0 -241
  430. package/skills-library/methodology/REFLEXION_MEMORY_PATTERN.md +0 -183
  431. package/skills-library/methodology/RESEARCH_BACKED_WORKFLOW_UPGRADE.md +0 -263
  432. package/skills-library/methodology/SABBATH_REST_PATTERN.md +0 -267
  433. package/skills-library/methodology/STONE_AND_SCAFFOLD.md +0 -220
  434. package/skills-library/specialists/api-architecture/api-designer.md +0 -49
  435. package/skills-library/specialists/api-architecture/graphql-architect.md +0 -49
  436. package/skills-library/specialists/api-architecture/mcp-developer.md +0 -51
  437. package/skills-library/specialists/api-architecture/microservices-architect.md +0 -50
  438. package/skills-library/specialists/api-architecture/websocket-engineer.md +0 -48
  439. package/skills-library/specialists/backend/django-expert.md +0 -52
  440. package/skills-library/specialists/backend/fastapi-expert.md +0 -52
  441. package/skills-library/specialists/backend/laravel-specialist.md +0 -52
  442. package/skills-library/specialists/backend/nestjs-expert.md +0 -51
  443. package/skills-library/specialists/backend/rails-expert.md +0 -53
  444. package/skills-library/specialists/backend/spring-boot-engineer.md +0 -56
  445. package/skills-library/specialists/data-ml/fine-tuning-expert.md +0 -48
  446. package/skills-library/specialists/data-ml/ml-pipeline.md +0 -47
  447. package/skills-library/specialists/data-ml/pandas-pro.md +0 -47
  448. package/skills-library/specialists/data-ml/rag-architect.md +0 -51
  449. package/skills-library/specialists/data-ml/spark-engineer.md +0 -47
  450. package/skills-library/specialists/frontend/angular-architect.md +0 -52
  451. package/skills-library/specialists/frontend/flutter-expert.md +0 -51
  452. package/skills-library/specialists/frontend/nextjs-developer.md +0 -54
  453. package/skills-library/specialists/frontend/react-native-expert.md +0 -50
  454. package/skills-library/specialists/frontend/vue-expert.md +0 -51
  455. package/skills-library/specialists/infrastructure/chaos-engineer.md +0 -74
  456. package/skills-library/specialists/infrastructure/cloud-architect.md +0 -70
  457. package/skills-library/specialists/infrastructure/database-optimizer.md +0 -64
  458. package/skills-library/specialists/infrastructure/devops-engineer.md +0 -70
  459. package/skills-library/specialists/infrastructure/kubernetes-specialist.md +0 -52
  460. package/skills-library/specialists/infrastructure/monitoring-expert.md +0 -70
  461. package/skills-library/specialists/infrastructure/sre-engineer.md +0 -70
  462. package/skills-library/specialists/infrastructure/terraform-engineer.md +0 -51
  463. package/skills-library/specialists/languages/cpp-pro.md +0 -74
  464. package/skills-library/specialists/languages/csharp-developer.md +0 -69
  465. package/skills-library/specialists/languages/dotnet-core-expert.md +0 -54
  466. package/skills-library/specialists/languages/golang-pro.md +0 -51
  467. package/skills-library/specialists/languages/java-architect.md +0 -49
  468. package/skills-library/specialists/languages/javascript-pro.md +0 -68
  469. package/skills-library/specialists/languages/kotlin-specialist.md +0 -68
  470. package/skills-library/specialists/languages/php-pro.md +0 -49
  471. package/skills-library/specialists/languages/python-pro.md +0 -52
  472. package/skills-library/specialists/languages/react-expert.md +0 -51
  473. package/skills-library/specialists/languages/rust-engineer.md +0 -50
  474. package/skills-library/specialists/languages/sql-pro.md +0 -56
  475. package/skills-library/specialists/languages/swift-expert.md +0 -69
  476. package/skills-library/specialists/languages/typescript-pro.md +0 -51
  477. package/skills-library/specialists/platform/atlassian-mcp.md +0 -52
  478. package/skills-library/specialists/platform/embedded-systems.md +0 -53
  479. package/skills-library/specialists/platform/game-developer.md +0 -53
  480. package/skills-library/specialists/platform/salesforce-developer.md +0 -53
  481. package/skills-library/specialists/platform/shopify-expert.md +0 -49
  482. package/skills-library/specialists/platform/wordpress-pro.md +0 -49
  483. package/skills-library/specialists/quality/browser-use-expert.md +0 -210
  484. package/skills-library/specialists/quality/code-documenter.md +0 -51
  485. package/skills-library/specialists/quality/code-reviewer.md +0 -67
  486. package/skills-library/specialists/quality/debugging-wizard.md +0 -51
  487. package/skills-library/specialists/quality/fullstack-guardian.md +0 -51
  488. package/skills-library/specialists/quality/legacy-modernizer.md +0 -50
  489. package/skills-library/specialists/quality/playwright-expert.md +0 -65
  490. package/skills-library/specialists/quality/spec-miner.md +0 -56
  491. package/skills-library/specialists/quality/test-master.md +0 -65
  492. package/skills-library/specialists/security/secure-code-guardian.md +0 -55
  493. package/skills-library/specialists/security/security-reviewer.md +0 -53
  494. package/skills-library/specialists/workflow/architecture-designer.md +0 -53
  495. package/skills-library/specialists/workflow/cli-developer.md +0 -70
  496. package/skills-library/specialists/workflow/feature-forge.md +0 -65
  497. package/skills-library/specialists/workflow/prompt-engineer.md +0 -54
  498. package/skills-library/specialists/workflow/the-fool.md +0 -62
  499. /package/skills-library/{performance → _general/performance}/cache-augmented-generation.md +0 -0
  500. /package/skills-library/{debugging → parallel-debug}/FAILURE_TAXONOMY_CLASSIFICATION.md +0 -0
  501. /package/skills-library/{debugging → parallel-debug}/THREE_AGENT_HYPOTHESIS_DEBUGGING.md +0 -0
@@ -0,0 +1,172 @@
1
+ ---
2
+ name: plugin-doc-auto-generation
3
+ category: plugin-development
4
+ version: 1.0.0
5
+ contributed: 2026-03-06
6
+ contributor: dominion-flow
7
+ last_updated: 2026-03-06
8
+ contributors:
9
+ - dominion-flow
10
+ tags: [bash, plugin, documentation, automation, cli, devops]
11
+ difficulty: easy
12
+ usage_count: 0
13
+ success_rate: 100
14
+ ---
15
+
16
+ # Plugin Documentation Auto-Generation
17
+
18
+ ## Problem
19
+
20
+ Claude Code plugin documentation drifts from reality over time. When you add new commands, agents, or skills, the index files and README stats become stale. Manual counting is error-prone and tedious.
21
+
22
+ Common symptoms:
23
+ - README says "39 commands" but there are actually 42 on disk
24
+ - SKILLS-INDEX.md lists 237 skills but 470+ exist in the filesystem
25
+ - Agent reference table shows 5 agents but 13 `.md` files exist in `agents/`
26
+ - Version numbers are inconsistent across plugin.json, README, and COMMAND-REFERENCE
27
+
28
+ ## Solution Pattern
29
+
30
+ Create shell scripts that scan the filesystem (the source of truth) and either generate index files or audit documentation for drift. Use `plugin.json` as the single source of truth for the version number, and propagate it to all other files.
31
+
32
+ Three scripts handle the complete lifecycle:
33
+
34
+ 1. **`generate-skills-index.sh`** — Walks the skills directory tree, counts `.md` files per category, and generates a complete `SKILLS-INDEX.md` with category headers and skill listings.
35
+
36
+ 2. **`generate-command-reference.sh`** — Counts commands, agents, and skills on disk. Outputs an agent reference table. Runs a sync check against `plugin.json` and `README.md` to flag drift.
37
+
38
+ 3. **`sync-version.sh`** — Reads the version from `plugin.json` (or accepts a new version as argument), then `sed`-replaces all version references across documentation files.
39
+
40
+ ## Code Example
41
+
42
+ ```bash
43
+ # Before (manual, error-prone)
44
+ # Developer manually edits SKILLS-INDEX.md
45
+ # Developer manually counts: "ls commands/ | wc -l"
46
+ # Developer manually updates README: "Includes 39 slash commands..."
47
+ # Result: Numbers drift within days
48
+
49
+ # After (automated, always accurate)
50
+ # Generate skills index from filesystem
51
+ bash scripts/generate-skills-index.sh
52
+ # Output: SKILLS-INDEX.md regenerated with accurate count
53
+
54
+ # Audit command/agent counts and check for drift
55
+ bash scripts/generate-command-reference.sh
56
+ # Output: Stats + sync check showing OK or DRIFT
57
+
58
+ # Bump version across all files
59
+ bash scripts/sync-version.sh 10.1.0
60
+ # Output: plugin.json + all docs updated to v10.1.0
61
+ ```
62
+
63
+ ### generate-skills-index.sh (core pattern)
64
+
65
+ ```bash
66
+ #!/bin/bash
67
+ set -euo pipefail
68
+
69
+ PLUGIN_ROOT="$(cd "$(dirname "$0")/.." && pwd)"
70
+ SKILLS_DIR="$PLUGIN_ROOT/skills-library"
71
+ OUTPUT="$SKILLS_DIR/SKILLS-INDEX.md"
72
+
73
+ # Count total skills (excluding index/meta files)
74
+ TOTAL=$(find "$SKILLS_DIR" -name "*.md" \
75
+ -not -name "SKILLS-INDEX.md" \
76
+ -not -name "README.md" \
77
+ | wc -l | tr -d ' ')
78
+
79
+ # Get version from plugin.json (source of truth)
80
+ VERSION=$(grep '"version"' "$PLUGIN_ROOT/plugin.json" \
81
+ | head -1 \
82
+ | sed 's/.*"version"[[:space:]]*:[[:space:]]*"\([^"]*\)".*/\1/')
83
+
84
+ # Generate header
85
+ cat > "$OUTPUT" << HEADER
86
+ # Skills Library Index
87
+ > Auto-generated — $(date +%Y-%m-%d) — v${VERSION}
88
+ > **Total skills: ${TOTAL}**
89
+ ---
90
+ HEADER
91
+
92
+ # Walk each category directory
93
+ find "$SKILLS_DIR" -mindepth 1 -maxdepth 1 -type d | sort | while read -r dir; do
94
+ DIRNAME=$(basename "$dir")
95
+ [[ "$DIRNAME" == .* ]] && continue
96
+ COUNT=$(find "$dir" -name "*.md" -not -name "README.md" | wc -l | tr -d ' ')
97
+ [ "$COUNT" -eq 0 ] && continue
98
+
99
+ TITLE=$(echo "$DIRNAME" | sed 's/-/ /g' | sed 's/\b\(.\)/\u\1/g')
100
+ echo "### $TITLE ($COUNT skills)" >> "$OUTPUT"
101
+ echo "" >> "$OUTPUT"
102
+
103
+ find "$dir" -name "*.md" -not -name "README.md" | sort | while read -r file; do
104
+ NAME=$(basename "$file" .md)
105
+ DESC=$(grep -m 1 "^# " "$file" 2>/dev/null | sed 's/^# //' || echo "$NAME")
106
+ echo "- \`$NAME\` — $DESC" >> "$OUTPUT"
107
+ done
108
+ echo "" >> "$OUTPUT"
109
+ done
110
+
111
+ echo "Generated: $TOTAL skills indexed"
112
+ ```
113
+
114
+ ### sync-version.sh (core pattern)
115
+
116
+ ```bash
117
+ #!/bin/bash
118
+ set -euo pipefail
119
+
120
+ PLUGIN_ROOT="$(cd "$(dirname "$0")/.." && pwd)"
121
+ NEW_VERSION="${1:-$(grep '"version"' "$PLUGIN_ROOT/plugin.json" \
122
+ | head -1 | sed 's/.*"\([^"]*\)".*/\1/')}"
123
+
124
+ # Update plugin.json if version was passed as argument
125
+ [ $# -ge 1 ] && sed -i "s/\"version\": \"[^\"]*\"/\"version\": \"$NEW_VERSION\"/" \
126
+ "$PLUGIN_ROOT/plugin.json"
127
+
128
+ # Propagate to all documentation files
129
+ for file in README.md COMMAND-REFERENCE.md DOMINION-FLOW-OVERVIEW.md; do
130
+ [ -f "$PLUGIN_ROOT/$file" ] || continue
131
+ sed -i "s/v[0-9]\+\.[0-9]\+\(\.[0-9]\+\)\?/v$NEW_VERSION/g" "$PLUGIN_ROOT/$file"
132
+ done
133
+ ```
134
+
135
+ ## Implementation Steps
136
+
137
+ 1. Create a `scripts/` directory in your plugin root
138
+ 2. Add `generate-skills-index.sh` — scans skills and generates index
139
+ 3. Add `generate-command-reference.sh` — audits counts and flags drift
140
+ 4. Add `sync-version.sh` — propagates version from plugin.json
141
+ 5. Run after any structural change (new commands, agents, or skills)
142
+ 6. Optionally add to a pre-commit hook or CI pipeline
143
+
144
+ ## When to Use
145
+
146
+ - After adding new commands, agents, or skills to a plugin
147
+ - Before tagging a release (ensures docs match reality)
148
+ - When preparing a README for public visibility (accuracy matters)
149
+ - As part of a CI pipeline to catch documentation drift
150
+
151
+ ## When NOT to Use
152
+
153
+ - For plugins with fewer than 10 files (manual is fine)
154
+ - When documentation intentionally differs from disk (e.g., hiding internal/experimental commands)
155
+ - In non-plugin projects where docs aren't filesystem-derived
156
+
157
+ ## Common Mistakes
158
+
159
+ - Forgetting to exclude meta files (SKILLS-INDEX.md, README.md) from the count
160
+ - Using `wc -l` without `tr -d ' '` — macOS `wc` adds leading spaces
161
+ - Not using `set -euo pipefail` — silent failures cause stale output
162
+ - Hardcoding version numbers instead of reading from plugin.json
163
+
164
+ ## Related Skills
165
+
166
+ - [claude-md-archival](../_general/methodology/claude-md-archival.md) — CLAUDE.md management patterns
167
+ - [git-worktrees-parallel](../_general/methodology/git-worktrees-parallel.md) — Parallel development workflows
168
+
169
+ ## References
170
+
171
+ - Contributed from: dominion-flow competitive analysis session (2026-03-06)
172
+ - Pattern discovered when audit revealed 39-vs-42 command count drift
@@ -0,0 +1,115 @@
1
+ ---
2
+ name: github-repo-security-audit
3
+ category: security
4
+ version: 1.0.0
5
+ contributed: 2026-02-24
6
+ contributor: dominion-flow
7
+ last_updated: 2026-02-24
8
+ tags: [security, github, audit, skills, plugins, supply-chain]
9
+ difficulty: medium
10
+ ---
11
+
12
+ # GitHub Repo Security Audit
13
+
14
+ ## Problem
15
+
16
+ Installing skills, plugins, or tools from GitHub repos introduces supply chain risk. Repos may contain prompt injection, credential harvesting, exfiltration URLs, tool poisoning, or hidden malicious content. Without systematic auditing, compromised skills enter the agent's trusted execution environment.
17
+
18
+ ## Solution Pattern
19
+
20
+ 6-layer security audit performed BEFORE installation. The audit runs in an isolated temp directory, never in the target skill path. Only after passing all layers does the repo get copied to the install location.
21
+
22
+ ## Pre-Download Checklist
23
+
24
+ Before even cloning, evaluate:
25
+
26
+ | Check | How | Red Flag |
27
+ |-------|-----|----------|
28
+ | Repo age | `gh repo view --json createdAt` | Created < 7 days ago |
29
+ | Stars/forks | `gh repo view --json stargazersCount,forkCount` | Stars < 10, looks artificial |
30
+ | Recent commits | `gh api repos/{owner}/{repo}/commits?per_page=5` | All commits in last 24h (rush job) |
31
+ | Open issues | `gh repo view --json issues` | Many unresolved security issues |
32
+ | License | `gh repo view --json licenseInfo` | No license or unusual license |
33
+ | Owner reputation | `gh api users/{owner}` | New account, no other repos |
34
+
35
+ ## 6-Layer Post-Clone Audit
36
+
37
+ ### Layer 1: Credential Scan
38
+ ```bash
39
+ bash ~/.claude/hooks/credential-filter.sh --dir /tmp/{repo}-review/
40
+ ```
41
+ Catches real API keys, passwords, connection strings in the repo.
42
+
43
+ ### Layer 2: Prompt Injection Scan
44
+ Search all `.md`, `.txt`, `.json`, `.yaml` files for:
45
+ - `ignore previous instructions`
46
+ - `you are now` / `act as` (role manipulation)
47
+ - `system prompt` extraction attempts
48
+ - `<|im_start|>` or other special tokens
49
+ - Hidden Unicode characters (zero-width spaces, directional overrides)
50
+
51
+ ```bash
52
+ grep -rnE 'ignore.*(previous|above|prior).*(instruction|prompt|rule)' /tmp/{repo}-review/
53
+ grep -rnE '(you are now|act as|new role|forget|override|bypass)' /tmp/{repo}-review/
54
+ ```
55
+
56
+ ### Layer 3: Exfiltration Detection
57
+ Search for outbound data transmission:
58
+ - `fetch(` / `XMLHttpRequest` / `WebSocket` / `navigator.sendBeacon`
59
+ - `curl` / `wget` with external URLs
60
+ - `document.cookie` / `localStorage` / `sessionStorage` reads
61
+ - Image/script `src` pointing to non-CDN domains
62
+ - Any URL that isn't a well-known CDN (jsdelivr, cdnjs, unpkg, googleapis)
63
+
64
+ ### Layer 4: Tool Poisoning
65
+ Search for destructive or privileged operations:
66
+ - `rm -rf` / `sudo` / `chmod 777` / `eval` / `exec`
67
+ - File writes to `~/.claude/`, `~/.ssh/`, `~/.env`, `~/.aws/`
68
+ - Attempts to read credential files
69
+ - `child_process` / `os.system` / `subprocess` calls
70
+
71
+ ### Layer 5: Hidden Content
72
+ - Run NFKC normalization on all text files
73
+ - Search for zero-width Unicode characters (`\u200B`, `\u200C`, `\u200D`, `\uFEFF`)
74
+ - Check for base64 payloads longer than 100 chars (exclude images)
75
+ - Look for `atob`, `btoa`, `String.fromCharCode`, `unescape`
76
+
77
+ ### Layer 6: CDN Dependency Pinning
78
+ For all external script/CSS references in HTML files:
79
+ - Check if version is pinned to exact version (e.g., `@3.2.2`) — GOOD
80
+ - Major-only pinning (e.g., `@11`) — ADVISORY
81
+ - No version at all — WARNING
82
+ - Non-standard CDN domain — RED FLAG
83
+
84
+ ## Verdict Matrix
85
+
86
+ | Result | Action |
87
+ |--------|--------|
88
+ | All 6 layers CLEAN | Install to `~/.claude/skills/{name}/` |
89
+ | 1-2 ADVISORY items | Install with warnings documented |
90
+ | Any SUSPICIOUS finding | Show to user, require explicit approval |
91
+ | Any BLOCKED finding | Do NOT install. Show findings. |
92
+
93
+ ## Post-Install Verification
94
+
95
+ After installing a clean repo:
96
+ 1. Remove `.git/` directory (no need for git history in skills)
97
+ 2. Run credential filter one more time on installed location
98
+ 3. Log the audit result: `~/.claude/audit-log/{repo}-{date}.md`
99
+
100
+ ## When to Use
101
+
102
+ - ALWAYS when installing skills/plugins from GitHub
103
+ - When adding any external repo to the agent's trusted environment
104
+ - When updating an existing skill from a remote source
105
+ - When someone shares a "cool Claude Code skill" link
106
+
107
+ ## When NOT to Use
108
+
109
+ - For repos you're building yourself (use credential filter + pre-commit hooks instead)
110
+ - For official Anthropic repos (still advisable but lower risk)
111
+
112
+ ## Related Skills
113
+
114
+ - [CREDENTIAL-SECURITY-WORKFLOW.md](../awesome-workflows/CREDENTIAL-SECURITY-WORKFLOW.md) — Credential leak prevention
115
+ - [deployment-security/](../deployment-security/) — Production security patterns
@@ -0,0 +1,396 @@
1
+ ---
2
+ name: admin-deletion-safety
3
+ category: security
4
+ version: 1.0.0
5
+ contributed: 2026-01-24
6
+ contributor: my-other-project
7
+ last_updated: 2026-01-24
8
+ tags: [admin, user-management, audit-logging, soft-delete, security-alerts, rbac]
9
+ difficulty: medium
10
+ usage_count: 0
11
+ success_rate: 100
12
+ ---
13
+
14
+ # Admin Deletion Safety - Industry Standard Implementation
15
+
16
+ ## Problem
17
+
18
+ Deleting admin users without proper safeguards can lead to:
19
+ - **System lockout**: Last admin deleted → no one can manage the system
20
+ - **Security blind spots**: No audit trail of who deleted whom and why
21
+ - **Lack of accountability**: No notification to other admins about deletions
22
+ - **Accidental self-sabotage**: Admin deletes their own account
23
+ - **Data loss**: Hard delete makes recovery impossible
24
+
25
+ Common symptoms:
26
+ - 403 errors when trying to delete admin users (blanket block)
27
+ - No audit log of admin actions
28
+ - Permanent data loss on deletion
29
+ - Security incidents go unnoticed
30
+
31
+ ## Solution Pattern
32
+
33
+ Implement a **multi-layered safety system** for admin user deletion:
34
+
35
+ 1. **Self-Deletion Protection** - Prevent admins from deleting their own account
36
+ 2. **Minimum Admin Requirement** - Require at least N admins (typically 2)
37
+ 3. **Audit Logging** - Complete trail of all deletion attempts (success/blocked/failed)
38
+ 4. **Email Notifications** - Security alerts to remaining admins
39
+ 5. **Soft Delete** - Mark as deleted instead of hard delete (allows recovery)
40
+
41
+ This creates defense-in-depth: if one check is bypassed, others catch it.
42
+
43
+ ## Code Example
44
+
45
+ ### Before (Problematic)
46
+
47
+ ```javascript
48
+ // Simple hard delete with basic admin check
49
+ export const deleteUser = async (req, res) => {
50
+ const user = await getUserById(req.params.id);
51
+ if (user.role === 'admin') {
52
+ return res.status(403).json({ error: 'Cannot delete admin users' });
53
+ }
54
+
55
+ // Hard delete - no recovery
56
+ await sql`DELETE FROM profiles WHERE id = ${req.params.id}`;
57
+ res.status(200).json({ message: 'User deleted' });
58
+ };
59
+ ```
60
+
61
+ **Issues:**
62
+ - Blanket admin deletion block (even with 10 admins)
63
+ - No self-deletion check (can delete own account)
64
+ - No audit trail
65
+ - No notifications
66
+ - Permanent data loss
67
+ - No IP/timestamp tracking
68
+
69
+ ### After (Solution)
70
+
71
+ ```javascript
72
+ import { logAdminAction, getIpAddress, getUserAgent } from '../utils/auditLogger.js';
73
+ import { sendEmail } from '../config/email.js';
74
+
75
+ export const deleteUser = async (req, res, next) => {
76
+ const user = await getUserById(req.params.id);
77
+ if (!user) return next(new ApiError('User not found', 404));
78
+
79
+ const ipAddress = getIpAddress(req);
80
+ const userAgent = getUserAgent(req);
81
+
82
+ // SAFETY CHECK 1: Prevent self-deletion
83
+ if (req.user.id === req.params.id) {
84
+ await logAdminAction({
85
+ adminId: req.user.id,
86
+ adminEmail: req.user.email,
87
+ action: 'user_delete_attempt',
88
+ targetUserId: user.id,
89
+ targetUserEmail: user.email,
90
+ targetUserRole: user.role,
91
+ status: 'blocked',
92
+ reason: 'Self-deletion not allowed',
93
+ ipAddress,
94
+ userAgent
95
+ });
96
+
97
+ return next(new ApiError('Cannot delete your own account. Ask another admin.', 403));
98
+ }
99
+
100
+ // SAFETY CHECK 2: Minimum admin requirement
101
+ if (user.role === 'admin') {
102
+ const adminCount = await sql`SELECT COUNT(*) as count FROM profiles WHERE role = 'admin'`;
103
+ const totalAdmins = parseInt(adminCount[0].count);
104
+
105
+ if (totalAdmins <= 2) {
106
+ await logAdminAction({
107
+ adminId: req.user.id,
108
+ adminEmail: req.user.email,
109
+ action: 'user_delete_attempt',
110
+ targetUserId: user.id,
111
+ targetUserEmail: user.email,
112
+ targetUserRole: user.role,
113
+ status: 'blocked',
114
+ reason: `Minimum admin requirement not met (${totalAdmins} admins, minimum 2 required)`,
115
+ metadata: { admin_count: totalAdmins, minimum_required: 2 },
116
+ ipAddress,
117
+ userAgent
118
+ });
119
+
120
+ return next(new ApiError(`Cannot delete admin. System requires at least 2 admins. Currently ${totalAdmins} exist.`, 403));
121
+ }
122
+ }
123
+
124
+ try {
125
+ // SOFT DELETE: Mark as deleted instead of removing
126
+ await sql.begin(async sql => {
127
+ await sql`
128
+ UPDATE profiles
129
+ SET deleted_at = NOW(),
130
+ deleted_by = ${req.user.id}
131
+ WHERE id = ${req.params.id}
132
+ `;
133
+ });
134
+
135
+ // AUDIT LOG: Successful deletion
136
+ await logAdminAction({
137
+ adminId: req.user.id,
138
+ adminEmail: req.user.email,
139
+ action: 'user_deleted',
140
+ targetUserId: user.id,
141
+ targetUserEmail: user.email,
142
+ targetUserRole: user.role,
143
+ status: 'success',
144
+ ipAddress,
145
+ userAgent
146
+ });
147
+
148
+ // EMAIL NOTIFICATION: Alert remaining admins
149
+ if (user.role === 'admin') {
150
+ const remainingAdmins = await sql`SELECT email, first_name FROM profiles WHERE role = 'admin' AND id != ${req.params.id}`;
151
+
152
+ for (const admin of remainingAdmins) {
153
+ await sendEmail({
154
+ to: admin.email,
155
+ subject: '🔒 Security Alert: Admin Account Deleted',
156
+ html: `
157
+ <h2>Security Notification</h2>
158
+ <p>An administrator account has been deleted.</p>
159
+ <p><strong>Deleted:</strong> ${user.email}</p>
160
+ <p><strong>By:</strong> ${req.user.email}</p>
161
+ <p><strong>Time:</strong> ${new Date().toISOString()}</p>
162
+ <p><strong>IP:</strong> ${ipAddress}</p>
163
+ `
164
+ });
165
+ }
166
+ }
167
+
168
+ res.status(200).json({ status: 'success', message: 'User deleted successfully' });
169
+ } catch (error) {
170
+ // AUDIT LOG: Failed deletion
171
+ await logAdminAction({
172
+ adminId: req.user.id,
173
+ adminEmail: req.user.email,
174
+ action: 'user_delete_attempt',
175
+ targetUserId: user.id,
176
+ targetUserEmail: user.email,
177
+ targetUserRole: user.role,
178
+ status: 'failed',
179
+ reason: error.message,
180
+ metadata: { error_code: error.code },
181
+ ipAddress,
182
+ userAgent
183
+ });
184
+
185
+ return next(new ApiError(error.message, 400));
186
+ }
187
+ };
188
+
189
+ // RESTORATION: Allow undeleting users
190
+ export const restoreUser = async (req, res, next) => {
191
+ const user = await sql`SELECT id, email, deleted_at FROM profiles WHERE id = ${req.params.id}`;
192
+
193
+ if (!user[0] || !user[0].deleted_at) {
194
+ return next(new ApiError('User not found or not deleted', 404));
195
+ }
196
+
197
+ await sql`UPDATE profiles SET deleted_at = NULL, deleted_by = NULL WHERE id = ${req.params.id}`;
198
+
199
+ await logAdminAction({
200
+ adminId: req.user.id,
201
+ adminEmail: req.user.email,
202
+ action: 'user_restored',
203
+ targetUserId: user[0].id,
204
+ targetUserEmail: user[0].email,
205
+ status: 'success',
206
+ ipAddress: getIpAddress(req),
207
+ userAgent: getUserAgent(req)
208
+ });
209
+
210
+ res.status(200).json({ status: 'success', message: 'User restored successfully' });
211
+ };
212
+ ```
213
+
214
+ ## Implementation Steps
215
+
216
+ ### 1. Create Audit Log Table
217
+
218
+ ```sql
219
+ -- Migration: admin_audit_log.sql
220
+ CREATE TABLE IF NOT EXISTS admin_audit_log (
221
+ id UUID PRIMARY KEY DEFAULT gen_random_uuid(),
222
+ admin_id UUID REFERENCES profiles(id) ON DELETE SET NULL,
223
+ admin_email VARCHAR(255) NOT NULL,
224
+ action VARCHAR(100) NOT NULL,
225
+ target_user_id UUID,
226
+ target_user_email VARCHAR(255),
227
+ target_user_role VARCHAR(50),
228
+ status VARCHAR(50) NOT NULL, -- 'success', 'blocked', 'failed'
229
+ reason TEXT,
230
+ metadata JSONB,
231
+ ip_address VARCHAR(45),
232
+ user_agent TEXT,
233
+ created_at TIMESTAMPTZ DEFAULT CURRENT_TIMESTAMP,
234
+
235
+ INDEX idx_admin_audit_admin_id (admin_id),
236
+ INDEX idx_admin_audit_action (action),
237
+ INDEX idx_admin_audit_created_at (created_at DESC)
238
+ );
239
+ ```
240
+
241
+ ### 2. Add Soft Delete Columns
242
+
243
+ ```sql
244
+ -- Migration: add_soft_delete.sql
245
+ ALTER TABLE profiles
246
+ ADD COLUMN IF NOT EXISTS deleted_at TIMESTAMPTZ DEFAULT NULL,
247
+ ADD COLUMN IF NOT EXISTS deleted_by UUID REFERENCES profiles(id) ON DELETE SET NULL;
248
+
249
+ CREATE INDEX IF NOT EXISTS idx_profiles_deleted_at ON profiles(deleted_at);
250
+ ```
251
+
252
+ ### 3. Create Audit Logger Utility
253
+
254
+ ```javascript
255
+ // server/utils/auditLogger.js
256
+ import sql from '../config/db.js';
257
+
258
+ export const logAdminAction = async ({
259
+ adminId, adminEmail, action, targetUserId,
260
+ targetUserEmail, targetUserRole, status, reason,
261
+ metadata, ipAddress, userAgent
262
+ }) => {
263
+ try {
264
+ await sql`
265
+ INSERT INTO admin_audit_log (
266
+ admin_id, admin_email, action, target_user_id,
267
+ target_user_email, target_user_role, status, reason,
268
+ metadata, ip_address, user_agent
269
+ ) VALUES (
270
+ ${adminId}, ${adminEmail}, ${action}, ${targetUserId},
271
+ ${targetUserEmail}, ${targetUserRole}, ${status}, ${reason},
272
+ ${metadata ? JSON.stringify(metadata) : null}, ${ipAddress}, ${userAgent}
273
+ )
274
+ `;
275
+ } catch (error) {
276
+ console.error('[AUDIT LOG ERROR]', error);
277
+ }
278
+ };
279
+
280
+ export const getIpAddress = (req) => {
281
+ return req.ip || req.headers['x-forwarded-for'] || req.connection.remoteAddress || null;
282
+ };
283
+
284
+ export const getUserAgent = (req) => {
285
+ return req.headers['user-agent'] || null;
286
+ };
287
+ ```
288
+
289
+ ### 4. Update User Model for Soft Delete Filtering
290
+
291
+ ```javascript
292
+ // server/models/User.js
293
+ export const getUsers = async (filters = {}, options = {}) => {
294
+ let hasWhere = false;
295
+ const parts = ['SELECT * FROM profiles'];
296
+ const values = [];
297
+ let idx = 1;
298
+
299
+ // Soft delete filtering (default: exclude deleted)
300
+ if (filters.excludeDeleted) {
301
+ parts.push('WHERE deleted_at IS NULL');
302
+ hasWhere = true;
303
+ } else if (filters.deletedOnly) {
304
+ parts.push('WHERE deleted_at IS NOT NULL');
305
+ hasWhere = true;
306
+ }
307
+
308
+ // ... rest of filters
309
+ };
310
+ ```
311
+
312
+ ### 5. Add Restore Route
313
+
314
+ ```javascript
315
+ // server/routes/adminRoutes.js
316
+ router.post('/users/:id/restore', protect, authorize('admin'), adminController.restoreUser);
317
+ ```
318
+
319
+ ## When to Use
320
+
321
+ - **Any system with admin users** - Critical infrastructure requiring admin access
322
+ - **Multi-tenant SaaS platforms** - Multiple admins managing the system
323
+ - **Compliance requirements** - HIPAA, SOC2, ISO27001 requiring audit trails
324
+ - **Financial/payment systems** - High-stakes environments needing accountability
325
+ - **Enterprise applications** - Professional software with security standards
326
+ - **When users complain** - "I can't delete this admin" → proper implementation needed
327
+
328
+ ## When NOT to Use
329
+
330
+ - **Single-user systems** - No multi-admin requirement (but audit logging still valuable)
331
+ - **Prototype/demo apps** - Overkill for non-production learning projects
332
+ - **Public-facing user accounts** - Different deletion rules apply (GDPR right to deletion)
333
+ - **When immediate hard delete required** - Rare cases needing instant permanent removal
334
+ - **Simple CRUD apps** - Basic user management without admin hierarchyuse soft delete sparingly
335
+
336
+ ## Configuration Options
337
+
338
+ ```javascript
339
+ // config/security.js
340
+ export const ADMIN_DELETION_CONFIG = {
341
+ minimumAdmins: 2, // Minimum admins required
342
+ softDeleteEnabled: true, // Use soft delete (vs hard delete)
343
+ emailNotifications: true, // Send email alerts
344
+ auditLogging: true, // Log all actions
345
+ allowSelfDeletion: false, // Prevent self-deletion
346
+ recoveryGracePeriod: 30, // Days before permanent deletion
347
+ notifyAllAdmins: true, // Alert all admins (vs just superadmins)
348
+ };
349
+ ```
350
+
351
+ ## Common Mistakes
352
+
353
+ 1. **Hardcoded minimum admin count** - Should be configurable
354
+ 2. **Forgetting IP/user agent logging** - Critical for security forensics
355
+ 3. **No email notification** - Admins unaware of security events
356
+ 4. **Hard delete on first call** - No recovery option
357
+ 5. **Audit log in same transaction** - If transaction rolls back, no audit entry
358
+ 6. **Not excluding soft-deleted users in queries** - Appear in user lists
359
+ 7. **Missing restoration endpoint** - Soft delete useless without restore
360
+ 8. **Blanket admin block** - "Cannot delete admins" even with 10 admins
361
+
362
+ ## Testing Checklist
363
+
364
+ - [ ] Try deleting your own admin account → Should block with clear message
365
+ - [ ] With 2 admins, try deleting one → Should block
366
+ - [ ] With 3+ admins, delete one → Should succeed
367
+ - [ ] Check admin_audit_log table → Entry created
368
+ - [ ] Check email inbox → Security alert received
369
+ - [ ] Verify user marked as deleted (deleted_at set)
370
+ - [ ] Call restore endpoint → User restored
371
+ - [ ] Query users list → Deleted user excluded by default
372
+ - [ ] Try deleting already-deleted user → Appropriate error
373
+ - [ ] Attempt deletion of non-existent user → 404 error
374
+
375
+ ## Related Skills
376
+
377
+ - [rbac-permission-system](../security/rbac-permission-system.md) - Role-based access control
378
+ - [audit-logging-patterns](../security/audit-logging-patterns.md) - Comprehensive audit trails
379
+ - [soft-delete-implementation](../database-solutions/soft-delete-implementation.md) - Soft delete strategies
380
+ - [email-notification-system](../integrations/email-notification-system.md) - Email alert patterns
381
+ - [admin-impersonation](../security/admin-impersonation.md) - Admin user impersonation
382
+
383
+ ## References
384
+
385
+ - OWASP: [Authorization Cheat Sheet](https://cheatsheetseries.owasp.org/cheatsheets/Authorization_Cheat_Sheet.html)
386
+ - NIST: [Digital Identity Guidelines](https://pages.nist.gov/800-63-3/)
387
+ - SOC 2: Access Control Requirements
388
+ - Contributed from: MERN Community LMS (2026-01-24)
389
+
390
+ ## Success Metrics
391
+
392
+ - **Zero lockouts** - No incidents of system becoming inaccessible
393
+ - **100% audit coverage** - All admin actions logged
394
+ - **Recovery success rate** - Percentage of soft-deleted users successfully restored
395
+ - **Mean time to recovery** - How fast deleted users can be restored
396
+ - **Security alert response time** - How quickly admins respond to deletion alerts