关于
This skill creates an R project structure compliant with GxP regulations like 21 CFR Part 11. It sets up a validated environment for clinical trial analysis and regulatory submissions, handling qualification, change control, and electronic records. Use it when starting any R analysis project in a regulated pharmaceutical, biotech, or medical device environment.
快速安装
Claude Code
推荐npx skills add pjt222/agent-almanac -a claude-code/plugin add https://github.com/pjt222/agent-almanacgit clone https://github.com/pjt222/agent-almanac.git ~/.claude/skills/setup-gxp-r-project在 Claude Code 中复制并粘贴此命令以安装该技能
技能文档
設置 GxP R 項目
建立符合 GxP 法規之 R 項目結構,以滿足驗證計算之要求。
適用時機
- 於受監管環境(製藥、生物技術、醫療設備)啟動 R 分析項目
- 設置 R 用於臨床試驗分析
- 為法規送件建立驗證之計算環境
- 實作 21 CFR Part 11 或 EU Annex 11 要求
輸入
- 必要:項目範圍與法規框架(FDA、EMA 或兩者)
- 必要:欲驗證之 R 版本與套件版本
- 必要:驗證策略(基於風險之方法)
- 選擇性:電腦化系統之既有 SOP
- 選擇性:品質管理系統整合要求
步驟
步驟一:建立驗證項目結構
gxp-project/
├── R/ # Analysis scripts
│ ├── 01_data_import.R
│ ├── 02_data_processing.R
│ └── 03_analysis.R
├── validation/ # Validation documentation
│ ├── validation_plan.md # VP: scope, strategy, roles
│ ├── risk_assessment.md # Risk categorization
│ ├── iq/ # Installation Qualification
│ │ ├── iq_protocol.md
│ │ └── iq_report.md
│ ├── oq/ # Operational Qualification
│ │ ├── oq_protocol.md
│ │ └── oq_report.md
│ ├── pq/ # Performance Qualification
│ │ ├── pq_protocol.md
│ │ └── pq_report.md
│ └── traceability_matrix.md # Requirements to tests mapping
├── tests/ # Automated test suite
│ ├── testthat.R
│ └── testthat/
│ ├── test-data_import.R
│ └── test-analysis.R
├── data/ # Input data (controlled)
│ ├── raw/ # Immutable raw data
│ └── derived/ # Processed datasets
├── output/ # Analysis outputs
├── docs/ # Supporting documentation
│ ├── sop_references.md # Links to relevant SOPs
│ └── change_log.md # Manual change documentation
├── renv.lock # Locked dependencies
├── DESCRIPTION # Project metadata
├── .Rprofile # Session configuration
└── CLAUDE.md # AI assistant instructions
預期: 完整目錄結構已存,含 R/、validation/(含 iq/、oq/、pq/ 子目錄)、tests/testthat/、data/raw/、data/derived/、output/ 與 docs/ 目錄。
失敗時: 若目錄缺失,以 mkdir -p 建立。驗證你於正確項目根。對既有項目,僅建缺失目錄而不覆蓋既有結構。
步驟二:建立驗證計劃
建立 validation/validation_plan.md:
# Validation Plan
## 1. Purpose
This plan defines the validation strategy for [Project Name] using R [version].
## 2. Scope
- R version: 4.5.0
- Packages: [list with versions]
- Analysis: [description]
- Regulatory framework: 21 CFR Part 11 / EU Annex 11
## 3. Risk Assessment Approach
Using GAMP 5 risk-based categories:
- Category 3: Non-configured products (R base)
- Category 4: Configured products (R packages with default settings)
- Category 5: Custom applications (custom R scripts)
## 4. Validation Activities
| Activity | Category 3 | Category 4 | Category 5 |
|----------|-----------|-----------|-----------|
| IQ | Required | Required | Required |
| OQ | Reduced | Standard | Enhanced |
| PQ | N/A | Standard | Enhanced |
## 5. Roles and Responsibilities
- Validation Lead: [Name]
- Developer: [Name]
- QA Reviewer: [Name]
- Approver: [Name]
## 6. Acceptance Criteria
All tests must pass with documented evidence.
預期: validation/validation_plan.md 完整含範圍、GAMP 5 風險類別、驗證活動矩陣、角色與責任、接受標準。計劃參照具體 R 版本與法規框架。
失敗時: 若法規框架不清,諮詢組織之 QA 部門以查適用 SOP。計劃未經審視與批准前,勿進行驗證活動。
步驟三:以 renv 鎖定依賴
# Initialize renv with exact versions
renv::init()
# Install specific validated versions
renv::install("[email protected]")
renv::install("[email protected]")
# Snapshot
renv::snapshot()
renv.lock 文件作為受控之套件清單。
預期: renv.lock 已存,所有所需套件附精確版本號。renv::status() 報告無問題。每套件版本已固定(如 [email protected]),非浮動。
失敗時: 若 renv::install() 對特定版本失敗,檢查該版本存於 CRAN 歸檔。對歸檔版本用 renv::install("package@version", repos = "https://packagemanager.posit.co/cran/latest")。
步驟四:實作版本控制
git init
git add .
git commit -m "Initial validated project structure"
# Use signed commits for traceability
git config user.signingkey YOUR_GPG_KEY
git config commit.gpgsign true
預期: 項目於 git 版本控制下,啟用簽署提交。初始提交含已驗證之項目結構與 renv.lock。
失敗時: 若 GPG 簽署失敗,以 gpg --list-secret-keys 驗證 GPG 鑰已配置。對無 GPG 之環境,記錄偏差並用未簽署提交,於 docs/change_log.md 中作手動審計軌跡條目。
步驟五:建立 IQ 協議
validation/iq/iq_protocol.md:
# Installation Qualification Protocol
## Objective
Verify that R and required packages are correctly installed.
## Test Cases
### IQ-001: R Version Verification
- **Requirement**: R 4.5.0 installed
- **Procedure**: Execute `R.version.string`
- **Expected:** "R version 4.5.0 (date)"
- **Result**: [ PASS / FAIL ]
### IQ-002: Package Installation Verification
- **Requirement**: All packages in renv.lock installed
- **Procedure**: Execute `renv::status()`
- **Expected:** "No issues found"
- **Result**: [ PASS / FAIL ]
### IQ-003: Package Version Verification
- **Procedure**: Execute `installed.packages()[, c("Package", "Version")]`
- **Expected:** Versions match renv.lock exactly
- **Result**: [ PASS / FAIL ]
預期: validation/iq/iq_protocol.md 含 R 版本驗證、套件安裝驗證與套件版本驗證之測試案例,每附明確預期結果與通過/失敗欄位。
失敗時: 若 IQ 協議範本不符組織 SOP 要求,調整格式同時保留所需欄位(要求、程序、預期結果、實際結果、通過/失敗)。諮詢 QA 取核准之範本。
步驟六:撰寫自動化 OQ/PQ 測試
# tests/testthat/test-analysis.R
test_that("primary analysis produces validated results", {
# Known input -> known output (double programming validation)
test_data <- read.csv(test_path("fixtures", "validation_dataset.csv"))
result <- primary_analysis(test_data)
# Compare against independently calculated expected values
expect_equal(result$estimate, 2.345, tolerance = 1e-3)
expect_equal(result$p_value, 0.012, tolerance = 1e-3)
expect_equal(result$ci_lower, 1.234, tolerance = 1e-3)
})
預期: 自動化測試文件存於 tests/testthat/,涵蓋 OQ(每函數之操作驗證)與 PQ(端對端驗證對照獨立計算之參考值)。測試用明確之數值容差。
失敗時: 若參考值尚未來自獨立計算(如 SAS),以 skip("Awaiting independent reference values") 建立佔位測試並於追溯矩陣中記錄。
步驟七:建立追溯矩陣
# Traceability Matrix
| Req ID | Requirement | Test ID | Test Description | Status |
|--------|-------------|---------|------------------|--------|
| REQ-001 | Import CSV data correctly | OQ-001 | Verify data dimensions and types | PASS |
| REQ-002 | Calculate primary endpoint | PQ-001 | Compare against reference results | PASS |
| REQ-003 | Generate report output | PQ-002 | Verify report contains all sections | PASS |
預期: validation/traceability_matrix.md 將每要求連至至少一測試案例,且每測試案例連至一要求。無孤立要求或測試。
失敗時: 若要求未測試,為其建立測試案例或記錄基於風險之排除理由。若測試無連結之要求,連至既有要求或將其移除作範圍外。
驗證
- 項目結構遵循書面範本
- renv.lock 含所有依賴附精確版本
- 驗證計劃完整並已批准
- IQ 協議成功執行
- OQ 測試案例涵蓋所有已配置功能
- PQ 測試對獨立計算之結果驗證
- 追溯矩陣將要求連至測試
- 變更控制流程已記錄
常見陷阱
- 未鎖定版本之
install.packages():應始終用 renv 配鎖定版本 - 缺審計軌跡:每變更須記錄。用 git 簽署提交。
- 過度驗證:套用基於風險之方法。非每 CRAN 套件皆需 Category 5 驗證。
- 遺忘系統級資格認證:OS 與 R 安裝亦需 IQ
- 無獨立驗證:PQ 應對照獨立計算之結果(SAS、手算)
相關技能
write-validation-documentation- 詳細驗證文件建立implement-audit-trail- 電子記錄與審計軌跡validate-statistical-output- 雙重編程與輸出驗證manage-renv-dependencies- 受驗證環境之依賴鎖定
GitHub 仓库
Frequently asked questions
What is the setup-gxp-r-project skill?
setup-gxp-r-project is a Claude Skill by pjt222. Skills package instructions and resources that Claude loads on demand, so Claude can perform setup-gxp-r-project-related tasks without extra prompting.
How do I install setup-gxp-r-project?
Use the install commands on this page: add setup-gxp-r-project to Claude Code as a plugin, or clone its repository into your skills directory, then restart Claude so it picks up the skill.
What category does setup-gxp-r-project belong to?
setup-gxp-r-project is in the Meta category, tagged word and design.
Is setup-gxp-r-project free to use?
Yes. setup-gxp-r-project is listed on AIMCP and free to install. It runs inside Claude, so no separate service account is required to use the skill itself.
相关推荐技能
Content Collections 是一个 TypeScript 优先的构建工具,可将本地 Markdown/MDX 文件转换为类型安全的数据集合。它专为构建博客、文档站和内容密集型 Vite+React 应用而设计,提供基于 Zod 的自动模式验证。该工具涵盖从 Vite 插件配置、MDX 编译到生产环境部署的完整工作流。
这个Claude Skill为开发者提供完整的Polymarket预测市场开发支持,涵盖API调用、交易执行和市场数据分析。关键特性包括实时WebSocket数据流,可监控实时交易、订单和市场动态。开发者可用它构建预测市场应用、实施交易策略并集成实时市场预测功能。
该Skill帮助开发者创建OpenCode插件,用于接入命令、文件、LSP等25+种事件。它提供了插件结构、事件API规范和JavaScript/TypeScript实现模式,适合需要拦截操作、扩展功能或自定义事件处理的场景。开发者可通过它快速构建响应式模块来增强OpenCode AI助手的能力。
SGLang是一个专为LLM设计的高性能推理框架,特别适用于需要结构化输出的场景。它通过RadixAttention前缀缓存技术,在处理JSON、正则表达式、工具调用等具有重复前缀的复杂工作流时,能实现极速生成。如果你正在构建智能体或多轮对话系统,并追求远超vLLM的推理性能,SGLang是理想选择。
