返回技能列表

write-validation-documentation

pjt222
更新于 2 days ago
1 次查看
17
2
17
在 GitHub 上查看
wordtestingautomation

关于

This skill generates comprehensive IQ/OQ/PQ validation documentation for computerized systems in regulated environments. It creates protocols, reports, test scripts, and handles deviation workflows for software validation and regulatory audits. Use it when qualifying R or other software for GxP compliance or preparing validation documentation for new or re-qualified systems.

快速安装

Claude Code

推荐
主要方式
npx skills add pjt222/agent-almanac -a claude-code
插件命令备选方式
/plugin add https://github.com/pjt222/agent-almanac
Git 克隆备选方式
git clone https://github.com/pjt222/agent-almanac.git ~/.claude/skills/write-validation-documentation

在 Claude Code 中复制并粘贴此命令以安装该技能

技能文档

Write Validation Documentation

Create complete IQ/OQ/PQ validation documentation for computerized systems.

When Use

  • Validating R or other software for regulated use
  • Preparing for regulatory audit
  • Documenting qualification of computing environments
  • Creating or updating validation protocols and reports

Inputs

  • Required: System/software to validate (name, version, purpose)
  • Required: Validation plan defining scope and strategy
  • Required: User requirements specification
  • Optional: Existing SOP templates
  • Optional: Previous validation documentation (for re-qualification)

Steps

Step 1: Write Installation Qualification (IQ) Protocol

# Installation Qualification Protocol
**System**: R Statistical Computing Environment
**Version**: 4.5.0
**Document ID**: IQ-PROJ-001
**Prepared by**: [Name] | **Date**: [Date]
**Reviewed by**: [Name] | **Date**: [Date]
**Approved by**: [Name] | **Date**: [Date]

## 1. Objective
Verify that R and required packages are correctly installed per specifications.

## 2. Prerequisites
- [ ] Server/workstation meets hardware requirements
- [ ] Operating system qualified
- [ ] Network access available (for package downloads)

## 3. Test Cases

### IQ-001: R Installation
| Field | Value |
|-------|-------|
| Requirement | R version 4.5.0 correctly installed |
| Procedure | Open R console, execute `R.version.string` |
| Expected Result | "R version 4.5.0 (2025-04-11)" |
| Actual Result | ______________________ |
| Pass/Fail | [ ] |
| Executed by | ____________ Date: ________ |

### IQ-002: Package Inventory
| Package | Required Version | Installed Version | Pass/Fail |
|---------|-----------------|-------------------|-----------|
| dplyr | 1.1.4 | | [ ] |
| ggplot2 | 3.5.0 | | [ ] |
| survival | 3.7-0 | | [ ] |

## 4. Deviations
[Document any deviations from expected results and their resolution]

## 5. Conclusion
[ ] All IQ tests PASSED - system installation verified
[ ] IQ tests FAILED - see deviation section

Got: validation/iq/iq_protocol.md complete with unique document ID, objective, prerequisites checklist, test cases for R installation and every required package, deviation section, approval fields.

If err: Organization requires different document format? Adapt template to match existing SOP. Key fields (requirement, procedure, expected result, actual result, pass/fail) must be preserved regardless of format.

Step 2: Write Operational Qualification (OQ) Protocol

# Operational Qualification Protocol
**Document ID**: OQ-PROJ-001

## 1. Objective
Verify that the system operates correctly under normal conditions.

## 2. Test Cases

### OQ-001: Data Import Functionality
| Field | Value |
|-------|-------|
| Requirement | System correctly imports CSV files |
| Test Data | validation/test_data/import_test.csv (MD5: abc123) |
| Procedure | Execute `read.csv("import_test.csv")` |
| Expected | Data frame with 100 rows, 5 columns |
| Actual Result | ______________________ |
| Evidence | Screenshot/log file reference |

### OQ-002: Statistical Calculations
| Field | Value |
|-------|-------|
| Requirement | t-test produces correct results |
| Test Data | Known dataset: x = c(2.1, 2.5, 2.3), y = c(3.1, 3.5, 3.3) |
| Procedure | Execute `t.test(x, y)` |
| Expected | t = -5.000, df = 4, p = 0.00753 |
| Actual Result | ______________________ |
| Tolerance | ±0.001 |

### OQ-003: Error Handling
| Field | Value |
|-------|-------|
| Requirement | System handles invalid input gracefully |
| Procedure | Execute `analysis_function(invalid_input)` |
| Expected | Informative error message, no crash |
| Actual Result | ______________________ |

Got: validation/oq/oq_protocol.md contains test cases for data import, statistical calculations, error handling. Each with specific test data, expected results (with tolerances where applicable), evidence requirements.

If err: Test data not yet available? Create synthetic test datasets with known properties. Document data generation method so results can be independently verified.

Step 3: Write Performance Qualification (PQ) Protocol

# Performance Qualification Protocol
**Document ID**: PQ-PROJ-001

## 1. Objective
Verify the system performs as intended with real-world data and workflows.

## 2. Test Cases

### PQ-001: End-to-End Primary Analysis
| Field | Value |
|-------|-------|
| Requirement | Primary endpoint analysis matches reference |
| Test Data | Blinded test dataset (hash: sha256:abc...) |
| Reference | Independent SAS calculation (report ref: SAS-001) |
| Procedure | Execute full analysis pipeline |
| Expected | Estimate within ±0.001 of reference |
| Actual Result | ______________________ |

### PQ-002: Report Generation
| Field | Value |
|-------|-------|
| Requirement | Generated report contains all required sections |
| Procedure | Execute report generation script |
| Checklist | |
| | [ ] Title page with study information |
| | [ ] Table of contents |
| | [ ] Demographic summary table |
| | [ ] Primary analysis results |
| | [ ] Appendix with session info |

Got: validation/pq/pq_protocol.md contains end-to-end test cases using real-world (or representative) data. Results compared against independent reference calculation (e.g., SAS output). Tolerances explicitly defined.

If err: Independent reference results not available? Document gap. Use dual-programming (two independent R implementations) as alternative verification method. Flag PQ as provisional until independent verification complete.

Step 4: Write Qualification Reports

After executing protocols, document results:

# Installation Qualification Report
**Document ID**: IQ-RPT-001
**Protocol Reference**: IQ-PROJ-001

## 1. Summary
All IQ test cases were executed on [date] by [name].

## 2. Results Summary
| Test ID | Description | Result |
|---------|-------------|--------|
| IQ-001 | R Installation | PASS |
| IQ-002 | Package Inventory | PASS |

## 3. Deviations
None observed.

## 4. Conclusion
The installation of R 4.5.0 and associated packages has been verified
and meets all specified requirements.

## 5. Approvals
| Role | Name | Signature | Date |
|------|------|-----------|------|
| Executor | | | |
| Reviewer | | | |
| Approver | | | |

Got: Qualification reports (IQ, OQ, PQ) complete with all test results filled in, deviations documented (or "None observed"), conclusions stated, approval signature fields ready for sign-off.

If err: Test failures occurred during execution? Document each failure as deviation with root cause analysis and resolution. Do not leave deviation sections blank when failures observed.

Step 5: Automate Where Possible

Create automated test scripts that generate evidence:

# validation/scripts/run_iq.R
sink("validation/iq/iq_evidence.txt")
cat("IQ Execution Date:", format(Sys.time()), "\n\n")

cat("IQ-001: R Version\n")
cat("Result:", R.version.string, "\n")
cat("Status:", ifelse(R.version$major == "4" && R.version$minor == "5.0",
                      "PASS", "FAIL"), "\n\n")

cat("IQ-002: Package Versions\n")
required <- renv::dependencies()
installed <- installed.packages()
# ... comparison logic
sink()

Got: Automated scripts in validation/scripts/ generate evidence files (e.g., iq_evidence.txt) with timestamped results for each test case. Reduces manual data entry, ensures reproducibility.

If err: Automated scripts fail due to environment differences? Run manually and capture output with sink(). Document any differences between automated and manual execution in qualification report.

Check

  • All protocols have unique document IDs
  • Protocols reference validation plan
  • Test cases have clear pass/fail criteria
  • Reports include all executed test results
  • Deviations documented with resolutions
  • Approval signatures obtained
  • Documents follow organization's SOP templates

Pitfalls

  • Vague acceptance criteria: "System works correctly" not testable. Specify exact expected values.
  • Missing evidence: Every test result needs supporting evidence (screenshots, logs, output files)
  • Incomplete deviation handling: All failures must be documented, investigated, resolved
  • No version control for documents: Validation docs need change control just like code
  • Skip re-qualification: System updates (R version, package updates) need re-qualification assessment

See Also

  • setup-gxp-r-project - project structure for validated environments
  • implement-audit-trail - electronic records tracking
  • validate-statistical-output - output validation methodology

GitHub 仓库

pjt222/agent-almanac
路径: i18n/caveman/skills/write-validation-documentation
0
agentsagentskillsai-assisted-developmentclaude-codeskillsteams

相关推荐技能

content-collections

Content Collections 是一个 TypeScript 优先的构建工具,可将本地 Markdown/MDX 文件转换为类型安全的数据集合。它专为构建博客、文档站和内容密集型 Vite+React 应用而设计,提供基于 Zod 的自动模式验证。该工具涵盖从 Vite 插件配置、MDX 编译到生产环境部署的完整工作流。

查看技能

polymarket

这个Claude Skill为开发者提供完整的Polymarket预测市场开发支持,涵盖API调用、交易执行和市场数据分析。关键特性包括实时WebSocket数据流,可监控实时交易、订单和市场动态。开发者可用它构建预测市场应用、实施交易策略并集成实时市场预测功能。

查看技能

creating-opencode-plugins

该Skill帮助开发者创建OpenCode插件,用于接入命令、文件、LSP等25+种事件。它提供了插件结构、事件API规范和JavaScript/TypeScript实现模式,适合需要拦截操作、扩展功能或自定义事件处理的场景。开发者可通过它快速构建响应式模块来增强OpenCode AI助手的能力。

查看技能

sglang

SGLang是一个专为LLM设计的高性能推理框架,特别适用于需要结构化输出的场景。它通过RadixAttention前缀缓存技术,在处理JSON、正则表达式、工具调用等具有重复前缀的复杂工作流时,能实现极速生成。如果你正在构建智能体或多轮对话系统,并追求远超vLLM的推理性能,SGLang是理想选择。

查看技能