---
I've created a reusable skill called **`/transpose-courses`**. Here's how it works:
### Usage
Next time you paste course catalog data into a sheet, just type:
> `/transpose-courses`
It will automatically:
1. **Read** the raw vertical data from the active sheet's column A
2. **Parse** all courses by detecting the repeating heading pattern
3. **Fix** any Enrolled/Capacity values that Excel converted to dates
4. **Write** a clean 9-column table (Course, Status, Campus, Location & Schedule, Instructors, Instructional Format, Delivery Mode, Enrolled, Capacity)
5. **Format** with styled headers and auto-fitted columns
### Workflow each semester
1. Paste the course catalog data into a new sheet tab
2. Name the tab (e.g., "Fall 2026")
3. Type `/transpose-courses`
4. Done!
Note: The skill assumes the same course catalog format you've been using. If the catalog layout changes in the future, let me know and I can update the skill.
---
> Transpose paste these three courses and align their information based on the embedded headings.
Let me first read the data to understand the structure of the three courses and their headings.
Read all course data
Read all course data
Parameters:
```json
{
"sheetName": "Sheet1",
"range": "A1:B91"
}
```
Result
```json
{
"success": true,
"csv": ",\n,Animation & Game Art\n,\n,Summer 2026\n,\n,3 Results\n,Expand All\n,\n,ARTV 1371-001 - Storybrd/Concept Dev\n,\n,Storybrd/Concept Dev | Open | Russell Smith\n,Section Details\n,\n,Wylie SC216 | Tuesday & Thursday | 9:00 AM - 12:30 PM\n,Section Details\n,\n,Wylie SC216 | Tuesday & Thursday | 9:00 AM - 12:30 PM\n,\n,Campus\n,\n,\n,Wylie Campus\n,\n,Instructors\n,\n,Russell Smith\n,\n,Instructional Format\n,\n,Combination\n,\n,Delivery Mode\n,\n,Hybrid\n,\n,Enrolled/Capacity\n,46101\n,\n,FLMC 1301-001 - History of Animation Technique\n,\n,History of Animation Technique | Open | Russell Smith\n,Section Details\n,(empty)\n,Section Details\n,(empty)\n,Campus\n,(empty)\n,Instructors\n,\n,Russell Smith\n,\n,Instructional Format\n,\n,Combination\n,\n,Delivery Mode\n,\n,Web\n,\n,Enrolled/Capacity\n,46106\n,\n,FLMC 1331-001 - Video Graph & Visual Effect I\n,\n,Video Graph & Visual Effect I | Open | J Marshall Pittman\n,Section Details\n,\n,\"Frisco L205 | Monday, Tuesday, Wednesday, Thursday | 9:00 AM - 1:50 PM\"\n,Section Details\n,\n,\"Frisco L205 | Monday, Tuesday, Wednesday, Thursday | 9:00 AM - 1:50 PM\"\n,\n,Campus\n,\n,\n,Frisco Campus\n,\n,Instructors\n,\n,J Marshall Pittman\n,\n,Instructional Format\n,\n,Combination\n,\n,Delivery Mode\n,\n,Hybrid\n,\n,Enrolled/Capacity\n,0/18",
"rowCount": 90,
"columnCount": 2,
"hasMore": false,
"sheetName": "Sheet1"
}
```
Now let me look at the raw cell values more carefully to understand the structure.
Read data
Get Cell Ranges
Parameters:
```json
{
"sheetName": "Sheet1",
"ranges": [
"B1:B91"
],
"includeStyles": false
}
```
Result
```json
{
"success": true,
"hasMore": false,
"worksheet": {
"name": "Sheet1",
"dimension": "A1:B91",
"cells": {
"B2": "Animation & Game Art",
"B4": "Summer 2026",
"B6": "3 Results",
"B7": "Expand All",
"B9": "ARTV 1371-001 - Storybrd/Concept Dev",
"B11": "Storybrd/Concept Dev | Open | Russell Smith",
"B12": "Section Details",
"B14": "Wylie SC216 | Tuesday & Thursday | 9:00 AM - 12:30 PM",
"B15": "Section Details",
"B17": "Wylie SC216 | Tuesday & Thursday | 9:00 AM - 12:30 PM",
"B19": "Campus",
"B22": "Wylie Campus",
"B24": "Instructors",
"B26": "Russell Smith",
"B28": "Instructional Format",
"B30": "Combination",
"B32": "Delivery Mode",
"B34": "Hybrid",
"B36": "Enrolled/Capacity",
"B37": 46101,
"B39": "FLMC 1301-001 - History of Animation Technique",
"B41": "History of Animation Technique | Open | Russell Smith",
"B42": "Section Details",
"B43": "(empty)",
"B44": "Section Details",
"B45": "(empty)",
"B46": "Campus",
"B47": "(empty)",
"B48": "Instructors",
"B50": "Russell Smith",
"B52": "Instructional Format",
"B54": "Combination",
"B56": "Delivery Mode",
"B58": "Web",
"B60": "Enrolled/Capacity",
"B61": 46106,
"B63": "FLMC 1331-001 - Video Graph & Visual Effect I",
"B65": "Video Graph & Visual Effect I | Open | J Marshall Pittman",
"B66": "Section Details",
"B68": "Frisco L205 | Monday, Tuesday, Wednesday, Thursday | 9:00 AM - 1:50 PM",
"B69": "Section Details",
"B71": "Frisco L205 | Monday, Tuesday, Wednesday, Thursday | 9:00 AM - 1:50 PM",
"B73": "Campus",
"B76": "Frisco Campus",
"B78": "Instructors",
"B80": "J Marshall Pittman",
"B82": "Instructional Format",
"B84": "Combination",
"B86": "Delivery Mode",
"B88": "Hybrid",
"B90": "Enrolled/Capacity",
"B91": "0/18"
}
}
}
```
Now I have a clear picture. There are 3 courses with repeated headings (Campus, Instructors, Instructional Format, Delivery Mode, Enrolled/Capacity, and schedule info). I'll transpose this into a table where each course is a row and the headings become columns. Let me also parse the schedule/location details.
Write transposed course table
Write transposed course table
Parameters:
```json
{
"sheetName": "Sheet1",
"range": "D1:K4",
"cells": [
[
{
"value": "Course",
"cellStyles": {
"fontWeight": "bold",
"backgroundColor": "#4472C4",
"fontColor": "#FFFFFF",
"horizontalAlignment": "center"
}
},
{
"value": "Status",
"cellStyles": {
"fontWeight": "bold",
"backgroundColor": "#4472C4",
"fontColor": "#FFFFFF",
"horizontalAlignment": "center"
}
},
{
"value": "Campus",
"cellStyles": {
"fontWeight": "bold",
"backgroundColor": "#4472C4",
"fontColor": "#FFFFFF",
"horizontalAlignment": "center"
}
},
{
"value": "Location & Schedule",
"cellStyles": {
"fontWeight": "bold",
"backgroundColor": "#4472C4",
"fontColor": "#FFFFFF",
"horizontalAlignment": "center"
}
},
{
"value": "Instructors",
"cellStyles": {
"fontWeight": "bold",
"backgroundColor": "#4472C4",
"fontColor": "#FFFFFF",
"horizontalAlignment": "center"
}
},
{
"value": "Instructional Format",
"cellStyles": {
"fontWeight": "bold",
"backgroundColor": "#4472C4",
"fontColor": "#FFFFFF",
"horizontalAlignment": "center"
}
},
{
"value": "Delivery Mode",
"cellStyles": {
"fontWeight": "bold",
"backgroundColor": "#4472C4",
"fontColor": "#FFFFFF",
"horizontalAlignment": "center"
}
},
{
"value": "Enrolled/Capacity",
"cellStyles": {
"fontWeight": "bold",
"backgroundColor": "#4472C4",
"fontColor": "#FFFFFF",
"horizontalAlignment": "center"
}
}
],
[
{
"value": "ARTV 1371-001 - Storybrd/Concept Dev"
},
{
"value": "Open"
},
{
"value": "Wylie Campus"
},
{
"value": "Wylie SC216 | Tue & Thu | 9:00 AM - 12:30 PM"
},
{
"value": "Russell Smith"
},
{
"value": "Combination"
},
{
"value": "Hybrid"
},
{
"value": 46101,
"cellStyles": {
"numberFormat": "@"
}
}
],
[
{
"value": "FLMC 1301-001 - History of Animation Technique"
},
{
"value": "Open"
},
{
"value": "(empty)"
},
{
"value": "(empty)"
},
{
"value": "Russell Smith"
},
{
"value": "Combination"
},
{
"value": "Web"
},
{
"value": 46106,
"cellStyles": {
"numberFormat": "@"
}
}
],
[
{
"value": "FLMC 1331-001 - Video Graph & Visual Effect I"
},
{
"value": "Open"
},
{
"value": "Frisco Campus"
},
{
"value": "Frisco L205 | Mon-Thu | 9:00 AM - 1:50 PM"
},
{
"value": "J Marshall Pittman"
},
{
"value": "Combination"
},
{
"value": "Hybrid"
},
{
"value": "0/18"
}
]
]
}
```
Show less
Result
```json
{
"success": true
}
```
Now let me auto-fit the columns so everything is readable:
Made 8 edits
Resize Course column
Parameters:
```json
{
"sheetName": "Sheet1",
"range": "D:D",
"width": {
"type": "points",
"value": 280
}
}
```
Result
```json
{
"success": true
}
```
Resize Status column
Parameters:
```json
{
"sheetName": "Sheet1",
"range": "E:E",
"width": {
"type": "points",
"value": 55
}
}
```
Result
```json
{
"success": true
}
```
Resize Campus column
Parameters:
```json
{
"sheetName": "Sheet1",
"range": "F:F",
"width": {
"type": "points",
"value": 100
}
}
```
Result
```json
{
"success": true
}
```
Resize Location & Schedule column
Parameters:
```json
{
"sheetName": "Sheet1",
"range": "G:G",
"width": {
"type": "points",
"value": 250
}
}
```
Result
```json
{
"success": true
}
```
Resize Instructors column
Parameters:
```json
{
"sheetName": "Sheet1",
"range": "H:H",
"width": {
"type": "points",
"value": 120
}
}
```
Result
```json
{
"success": true
}
```
Resize Instructional Format column
Parameters:
```json
{
"sheetName": "Sheet1",
"range": "I:I",
"width": {
"type": "points",
"value": 120
}
}
```
Result
```json
{
"success": true
}
```
Resize Delivery Mode column
Parameters:
```json
{
"sheetName": "Sheet1",
"range": "J:J",
"width": {
"type": "points",
"value": 100
}
}
```
Result
```json
{
"success": true
}
```
Resize Enrolled/Capacity column
Parameters:
```json
{
"sheetName": "Sheet1",
"range": "K:K",
"width": {
"type": "points",
"value": 110
}
}
```
Result
```json
{
"success": true
}
```
Let me verify the final result:
Verify transposed table
Verify transposed table
Parameters:
```json
{
"sheetName": "Sheet1",
"range": "D1:K4"
}
```

Result
```json
{
"success": true,
"address": "Sheet1!D1:K4"
}
```
The transposed table is in Sheet1D1:K4. Here's what I did:
- **Extracted the repeated headings** (Campus, Instructors, Instructional Format, Delivery Mode, Enrolled/Capacity) from the vertical layout and turned them into **column headers**
- **Each course is now one row**, with its details aligned across the columns:
|Course|Status|Campus|Location & Schedule|Instructor|Format|Delivery|Enrolled/Capacity|
|---|---|---|---|---|---|---|---|
|ARTV 1371-001|Open|Wylie Campus|Wylie SC216 · Tue & Thu · 9<br><br>AM–12<br><br>PM|Russell Smith|Combination|Hybrid|46101|
|FLMC 1301-001|Open|(empty)|(empty)|Russell Smith|Combination|Web|46106|
|FLMC 1331-001|Open|Frisco Campus|Frisco L205 · Mon–Thu · 9<br><br>AM–1<br><br>PM|J Marshall Pittman|Combination|Hybrid|0/18|
The original data in column B is still intact if you need it. Would you like me to remove it, or make any adjustments to the new table?
> The Enrolled/Capacity data is formatted as a date ("3/20"), but should actually be a ratio of Enrolled to Capacity, like 3:20. Please make these two separate columns
Let me check the current values in the Enrolled/Capacity column to understand what's there.
Read data
Get Cell Ranges
Parameters:
```json
{
"sheetName": "Sheet1",
"ranges": [
"K1:K4"
],
"includeStyles": true
}
```
Result
```json
{
"success": true,
"hasMore": false,
"worksheet": {
"name": "Sheet1",
"dimension": "A1:K91",
"cells": {
"K1": "Enrolled/Capacity",
"K2": 46101,
"K3": 46106,
"K4": "0/18"
},
"styles": {
"K1": {
"b": true,
"sz": 11,
"color": "#FFFFFF",
"family": "Aptos Narrow",
"fgColor": "#4472C4",
"alignment": "center"
},
"K2:K3": {
"sz": 11,
"color": "#000000",
"family": "Aptos Narrow",
"fgColor": "#FFFFFF",
"numFmt": "@"
},
"K4": {
"sz": 11,
"color": "#000000",
"family": "Aptos Narrow",
"fgColor": "#FFFFFF"
}
},
"borders": {}
}
}
```
I see — K2 and K3 have raw numbers (46101 and 46106) that were likely date serial numbers misinterpreted. Let me also check the original source data to get the correct enrolled/capacity values.
Read data
Get Cell Ranges
Parameters:
```json
{
"sheetName": "Sheet1",
"ranges": [
"B36:B37",
"B60:B61",
"B90:B91"
],
"includeStyles": true
}
```
Result
```json
{
"success": true,
"hasMore": false,
"worksheet": {
"name": "Sheet1",
"dimension": "A1:K91",
"cells": {
"B36": "Enrolled/Capacity",
"B37": 46101,
"B60": "Enrolled/Capacity",
"B61": 46106,
"B90": "Enrolled/Capacity",
"B91": "0/18"
},
"styles": {
"B36,B60,B90:B91": {
"sz": 11,
"color": "#000000",
"family": "Aptos Narrow",
"fgColor": "#FFFFFF"
},
"B37,B61": {
"sz": 11,
"color": "#000000",
"family": "Aptos Narrow",
"fgColor": "#FFFFFF",
"numFmt": "d-mmm"
}
},
"borders": {}
}
}
```
The source data confirms the issue — B37 and B61 have number format `d-mmm`, meaning they were entered as fractions (like `3/20`) and Excel interpreted them as dates. The serial numbers 46101 and 46106 correspond to dates. Let me decode them to recover the original ratios.
So the original values were **3/20** (3 enrolled, 20 capacity) and **3/25** (3 enrolled, 25 capacity). Now I'll split the Enrolled/Capacity column into two separate columns and fix the data.
Made 2 edits, verify final table
Split into Enrolled & Capacity columns
Parameters:
```json
{
"sheetName": "Sheet1",
"range": "K1:L4",
"allow_overwrite": true,
"cells": [
[
{
"value": "Enrolled",
"cellStyles": {
"fontWeight": "bold",
"backgroundColor": "#4472C4",
"fontColor": "#FFFFFF",
"horizontalAlignment": "center"
}
},
{
"value": "Capacity",
"cellStyles": {
"fontWeight": "bold",
"backgroundColor": "#4472C4",
"fontColor": "#FFFFFF",
"horizontalAlignment": "center"
}
}
],
[
{
"value": 3
},
{
"value": 20
}
],
[
{
"value": 3
},
{
"value": 25
}
],
[
{
"value": 0
},
{
"value": 18
}
]
]
}
```
Show more
Result
```json
{
"success": true
}
```
Resize Enrolled & Capacity columns
Parameters:
```json
{
"sheetName": "Sheet1",
"range": "K:L",
"width": {
"type": "points",
"value": 65
}
}
```
Result
```json
{
"success": true
}
```
Verify final table
Parameters:
```json
{
"sheetName": "Sheet1",
"range": "D1:L4"
}
```

Result
```json
{
"success": true,
"address": "Sheet1!D1:L4"
}
```
Done! Here's what I fixed:
- **Decoded the date serials** back to the original ratios — Excel had converted `3/20` and `3/25` into date values (March 20 and March 25)
- **Split into two columns**: Sheet1K1:K4 (**Enrolled**) and Sheet1L1:L4 (**Capacity**)
|Course|Enrolled|Capacity|
|---|---|---|
|ARTV 1371-001|3|20|
|FLMC 1301-001|3|25|
|FLMC 1331-001|0|18|
> This looks great, you can get rid of the column B data.
Clear original column B data
Clear original column B data
Parameters:
```json
{
"sheetName": "Sheet1",
"range": "B:B",
"clearType": "all"
}
```
Result
```json
{
"success": true
}
```
Done! Column B has been cleared. Your transposed table in Sheet1D1:L4 is now the single source of the course data.
> Here are 47 classes to transpose post, align information based on the embedded headings (some information may be "empty") and format the Enrolled/Capacity data a a ratio in two columns (3:20) instead of as a date ("3/20")
> Here are 47 classes to transpose post, align information based on the embedded headings (some information may be "empty") and format the Enrolled/Capacity data a a ratio in two columns (3:20) instead of as a date ("3/20")
> Here are 47 classes to transpose post, align information based on the embedded headings (some information may be "empty") and format the Enrolled/Capacity data a a ratio in two columns (3:20) instead of as a date ("3/20")
Let me first read the data from all the new sheets to understand the structure and volume.
Read 3 ranges
Read Fall 2025 data structure
Parameters:
```json
{
"sheetName": "Fall 2025",
"range": "A1:A100"
}
```
Result
```json
{
"success": true,
"csv": "48 Results\nCollapse All\n\nARTV 1303-001 - Basic Animation\n\nBasic Animation | Open | Esperanza Jacobs\nSection Details\n\nFrisco IT104 | Thursday | 6:00 PM - 10:50 PM\nSection Details\n\nFrisco IT104 | Thursday | 6:00 PM - 10:50 PM\n\nCampus\n\n\nFrisco Campus\n\nInstructors\n\nEsperanza Jacobs\n\nInstructional Format\n\nCombination\n\nDelivery Mode\n\nHybrid\n\nEnrolled/Capacity\n46254\n\nARTV 1303-002 - Basic Animation\n\nBasic Animation | Open | Russell Smith\nSection Details\n\nFrisco IT104 | Monday | 9:00 AM - 1:50 PM | 08/25/2025 - 12/14/2025\nSection Details\n\nFrisco IT104 | Monday | 9:00 AM - 1:50 PM | 08/25/2025 - 12/14/2025\n\nCampus\n\n\nFrisco Campus\n\nInstructors\n\nRussell Smith\n\nInstructional Format\n\nCombination\n\nDelivery Mode\n\nHybrid\n\nEnrolled/Capacity\n17/20\n\nARTV 1303-003 - Basic Animation\n\nBasic Animation | Open | J Marshall Pittman\nSection Details\n\nWylie CC222 | Wednesday | 9:00 AM - 1:50 PM\nSection Details\n\nWylie CC222 | Wednesday | 9:00 AM - 1:50 PM\n\nCampus\n\n\nWylie Campus\n\nInstructors\n\nJ Marshall Pittman\n\nInstructional Format\n\nCombination\n\nDelivery Mode\n\nHybrid\n\nEnrolled/Capacity\n46223\n\nARTV 1341-001 - 3-D Animation I\n\n3-D Animation I | Open | Gail Ellison\nSection Details\n\nFrisco IT102 | Tuesday | 6:00 PM - 10:50 PM\nSection Details",
"rowCount": 99,
"columnCount": 1,
"hasMore": false,
"sheetName": "Fall 2025"
}
```
Read Spring 2025 data structure
Parameters:
```json
{
"sheetName": "Spring 2025",
"range": "A1:A100"
}
```
Result
```json
{
"success": true,
"csv": "52 Results\nCollapse All\n\nARTV 1303-001 - Basic Animation\n\nBasic Animation | Open | Esperanza Jacobs\nSection Details\n\nFrisco IT104 | Thursday | 6:00 PM - 11:00 PM\nSection Details\n\nFrisco IT104 | Thursday | 6:00 PM - 11:00 PM\n\nCampus\n\n\nFrisco Campus\n\nInstructors\n\nEsperanza Jacobs\n\nInstructional Format\n\nCombination\n\nDelivery Mode\n\nHybrid\n\nEnrolled/Capacity\n16/20\n\nARTV 1303-002 - Basic Animation\n\nBasic Animation | Waitlist | Russell Smith\nSection Details\n\nFrisco IT104 | Monday | 9:00 AM - 2:50 PM\nSection Details\n\nFrisco IT104 | Monday | 9:00 AM - 2:50 PM\n\nCampus\n\n\nFrisco Campus\n\nInstructors\n\nRussell Smith\n\nInstructional Format\n\nCombination\n\nDelivery Mode\n\nHybrid\n\nEnrolled/Capacity\n20/20\n\nARTV 1303-004 - Basic Animation\n\nBasic Animation | Open | Russell Smith\nSection Details\n\nWylie CC222 | Wednesday | 9:00 AM - 2:50 PM\nSection Details\n\nWylie CC222 | Wednesday | 9:00 AM - 2:50 PM\n\nCampus\n\n\nWylie Campus\n\nInstructors\n\nRussell Smith\n\nInstructional Format\n\nCombination\n\nDelivery Mode\n\nHybrid\n\nEnrolled/Capacity\n46285\n\nARTV 1341-001 - 3-D Animation I\n\n3-D Animation I | Waitlist | Gail Ellison\nSection Details\n\nFrisco IT102 | Wednesday | 9:00 AM - 2:50 PM\nSection Details",
"rowCount": 99,
"columnCount": 1,
"hasMore": false,
"sheetName": "Spring 2025"
}
```
Read Summer 2025 data structure
Parameters:
```json
{
"sheetName": "Summer 2025",
"range": "A1:A100"
}
```
Result
```json
{
"success": true,
"csv": "5 Results\nCollapse All\n\nARTV 1351-001 - Digital Video\n\nDigital Video | Open | Lee Shapiro\nSection Details\n\n\"Frisco IT103 | Monday, Tuesday, Wednesday, Thursday | 9:00 AM - 1:50 PM\"\nSection Details\n\n\"Frisco IT103 | Monday, Tuesday, Wednesday, Thursday | 9:00 AM - 1:50 PM\"\n\nCampus\n\n\nFrisco Campus\n\nInstructors\n\nLee Shapiro\n\nInstructional Format\n\nCombination\n\nDelivery Mode\n\nHybrid\n\nEnrolled/Capacity\n13/18\n\nARTV 1371-001 - Storybrd/Concept Dev\n\nStorybrd/Concept Dev | Open | Russell Smith\nSection Details\n\nFrisco IT104 | Tuesday & Thursday | 9:00 AM - 2:50 PM | 06/09/2025 - 08/17/2025\n\", +1 more...\"\nSection Details\n\nFrisco IT104 | Tuesday & Thursday | 9:00 AM - 2:50 PM | 06/09/2025 - 08/17/2025\n\nFrisco IT104 | Friday | 9:00 AM - 2:50 PM | 08/01/2025 - 08/01/2025\n\nCampus\n\n\nFrisco Campus\n\nInstructors\n\nRussell Smith\n\nInstructional Format\n\nCombination\n\nDelivery Mode\n\nHybrid\n\nEnrolled/Capacity\n15/20\n\nFLMC 1301-001 - History of Animation Technique\n\nHistory of Animation Technique | Open | Russell Smith\nSection Details\n(empty)\nSection Details\n(empty)\nCampus\n(empty)\nInstructors\n\nRussell Smith\n\nInstructional Format\n\nCombination\n\nDelivery Mode\n\nWeb\n\nEnrolled/Capacity\n14/25\n\nFLMC 1331-001 - Video Graph & Visual Effect I\n\nVideo Graph & Visual Effect I | Open | J Marshall Pittman\nSection Details\n\n\"Frisco IT112 | Monday, Tuesday, Wednesday, Thursday | 6:00 PM - 10:00 PM\"\nSection Details\n\n\"Frisco IT112 | Monday, Tuesday, Wednesday, Thursday | 6:00 PM - 10:00 PM\"\n",
"rowCount": 99,
"columnCount": 1,
"hasMore": false,
"sheetName": "Summer 2025"
}
```
Good, I can see the pattern. Now let me read all the data from each sheet to process it. These are large sheets so I'll use Python to parse everything efficiently.
Read 3 ranges
Read Fall 2025 rows 1-500
Parameters:
```json
{
"sheetName": "Fall 2025",
"range": "A1:A1424",
"maxRows": 500
}
```
Result
```json
{
"success": true,
"csv": "48 Results\nCollapse All\n\nARTV 1303-001 - Basic Animation\n\nBasic Animation | Open | Esperanza Jacobs\nSection Details\n\nFrisco IT104 | Thursday | 6:00 PM - 10:50 PM\nSection Details\n\nFrisco IT104 | Thursday | 6:00 PM - 10:50 PM\n\nCampus\n\n\nFrisco Campus\n\nInstructors\n\nEsperanza Jacobs\n\nInstructional Format\n\nCombination\n\nDelivery Mode\n\nHybrid\n\nEnrolled/Capacity\n46254\n\nARTV 1303-002 - Basic Animation\n\nBasic Animation | Open | Russell Smith\nSection Details\n\nFrisco IT104 | Monday | 9:00 AM - 1:50 PM | 08/25/2025 - 12/14/2025\nSection Details\n\nFrisco IT104 | Monday | 9:00 AM - 1:50 PM | 08/25/2025 - 12/14/2025\n\nCampus\n\n\nFrisco Campus\n\nInstructors\n\nRussell Smith\n\nInstructional Format\n\nCombination\n\nDelivery Mode\n\nHybrid\n\nEnrolled/Capacity\n17/20\n\nARTV 1303-003 - Basic Animation\n\nBasic Animation | Open | J Marshall Pittman\nSection Details\n\nWylie CC222 | Wednesday | 9:00 AM - 1:50 PM\nSection Details\n\nWylie CC222 | Wednesday | 9:00 AM - 1:50 PM\n\nCampus\n\n\nWylie Campus\n\nInstructors\n\nJ Marshall Pittman\n\nInstructional Format\n\nCombination\n\nDelivery Mode\n\nHybrid\n\nEnrolled/Capacity\n46223\n\nARTV 1341-001 - 3-D Animation I\n\n3-D Animation I | Open | Gail Ellison\nSection Details\n\nFrisco IT102 | Tuesday | 6:00 PM - 10:50 PM\nSection Details\n\nFrisco IT102 | Tuesday | 6:00 PM - 10:50 PM\n\nCampus\n\n\nFrisco Campus\n\nInstructors\n\nGail Ellison\n\nInstructional Format\n\nCombination\n\nDelivery Mode\n\nHybrid\n\nEnrolled/Capacity\n46252\n\nARTV 1341-002 - 3-D Animation I\n\n3-D Animation I | Open | Kevin Taylor\nSection Details\n\nFrisco IT102 | Wednesday | 9:00 AM - 1:50 PM\nSection Details\n\nFrisco IT102 | Wednesday | 9:00 AM - 1:50 PM\n\nCampus\n\n\nFrisco Campus\n\nInstructors\n\nKevin Taylor\n\nInstructional Format\n\nCombination\n\nDelivery Mode\n\nHybrid\n\nEnrolled/Capacity\n14/18\n\nARTV 1345-001 - 3-D Model/Render I\n\n3-D Model/Render I | Open | Kevin Taylor\nSection Details\n\nFrisco IT102 | Thursday | 9:00 AM - 1:50 PM | 08/25/2025 - 12/14/2025\nSection Details\n\nFrisco IT102 | Thursday | 9:00 AM - 1:50 PM | 08/25/2025 - 12/14/2025\n\nCampus\n\n\nFrisco Campus\n\nInstructors\n\nKevin Taylor\n\nInstructional Format\n\nCombination\n\nDelivery Mode\n\nHybrid\n\nEnrolled/Capacity\n16/18\n\nARTV 1345-002 - 3-D Model/Render I\n\n3-D Model/Render I | Waitlist | Steven Engel Craven\nSection Details\n\nFrisco IT102 | Monday | 6:00 PM - 10:50 PM\nSection Details\n\nFrisco IT102 | Monday | 6:00 PM - 10:50 PM\n\nCampus\n\n\nFrisco Campus\n\nInstructors\n\nSteven Engel Craven\n\nInstructional Format\n\nCombination\n\nDelivery Mode\n\nHybrid\n\nEnrolled/Capacity\n18/18\n\nARTV 1345-003 - 3-D Model/Render I\n\n3-D Model/Render I | Open | Russell Smith\nSection Details\n\nWylie CC222 | Tuesday | 9:00 AM - 1:50 PM | 08/25/2025 - 12/14/2025\nSection Details\n\nWylie CC222 | Tuesday | 9:00 AM - 1:50 PM | 08/25/2025 - 12/14/2025\n\nCampus\n\n\nWylie Campus\n\nInstructors\n\nRussell Smith\n\nInstructional Format\n\nCombination\n\nDelivery Mode\n\nHybrid\n\nEnrolled/Capacity\n15/20\n\nARTV 1351-001 - Digital Video\n\nDigital Video | Open | Ethan Wilder\nSection Details\n\nFrisco IT103 | Wednesday | 6:00 PM - 10:50 PM\nSection Details\n\nFrisco IT103 | Wednesday | 6:00 PM - 10:50 PM\n\nCampus\n\n\nFrisco Campus\n\nInstructors\n\nEthan Wilder\n\nInstructional Format\n\nCombination\n\nDelivery Mode\n\nHybrid\n\nEnrolled/Capacity\n17/18\n\nARTV 1351-002 - Digital Video\n\nDigital Video | Open | Danielle Thompson\nSection Details\n\nFrisco IT103 | Tuesday | 9:00 AM - 1:50 PM | 08/25/2025 - 12/14/2025\nSection Details\n\nFrisco IT103 | Tuesday | 9:00 AM - 1:50 PM | 08/25/2025 - 12/14/2025\n\nCampus\n\n\nFrisco Campus\n\nInstructors\n\nDanielle Thompson\n\nInstructional Format\n\nCombination\n\nDelivery Mode\n\nHybrid\n\nEnrolled/Capacity\n17/18\n\nARTV 1351-005 - Digital Video\n\nDigital Video | Open | Shadiah Jawad\nSection Details\n\nFrisco IT103 | Friday | 6:00 PM - 11:00 PM\nSection Details\n\nFrisco IT103 | Friday | 6:00 PM - 11:00 PM\n\nCampus\n\n\nFrisco Campus\n\nInstructors\n\nShadiah Jawad\n\nInstructional Format\n\nCombination\n\nDelivery Mode\n\nHybrid\n\nEnrolled/Capacity\n14/18\n\nARTV 1371-001 - Storybrd/Concept Dev\n\nStorybrd/Concept Dev | Open | Stephen Steinbach\nSection Details\n\nPlano I116 | Thursday | 6:00 PM - 10:50 PM\nSection Details\n\nPlano I116 | Thursday | 6:00 PM - 10:50 PM\n\nCampus\n\n\nPlano Campus\n\nInstructors\n\nStephen Steinbach\n\nInstructional Format\n\nCombination\n\nDelivery Mode\n\nHybrid\n\nEnrolled/Capacity\n17/20\n\nARTV 1371-002 - Storybrd/Concept Dev\n\nStorybrd/Concept Dev | Open | Howard Goldthwaite\nSection Details\n\nFrisco IT104 | Tuesday | 6:00 PM - 10:50 PM\nSection Details\n\nFrisco IT104 | Tuesday | 6:00 PM - 10:50 PM\n\nCampus\n\n\nFrisco Campus\n\nInstructors\n\nHoward Goldthwaite\n\nInstructional Format\n\nCombination\n\nDelivery Mode\n\nHybrid\n\nEnrolled/Capacity\n17/20\n\nARTV 1371-003 - Storybrd/Concept Dev\n\nStorybrd/Concept Dev | Open | Joe Eisma\nSection Details\n\nFrisco IT104 | Tuesday | 9:00 AM - 1:50 PM | 08/25/2025 - 12/14/2025\nSection Details\n\nFrisco IT104 | Tuesday | 9:00 AM - 1:50 PM | 08/25/2025 - 12/14/2025\n\nCampus\n\n\nFrisco Campus\n\nInstructors\n\nJoe Eisma\n\nInstructional Format\n\nCombination\n\nDelivery Mode\n\nHybrid\n\nEnrolled/Capacity\n17/20\n\nARTV 1371-004 - Storybrd/Concept Dev\n\nStorybrd/Concept Dev | Open | Joe Eisma\nSection Details\n\nFrisco IT104 | Wednesday | 9:00 AM - 1:50 PM\nSection Details\n\nFrisco IT104 | Wednesday | 9:00 AM - 1:50 PM\n\nCampus\n\n\nFrisco Campus\n\nInstructors\n\nJoe Eisma\n\nInstructional Format\n\nCombination\n\nDelivery Mode\n\nHybrid\n\nEnrolled/Capacity\n14/20\n\nARTV 1371-005 - Storybrd/Concept Dev\n\nStorybrd/Concept Dev | Open | Christine Smith\nSection Details\n(empty)\nSection Details\n(empty)\nCampus\n(empty)\nInstructors\n\nChristine Smith\n\nInstructional Format\n\nCombination\n\nDelivery Mode\n\nWeb\n\nEnrolled/Capacity\n23/25\n\nARTV 1371-006 - Storybrd/Concept Dev\n\nStorybrd/Concept Dev | Open | Russell Smith\nSection Details\n\nWylie CC211 | Friday | 9:00 AM - 1:50 PM | 08/25/2025 - 12/14/2025\nSection Details\n\nWylie CC211 | Friday | 9:00 AM - 1:50 PM | 08/25/2025 - 12/14/2025\n\nCampus\n\n\nWylie Campus\n\nInstructors\n\nRussell Smith\n\nInstructional Format\n\nCombination\n\nDelivery Mode",
"rowCount": 500,
"columnCount": 1,
"hasMore": true,
"sheetName": "Fall 2025"
}
```
Read Spring 2025 rows 1-500
Parameters:
```json
{
"sheetName": "Spring 2025",
"range": "A1:A500",
"maxRows": 500
}
```
Result
```json
{
"success": true,
"csv": "52 Results\nCollapse All\n\nARTV 1303-001 - Basic Animation\n\nBasic Animation | Open | Esperanza Jacobs\nSection Details\n\nFrisco IT104 | Thursday | 6:00 PM - 11:00 PM\nSection Details\n\nFrisco IT104 | Thursday | 6:00 PM - 11:00 PM\n\nCampus\n\n\nFrisco Campus\n\nInstructors\n\nEsperanza Jacobs\n\nInstructional Format\n\nCombination\n\nDelivery Mode\n\nHybrid\n\nEnrolled/Capacity\n16/20\n\nARTV 1303-002 - Basic Animation\n\nBasic Animation | Waitlist | Russell Smith\nSection Details\n\nFrisco IT104 | Monday | 9:00 AM - 2:50 PM\nSection Details\n\nFrisco IT104 | Monday | 9:00 AM - 2:50 PM\n\nCampus\n\n\nFrisco Campus\n\nInstructors\n\nRussell Smith\n\nInstructional Format\n\nCombination\n\nDelivery Mode\n\nHybrid\n\nEnrolled/Capacity\n20/20\n\nARTV 1303-004 - Basic Animation\n\nBasic Animation | Open | Russell Smith\nSection Details\n\nWylie CC222 | Wednesday | 9:00 AM - 2:50 PM\nSection Details\n\nWylie CC222 | Wednesday | 9:00 AM - 2:50 PM\n\nCampus\n\n\nWylie Campus\n\nInstructors\n\nRussell Smith\n\nInstructional Format\n\nCombination\n\nDelivery Mode\n\nHybrid\n\nEnrolled/Capacity\n46285\n\nARTV 1341-001 - 3-D Animation I\n\n3-D Animation I | Waitlist | Gail Ellison\nSection Details\n\nFrisco IT102 | Wednesday | 9:00 AM - 2:50 PM\nSection Details\n\nFrisco IT102 | Wednesday | 9:00 AM - 2:50 PM\n\nCampus\n\n\nFrisco Campus\n\nInstructors\n\nGail Ellison\n\nInstructional Format\n\nCombination\n\nDelivery Mode\n\nHybrid\n\nEnrolled/Capacity\n18/18\n\nARTV 1341-002 - 3-D Animation I\n\n3-D Animation I | Open | Esperanza Jacobs\nSection Details\n\nFrisco IT102 | Tuesday | 6:00 PM - 11:00 PM\nSection Details\n\nFrisco IT102 | Tuesday | 6:00 PM - 11:00 PM\n\nCampus\n\n\nFrisco Campus\n\nInstructors\n\nEsperanza Jacobs\n\nInstructional Format\n\nCombination\n\nDelivery Mode\n\nHybrid\n\nEnrolled/Capacity\n46221\n\nARTV 1341-003 - 3-D Animation I\n\n3-D Animation I | Open | Christine Smith\nSection Details\n\nWylie CC222 | Thursday | 6:00 PM - 11:00 PM\nSection Details\n\nWylie CC222 | Thursday | 6:00 PM - 11:00 PM\n\nCampus\n\n\nWylie Campus\n\nInstructors\n\nChristine Smith\n\nInstructional Format\n\nCombination\n\nDelivery Mode\n\nHybrid\n\nEnrolled/Capacity\n46254\n\nARTV 1345-001 - 3-D Model/Render I\n\n3-D Model/Render I | Open | Gail Ellison\nSection Details\n\nFrisco IT102 | Thursday | 9:00 AM - 2:50 PM\nSection Details\n\nFrisco IT102 | Thursday | 9:00 AM - 2:50 PM\n\nCampus\n\n\nFrisco Campus\n\nInstructors\n\nGail Ellison\n\nInstructional Format\n\nCombination\n\nDelivery Mode\n\nHybrid\n\nEnrolled/Capacity\n15/18\n\nARTV 1345-002 - 3-D Model/Render I\n\n3-D Model/Render I | Open | Nicole Wingfield Miller\nSection Details\n\nFrisco IT102 | Monday | 6:00 PM - 11:00 PM\nSection Details\n\nFrisco IT102 | Monday | 6:00 PM - 11:00 PM\n\nCampus\n\n\nFrisco Campus\n\nInstructors\n\nNicole Wingfield Miller\n\nInstructional Format\n\nCombination\n\nDelivery Mode\n\nHybrid\n\nEnrolled/Capacity\n46344\n\nARTV 1345-003 - 3-D Model/Render I\n\n3-D Model/Render I | Open | Russell Smith\nSection Details\n\nWylie CC211 | Tuesday | 9:00 AM - 2:50 PM\nSection Details\n\nWylie CC211 | Tuesday | 9:00 AM - 2:50 PM\n\nCampus\n\n\nWylie Campus\n\nInstructors\n\nRussell Smith\n\nInstructional Format\n\nCombination\n\nDelivery Mode\n\nHybrid\n\nEnrolled/Capacity\n46315\n\nARTV 1345-004 - 3-D Model/Render I\n\n3-D Model/Render I | Open | Steven Engel Craven\nSection Details\n\nFrisco IT102 | Friday | 6:00 PM - 11:00 PM\nSection Details\n\nFrisco IT102 | Friday | 6:00 PM - 11:00 PM\n\nCampus\n\n\nFrisco Campus\n\nInstructors\n\nSteven Engel Craven\n\nInstructional Format\n\nCombination\n\nDelivery Mode\n\nHybrid\n\nEnrolled/Capacity\n46374\n\nARTV 1345-005 - 3-D Model/Render I\n\n3-D Model/Render I | Open | Micheal Eudy\nSection Details\n\nFrisco IT102 | Saturday | 9:00 AM - 2:50 PM\nSection Details\n\nFrisco IT102 | Saturday | 9:00 AM - 2:50 PM\n\nCampus\n\n\nFrisco Campus\n\nInstructors\n\nMicheal Eudy\n\nInstructional Format\n\nCombination\n\nDelivery Mode\n\nHybrid\n\nEnrolled/Capacity\n46160\n\nARTV 1351-001 - Digital Video\n\nDigital Video | Open | Danielle Thompson\nSection Details\n\nFrisco IT103 | Tuesday | 9:00 AM - 2:50 PM\nSection Details\n\nFrisco IT103 | Tuesday | 9:00 AM - 2:50 PM\n\nCampus\n\n\nFrisco Campus\n\nInstructors\n\nDanielle Thompson\n\nInstructional Format\n\nCombination\n\nDelivery Mode\n\nHybrid\n\nEnrolled/Capacity\n15/18\n\nARTV 1351-002 - Digital Video\n\nDigital Video | Open | Shadiah Jawad\nSection Details\n\nFrisco IT103 | Wednesday | 6:00 PM - 11:00 PM\nSection Details\n\nFrisco IT103 | Wednesday | 6:00 PM - 11:00 PM\n\nCampus\n\n\nFrisco Campus\n\nInstructors\n\nShadiah Jawad\n\nInstructional Format\n\nCombination\n\nDelivery Mode\n\nHybrid\n\nEnrolled/Capacity\n16/18\n\nARTV 1351-003 - Digital Video\n\nDigital Video | Open | Michael Hennesy\nSection Details\n\nFrisco IT103 | Friday | 6:00 PM - 11:00 PM\nSection Details\n\nFrisco IT103 | Friday | 6:00 PM - 11:00 PM\n\nCampus\n\n\nFrisco Campus\n\nInstructors\n\nMichael Hennesy\n\nInstructional Format\n\nCombination\n\nDelivery Mode\n\nHybrid\n\nEnrolled/Capacity\n15/18\n\nARTV 1351-004 - Digital Video\n\nDigital Video | Open | Lee Shapiro\nSection Details\n\nFrisco IT103 | Saturday | 1:30 PM - 6:30 PM\nSection Details\n\nFrisco IT103 | Saturday | 1:30 PM - 6:30 PM\n\nCampus\n\n\nFrisco Campus\n\nInstructors\n\nLee Shapiro\n\nInstructional Format\n\nCombination\n\nDelivery Mode\n\nHybrid\n\nEnrolled/Capacity\n16/18\n\nARTV 1371-001 - Storybrd/Concept Dev\n\nStorybrd/Concept Dev | Open | John Schuh\nSection Details\n\nPlano K122 | Monday | 6:00 PM - 11:00 PM\nSection Details\n\nPlano K122 | Monday | 6:00 PM - 11:00 PM\n\nCampus\n\n\nPlano Campus\n\nInstructors\n\nJohn Schuh\n\nInstructional Format\n\nCombination\n\nDelivery Mode\n\nHybrid\n\nEnrolled/Capacity\n15/18\n\nARTV 1371-002 - Storybrd/Concept Dev\n\nStorybrd/Concept Dev | Open | Gordon Smith\nSection Details\n\nFrisco IT104 | Tuesday | 9:00 AM - 2:50 PM\nSection Details\n\nFrisco IT104 | Tuesday | 9:00 AM - 2:50 PM\n\nCampus\n\n\nFrisco Campus\n\nInstructors\n",
"rowCount": 499,
"columnCount": 1,
"hasMore": false,
"sheetName": "Spring 2025"
}
```
Read Summer 2025 all data
Parameters:
```json
{
"sheetName": "Summer 2025",
"range": "A1:A143",
"maxRows": 500
}
```
Result
```json
{
"success": true,
"csv": "5 Results\nCollapse All\n\nARTV 1351-001 - Digital Video\n\nDigital Video | Open | Lee Shapiro\nSection Details\n\n\"Frisco IT103 | Monday, Tuesday, Wednesday, Thursday | 9:00 AM - 1:50 PM\"\nSection Details\n\n\"Frisco IT103 | Monday, Tuesday, Wednesday, Thursday | 9:00 AM - 1:50 PM\"\n\nCampus\n\n\nFrisco Campus\n\nInstructors\n\nLee Shapiro\n\nInstructional Format\n\nCombination\n\nDelivery Mode\n\nHybrid\n\nEnrolled/Capacity\n13/18\n\nARTV 1371-001 - Storybrd/Concept Dev\n\nStorybrd/Concept Dev | Open | Russell Smith\nSection Details\n\nFrisco IT104 | Tuesday & Thursday | 9:00 AM - 2:50 PM | 06/09/2025 - 08/17/2025\n\", +1 more...\"\nSection Details\n\nFrisco IT104 | Tuesday & Thursday | 9:00 AM - 2:50 PM | 06/09/2025 - 08/17/2025\n\nFrisco IT104 | Friday | 9:00 AM - 2:50 PM | 08/01/2025 - 08/01/2025\n\nCampus\n\n\nFrisco Campus\n\nInstructors\n\nRussell Smith\n\nInstructional Format\n\nCombination\n\nDelivery Mode\n\nHybrid\n\nEnrolled/Capacity\n15/20\n\nFLMC 1301-001 - History of Animation Technique\n\nHistory of Animation Technique | Open | Russell Smith\nSection Details\n(empty)\nSection Details\n(empty)\nCampus\n(empty)\nInstructors\n\nRussell Smith\n\nInstructional Format\n\nCombination\n\nDelivery Mode\n\nWeb\n\nEnrolled/Capacity\n14/25\n\nFLMC 1331-001 - Video Graph & Visual Effect I\n\nVideo Graph & Visual Effect I | Open | J Marshall Pittman\nSection Details\n\n\"Frisco IT112 | Monday, Tuesday, Wednesday, Thursday | 6:00 PM - 10:00 PM\"\nSection Details\n\n\"Frisco IT112 | Monday, Tuesday, Wednesday, Thursday | 6:00 PM - 10:00 PM\"\n\nCampus\n\n\nFrisco Campus\n\nInstructors\n\nJ Marshall Pittman\n\nInstructional Format\n\nCombination\n\nDelivery Mode\n\nHybrid\n\nEnrolled/Capacity\n17/19\n\nFLMC 2380-001 - CoEd Cinema & Film/Vid Prod\n\nCoEd Cinema & Film/Vid Prod | Open | Tonya McMillion\nSection Details\n(empty)\nSection Details\n(empty)\nCampus\n(empty)\nInstructors\n\nTonya McMillion\n\nInstructional Format\n\nCombination\n\nDelivery Mode\n\nBlended\n\nEnrolled/Capacity\n46027",
"rowCount": 142,
"columnCount": 1,
"hasMore": false,
"sheetName": "Summer 2025"
}
```
Now let me get the remaining data from Fall 2025 and Spring 2025:
Read 5 ranges
Read Fall 2025 rows 501-1000
Parameters:
```json
{
"sheetName": "Fall 2025",
"range": "A501:A1424",
"maxRows": 500
}
```
Result
```json
{
"success": true,
"csv": "Delivery Mode\n\nHybrid\n\nEnrolled/Capacity\n46369\n\nARTV 2320-001 - Team Prog Prod I\n\nTeam Prog Prod I | Open | Arthur Muhammad\nSection Details\n\nFrisco IT103 | Friday | 9:00 AM - 1:50 PM | 08/25/2025 - 12/14/2025\nSection Details\n\nFrisco IT103 | Friday | 9:00 AM - 1:50 PM | 08/25/2025 - 12/14/2025\n\nCampus\n\n\nFrisco Campus\n\nInstructors\n\nArthur Muhammad\n\nInstructional Format\n\nCombination\n\nDelivery Mode\n\nHybrid\n\nEnrolled/Capacity\n17/18\n\nARTV 2335-001 - Portfolio Develop/Animation\n\nPortfolio Develop/Animation | Open | J Marshall Pittman\nSection Details\n\nFrisco IT112 | Friday | 9:00 AM - 1:50 PM | 08/25/2025 - 12/14/2025\nSection Details\n\nFrisco IT112 | Friday | 9:00 AM - 1:50 PM | 08/25/2025 - 12/14/2025\n\nCampus\n\n\nFrisco Campus\n\nInstructors\n\nJ Marshall Pittman\n\nInstructional Format\n\nCombination\n\nDelivery Mode\n\nHybrid\n\nEnrolled/Capacity\n19/20\n\nARTV 2335-002 - Portfolio Develop/Animation\n\nPortfolio Develop/Animation | Waitlist | Russell Smith\nSection Details\n\nWylie CC211 | Friday | 9:00 AM - 1:50 PM | 08/25/2025 - 12/14/2025\nSection Details\n\nWylie CC211 | Friday | 9:00 AM - 1:50 PM | 08/25/2025 - 12/14/2025\n\nCampus\n\n\nWylie Campus\n\nInstructors\n\nRussell Smith\n\nInstructional Format\n\nCombination\n\nDelivery Mode\n\nHybrid\n\nEnrolled/Capacity\n46210\n\nARTV 2345-001 - 3-D Modeling and Rendering II\n\n3-D Modeling and Rendering II | Open | Kevin Taylor\nSection Details\n\nFrisco IT102 | Monday | 9:00 AM - 1:50 PM | 08/25/2025 - 12/14/2025\nSection Details\n\nFrisco IT102 | Monday | 9:00 AM - 1:50 PM | 08/25/2025 - 12/14/2025\n\nCampus\n\n\nFrisco Campus\n\nInstructors\n\nKevin Taylor\n\nInstructional Format\n\nCombination\n\nDelivery Mode\n\nHybrid\n\nEnrolled/Capacity\n16/18\n\nARTV 2345-002 - 3-D Modeling and Rendering II\n\n3-D Modeling and Rendering II | Open | Kevin Taylor\nSection Details\n\nFrisco IT102 | Tuesday | 9:00 AM - 1:50 PM | 08/25/2025 - 12/14/2025\nSection Details\n\nFrisco IT102 | Tuesday | 9:00 AM - 1:50 PM | 08/25/2025 - 12/14/2025\n\nCampus\n\n\nFrisco Campus\n\nInstructors\n\nKevin Taylor\n\nInstructional Format\n\nCombination\n\nDelivery Mode\n\nHybrid\n\nEnrolled/Capacity\n46252\n\nARTV 2345-003 - 3-D Modeling and Rendering II\n\n3-D Modeling and Rendering II | Open | Nicholas Simmons\nSection Details\n\nWylie CC222 | Tuesday | 6:00 PM - 10:50 PM\nSection Details\n\nWylie CC222 | Tuesday | 6:00 PM - 10:50 PM\n\nCampus\n\n\nWylie Campus\n\nInstructors\n\nNicholas Simmons\n\nInstructional Format\n\nCombination\n\nDelivery Mode\n\nHybrid\n\nEnrolled/Capacity\n46315\n\nARTV 2351-001 - 3-D Animation II\n\n3-D Animation II | Waitlist | Aaron Werntz\nSection Details\n\nFrisco IT112 | Wednesday | 6:00 PM - 10:50 PM\nSection Details\n\nFrisco IT112 | Wednesday | 6:00 PM - 10:50 PM\n\nCampus\n\n\nFrisco Campus\n\nInstructors\n\nAaron Werntz\n\nInstructional Format\n\nCombination\n\nDelivery Mode\n\nHybrid\n\nEnrolled/Capacity\n20/20\n\nARTV 2351-002 - 3-D Animation II\n\n3-D Animation II | Open | Aaron Werntz\nSection Details\n\nWylie CC222 | Thursday | 6:00 PM - 10:50 PM\nSection Details\n\nWylie CC222 | Thursday | 6:00 PM - 10:50 PM\n\nCampus\n\n\nWylie Campus\n\nInstructors\n\nAaron Werntz\n\nInstructional Format\n\nCombination\n\nDelivery Mode\n\nHybrid\n\nEnrolled/Capacity\n19/20\n\nARTV 2371-001 - Adv Skill Dev/Anim & Games\n\nAdv Skill Dev/Anim & Games | Closed | J Marshall Pittman\nSection Details\n\nFrisco IT112 | Tuesday | 9:00 AM - 1:50 PM | 08/25/2025 - 12/14/2025\nSection Details\n\nFrisco IT112 | Tuesday | 9:00 AM - 1:50 PM | 08/25/2025 - 12/14/2025\n\nCampus\n\n\nFrisco Campus\n\nInstructors\n\nJ Marshall Pittman\n\nInstructional Format\n\nCombination\n\nDelivery Mode\n\nHybrid\n\nEnrolled/Capacity\n46055\n\nFLMC 1301-001 - History of Animation Technique\n\nHistory of Animation Technique | Open | Gordon Smith\nSection Details\n\nFrisco IT104 | Friday | 9:00 AM - 1:50 PM | 08/25/2025 - 12/14/2025\nSection Details\n\nFrisco IT104 | Friday | 9:00 AM - 1:50 PM | 08/25/2025 - 12/14/2025\n\nCampus\n\n\nFrisco Campus\n\nInstructors\n\nGordon Smith\n\nInstructional Format\n\nCombination\n\nDelivery Mode\n\nHybrid\n\nEnrolled/Capacity\n13/18\n\nFLMC 1301-002 - History of Animation Technique\n\nHistory of Animation Technique | Open | Brittany Jones\nSection Details\n\nFrisco IT104 | Wednesday | 6:00 PM - 10:50 PM\nSection Details\n\nFrisco IT104 | Wednesday | 6:00 PM - 10:50 PM\n\nCampus\n\n\nFrisco Campus\n\nInstructors\n\nBrittany Jones\n\nInstructional Format\n\nCombination\n\nDelivery Mode\n\nHybrid\n\nEnrolled/Capacity\n46313\n\nFLMC 1301-003 - History of Animation Technique\n\nHistory of Animation Technique | Open | Russell Smith\nSection Details\n(empty)\nSection Details\n(empty)\nCampus\n(empty)\nInstructors\n\nRussell Smith\n\nInstructional Format\n\nCombination\n\nDelivery Mode\n\nWeb\n\nEnrolled/Capacity\n22/25\n\nFLMC 1301-004 - History of Animation Technique\n\nHistory of Animation Technique | Open | Brittany Jones\nSection Details\n(empty)\nSection Details\n(empty)\nCampus\n(empty)\nInstructors\n\nBrittany Jones\n\nInstructional Format\n\nCombination\n\nDelivery Mode\n\nWeb\n\nEnrolled/Capacity\n20/25\n\nFLMC 1301-005 - History of Animation Technique\n\nHistory of Animation Technique | Open | Gordon Smith\nSection Details\n\nWylie CC211 | Thursday | 9:00 AM - 1:50 PM | 08/25/2025 - 12/14/2025\nSection Details\n\nWylie CC211 | Thursday | 9:00 AM - 1:50 PM | 08/25/2025 - 12/14/2025\n\nCampus\n\n\nWylie Campus\n\nInstructors\n\nGordon Smith\n\nInstructional Format\n\nCombination\n\nDelivery Mode\n\nHybrid\n\nEnrolled/Capacity\n17/20\n\nFLMC 1331-001 - Video Graph & Visual Effect I\n\nVideo Graph & Visual Effect I | Open | Drew Daleo\nSection Details\n\nPlano J119 | Monday | 9:00 AM - 1:50 PM | 08/25/2025 - 12/14/2025\nSection Details\n\nPlano J119 | Monday | 9:00 AM - 1:50 PM | 08/25/2025 - 12/14/2025\n\nCampus\n\n\nPlano Campus\n\nInstructors\n\nDrew Daleo\n\nInstructional Format\n\nCombination\n\nDelivery Mode\n\nHybrid\n\nEnrolled/Capacity\n17/18\n\nFLMC 1331-002 - Video Graph & Visual Effect I\n\nVideo Graph & Visual Effect I | Open | Ethan Wilder\nSection Details\n\nFrisco IT112 | Tuesday | 6:00 PM - 10:50 PM\nSection Details\n\nFrisco IT112 | Tuesday | 6:00 PM - 10:50 PM\n\nCampus\n\n\nFrisco Campus\n\nInstructors\n\nEthan Wilder\n\nInstructional Format\n\nCombination\n\nDelivery Mode\n\nHybrid\n\nEnrolled/Capacity\n17/20\n\nFLMC 1331-003 - Video Graph & Visual Effect I\n\nVideo Graph & Visual Effect I | Open | Nicole Wingfield Miller\nSection Details\n\nFrisco IT112 | Wednesday | 9:00 AM - 1:50 PM\nSection Details\n\nFrisco IT112 | Wednesday | 9:00 AM - 1:50 PM\n\nCampus\n\n\nFrisco Campus\n\nInstructors\n\nNicole Wingfield Miller\n\nInstructional Format\n\nCombination\n\nDelivery Mode\n\nHybrid",
"rowCount": 500,
"columnCount": 1,
"hasMore": true,
"sheetName": "Fall 2025"
}
```
Read Spring 2025 rows 501-1000
Parameters:
```json
{
"sheetName": "Spring 2025",
"range": "A501:A1538",
"maxRows": 500
}
```
Result
```json
{
"success": true,
"csv": "Gordon Smith\n\nInstructional Format\n\nCombination\n\nDelivery Mode\n\nHybrid\n\nEnrolled/Capacity\n18/20\n\nARTV 1371-003 - Storybrd/Concept Dev\n\nStorybrd/Concept Dev | Open | Joe Eisma\nSection Details\n\nFrisco IT104 | Wednesday | 9:00 AM - 2:50 PM\nSection Details\n\nFrisco IT104 | Wednesday | 9:00 AM - 2:50 PM\n\nCampus\n\n\nFrisco Campus\n\nInstructors\n\nJoe Eisma\n\nInstructional Format\n\nCombination\n\nDelivery Mode\n\nHybrid\n\nEnrolled/Capacity\n16/20\n\nARTV 1371-004 - Storybrd/Concept Dev\n\nStorybrd/Concept Dev | Open | Lee Shapiro\nSection Details\n(empty)\nSection Details\n(empty)\nCampus\n(empty)\nInstructors\n\nLee Shapiro\n\nInstructional Format\n\nCombination\n\nDelivery Mode\n\nWeb\n\nEnrolled/Capacity\n20/25\n\nARTV 1371-005 - Storybrd/Concept Dev\n\nStorybrd/Concept Dev | Open | Howard Goldthwaite\nSection Details\n\nFrisco IT104 | Tuesday | 6:00 PM - 11:00 PM\nSection Details\n\nFrisco IT104 | Tuesday | 6:00 PM - 11:00 PM\n\nCampus\n\n\nFrisco Campus\n\nInstructors\n\nHoward Goldthwaite\n\nInstructional Format\n\nCombination\n\nDelivery Mode\n\nHybrid\n\nEnrolled/Capacity\n46346\n\nARTV 1371-006 - Storybrd/Concept Dev\n\nStorybrd/Concept Dev | Open | Russell Smith\nSection Details\n\nWylie CC222 | Friday | 9:00 AM - 2:50 PM\nSection Details\n\nWylie CC222 | Friday | 9:00 AM - 2:50 PM\n\nCampus\n\n\nWylie Campus\n\nInstructors\n\nRussell Smith\n\nInstructional Format\n\nCombination\n\nDelivery Mode\n\nHybrid\n\nEnrolled/Capacity\n46370\n\nARTV 2320-001 - Team Prog Prod I\n\nTeam Prog Prod I | Open | Mark Kaufmann\nSection Details\n\nFrisco IT103 | Friday | 9:00 AM - 2:50 PM\nSection Details\n\nFrisco IT103 | Friday | 9:00 AM - 2:50 PM\n\nCampus\n\n\nFrisco Campus\n\nInstructors\n\nMark Kaufmann\n\nInstructional Format\n\nCombination\n\nDelivery Mode\n\nHybrid\n\nEnrolled/Capacity\n16/18\n\nARTV 2335-001 - Portfolio Develop/Animation\n\nPortfolio Develop/Animation | Waitlist | Russell Smith\nSection Details\n\nWylie CC222 | Friday | 9:00 AM - 2:50 PM\nSection Details\n\nWylie CC222 | Friday | 9:00 AM - 2:50 PM\n\nCampus\n\n\nWylie Campus\n\nInstructors\n\nRussell Smith\n\nInstructional Format\n\nCombination\n\nDelivery Mode\n\nHybrid\n\nEnrolled/Capacity\n46179\n\nARTV 2335-002 - Portfolio Develop/Animation\n\nPortfolio Develop/Animation | Waitlist | J Marshall Pittman\nSection Details\n\nFrisco IT112 | Friday | 9:00 AM - 2:50 PM\nSection Details\n\nFrisco IT112 | Friday | 9:00 AM - 2:50 PM\n\nCampus\n\n\nFrisco Campus\n\nInstructors\n\nJ Marshall Pittman\n\nInstructional Format\n\nCombination\n\nDelivery Mode\n\nHybrid\n\nEnrolled/Capacity\n21/20\n\nARTV 2345-001 - 3-D Modeling and Rendering II\n\n3-D Modeling and Rendering II | Open | Gail Ellison\nSection Details\n\nFrisco IT102 | Tuesday | 9:00 AM - 2:50 PM\nSection Details\n\nFrisco IT102 | Tuesday | 9:00 AM - 2:50 PM\n\nCampus\n\n\nFrisco Campus\n\nInstructors\n\nGail Ellison\n\nInstructional Format\n\nCombination\n\nDelivery Mode\n\nHybrid\n\nEnrolled/Capacity\n46313\n\nARTV 2345-002 - 3-D Modeling and Rendering II\n\n3-D Modeling and Rendering II | Open | Gail Ellison\nSection Details\n\nFrisco IT102 | Monday | 9:00 AM - 2:50 PM\nSection Details\n\nFrisco IT102 | Monday | 9:00 AM - 2:50 PM\n\nCampus\n\n\nFrisco Campus\n\nInstructors\n\nGail Ellison\n\nInstructional Format\n\nCombination\n\nDelivery Mode\n\nHybrid\n\nEnrolled/Capacity\n46344\n\nARTV 2345-003 - 3-D Modeling and Rendering II\n\n3-D Modeling and Rendering II | Open | Kevin Taylor\nSection Details\n\nWylie CC222 | Tuesday | 6:00 PM - 11:00 PM\nSection Details\n\nWylie CC222 | Tuesday | 6:00 PM - 11:00 PM\n\nCampus\n\n\nWylie Campus\n\nInstructors\n\nKevin Taylor\n\nInstructional Format\n\nCombination\n\nDelivery Mode\n\nHybrid\n\nEnrolled/Capacity\n46223\n\nARTV 2351-001 - 3-D Animation II\n\n3-D Animation II | Open | Aaron Werntz\nSection Details\n\nFrisco IT112 | Wednesday | 6:00 PM - 11:00 PM\nSection Details\n\nFrisco IT112 | Wednesday | 6:00 PM - 11:00 PM\n\nCampus\n\n\nFrisco Campus\n\nInstructors\n\nAaron Werntz\n\nInstructional Format\n\nCombination\n\nDelivery Mode\n\nHybrid\n\nEnrolled/Capacity\n19/20\n\nARTV 2351-002 - 3-D Animation II\n\n3-D Animation II | Open | Stephen Steinbach\nSection Details\n\nFrisco IT112 | Friday | 6:00 PM - 11:00 PM\nSection Details\n\nFrisco IT112 | Friday | 6:00 PM - 11:00 PM\n\nCampus\n\n\nFrisco Campus\n\nInstructors\n\nStephen Steinbach\n\nInstructional Format\n\nCombination\n\nDelivery Mode\n\nHybrid\n\nEnrolled/Capacity\n14/20\n\nARTV 2371-001 - Adv Skill Dev/Anim & Games\n\nAdv Skill Dev/Anim & Games | Open | J Marshall Pittman\nSection Details\n\nFrisco IT112 | Tuesday | 9:00 AM - 2:50 PM\nSection Details\n\nFrisco IT112 | Tuesday | 9:00 AM - 2:50 PM\n\nCampus\n\n\nFrisco Campus\n\nInstructors\n\nJ Marshall Pittman\n\nInstructional Format\n\nCombination\n\nDelivery Mode\n\nHybrid\n\nEnrolled/Capacity\n46057\n\nFLMC 1301-001 - History of Animation Technique\n\nHistory of Animation Technique | Open | Gordon Smith\nSection Details\n\nFrisco IT104 | Friday | 9:00 AM - 2:50 PM\nSection Details\n\nFrisco IT104 | Friday | 9:00 AM - 2:50 PM\n\nCampus\n\n\nFrisco Campus\n\nInstructors\n\nGordon Smith\n\nInstructional Format\n\nCombination\n\nDelivery Mode\n\nHybrid\n\nEnrolled/Capacity\n14/20\n\nFLMC 1301-003 - History of Animation Technique\n\nHistory of Animation Technique | Open | Christine Smith\nSection Details\n(empty)\nSection Details\n(empty)\nCampus\n(empty)\nInstructors\n\nChristine Smith\n\nInstructional Format\n\nCombination\n\nDelivery Mode\n\nWeb\n\nEnrolled/Capacity\n20/25\n\nFLMC 1331-001 - Video Graph & Visual Effect I\n\nVideo Graph & Visual Effect I | Open | Drew Daleo\nSection Details\n\nPlano K122 | Thursday | 6:00 PM - 11:00 PM\nSection Details\n\nPlano K122 | Thursday | 6:00 PM - 11:00 PM\n\nCampus\n\n\nPlano Campus\n\nInstructors\n\nDrew Daleo\n\nInstructional Format\n\nCombination\n\nDelivery Mode\n\nHybrid\n\nEnrolled/Capacity\n16/18\n\nFLMC 1331-002 - Video Graph & Visual Effect I\n\nVideo Graph & Visual Effect I | Open | Nicole Wingfield Miller\nSection Details\n\nFrisco IT112 | Wednesday | 9:00 AM - 11:30 AM\nSection Details\n\nFrisco IT112 | Wednesday | 9:00 AM - 11:30 AM\n\nCampus\n\n\nFrisco Campus\n\nInstructors\n\nNicole Wingfield Miller\n\nInstructional Format",
"rowCount": 500,
"columnCount": 1,
"hasMore": true,
"sheetName": "Spring 2025"
}
```
Read Fall 2025 rows 1001-1424
Parameters:
```json
{
"sheetName": "Fall 2025",
"range": "A1001:A1424",
"maxRows": 500
}
```
Result
```json
{
"success": true,
"csv": "Hybrid\n\nEnrolled/Capacity\n17/20\n\nFLMC 1331-004 - Video Graph & Visual Effect I\n\nVideo Graph & Visual Effect I | Open | Drew Daleo\nSection Details\n\nWylie CC211 | Tuesday | 9:00 AM - 1:50 PM | 08/25/2025 - 12/14/2025\nSection Details\n\nWylie CC211 | Tuesday | 9:00 AM - 1:50 PM | 08/25/2025 - 12/14/2025\n\nCampus\n\n\nWylie Campus\n\nInstructors\n\nDrew Daleo\n\nInstructional Format\n\nCombination\n\nDelivery Mode\n\nHybrid\n\nEnrolled/Capacity\n46376\n\nFLMC 2330-001 - Audio Post Production\n\nAudio Post Production | Open | Aaron Kinnard\nSection Details\n\nFrisco IT103 | Thursday | 6:00 PM - 9:50 PM\nSection Details\n\nFrisco IT103 | Thursday | 6:00 PM - 9:50 PM\n\nCampus\n\n\nFrisco Campus\n\nInstructors\n\nAaron Kinnard\n\nInstructional Format\n\nCombination\n\nDelivery Mode\n\nHybrid\n\nEnrolled/Capacity\n17/18\n\nFLMC 2330-002 - Audio Post Production\n\nAudio Post Production | Open | Jacob Kluge\nSection Details\n\nFrisco IT103 | Monday | 6:00 PM - 9:50 PM\nSection Details\n\nFrisco IT103 | Monday | 6:00 PM - 9:50 PM\n\nCampus\n\n\nFrisco Campus\n\nInstructors\n\nJacob Kluge\n\nInstructional Format\n\nCombination\n\nDelivery Mode\n\nHybrid\n\nEnrolled/Capacity\n15/18\n\nFLMC 2330-003 - Audio Post Production\n\nAudio Post Production | Open | Aaron Kinnard\nSection Details\n\nFrisco IT103 | Tuesday | 6:00 PM - 9:50 PM\nSection Details\n\nFrisco IT103 | Tuesday | 6:00 PM - 9:50 PM\n\nCampus\n\n\nFrisco Campus\n\nInstructors\n\nAaron Kinnard\n\nInstructional Format\n\nCombination\n\nDelivery Mode\n\nHybrid\n\nEnrolled/Capacity\n16/18\n\nFLMC 2331-001 - Video Graph & Visual Effect II\n\nVideo Graph & Visual Effect II | Open | Nicole Wingfield Miller\nSection Details\n\nFrisco IT112 | Wednesday | 2:30 PM - 5:20 PM\nSection Details\n\nFrisco IT112 | Wednesday | 2:30 PM - 5:20 PM\n\nCampus\n\n\nFrisco Campus\n\nInstructors\n\nNicole Wingfield Miller\n\nInstructional Format\n\nCombination\n\nDelivery Mode\n\nHybrid\n\nEnrolled/Capacity\n17/20\n\nFLMC 2333-002 - Cinematography\n\nCinematography | Waitlist | Mark Kaufmann\nSection Details\n\nFrisco IT104 | Friday | 6:00 PM - 11:00 PM\nSection Details\n\nFrisco IT104 | Friday | 6:00 PM - 11:00 PM\n\nCampus\n\n\nFrisco Campus\n\nInstructors\n\nMark Kaufmann\n\nInstructional Format\n\nCombination\n\nDelivery Mode\n\nHybrid\n\nEnrolled/Capacity\n18/18\n\nFLMC 2334-001 - Directing for Film or Video\n\nDirecting for Film or Video | Open | Lee Shapiro\nSection Details\n\nFrisco IT116 | Monday | 6:00 PM - 10:50 PM\nSection Details\n\nFrisco IT116 | Monday | 6:00 PM - 10:50 PM\n\nCampus\n\n\nFrisco Campus\n\nInstructors\n\nLee Shapiro\n\nInstructional Format\n\nCombination\n\nDelivery Mode\n\nHybrid\n\nEnrolled/Capacity\n18/24\n\nFLMC 2334-002 - Directing for Film or Video\n\nDirecting for Film or Video | Open | Lee Shapiro\nSection Details\n\nFrisco IT116 | Wednesday | 9:00 AM - 1:50 PM\nSection Details\n\nFrisco IT116 | Wednesday | 9:00 AM - 1:50 PM\n\nCampus\n\n\nFrisco Campus\n\nInstructors\n\nLee Shapiro\n\nInstructional Format\n\nCombination\n\nDelivery Mode\n\nHybrid\n\nEnrolled/Capacity\n46259\n\nFLMC 2336-001 - Production Develop - Producing\n\nProduction Develop - Producing | Waitlist | Elizabeth Ekstrand\nSection Details\n\nFrisco IT116 | Tuesday | 6:00 PM - 10:50 PM\nSection Details\n\nFrisco IT116 | Tuesday | 6:00 PM - 10:50 PM\n\nCampus\n\n\nFrisco Campus\n\nInstructors\n\nElizabeth Ekstrand\n\nInstructional Format\n\nCombination\n\nDelivery Mode\n\nHybrid\n\nEnrolled/Capacity\n18/18\n\nFLMC 2380-001 - CoEd Cinema & Film/Vid Prod\n\nCoEd Cinema & Film/Vid Prod | Open | Lee Shapiro\nSection Details\n\nIn-District Work Based Learning |\nSection Details\n\nIn-District Work Based Learning |\n\nCampus\n\n\nIn-District Work Based Learning\n\nInstructors\n\nLee Shapiro\n\nInstructional Format\n\nCombination\n\nDelivery Mode\n\nHybrid\n\nEnrolled/Capacity\n46058\n\nGAME 1303-001 - Intro to Game Design & Develop\n\nIntro to Game Design & Develop | Open | J Marshall Pittman\nSection Details\n\nFrisco IT112 | Tuesday | 9:00 AM - 1:50 PM | 08/25/2025 - 12/14/2025\nSection Details\n\nFrisco IT112 | Tuesday | 9:00 AM - 1:50 PM | 08/25/2025 - 12/14/2025\n\nCampus\n\n\nFrisco Campus\n\nInstructors\n\nJ Marshall Pittman\n\nInstructional Format\n\nCombination\n\nDelivery Mode\n\nHybrid\n\nEnrolled/Capacity\n15/18\n\nGAME 1303-002 - Intro to Game Design & Develop\n\nIntro to Game Design & Develop | Open | Adam Villarreal\nSection Details\n\nFrisco IT112 | Monday | 6:00 PM - 10:50 PM\nSection Details\n\nFrisco IT112 | Monday | 6:00 PM - 10:50 PM\n\nCampus\n\n\nFrisco Campus\n\nInstructors\n\nAdam Villarreal\n\nInstructional Format\n\nCombination\n\nDelivery Mode\n\nHybrid\n\nEnrolled/Capacity\n46254\n\nGAME 2325-001 - 3-D Anim II-Character Set-Up\n\n3-D Anim II-Character Set-Up | Waitlist | J Marshall Pittman\nSection Details\n\nFrisco IT112 | Thursday | 9:00 AM - 1:50 PM | 08/25/2025 - 12/14/2025\nSection Details\n\nFrisco IT112 | Thursday | 9:00 AM - 1:50 PM | 08/25/2025 - 12/14/2025\n\nCampus\n\n\nFrisco Campus\n\nInstructors\n\nJ Marshall Pittman\n\nInstructional Format\n\nCombination\n\nDelivery Mode\n\nHybrid\n\nEnrolled/Capacity\n20/20\n\nGAME 2325-002 - 3-D Anim II-Character Set-Up\n\n3-D Anim II-Character Set-Up | Open | Stephen Steinbach\nSection Details\n\nFrisco IT112 | Monday | 9:00 AM - 1:50 PM | 08/25/2025 - 12/14/2025\nSection Details\n\nFrisco IT112 | Monday | 9:00 AM - 1:50 PM | 08/25/2025 - 12/14/2025\n\nCampus\n\n\nFrisco Campus\n\nInstructors\n\nStephen Steinbach\n\nInstructional Format\n\nCombination\n\nDelivery Mode\n\nHybrid\n\nEnrolled/Capacity\n46376",
"rowCount": 423,
"columnCount": 1,
"hasMore": false,
"sheetName": "Fall 2025"
}
```
Read Spring 2025 rows 1001-1538
Parameters:
```json
{
"sheetName": "Spring 2025",
"range": "A1001:A1538",
"maxRows": 500
}
```
Result
```json
{
"success": true,
"csv": "Instructional Format\n\nCombination\n\nDelivery Mode\n\nHybrid\n\nEnrolled/Capacity\n18/20\n\nFLMC 1331-003 - Video Graph & Visual Effect I\n\nVideo Graph & Visual Effect I | Open | Ethan Wilder\nSection Details\n\nFrisco IT112 | Tuesday | 6:00 PM - 11:00 PM\nSection Details\n\nFrisco IT112 | Tuesday | 6:00 PM - 11:00 PM\n\nCampus\n\n\nFrisco Campus\n\nInstructors\n\nEthan Wilder\n\nInstructional Format\n\nCombination\n\nDelivery Mode\n\nHybrid\n\nEnrolled/Capacity\n19/20\n\nFLMC 1331-004 - Video Graph & Visual Effect I\n\nVideo Graph & Visual Effect I | Open | Ethan Wilder\nSection Details\n(empty)\nSection Details\n(empty)\nCampus\n(empty)\nInstructors\n\nEthan Wilder\n\nInstructional Format\n\nCombination\n\nDelivery Mode\n\nWeb\n\nEnrolled/Capacity\n23/25\n\nFLMC 1331-005 - Video Graph & Visual Effect I\n\nVideo Graph & Visual Effect I | Open | Drew Daleo\nSection Details\n\nWylie CC211 | Wednesday | 9:00 AM - 2:50 PM\nSection Details\n\nWylie CC211 | Wednesday | 9:00 AM - 2:50 PM\n\nCampus\n\n\nWylie Campus\n\nInstructors\n\nDrew Daleo\n\nInstructional Format\n\nCombination\n\nDelivery Mode\n\nHybrid\n\nEnrolled/Capacity\n13/20\n\nFLMC 2330-002 - Audio Post Production\n\nAudio Post Production | Open | Aaron Kinnard\nSection Details\n\nFrisco IT103 | Tuesday | 6:00 PM - 11:00 PM\nSection Details\n\nFrisco IT103 | Tuesday | 6:00 PM - 11:00 PM\n\nCampus\n\n\nFrisco Campus\n\nInstructors\n\nAaron Kinnard\n\nInstructional Format\n\nCombination\n\nDelivery Mode\n\nHybrid\n\nEnrolled/Capacity\n46374\n\nFLMC 2330-003 - Audio Post Production\n\nAudio Post Production | Open | Aaron Kinnard\nSection Details\n\nFrisco IT103 | Thursday | 6:00 PM - 11:00 PM\nSection Details\n\nFrisco IT103 | Thursday | 6:00 PM - 11:00 PM\n\nCampus\n\n\nFrisco Campus\n\nInstructors\n\nAaron Kinnard\n\nInstructional Format\n\nCombination\n\nDelivery Mode\n\nHybrid\n\nEnrolled/Capacity\n46344\n\nFLMC 2331-001 - Video Graph & Visual Effect II\n\nVideo Graph & Visual Effect II | Open | J Marshall Pittman\nSection Details\n\nFrisco IT112 | Wednesday | 12:20 PM - 2:50 PM\nSection Details\n\nFrisco IT112 | Wednesday | 12:20 PM - 2:50 PM\n\nCampus\n\n\nFrisco Campus\n\nInstructors\n\nJ Marshall Pittman\n\nInstructional Format\n\nCombination\n\nDelivery Mode\n\nHybrid\n\nEnrolled/Capacity\n14/20\n\nFLMC 2333-002 - Cinematography\n\nCinematography | Open | Mark Kaufmann\nSection Details\n\nFrisco IT104 | Friday | 6:30 PM - 10:00 PM\nSection Details\n\nFrisco IT104 | Friday | 6:30 PM - 10:00 PM\n\nCampus\n\n\nFrisco Campus\n\nInstructors\n\nMark Kaufmann\n\nInstructional Format\n\nCombination\n\nDelivery Mode\n\nHybrid\n\nEnrolled/Capacity\n13/20\n\nFLMC 2334-001 - Directing for Film or Video\n\nDirecting for Film or Video | Open | Lee Shapiro\nSection Details\n\nFrisco IT116 | Monday | 6:00 PM - 11:00 PM\nSection Details\n\nFrisco IT116 | Monday | 6:00 PM - 11:00 PM\n\nCampus\n\n\nFrisco Campus\n\nInstructors\n\nLee Shapiro\n\nInstructional Format\n\nCombination\n\nDelivery Mode\n\nHybrid\n\nEnrolled/Capacity\n46374\n\nFLMC 2334-002 - Directing for Film or Video\n\nDirecting for Film or Video | Open | Arthur Muhammad\nSection Details\n\nFrisco IT116 | Tuesday | 6:00 PM - 11:00 PM\nSection Details\n\nFrisco IT116 | Tuesday | 6:00 PM - 11:00 PM\n\nCampus\n\n\nFrisco Campus\n\nInstructors\n\nArthur Muhammad\n\nInstructional Format\n\nCombination\n\nDelivery Mode\n\nHybrid\n\nEnrolled/Capacity\n46374\n\nFLMC 2336-001 - Production Develop - Producing\n\nProduction Develop - Producing | Open | Elizabeth Ekstrand\nSection Details\n\nFrisco H121 | Monday | 6:00 PM - 11:00 PM\nSection Details\n\nFrisco H121 | Monday | 6:00 PM - 11:00 PM\n\nCampus\n\n\nFrisco Campus\n\nInstructors\n\nElizabeth Ekstrand\n\nInstructional Format\n\nCombination\n\nDelivery Mode\n\nHybrid\n\nEnrolled/Capacity\n21/24\n\nFLMC 2380-001 - CoEd Cinema & Film/Vid Prod\n\nCoEd Cinema & Film/Vid Prod | Waitlist | Tonya McMillion\nSection Details\n(empty)\nSection Details\n(empty)\nCampus\n(empty)\nInstructors\n\nTonya McMillion\n\nInstructional Format\n\nCombination\n\nDelivery Mode\n\nBlended\n\nEnrolled/Capacity\n46023\n\nGAME 1303-001 - Intro to Game Design & Develop\n\nIntro to Game Design & Develop | Open | J Marshall Pittman\nSection Details\n\nFrisco IT112 | Tuesday | 9:00 AM - 2:50 PM\nSection Details\n\nFrisco IT112 | Tuesday | 9:00 AM - 2:50 PM\n\nCampus\n\n\nFrisco Campus\n\nInstructors\n\nJ Marshall Pittman\n\nInstructional Format\n\nCombination\n\nDelivery Mode\n\nHybrid\n\nEnrolled/Capacity\n14/16\n\nGAME 1303-002 - Intro to Game Design & Develop\n\nIntro to Game Design & Develop | Open | Adam Villarreal\nSection Details\n\nFrisco IT112 | Monday | 6:00 PM - 11:00 PM\nSection Details\n\nFrisco IT112 | Monday | 6:00 PM - 11:00 PM\n\nCampus\n\n\nFrisco Campus\n\nInstructors\n\nAdam Villarreal\n\nInstructional Format\n\nCombination\n\nDelivery Mode\n\nHybrid\n\nEnrolled/Capacity\n17/20\n\nGAME 1303-003 - Intro to Game Design & Develop\n\nIntro to Game Design & Develop | Open | Adam Villarreal\nSection Details\n\nWylie CC222 | Saturday | 9:00 AM - 2:30 PM\nSection Details\n\nWylie CC222 | Saturday | 9:00 AM - 2:30 PM\n\nCampus\n\n\nWylie Campus\n\nInstructors\n\nAdam Villarreal\n\nInstructional Format\n\nCombination\n\nDelivery Mode\n\nHybrid\n\nEnrolled/Capacity\n13/24\n\nGAME 2309-001 - Video Game Art II\n\nVideo Game Art II | Open | Gail Ellison\nSection Details\n\nFrisco IT102 | Friday | 9:00 AM - 2:50 PM\nSection Details\n\nFrisco IT102 | Friday | 9:00 AM - 2:50 PM\n\nCampus\n\n\nFrisco Campus\n\nInstructors\n\nGail Ellison\n\nInstructional Format\n\nCombination\n\nDelivery Mode\n\nHybrid\n\nEnrolled/Capacity\n46191\n\nGAME 2325-001 - 3-D Anim II-Character Set-Up\n\n3-D Anim II-Character Set-Up | Waitlist | J Marshall Pittman\nSection Details\n\nFrisco IT112 | Thursday | 6:00 PM - 11:00 PM\nSection Details\n\nFrisco IT112 | Thursday | 6:00 PM - 11:00 PM\n\nCampus\n\n\nFrisco Campus\n\nInstructors\n\nJ Marshall Pittman\n\nInstructional Format\n\nCombination\n\nDelivery Mode\n\nHybrid\n\nEnrolled/Capacity\n20/20\n\nGAME 2325-002 - 3-D Anim II-Character Set-Up\n\n3-D Anim II-Character Set-Up | Open | Stephen Steinbach\nSection Details\n\nWylie CC211 | Monday | 9:00 AM - 2:50 PM\nSection Details\n\nWylie CC211 | Monday | 9:00 AM - 2:50 PM\n\nCampus\n\n\nWylie Campus\n\nInstructors\n\nStephen Steinbach\n\nInstructional Format\n\nCombination",
"rowCount": 500,
"columnCount": 1,
"hasMore": true,
"sheetName": "Spring 2025"
}
```
Read Spring 2025 final rows
Parameters:
```json
{
"sheetName": "Spring 2025",
"range": "A1501:A1538",
"maxRows": 50
}
```
Result
```json
{
"success": true,
"csv": "Combination\n\nDelivery Mode\n\nHybrid\n\nEnrolled/Capacity\n19/20\n\nGAME 2359-001 - Game & Simulation Group Projec\n\nGame & Simulation Group Projec | Open | J Marshall Pittman\nSection Details\n\nFrisco IT112 | Thursday | 9:00 AM - 2:50 PM\nSection Details\n\nFrisco IT112 | Thursday | 9:00 AM - 2:50 PM\n\nCampus\n\n\nFrisco Campus\n\nInstructors\n\nJ Marshall Pittman\n\nInstructional Format\n\nCombination\n\nDelivery Mode\n\nHybrid\n\nEnrolled/Capacity\n46193",
"rowCount": 37,
"columnCount": 1,
"hasMore": false,
"sheetName": "Spring 2025"
}
```
Now I have all the data. Let me use Python to parse all three sheets and build the transposed tables, including properly decoding the date serial numbers for Enrolled/Capacity.
Now I have the serial-to-ratio mapping. This is a big task — let me use `execute_office_js` to read the raw cell values (which preserve the actual numbers vs text) and process all three sheets programmatically.
Ran 2 scripts
Get sheet dimensions
Parameters:
```json
{
"code": "..."
}
```
Code:
```javascript
// Read raw values from all three sheets to get exact cell types
const sheets = ["Fall 2025", "Spring 2025", "Summer 2025"];
const result = {};
for (const sheetName of sheets) {
const sheet = context.workbook.worksheets.getItem(sheetName);
const usedRange = sheet.getUsedRange();
usedRange.load(["values", "rowCount", "columnCount", "address"]);
await context.sync();
result[sheetName] = {
rowCount: usedRange.rowCount,
colCount: usedRange.columnCount,
address: usedRange.address
};
}
return result;
```
Show more
Result
```json
{
"success": true,
"result": {
"Fall 2025": {
"rowCount": 1424,
"colCount": 1,
"address": "'Fall 2025'!A1:A1424"
},
"Spring 2025": {
"rowCount": 1538,
"colCount": 1,
"address": "'Spring 2025'!A1:A1538"
},
"Summer 2025": {
"rowCount": 143,
"colCount": 1,
"address": "'Summer 2025'!A1:A143"
}
}
}
```
Parse all courses from 3 sheets
Parameters:
```json
{
"code": "..."
}
```
Code:
```javascript
// Read all data from all 3 sheets and parse courses
const sheets = ["Fall 2025", "Spring 2025", "Summer 2025"];
const allData = {};
for (const sheetName of sheets) {
const sheet = context.workbook.worksheets.getItem(sheetName);
const usedRange = sheet.getUsedRange();
usedRange.load("values");
await context.sync();
allData[sheetName] = usedRange.values.map(r => r[0]);
}
// Date serial decoder
function decodeSerial(serial) {
// Excel date serial to JS date
const base = new Date(1899, 11, 30); // Dec 30, 1899
const d = new Date(base.getTime() + serial * 86400000);
return { enrolled: d.getMonth() + 1, capacity: d.getDate() };
}
function parseCourses(values) {
const courses = [];
let i = 0;
const courseRegex = /^[A-Z]{3,4}\s+\d{4}-\d{3}\s+-\s+/;
const headings = ['Section Details', 'Campus', 'Instructors', 'Instructional Format', 'Delivery Mode', 'Enrolled/Capacity'];
while (i < values.length) {
const val = String(values[i]).trim();
if (courseRegex.test(val)) {
const course = {
name: val,
status: '',
campus: '',
schedule: '',
instructor: '',
format: '',
delivery: '',
enrolled: '',
capacity: ''
};
// Next non-empty = "Title | Status | Instructor"
i++;
while (i < values.length && String(values[i]).trim() === '') i++;
if (i < values.length) {
const detail = String(values[i]).trim();
if (detail.includes('|')) {
const parts = detail.split('|').map(p => p.trim());
if (parts.length >= 2) course.status = parts[1];
}
}
// Scan for headings until next course
i++;
let foundSchedule = false;
while (i < values.length) {
const line = String(values[i]).trim();
if (courseRegex.test(line)) break;
if (line === 'Section Details' && !foundSchedule) {
foundSchedule = true;
i++;
while (i < values.length && String(values[i]).trim() === '') i++;
if (i < values.length) {
const next = String(values[i]).trim();
if (next === '(empty)') {
course.schedule = '(empty)';
} else if (!headings.includes(next) && !courseRegex.test(next)) {
course.schedule = next;
} else {
continue; // don't increment, re-process this line
}
}
i++;
continue;
}
if (line === 'Campus') {
i++;
while (i < values.length && String(values[i]).trim() === '') i++;
if (i < values.length) {
const next = String(values[i]).trim();
if (next === '(empty)') {
course.campus = '(empty)';
} else if (next && !headings.includes(next) && !courseRegex.test(next)) {
course.campus = next;
} else { continue; }
}
i++;
continue;
}
if (line === 'Instructors') {
i++;
while (i < values.length && String(values[i]).trim() === '') i++;
if (i < values.length) {
const next = String(values[i]).trim();
if (next && !headings.includes(next) && !courseRegex.test(next)) {
course.instructor = next;
} else { continue; }
}
i++;
continue;
}
if (line === 'Instructional Format') {
i++;
while (i < values.length && String(values[i]).trim() === '') i++;
if (i < values.length) {
const next = String(values[i]).trim();
if (next && !headings.includes(next) && !courseRegex.test(next)) {
course.format = next;
} else { continue; }
}
i++;
continue;
}
if (line === 'Delivery Mode') {
i++;
while (i < values.length && String(values[i]).trim() === '') i++;
if (i < values.length) {
const next = String(values[i]).trim();
if (next && !headings.includes(next) && !courseRegex.test(next)) {
course.delivery = next;
} else { continue; }
}
i++;
continue;
}
if (line === 'Enrolled/Capacity') {
i++;
while (i < values.length && String(values[i]).trim() === '') i++;
if (i < values.length) {
const raw = values[i]; // keep original type
const rawStr = String(raw).trim();
if (rawStr.includes('/')) {
const parts = rawStr.split('/');
course.enrolled = parseInt(parts[0]);
course.capacity = parseInt(parts[1]);
} else if (typeof raw === 'number') {
const decoded = decodeSerial(raw);
course.enrolled = decoded.enrolled;
course.capacity = decoded.capacity;
} else {
course.enrolled = rawStr;
course.capacity = '';
}
}
i++;
continue;
}
i++;
}
courses.push(course);
} else {
i++;
}
}
return courses;
}
// Parse all sheets
const parsed = {};
let totalCourses = 0;
for (const sheetName of sheets) {
parsed[sheetName] = parseCourses(allData[sheetName]);
totalCourses += parsed[sheetName].length;
}
// Save parsed data to conductor for writing
const jsonData = JSON.stringify(parsed);
conductor.writeFile("parsed_courses.json", jsonData);
return {
totalCourses,
perSheet: {
"Fall 2025": parsed["Fall 2025"].length,
"Spring 2025": parsed["Spring 2025"].length,
"Summer 2025": parsed["Summer 2025"].length
},
sampleFall: parsed["Fall 2025"].slice(0, 2),
sampleSpring: parsed["Spring 2025"].slice(0, 2),
sampleSummer: parsed["Summer 2025"].slice(0, 2)
};
```
Show more
Result
```json
{
"success": true,
"result": {
"totalCourses": 105,
"perSheet": {
"Fall 2025": 48,
"Spring 2025": 52,
"Summer 2025": 5
},
"sampleFall": [
{
"name": "ARTV 1303-001 - Basic Animation",
"status": "Open",
"campus": "Frisco Campus",
"schedule": "Frisco IT104 | Thursday | 6:00 PM - 10:50 PM",
"instructor": "Esperanza Jacobs",
"format": "Combination",
"delivery": "Hybrid",
"enrolled": 8,
"capacity": 20
},
{
"name": "ARTV 1303-002 - Basic Animation",
"status": "Open",
"campus": "Frisco Campus",
"schedule": "Frisco IT104 | Monday | 9:00 AM - 1:50 PM | 08/25/2025 - 12/14/2025",
"instructor": "Russell Smith",
"format": "Combination",
"delivery": "Hybrid",
"enrolled": 17,
"capacity": 20
}
],
"sampleSpring": [
{
"name": "ARTV 1303-001 - Basic Animation",
"status": "Open",
"campus": "Frisco Campus",
"schedule": "Frisco IT104 | Thursday | 6:00 PM - 11:00 PM",
"instructor": "Esperanza Jacobs",
"format": "Combination",
"delivery": "Hybrid",
"enrolled": 16,
"capacity": 20
},
{
"name": "ARTV 1303-002 - Basic Animation",
"status": "Waitlist",
"campus": "Frisco Campus",
"schedule": "Frisco IT104 | Monday | 9:00 AM - 2:50 PM",
"instructor": "Russell Smith",
"format": "Combination",
"delivery": "Hybrid",
"enrolled": 20,
"capacity": 20
}
],
"sampleSummer": [
{
"name": "ARTV 1351-001 - Digital Video",
"status": "Open",
"campus": "Frisco Campus",
"schedule": "Frisco IT103 | Monday, Tuesday, Wednesday, Thursday | 9:00 AM - 1:50 PM",
"instructor": "Lee Shapiro",
"format": "Combination",
"delivery": "Hybrid",
"enrolled": 13,
"capacity": 18
},
{
"name": "ARTV 1371-001 - Storybrd/Concept Dev",
"status": "Open",
"campus": "Frisco Campus",
"schedule": "Frisco IT104 | Tuesday & Thursday | 9:00 AM - 2:50 PM | 06/09/2025 - 08/17/2025",
"instructor": "Russell Smith",
"format": "Combination",
"delivery": "Hybrid",
"enrolled": 15,
"capacity": 20
}
]
}
}
```
All 105 courses parsed correctly (48 + 52 + 5). The date serials are properly decoded. Now let me write the transposed tables to each sheet.
Ran 3 scripts
Write transposed tables to all 3 sheets(retried)
Parameters:
```json
{
"code": "..."
}
```
Code:
```javascript
// Read the parsed data and write transposed tables to each sheet
const raw = conductor.readFile("excel-9rxWP8", "parsed_courses.json");
const parsed = JSON.parse(raw);
const sheets = ["Fall 2025", "Spring 2025", "Summer 2025"];
const headers = ["Course", "Status", "Campus", "Location & Schedule", "Instructors", "Instructional Format", "Delivery Mode", "Enrolled", "Capacity"];
for (const sheetName of sheets) {
const sheet = context.workbook.worksheets.getItem(sheetName);
const courses = parsed[sheetName];
// Clear existing data first
const usedRange = sheet.getUsedRange();
usedRange.clear(Excel.ClearApplyTo.all);
await context.sync();
// Write headers
const headerRange = sheet.getRangeByIndexes(0, 0, 1, headers.length);
headerRange.values = [headers];
headerRange.format.font.bold = true;
headerRange.format.font.color = "#FFFFFF";
headerRange.format.fill.color = "#4472C4";
headerRange.format.horizontalAlignment = Excel.HorizontalAlignment.center;
// Write data rows
if (courses.length > 0) {
const dataRows = courses.map(c => [
c.name,
c.status,
c.campus,
c.schedule,
c.instructor,
c.format,
c.delivery,
c.enrolled,
c.capacity
]);
const dataRange = sheet.getRangeByIndexes(1, 0, courses.length, headers.length);
dataRange.values = dataRows;
// Format Enrolled and Capacity columns as numbers (not dates)
const enrolledCol = sheet.getRangeByIndexes(1, 7, courses.length, 2);
enrolledCol.numberFormat = dataRows.map(() => [["0", "0"]]).flat();
}
// Auto-fit columns
const fullRange = sheet.getRangeByIndexes(0, 0, courses.length + 1, headers.length);
fullRange.format.autofitColumns();
await context.sync();
}
return { success: true, written: { "Fall 2025": parsed["Fall 2025"].length, "Spring 2025": parsed["Spring 2025"].length, "Summer 2025": parsed["Summer 2025"].length } };
```
Show more
Error
{"success":false,"error":"Cannot read properties of null (reading 'Fall 2025')"}
Bash
```javascript
ls /agents/excel-9rxWP8/files/
```
Result
```json
{
"stdout": "",
"stderr": "ls: /agents/excel-9rxWP8/files/: No such file or directory\n",
"exitCode": 2
}
```
Bash
```javascript
ls /agents/
```
Result
```json
{
"stdout": "",
"stderr": "",
"exitCode": 0
}
```
The conductor file didn't persist. Let me do it all in one JS call - parse and write:
Parse & write transposed tables to all sheets
All 105 courses written. Let me verify the results visually:
Used 3 tools
Verify Fall 2025 table
Parameters:
```json
{
"sheetName": "Fall 2025",
"range": "A1:I10"
}
```

Result
```json
{
"success": true,
"address": "Fall 2025!A1:I10"
}
```
Verify Spring 2025 table
Parameters:
```json
{
"sheetName": "Spring 2025",
"range": "A1:I10"
}
```

Result
```json
{
"success": true,
"address": "Spring 2025!A1:I10"
}
```
Verify Summer 2025 table
Parameters:
```json
{
"sheetName": "Summer 2025",
"range": "A1:I6"
}
```

Result
```json
{
"success": true,
"address": "Summer 2025!A1:I6"
}
```
> All three sheets look great. Let me also quickly verify the bottom of the larger sheets to make sure all courses were captured:
Used 2 tools
Verify Fall 2025 last rows
Parameters:
```json
{
"sheetName": "Fall 2025",
"range": "A47:I49"
}
```

Result
```json
{
"success": true,
"address": "Fall 2025!A47:I49"
}
```
Verify Spring 2025 last rows
Parameters:
```json
{
"sheetName": "Spring 2025",
"range": "A51:I53"
}
```

Result
```json
{
"success": true,
"address": "Spring 2025!A51:I53"
}
```
All courses are properly captured and the Enrolled/Capacity values are correctly decoded. Here's a summary of what was done:
**All 3 sheets transposed successfully:**
|Sheet|Courses|Rows → Columns|
|---|---|---|
|Fall 2025|48 courses|1,424 rows → 49 rows|
|Spring 2025|52 courses|1,538 rows → 53 rows|
|Summer 2025|5 courses|143 rows → 6 rows|
**For each course, the following fields are aligned as columns:**
- Course, Status, Campus, Location & Schedule, Instructors, Instructional Format, Delivery Mode, **Enrolled**, **Capacity** (split into two separate numeric columns)
**Date serial numbers** (like 46254, 46223, etc.) were decoded back to their original enrolled/capacity ratios (e.g., 8
, 7
). All Enrolled and Capacity columns are formatted as plain numbers to prevent Excel from re-interpreting them as dates.
> This looks great. Can you do Spring 2026 tab?
Used 2 tools, parse & write Spring 2026 transposed table
Done! Spring 2026 is transposed — **47 courses** converted from 1,395 rows into a clean table with all the same columns as the other sheets. Enrolled/Capacity values are properly decoded into two separate numeric columns.
> Is there a way to save this operation for future use? I perform this several times each year.
Yes! I can save this as a **custom skill** that you can invoke anytime with a simple command. It will automatically:
1. Read the raw vertical course data from the active sheet
2. Parse all courses and extract the embedded headings
3. Decode any Enrolled/Capacity values that Excel misinterpreted as dates
4. Write a clean transposed table with all 9 columns
Let me create that for you now.
Read instructions
Read Skill
Parameters:
```json
{
"skill_name": "skill-creator"
}
```
Result
```json
{
"skill_name": "skill-creator",
"instructions": "Create new skills, modify and improve existing skills, and measure skill performance. Use when users want to create a skill from scratch, edit, or optimize an existing skill, run evals to test a skill, benchmark skill performance with variance analysis, or optimize a skill's description for better triggering accuracy."
}
```
I've created a reusable skill called **`/transpose-courses`**. Here's how it works:
### Usage
Next time you paste course catalog data into a sheet, just type:
> `/transpose-courses`
It will automatically:
1. **Read** the raw vertical data from the active sheet's column A
2. **Parse** all courses by detecting the repeating heading pattern
3. **Fix** any Enrolled/Capacity values that Excel converted to dates
4. **Write** a clean 9-column table (Course, Status, Campus, Location & Schedule, Instructors, Instructional Format, Delivery Mode, Enrolled, Capacity)
5. **Format** with styled headers and auto-fitted columns
### Workflow each semester
1. Paste the course catalog data into a new sheet tab
2. Name the tab (e.g., "Fall 2026")
3. Type `/transpose-courses`
4. Done!
Note: The skill assumes the same course catalog format you've been using. If the catalog layout changes in the future, let me know and I can update the skill.
---