AI SummaryAutomatically inserts checkpoint calls into jamovi R functions to enable incremental result rendering and change detection during long computations. Useful for jamovi module developers seeking to improve user experience with progress visibility.
Install
Copy this and paste it into Claude Code, Cursor, or any AI assistant:
I want to install the "Smart Checkpoint Insertion with Auto-Detection" skill in my project. Please run this command in my terminal: # Install skill into the correct directory (22 files) mkdir -p .claude/skills/commands && curl --retry 3 --retry-delay 2 --retry-all-errors -o .claude/skills/commands/SKILL.md "https://raw.githubusercontent.com/sbalci/ClinicoPathJamoviModule/master/.claude/commands/checkpoint.md" && curl --retry 3 --retry-delay 2 --retry-all-errors -o .claude/skills/commands/add-R-code.md "https://raw.githubusercontent.com/sbalci/ClinicoPathJamoviModule/master/.claude/commands/add-R-code.md" && curl --retry 3 --retry-delay 2 --retry-all-errors -o .claude/skills/commands/check-function-base.md "https://raw.githubusercontent.com/sbalci/ClinicoPathJamoviModule/master/.claude/commands/check-function-base.md" && curl --retry 3 --retry-delay 2 --retry-all-errors -o .claude/skills/commands/check-function-full.md "https://raw.githubusercontent.com/sbalci/ClinicoPathJamoviModule/master/.claude/commands/check-function-full.md" && curl --retry 3 --retry-delay 2 --retry-all-errors -o .claude/skills/commands/check-function.md "https://raw.githubusercontent.com/sbalci/ClinicoPathJamoviModule/master/.claude/commands/check-function.md" && curl --retry 3 --retry-delay 2 --retry-all-errors -o .claude/skills/commands/check-module-ClinicoPathDescriptives.md "https://raw.githubusercontent.com/sbalci/ClinicoPathJamoviModule/master/.claude/commands/check-module-ClinicoPathDescriptives.md" && curl --retry 3 --retry-delay 2 --retry-all-errors -o .claude/skills/commands/check-module-OncoPathology.md "https://raw.githubusercontent.com/sbalci/ClinicoPathJamoviModule/master/.claude/commands/check-module-OncoPathology.md" && curl --retry 3 --retry-delay 2 --retry-all-errors -o .claude/skills/commands/check-module-jjstatsplot.md "https://raw.githubusercontent.com/sbalci/ClinicoPathJamoviModule/master/.claude/commands/check-module-jjstatsplot.md" && curl --retry 3 --retry-delay 2 --retry-all-errors -o .claude/skills/commands/check-module-jsurvival.md "https://raw.githubusercontent.com/sbalci/ClinicoPathJamoviModule/master/.claude/commands/check-module-jsurvival.md" && curl --retry 3 --retry-delay 2 --retry-all-errors -o .claude/skills/commands/check-module-meddecide.md "https://raw.githubusercontent.com/sbalci/ClinicoPathJamoviModule/master/.claude/commands/check-module-meddecide.md" && curl --retry 3 --retry-delay 2 --retry-all-errors -o .claude/skills/commands/check-module-wip.md "https://raw.githubusercontent.com/sbalci/ClinicoPathJamoviModule/master/.claude/commands/check-module-wip.md" && curl --retry 3 --retry-delay 2 --retry-all-errors -o .claude/skills/commands/check-module.md "https://raw.githubusercontent.com/sbalci/ClinicoPathJamoviModule/master/.claude/commands/check-module.md" && curl --retry 3 --retry-delay 2 --retry-all-errors -o .claude/skills/commands/create-function.md "https://raw.githubusercontent.com/sbalci/ClinicoPathJamoviModule/master/.claude/commands/create-function.md" && curl --retry 3 --retry-delay 2 --retry-all-errors -o .claude/skills/commands/document-function.md "https://raw.githubusercontent.com/sbalci/ClinicoPathJamoviModule/master/.claude/commands/document-function.md" && curl --retry 3 --retry-delay 2 --retry-all-errors -o .claude/skills/commands/fix-function.md "https://raw.githubusercontent.com/sbalci/ClinicoPathJamoviModule/master/.claude/commands/fix-function.md" && curl --retry 3 --retry-delay 2 --retry-all-errors -o .claude/skills/commands/fix-notices.md "https://raw.githubusercontent.com/sbalci/ClinicoPathJamoviModule/master/.claude/commands/fix-notices.md" && curl --retry 3 --retry-delay 2 --retry-all-errors -o .claude/skills/commands/generate-test-data.md "https://raw.githubusercontent.com/sbalci/ClinicoPathJamoviModule/master/.claude/commands/generate-test-data.md" && curl --retry 3 --retry-delay 2 --retry-all-errors -o .claude/skills/commands/prepare-translation.md "https://raw.githubusercontent.com/sbalci/ClinicoPathJamoviModule/master/.claude/commands/prepare-translation.md" && curl --retry 3 --retry-delay 2 --retry-all-errors -o .claude/skills/commands/review-article-stats.md "https://raw.githubusercontent.com/sbalci/ClinicoPathJamoviModule/master/.claude/commands/review-article-stats.md" && curl --retry 3 --retry-delay 2 --retry-all-errors -o .claude/skills/commands/review-function.md "https://raw.githubusercontent.com/sbalci/ClinicoPathJamoviModule/master/.claude/commands/review-function.md" && curl --retry 3 --retry-delay 2 --retry-all-errors -o .claude/skills/commands/social-media-promo.md "https://raw.githubusercontent.com/sbalci/ClinicoPathJamoviModule/master/.claude/commands/social-media-promo.md" && curl --retry 3 --retry-delay 2 --retry-all-errors -o .claude/skills/commands/update-refs.md "https://raw.githubusercontent.com/sbalci/ClinicoPathJamoviModule/master/.claude/commands/update-refs.md" Then restart Claude Code (or reload the window in Cursor) so the skill is picked up.
Description
ClinicoPath jamovi Module
Smart Checkpoint Insertion with Auto-Detection
Add private$.checkpoint() calls to the specified function before computationally expensive operations. This enables: • Incremental Results: Pushes computed results to Jamovi so users see tables fill gradually • Change Detection: Aborts current run if user modifies settings, avoiding wasted computation • Better UX: Users see progress instead of blank screens during long computations
Auto-Detection Algorithm
When --auto-detect=true (default), the command analyzes the code to identify expensive operations:
High-Priority Triggers (always add checkpoint)
• Loops over data rows/groups • for (i in 1:nrow(...)) • for (group in unique(...)) • lapply(), sapply() over large vectors • Statistical model fitting • lm(), glm(), coxph(), survreg() • lmer(), glmer() (mixed models) • roc(), auc() (ROC analysis) • Any function from survival::, lme4::, pROC:: • Resampling/bootstrapping • boot(), boot.ci() • Custom bootstrap loops • Permutation tests • Large matrix operations • Matrix multiplication on >1000x1000 matrices • eigen(), svd(), chol() • cor(), cov() on many variables
Medium-Priority Triggers (add if --aggressive)
• Data transformations • merge(), join() operations • reshape(), pivot_*() • group_by() %>% summarize() • Plotting • ggplot() with many points (>10,000) • Complex plots with facets/animations • Conditional computations • Long if/else chains with complex logic • switch() statements with expensive branches
Discussion
Health Signals
My Fox Den
Community Rating
Sign in to rate this booster