| name | teachany-office-addin-shell-builder |
| description | Build Microsoft Office add-in shell packages for TeachAny tools. Use when the user gives TeachAny /tools/{slug} URLs or asks to convert Google Workspace TeachAny shells into Office manifests for Word, Excel, and PowerPoint using the v3 pattern: one public HTTPS office-shell.html plus one manifest per tool. |
TeachAny Office Add-in Shell Builder
Use this skill to generate Microsoft Office add-in shell packages for TeachAny tools.
Core Pattern
Generate one reusable Office task pane shell page and one manifest per tool:
office-shell.html is deployed once to https://www.teachany.com/office-shell.html.
- Every manifest points to
https://www.teachany.com/office-shell.html?toolSlug={slug}.
- Every manifest declares all three Microsoft Office hosts:
- Word:
<Host Name="Document"/>
- Excel:
<Host Name="Workbook"/>
- PowerPoint:
<Host Name="Presentation"/>
- The shell loads Office.js, waits for
Office.onReady(), detects the host, then iframes https://www.teachany.com/tools/{slug}?isOffice=1&office_sh=true&officeHost={word|excel|powerpoint}.
- The shell listens for
postMessage action insertToolResult and writes text/table payloads through Word/Excel/PowerPoint Office.js APIs.
Do not generate one HTML file per app unless the user explicitly asks. One shell HTML is the intended production shape; each app differs only by manifest metadata and toolSlug.
Exclusions From The Workspace Batch
When using the built-in Workspace-derived batch, exclude:
lesson-plan-generator: already has a published version and was explicitly excluded from the new generic flow.
crossword-puzzle-generator: deferred by the user.
Include rubric-generator as a table-oriented tool; all other built-in tools are text/Markdown-oriented.
Generate A Package
Prefer the bundled Node script instead of rewriting manifests manually:
node scripts/create_office_addins.js --out /path/to/office-addins --include-default-workspace
For custom URLs or slugs:
node scripts/create_office_addins.js --out /path/to/office-addins \
https://www.teachany.com/tools/grammar-checker \
https://www.teachany.com/tools/worksheet-generator \
rubric-generator
Useful options:
--shell-url https://www.teachany.com/office-shell.html
--provider TeachAny
--tool slug:Display Name
Verification Checklist
After generation, confirm:
- The script exits with success.
- Manifest count equals selected tool count.
- Each XML has
Document, Workbook, and Presentation hosts.
- Each
SourceLocation points to office-shell.html?toolSlug={slug}.
- Files are UTF-8 without BOM.
office-shell.html contains Office.onReady, insertToolResult, Word.run, Excel.run, and PowerPoint.run.
Deployment Guidance To Give The User
Tell the user that local manifest structure is not enough. Frontend/deployment must publish office-shell.html to the public HTTPS URL first. Browser-check this URL before Office sideloading:
https://www.teachany.com/office-shell.html?toolSlug=grammar-checker
Then sideload one manifest in Word, Excel, and PowerPoint web. If that passes, spot-check more tools, especially grammar-checker, worksheet-generator, and rubric-generator.
Packaging Guidance
When the user asks to move to Mac, zip the generated output folder and zip this skill folder. The skill itself is cross-platform because its generator is Node-based and uses only built-in Node modules.