Skip to content
Skill

Smart Checkpoint Insertion with Auto-Detection

by sbalci

AI Summary

Automatically 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

0/2000
Loading comments...

Health Signals

MaintenanceCommitted 1mo ago
Active
AdoptionUnder 100 stars
21 ★ · Niche
DocsMissing or thin
Undocumented

GitHub Signals

Stars21
Forks4
Issues0
Updated1mo ago
View on GitHub
GPL-2.0 License

My Fox Den

Community Rating

Sign in to rate this booster

Works With

Claude Code