Instruction file imported from ragavsathish/copilot-workflow (
.github/instructions/workflow-1-tdd-icv.instructions.md). Copyright stays with the author.
Workflow 1: Technical Design Document + ICV Document
Purpose
Generate two regulated output documents from four input design documents.
Input Documents
Place these DOCX files in workflows/task-1-tdd-icv/input/:
| Input File | Description |
|---|---|
| Application Design Document | Application architecture, components, interfaces, data flows |
| Workspace Design Document | Environment setup, infrastructure, workspace configuration |
| GxP Assessment Document | Regulatory requirements, risk assessment, compliance scope |
| ICV Steps and Screenshots | Step-by-step installation, configuration, and validation with evidence screenshots |
Output Documents
Output 1: Technical Design Document (technical_design.md)
Follow the template structure from extracted/templates/. Map content from inputs as follows:
| Output Section | Primary Input Source |
|---|---|
| Purpose / Introduction | Application Design Document |
| Scope | GxP Assessment Document + Application Design Document |
| System Overview | Application Design Document |
| Architecture / Components | Application Design Document |
| Workspace / Environment | Workspace Design Document |
| Interfaces and Data Flow | Application Design Document |
| Security Considerations | Application Design Document + GxP Assessment Document |
| Regulatory / GxP Requirements | GxP Assessment Document |
| Dependencies | Application Design Document + Workspace Design Document |
| Glossary / References | All input documents |
Output 2: ICV Document (icv_document.md)
Follow the template structure from extracted/templates/. Map content from inputs as follows:
| Output Section | Primary Input Source |
|---|---|
| Purpose / Introduction | GxP Assessment Document |
| Scope | GxP Assessment Document + Application Design Document |
| Prerequisites | Workspace Design Document |
| Installation Steps | ICV Steps and Screenshots |
| Configuration Steps | ICV Steps and Screenshots + Workspace Design Document |
| Validation / Verification Steps | ICV Steps and Screenshots |
| Evidence / Screenshots | ICV Steps and Screenshots (embed images inline with each step) |
| Results Summary | ICV Steps and Screenshots |
| Sign-off / Approval | [To be completed — leave placeholder] |
Plan Format for This Workflow
When creating plan.md for this workflow, the generation plan tables must use the mapping tables above. For each output section, specify:
- The exact source file and section number from the extracted input
- A one-line summary of the content that will be written
- Which screenshots (by filename) will be placed in which section
Screenshot Handling
- ICV Steps input will contain screenshots as embedded images
- After extraction, screenshots are in
extracted/images/ - In the ICV document, embed each screenshot directly after its corresponding step:
### Step 3: Verify Database Connection Execute the connection test script and confirm successful output.  *Figure 3: Database connection test — successful* - Every screenshot must have a figure number and caption
Copilot image tool
Use scripts/image_b64.py to write screenshots into extracted/images/ and create a wrapped base64 text file (<name>.<ext>.b64.txt) plus <name>.<ext>.meta.json.
Call example:
python scripts/image_b64.py ./icv_steps_img_003.png --out extracted/images --source-input "ICV_Steps.docx#Step 3" --raw
Workflow should parse stdout JSON, then use Read to read the .meta.json and the wrapped .b64.txt (concatenate lines to reconstruct continuous base64 for data URIs if needed).
Traceability
At the beginning of each major section, include a traceability note:
<!-- Source: application_design.md, Section 2.1 -->
This ensures auditors can trace every output section back to its source input.
Content Rules
- Use formal, precise language appropriate for regulated documents
- Preserve all technical specifications, version numbers, and configuration values exactly
- Do not invent or assume information not present in the inputs
- If an input is missing or incomplete for a section, write:
[To be completed — requires <input document name>] - Maintain consistent terminology across both output documents