write-validation-documentation
О программе
Этот навык создает полную документацию для валидации IQ/OQ/PQ компьютерных систем в регулируемых средах, таких как GxP. Он охватывает протоколы, тестовые сценарии, отчеты и управление отклонениями для валидации программного обеспечения или подготовки к аудитам. Используйте его при квалификации R или другого ПО, документировании вычислительных сред, а также для создания или обновления протоколов валидации в целях соответствия регуляторным требованиям.
Быстрая установка
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/write-validation-documentationСкопируйте и вставьте эту команду в Claude Code для установки этого навыка
Документация
Write Validation Documentation
Complete IQ/OQ/PQ validation docs for computerized systems.
Use When
- Validate R or other software → regulated use
- Prep for regulatory audit
- Doc qualification of computing envs
- Create|update validation protocols + reports
In
- Required: System|software to validate (name, ver, purpose)
- Required: Validation plan defining scope + strategy
- Required: User reqs spec
- Optional: Existing SOP templates
- Optional: Prev validation docs (re-qualification)
Do
Step 1: 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 w/ unique doc ID, objective, prereqs, test cases for R install + every required pkg, deviation section, approval fields.
If err: Org requires different format → adapt template to match SOP. Key fields (req, procedure, expected, actual, pass/fail) preserved regardless.
Step 2: 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 w/ test cases for data import, stat calcs, err handling, each w/ specific test data, expected (w/ tolerances), evidence reqs.
If err: Test data not yet avail → create synthetic w/ known properties. Doc data gen method for indep verify.
Step 3: 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 w/ end-to-end test cases using real-world data, results compared vs indep ref calc (SAS out). Tolerances explicit.
If err: Indep ref not avail → doc gap + use dual-programming (2 indep R impls) as alt. Flag PQ provisional until indep verify done.
Step 4: Qualification Reports
After exec protocols, doc 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 w/ all test results, deviations doc'd (or "None observed"), conclusions, approval sigs ready.
If err: Test fails during exec → doc each as deviation w/ root cause + resolution. Don't leave deviation sections blank when failures observed.
Step 5: Auto Where Possible
Auto test scripts → 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: Auto scripts in validation/scripts/ generate evidence files (iq_evidence.txt) w/ timestamped results per test, reducing manual entry + ensuring reproducibility.
If err: Auto scripts fail due to env diffs → run manual + capture w/ sink(). Doc diffs between auto + manual exec in qualification report.
Check
- All protocols unique doc IDs
- Protocols ref validation plan
- Test cases clear pass/fail criteria
- Reports include all executed test results
- Deviations doc'd w/ resolutions
- Approval signatures obtained
- Docs follow org SOP templates
Traps
- Vague acceptance: "System works correctly" not testable. Specify exact expected vals.
- Missing evidence: Every test result needs supporting evidence (screenshots, logs, out files)
- Incomplete deviation handling: All failures must be documented, investigated, resolved
- No version control for docs: Validation docs need change control just like code
- Skip re-qualification: System updates (R ver, pkg updates) → re-qualification assessment
→
setup-gxp-r-project— project structure for validated envsimplement-audit-trail— electronic records trackingvalidate-statistical-output— out validation methodology
GitHub репозиторий
Похожие навыки
content-collections
МетаЭтот навык предоставляет проверенную в продакшене настройку для Content Collections — TypeScript-ориентированного инструмента, который преобразует файлы Markdown/MDX в типобезопасные коллекции данных с валидацией Zod. Используйте его при создании блогов, сайтов документации или контентных приложений на Vite + React для обеспечения типобезопасности и автоматической проверки содержимого. Он охватывает всё: от настройки плагина Vite и компиляции MDX до оптимизации развертывания и валидации схем.
polymarket
МетаЭтот навык позволяет разработчикам создавать приложения на платформе прогнозных рынков Polymarket, включая интеграцию с API для торговли и получения рыночных данных. Он также обеспечивает потоковую передачу данных в реальном времени через WebSocket для отслеживания текущих сделок и рыночной активности. Используйте его для реализации торговых стратегий или создания инструментов, обрабатывающих обновления рынка в реальном времени.
creating-opencode-plugins
МетаЭтот навык помогает разработчикам создавать плагины OpenCode, которые подключаются к более чем 25 типам событий, таким как команды, файлы и операции LSP. Он предоставляет структуру плагина, спецификации API событий и шаблоны реализации для модулей на JavaScript/TypeScript. Используйте его, когда вам нужно перехватывать, отслеживать или расширять жизненный цикл ассистента OpenCode AI с помощью пользовательской событийно-ориентированной логики.
sglang
МетаSGLang — это высокопроизводительный фреймворк для обслуживания больших языковых моделей (LLM), специализирующийся на быстрой структурированной генерации JSON, regex и рабочих процессов агентов с использованием кэширования префиксов RadixAttention. Он обеспечивает значительно более высокую скорость вывода, особенно для задач с повторяющимися префиксами, что делает его идеальным для сложных структурированных результатов и многократных диалогов. Выбирайте SGLang вместо альтернатив, таких как vLLM, когда вам требуется ограниченное декодирование или вы создаете приложения с интенсивным совместным использованием префиксов.
