office-automation
Drive Microsoft Excel, Word and PowerPoint on this computer for real — create and edit workbooks with formulas and formatting, write documents with…
Skill by Tecosys
Install
Works with Claude Code, Claude apps, Codex, Cursor, Gemini CLI, GitHub Copilot, VS Code, OpenCode, Goose, Windsurf. Read the repository before you give any tool access to your data.
npx agentmarket install skill/tecosys-office-automation
Asks which of your tools to add it to (Claude Code, Codex, Cursor, VS Code, Windsurf, Gemini CLI, Claude Desktop) and shows the change first. See https://agentmart.dev/cli.
Get the weekly diff
The weekly diff: one email a week with new agent tools, notable updates and grade changes, plus security alerts for tools you follow. Double opt-in, one-click unsubscribe.
About
Use cases: documents, spreadsheets, presentations, writing
Reviews
Write a reviewNo reviews yet. Installed it? Reviews come from verified installers only. How reviews work
Permissions
What this skill can do and what it asks for, from its SKILL.md. Checked Oct 25, 2026.
- Tools
- No tools found
- Secrets
- None asked for
- Install scripts
- None found
Network hosts it talks to 1
codeload.github.com· found in install command
Files it touches
~/.claude/skills/office-automation
What's inside
- Skill name
office-automation- Description
- Drive Microsoft Excel, Word and PowerPoint on this computer for real — create and edit workbooks with formulas and formatting, write documents with headings/tables/images, build slide decks, read existing files, export to PDF — through Office's own COM automation from run_command (Windows). Use whenever the user asks for a spreadsheet, a report, a deck, a .xlsx/.docx/.pptx, "open Excel and…", "put this in Word", or to read/update an existing Office file. Falls back to plain files when Office is not installed.
- License
- AGPL-3.0
- Instructions
- 104 lines in SKILL.md · view on GitHub
Agent Skills spec issues
- body: contains an absolute path from the author's machine
Files (4)
- SKILL.md
- excel.md · reference/
- powerpoint.md · reference/
- word.md · reference/
SKILL.md (first lines)
Office is scripted through its COM automation from PowerShell, which run_command already runs on
Windows. The result is the real application producing a real file — formulas calculate, styles
apply, the file opens in Office exactly as it would if a person had made it. Nothing to install.
The three recipes below are also in reference/excel.md, reference/word.md and reference/powerpoint.md
(use_skill with `file`). **Use PowerShell + COM as written. Do not switch to python/openpyxl/win32com** —
they may not be installed, and a command that printed nothing proves nothing.
Rules that keep it reliable:
- Check once per session: `Get-Command excel` is not enough — try `New-Object -ComObject Excel.Application`
in a try/catch. If it fails, Office is not installed: write CSV / Markdown / HTML instead and say so.
- Always `$app.Visible = $false; $app.DisplayAlerts = $false`, always `Close`/`Quit` in a `finally`, and
`ReleaseComObject` — a leaked Excel process keeps the file locked.
- Save with an explicit format code: xlsx `51`, xlsm `52`, docx `16` (wdFormatXMLDocument), pdf from Word
`17`, pptx `24`, pdf from PowerPoint `32`. Paths must be absolute.
- Put the whole script in ONE run_command as a here-string (`@' … '@`), never line by line.
- Build content from real data: read the source (a CSV, the codebase, a web page) first; never invent
numbers. If the user must supply a value, leave a clearly marked cell and tell them.
- Every script ends by printing something checkable (`"saved $out …"` plus a value read back). If the
output is empty or shows an error, the file was NOT made — say so and fix it; never report success
you did not see.
- When the file is written and checked, call **deliver_file** with its path and a one-line note: it
becomes a card in the chat (Open · Show in folder) and stays in the history. Do this for every file
you produce — workbook, document, deck, PDF, CSV.
## Excel — new workbook with data, formulas, formatting
```powershell
$out = "C:\Users\me\Documents\leads.xlsx"
$x = New-Object -ComObject Excel.Application; $x.Visible = $false; $x.DisplayAlerts = $false
try {
$wb = $x.Workbooks.Add(); $ws = $wb.Worksheets.Item(1); $ws.Name = "Leads"
$rows = @(@("Company","Contact","Title","Score"), @("Acme","Ravi","CTO",82), @("Globex","Priya","Head of Eng",74))
for ($r=0; $r -lt $rows.Count; $r++) { for ($c=0; $c -lt $rows[$r].Count; $c++) { $ws.Cells.Item($r+1,$c+1) = $rows[$r][$c] } }
$ws.Cells.Item($rows.Count+1, 4).Formula = "=AVERAGE(D2:D$($rows.Count))"
$ws.Range("A1:D1").Font.Bold = $true
$ws.Range("A1:D1").Interior.Color = 0xEEEEEE # BGR as int; 0xEEEEEE = light grey
$ws.Columns.Item("A:D").AutoFit() | Out-Null
$ws.ListObjects.Add(1, $ws.Range("A1:D$($rows.Count)"), $null, 1) | Out-Null # a real table
$wb.SaveAs($out, 51)
"saved $out avg=" + $ws.Cells.Item($rows.Count+1,4).Value2
} finally { if ($wb) { $wb.Close($false) }; $x.Quit(); [Runtime.InteropServices.Marshal]::ReleaseComObject($x) | Out-Null }
```
Read an existing workbook: `$wb = $x.Workbooks.Open($path)`; a range to CSV-like text:
`$ws.UsedRange.Value2` (2-D array). Charts: `$ch = $ws.Shapes.AddChart2(201, 51).Chart; $ch.SetSourceData($ws.Range("A1:B10"))`
(51 = clustered column, 4 = line, 5 = pie). Number formats: `$ws.Range("D2:D50").NumberFormat = "#,##0.00"`.
## Word — a document with headings, paragraphs, a table, an image, export to PDF
```powershell
$out = "C:\Users\me\Documents\report.docx"
$w = New-Object -ComObject Word.Application; $w.Visible = $false; $w.DisplayAlerts = 0
try {
$d = $w.Documents.Add(); $s = $w.Selection
$s.Style = "Title"; $s.TypeText("Q3 Report"); $s.TypeParagraph()
$s.Style = "Heading 1"; $s.TypeText("Summary"); $s.TypeParagraph()
$s.Style = "Normal"; $s.TypeText("Revenue grew 24%, entirely from enterprise renewals."); $s.TypeParagraph()
$t = $d.Tables.Add($s.Range, 3, 2); $t.Borders.Enable = $true
$t.Cell(1,1).Range.Text = "Metric"; $t.Cell(1,2).Range.Text = "Value"
$t.Cell(2,1).Range.Text = "Revenue"; $t.Cell(2,2).Range.Text = "₹4.2 Cr"
$t.Cell(3,1).Range.Text = "Churn"; $t.Cell(3,2).Range.Text = "2.1%"
$s.EndKey(6) | Out-Null; $s.TypeParagraph()
# $s.InlineShapes.AddPicture("C:\path\chart.png") | Out-Null
$d.SaveAs([ref]$out, [ref]16)
$d.SaveAs([ref]($out -replace "\.docx$", ".pdf"), [ref]17) # PDF beside it
"saved $out words=" + $d.Words.Count
} finally { if ($d) { $d.Close(0) }; $w.Quit(); [Runtime.InteropServices.Marshal]::ReleaseComObject($w) | Out-Null }
```
Read a document's text: `$d = $w.Documents.Open($path); $d.Content.Text`. Find/replace:
`$f = $d.Content.Find; $f.Execute("{{name}}", $false, $false, $false, $false, $false, $true, 1, $false, "Ravi", 2)`.
## PowerPoint — a deck from a list of slides
```powershell
$out = "C:\Users\me\Documents\deck.pptx"
$p = New-Object -ComObject PowerPoint.Application
try {
$pres = $p.Presentations.Add(0) # 0 = msoFalse: no window
$slides = @(@("Nutaan Code","Build, design, ship — one key"), @("The problem","Every tool needs its own setup"), @("Close","nutaan.com"))
$i = 1
foreach ($sl in $slides) {
$layout = if ($i -eq 1) { 1 } else { 2 } # 1 title, 2 title+content
$s = $pres.Slides.Add($i, $layout)
$s.Shapes.Item(1).TextFrame.TextRange.Text = $sl[0]
$s.Shapes.Item(2).TextFrame.TextRange.Text = $sl[1]
$i++
}
$pres.SaveAs($out, 24)
"saved $out slides=" + $pres.Slides.Count
} finally { if ($pres) { $pres.Close() }; $p.Quit(); [Runtime.InteropServices.Marshal]::ReleaseComObject($p) | Out-Null }
```
PowerPoint's `Presentations.Add(0)` fails on some installs when no window is allowed; if it throws,
use `Add()` and set `$p.WindowState = 2` (minimised).
## When to design instead
A document that is meant to *look* designed — a brochure, a proposal, a one-pager, a deck with a
visual world — is Design canvas work (kinds Document / Slide deck), which exports PDF and images.
Office automation is for files people will keep editing in Excel, Word or PowerPoint, and for data.From Tecosys/Nutaan-Code, AGPL-3.0.
More from Tecosys/Nutaan-Code
- 0.547score
api-security-testing
Tecosys
Security-test a REST, GraphQL, or gRPC API — enumerate endpoints from an OpenAPI/GraphQL/Postman schema (or by crawling), then actually exploit the…
SkillBFreshness: B★ 1Claude Code +9 - 0.547score
auth-testing
Tecosys
Test authentication, session, and access control on an authorized target — the login/admin bypass steps of a penetration test.
SkillBFreshness: B★ 1Claude Code +9 - 0.547score
owasp-top-10-testing
Tecosys
Test an application against the OWASP Top 10 — attempt real exploits for each category of the current OWASP Top 10:2025 (broken access control including SSRF…
SkillBFreshness: B★ 1Claude Code +9 - 0.547score
ci-security-scanning
Tecosys
Add automated security scanning to CI/CD — GitHub Actions, GitLab CI, or any pipeline — so every pull request is checked for vulnerabilities before it merges…
SkillBFreshness: B★ 1Claude Code +9 - 0.547score
fix-security-vulnerabilities
Tecosys
Fix security vulnerabilities found in a pentest or code review — triage by severity, patch the root cause rather than the symptom, and re-run the exploit to…
SkillBFreshness: B★ 1Claude Code +9 - 0.547score
impeccable
Tecosys
The taste layer for every interface Nutaan Code designs or builds — websites, landing pages, dashboards, product UI, app screens, components, forms…
SkillBFreshness: B★ 1Claude Code +9 - 0.547score
nutaan-design
Tecosys
How Nutaan Code turns a request into a design — reading what the user actually asked for (their words, any screenshots or images they attached, the project…
SkillBFreshness: B★ 1Claude Code +9 - 0.547score
osint-recon
Tecosys
Perform open-source intelligence (OSINT) reconnaissance on domains, hosts, usernames, emails, or organizations.
SkillBFreshness: B★ 1Claude Code +9 - 0.547score
outreach
Tecosys
Run an outreach campaign end to end from one instruction — define the ICP, find the people (a list the user gives, a search, or LinkedIn in the browser)…
SkillBFreshness: B★ 1Claude Code +9 - 0.547score
application-security-testing
Tecosys
Application security testing (AppSec) across a whole product — decide which asset needs which test (source code, running web app, API, CI pipeline), run it…
SkillBFreshness: B★ 1Claude Code +9 - 0.547score
penetration-testing
Tecosys
Run an authorized penetration test end to end — recon, mapping, exploitation, validation, and reporting.
SkillBFreshness: B★ 1Claude Code +9 - 0.547score
find-security-vulnerabilities-in-code
Tecosys
Find security vulnerabilities in a codebase or repository — a white-box security review that reads the source, reasons about the actual data flow and…
SkillBFreshness: B★ 1Claude Code +9
Signals
- Stars
- 1
- Forks
- 1
- Open issues
- 0
- Last commit (this folder)
- Sep 20, 2026 (1 month ago)
- Last release
- Sep 20, 2026 (1 month ago)
From GitHub (fetched Oct 24, 2026).
Details
- License
- AGPL-3.0
- Repository
- github.com/Tecosys/Nutaan-Code
- First seen
- Oct 24, 2026
- Last checked
- Oct 24, 2026
- Source
- GitHubgithub-graphql
More from Tecosys
- 0.547score
api-security-testing
Tecosys
Security-test a REST, GraphQL, or gRPC API — enumerate endpoints from an OpenAPI/GraphQL/Postman schema (or by crawling), then actually exploit the…
SkillBFreshness: B★ 1Claude Code +9 - 0.547score
find-security-vulnerabilities-in-code
Tecosys
Find security vulnerabilities in a codebase or repository — a white-box security review that reads the source, reasons about the actual data flow and…
SkillBFreshness: B★ 1Claude Code +9 - 0.547score
ci-security-scanning
Tecosys
Add automated security scanning to CI/CD — GitHub Actions, GitLab CI, or any pipeline — so every pull request is checked for vulnerabilities before it merges…
SkillBFreshness: B★ 1Claude Code +9 - 0.547score
auth-testing
Tecosys
Test authentication, session, and access control on an authorized target — the login/admin bypass steps of a penetration test.
SkillBFreshness: B★ 1Claude Code +9 - 0.547score
owasp-top-10-testing
Tecosys
Test an application against the OWASP Top 10 — attempt real exploits for each category of the current OWASP Top 10:2025 (broken access control including SSRF…
SkillBFreshness: B★ 1Claude Code +9 - 0.547score
fix-security-vulnerabilities
Tecosys
Fix security vulnerabilities found in a pentest or code review — triage by severity, patch the root cause rather than the symptom, and re-run the exploit to…
SkillBFreshness: B★ 1Claude Code +9
Cite this page
office-automation skill. Agent Mart. https://agentmart.dev/skills/tecosys-office-automation (last updated 2026-10-24)