Claude — independently scanned and version-tracked by SaferSkills.
SaferSkills independently audited Claude (Agent Skill) and scored it 100/100 (green). The audit ran 55 deterministic rules across Security, Supply Chain, Maintenance, Transparency, and Community; it found 0 high-severity and 0 lower-severity findings. The full rule-by-rule trace and per-finding evidence are below. Free, methodology-open.
Findings & checks · 0 flagged
Every scanned point with the score it earned and what moved between them.
First recorded scan — no prior version to compare against.
The primary manifest — the file an agent reads to learn what this artifact does.
Author: Dr. Aneesh Joseph Implementation: Claude (Anthropic) Version: 2.2 | December 2025
Use PRISM when the user asks to:
Trigger phrases:
Traditional hypothesis testing asks: "Is this result statistically significant?"
PRISM asks: "Given all available evidence, what is the probability this hypothesis is true?"
This shift from binary significance to continuous credence enables:
PRISM uses Bayes' theorem with log-odds for numerical stability:
log-odds(H|E) = log-odds(H) + log(LR)Instead of arbitrary priors, PRISM uses empirical base rates with Beta distributions:
phase2_clinical: 15.3% [9.0%, 23.0%] (based on FDA 2000-2020)phase3_clinical: 35.1% [26.2%, 44.7%]replication: 40.1% [30.8%, 49.8%] (based on OSF 2015)general: 50.0% (uninformative)Critical: Naive multiplication of likelihood ratios causes exponential overconfidence.
PRISM uses hierarchical correlation:
Effective N = Σ(cluster_size / DEFF_within) / √DEFF_between/home/claude/
├── prism_v2_2.py # Core PRISM engine (Dr. Joseph's implementation)
├── prism_session.py # Session management with checkpointing
└── example_*.py # Example analyses
/mnt/user-data/outputs/prism_{project}/
├── state.json # Project state + resume instructions
├── RESUME.md # Human-readable resume point
├── hypotheses/ # Hypothesis data files
│ ├── h1_*.json
│ └── h2_*.json
└── results/
├── comparison.json # Comparative analysis
├── FINAL_REPORT.md # Complete report
└── *_results.json # Individual hypothesis resultsfrom prism_session import PRISMSession
from prism_v2_2 import Evidence, Domain
# 1. Create session
session = PRISMSession("project_name")
# 2. Add hypotheses
h1 = session.add_hypothesis(
hypothesis_id="h1_treatment_a",
title="Treatment A reduces symptoms by >20%",
domain=Domain.MEDICAL,
reference_class="phase2_clinical"
)
# 3. Add evidence (from web_search, papers, etc.)
h1.add_evidence(Evidence(
id="study1",
content="RCT shows 25% reduction",
source="NEJM 2024",
domain=Domain.MEDICAL,
study_design="rct",
sample_size=200,
supports=True,
p_value=0.01,
effect_size=-0.45,
effect_var=0.0144, # SE^2
authors=["Smith"]
))
# Update the saved hypothesis
session._save_hypothesis(h1,
session.hypotheses_dir / "h1_treatment_a.json",
"h1_treatment_a")
# 4. Analyze all hypotheses
session.analyze_all(set_n_compared=True) # Applies optimizer's curse
# 5. Generate report
session.generate_report()When a user asks: "Find the best hypothesis for treating osteoarthritis"
# Use web_search to find treatment options
web_search("osteoarthritis treatment options 2024 clinical trials")
web_search("osteoarthritis systematic reviews meta-analysis")session = PRISMSession("osteoarthritis_treatment_2025")
# Add each candidate hypothesis
h1 = session.add_hypothesis(
"h1_weight_loss",
"Weight loss reduces knee OA pain",
Domain.MEDICAL,
"replication"
)
# ... add more hypotheses# For each relevant study found:
h1.add_evidence(Evidence(
id="messier_2013",
content="18-month RCT: 10% weight loss reduced pain 50%",
source="JAMA 2013;310(12):1263",
study_design="rct",
sample_size=454,
supports=True,
p_value=0.0001,
effect_size=-0.48,
effect_var=0.0144,
authors=["Messier", "Mihalko"]
))session.analyze_all(set_n_compared=True)session.generate_report()
present_files([
session.results_dir / "FINAL_REPORT.md",
session.results_dir / "comparison.json"
])"Build for one Claude, checkpoint for many"
The system is designed to complete in ONE session but checkpoints after each hypothesis for safety.
After analyzing each hypothesis, PRISM automatically:
If analysis is interrupted:
from prism_session import PRISMSession
# Load existing project
session = PRISMSession("project_name") # Automatically loads state
# Continue analysis
session.resume() # Or session.analyze_all()The RESUME.md file tells you exactly where you left off:
session._checkpoint_hypothesis() automatically called/mnt/user-data/outputs/prism_{project}/n_compared on each hypothesissession.analyze_all(set_n_compared=True)Evidence strength by study design (likelihood ratios):
| Study Type | LR+ | Interpretation |
|---|---|---|
| Meta-analysis | 5.4 | Very strong evidence |
| Systematic review | 5.4 | Very strong evidence |
| RCT | 2.3 | Strong evidence |
| Cohort | 1.9 | Moderate evidence |
| Case-control | 1.5 | Weak evidence |
| Observational | 1.2 | Minimal evidence |
| Expert opinion | 1.1 | Very weak evidence |
| Posterior | Interpretation | Action |
|---|---|---|
| < 10% | Unlikely | Deprioritize |
| 10-30% | Possible | Gather more evidence |
| 30-70% | Uncertain | Key decision point |
| 70-90% | Probable | Consider acting |
| > 90% | Highly likely | Act with monitoring |
⚠️ High model uncertainty (>25%): Evidence may be highly correlated ⚠️ P-hacking detected: Effect sizes may be inflated ⚠️ High I² (>75%): Studies measuring different things ⚠️ Extreme posterior (>95%): Likely overconfident ⚠️ Wide credible intervals: Need more evidence
When presenting results to users:
🏆 Best Hypothesis: h1_weight_loss
Weight loss reduces knee OA pain and improves function
Posterior (corrected): 88.8%
📋 Full Ranking:
🥇 h1_weight_loss: 88.8%
🥈 h2_exercise: 88.5%
🥉 h3_combination: 67.2%
...
📄 Full report available: [link to FINAL_REPORT.md]✅ Exploratory analysis and hypothesis generation ✅ Research prioritization and resource allocation ✅ Structured evidence synthesis ✅ Treatment comparison and decision support ✅ Teaching Bayesian reasoning
❌ Regulatory approval decisions (use established methods) ❌ Legal proceedings (requires validated forensic tools) ❌ Fully automated decision-making ❌ Single-study evaluation
'phase2_clinical' # ~15% prior (early drug development)
'phase3_clinical' # ~35% prior (late drug development)
'drug_approval' # ~10% prior (FDA approval standard)
'replication' # ~40% prior (scientific replication)
'general' # ~50% prior (uninformative)# Session management
session = PRISMSession("project_name")
h = session.add_hypothesis(id, title, domain, ref_class)
session.analyze_all()
session.generate_report()
# Evidence creation
e = Evidence(id, content, source, domain, study_design,
sample_size, supports, p_value, effect_size,
effect_var, authors)PRISM v2.2 - Rigorous hypothesis evaluation for evidence-based science
~30 seconds. Free. No account. Every finding cites a rule and a line of evidence.