Agent skill

inclusion-criteria-gen

Generate and optimize clinical trial subject inclusion/exclusion criteria to balance scientific rigor with recruitment feasibility. Trigger when users need to design eligibility criteria for new trials, optimize existing criteria for better enrollment, analyze competitor trial eligibility patterns, or assess recruitment barriers. Use cases: Protocol design, eligibility optimization, recruitment strategy, competitive eligibility analysis, feasibility assessment.

Stars 163
Forks 31

Install this agent skill to your Project

npx add-skill https://github.com/majiayu000/claude-skill-registry/tree/main/skills/other/other/inclusion-criteria-gen

SKILL.md

Inclusion Criteria Generator

Generate and optimize clinical trial subject inclusion/exclusion criteria to balance scientific rigor with recruitment feasibility.

Use Cases

  • Protocol Design: Create initial eligibility criteria for new clinical trials
  • Criteria Optimization: Refine existing criteria to improve enrollment without compromising safety/efficacy
  • Competitive Analysis: Analyze eligibility patterns across similar trials
  • Recruitment Strategy: Identify and mitigate barriers to enrollment
  • Feasibility Assessment: Evaluate if proposed criteria are realistic for target population

Usage

CLI Usage

bash
# Generate criteria from study design
python scripts/main.py generate \
  --indication "Type 2 Diabetes" \
  --phase "Phase 2" \
  --population "adults" \
  --duration "24 weeks" \
  --output criteria.json

# Optimize existing criteria
python scripts/main.py optimize \
  --input current_criteria.json \
  --enrollment-target 200 \
  --current-enrollment 120 \
  --output optimized_criteria.json

# Analyze criteria complexity
python scripts/main.py analyze \
  --input criteria.json \
  --output analysis_report.json

# Compare with competitor trials
python scripts/main.py benchmark \
  --input criteria.json \
  --condition "Type 2 Diabetes" \
  --output benchmark_report.json

Python API

python
from scripts.main import CriteriaGenerator, CriteriaOptimizer

# Generate new criteria
generator = CriteriaGenerator()
criteria = generator.generate(
    indication="Type 2 Diabetes",
    phase="Phase 2",
    population="adults",
    study_duration="24 weeks",
    endpoints=["HbA1c reduction", "weight change"]
)

# Optimize existing criteria
optimizer = CriteriaOptimizer()
optimized = optimizer.optimize(
    criteria=existing_criteria,
    enrollment_target=200,
    current_enrollment=120,
    retention_rate=0.85
)

# Analyze criteria complexity
analysis = optimizer.analyze_complexity(criteria)

Input Format

Study Design Parameters

json
{
  "indication": "Type 2 Diabetes Mellitus",
  "phase": "Phase 2",
  "population": "adults",
  "age_range": {"min": 18, "max": 75},
  "study_duration": "24 weeks",
  "treatment_type": "oral",
  "primary_endpoints": ["HbA1c change from baseline"],
  "safety_considerations": ["cardiovascular risk"],
  "concomitant_meds_allowed": ["metformin"]
}

Existing Criteria Format

json
{
  "inclusion_criteria": [
    {
      "id": "I1",
      "criterion": "Age 18-75 years",
      "rationale": "Adult population per regulatory guidance",
      "category": "demographics"
    }
  ],
  "exclusion_criteria": [
    {
      "id": "E1",
      "criterion": "HbA1c < 7.0% or > 11.0%",
      "rationale": "Ensure measurable treatment effect",
      "category": "disease_severity"
    }
  ]
}

Output Format

Generated/Optimized Criteria

json
{
  "inclusion_criteria": [
    {
      "id": "I1",
      "criterion": "Age 18-75 years, inclusive",
      "category": "demographics",
      "rationale": "Adult population; upper limit for safety",
      "priority": "required",
      "impact": "low"
    }
  ],
  "exclusion_criteria": [
    {
      "id": "E1",
      "criterion": "HbA1c < 7.5% or > 10.5% at screening",
      "category": "disease_severity",
      "rationale": "Optimal range for detecting treatment effect",
      "priority": "required",
      "impact": "medium",
      "flexibility": "widen by 0.5% if enrollment slow"
    }
  ],
  "optimization_notes": [
    "Widened HbA1c range from 7.0-11.0% to 7.5-10.5% based on feasibility data"
  ],
  "recruitment_metrics": {
    "estimated_screen_success_rate": 0.35,
    "estimated_enrollment_rate": 0.65,
    "key_barriers": ["HbA1c upper limit", "concomitant medication restrictions"]
  }
}

Criteria Categories

Category Description Examples
demographics Age, sex, race, ethnicity Age 18-75, women of childbearing potential
disease_severity Disease stage, severity markers HbA1c range, tumor stage, NYHA class
medical_history Prior conditions, comorbidities No cardiovascular events within 6 months
concomitant_meds Allowed/prohibited medications Stable metformin dose allowed
laboratory Lab value requirements eGFR > 30 mL/min, normal liver function
lifestyle Diet, exercise, habits Non-smoker, willing to maintain diet
compliance Ability to participate Able to provide informed consent
safety Risk minimization criteria No history of severe hypoglycemia

Optimization Strategies

Common Modifications

Issue Strategy Example
Narrow age range Widen limits 18-70 → 18-75 years
Restrictive lab values Adjust thresholds eGFR > 60 → eGFR > 30 mL/min
Comorbidity exclusions Add time limits Exclude "current" vs "history of"
Medication washouts Shorten periods 4 weeks → 2 weeks
Geographic barriers Add telemedicine Include remote visits option

Retention Considerations

  • Minimize visit frequency when possible
  • Allow window periods for visit timing
  • Provide transportation assistance language
  • Consider patient-reported outcome burden

Technical Details

  • Difficulty: Medium
  • Standards: ICH E6(R2) GCP, CDISC Protocol Representation Model
  • Data Sources: ClinicalTrials.gov eligibility patterns, literature feasibility data
  • Dependencies: None (pure Python)

References

  • references/criteria_templates.json - Templates by therapeutic area
  • references/optimization_guidelines.md - Best practices for criteria optimization
  • references/common_pitfalls.md - Frequent eligibility design mistakes
  • references/regulatory_guidance.md - FDA/EMA guidance on eligibility criteria
  • references/feasibility_data.json - Screen failure rates by criterion type

Risk Assessment

Risk Indicator Assessment Level
Code Execution Python scripts with tools High
Network Access External API calls High
File System Access Read/write data Medium
Instruction Tampering Standard prompt guidelines Low
Data Exposure Data handled securely Medium

Security Checklist

  • No hardcoded credentials or API keys
  • No unauthorized file system access (../)
  • Output does not expose sensitive information
  • Prompt injection protections in place
  • API requests use HTTPS only
  • Input validated against allowed patterns
  • API timeout and retry mechanisms implemented
  • Output directory restricted to workspace
  • Script execution in sandboxed environment
  • Error messages sanitized (no internal paths exposed)
  • Dependencies audited
  • No exposure of internal service architecture

Prerequisites

bash
# Python dependencies
pip install -r requirements.txt

Evaluation Criteria

Success Metrics

  • Successfully executes main functionality
  • Output meets quality standards
  • Handles edge cases gracefully
  • Performance is acceptable

Test Cases

  1. Basic Functionality: Standard input → Expected output
  2. Edge Case: Invalid input → Graceful error handling
  3. Performance: Large dataset → Acceptable processing time

Lifecycle Status

  • Current Stage: Draft
  • Next Review Date: 2026-03-06
  • Known Issues: None
  • Planned Improvements:
    • Performance optimization
    • Additional feature support

Parameters

Parameter Type Default Description
--indication str Required Therapeutic indication
--phase str Required
--population str "adults" Target population
--duration str "" Study duration
--output str Required Output file path
--age-min int 18 Minimum age
--age-max int 75 Maximum age
--input str Required Input criteria JSON file
--enrollment-target int Required Target enrollment
--current-enrollment int Required Current enrollment
--output str Required Output file path
--input str Required Input criteria JSON file
--output str Required Output file path
--input str Required Input criteria JSON file
--condition str Required Medical condition
--output str Required Output file path

Expand your agent's capabilities with these related and highly-rated skills.

Didn't find tool you were looking for?

Be as detailed as possible for better results