Sample Strands Agent with Amazon Bedrock AgentCore is an end-to-end reference architecture for building multi-agent chatbots on AWS. Teams use it to explore agent orchestration, tool execution, memory, browser automation, and agent-to-agent collaboration with Strands Agents and Bedrock AgentCore.
Getting it into your agent
One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.
npx agentmods add skills/aws-samples/sample-strands-agent-with-agentcore/word-documentsnpx skills add aws-samples/sample-strands-agent-with-agentcore --skill word-documentsgit clone --depth 1 https://github.com/aws-samples/sample-strands-agent-with-agentcoreWrote this? Show the measurements
A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.
[](https://agentmods.dev/skills/aws-samples/sample-strands-agent-with-agentcore/word-documents)<a href="https://agentmods.dev/skills/aws-samples/sample-strands-agent-with-agentcore/word-documents"><img src="https://agentmods.dev/badge/skills/aws-samples/sample-strands-agent-with-agentcore/word-documents.svg" alt="Measured on agentmods" height="20"></a>What it costs to keep this loaded
Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.
| Model | Per session | Once invoked |
|---|---|---|
| Fable 5 | $0.00013 | $0.01471 |
| Opus 5 | $0.00006 | $0.00736 |
| Sonnet 5 | $0.00003 | $0.00294 |
| Haiku 4.5 | $0.00001 | $0.00147 |
Grade A, and why
word-documents scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 5d ago.
A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.
Nothing flagged
None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.
How it starts
The opening of the file, as written. The whole thing — 158 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Word Documents
When to Use
| Tool | Use When |
|---|---|
create_word_document |
User asks to create/generate a NEW Word document |
modify_word_document |
User asks to edit/update an EXISTING document or add content |
list_my_word_documents |
User asks what documents are available |
read_word_document |
User wants to download a document or read its comments |
preview_word_page |
Check actual page appearance (charts, images, complex layouts) |
Workflow
- Before modifying: call
preview_word_pageto check current layout. - After creation/modification: call
preview_word_pageto verify. - Run tools sequentially (never parallel) to prevent file race conditions.
Page Setup
python-docx defaults to A4. For US Letter size:
from docx.shared import Inches
section = doc.sections[0]
section.page_width = Inches(8.5)
section.page_height = Inches(11)
# Set 1-inch margins
section.top_margin = Inches(1)
section.bottom_margin = Inches(1)
section.left_margin = Inches(1)
section.right_margin = Inches(1)
Professional Formatting
- Font: Arial as default. Set via
style.font.name = 'Arial'. - Headings: Use proper heading styles for TOC compatibility:
doc.add_heading('Title', level=1)ordoc.add_paragraph(style='Heading 1'). - Bullet lists:
doc.add_paragraph(style='List Bullet'). NEVER insert unicode bullet characters. - Numbered lists:
doc.add_paragraph(style='List Number'). - Always preserve existing styles, fonts, and colors when modifying.
Images
from docx.shared import Inches
paragraph = doc.add_paragraph()
run = paragraph.add_run()
run.add_picture('file.png', width=Inches(6))
Code Rules
- The document is pre-initialized as
doc = Document()(create) or loaded asdoc(modify). Do NOT includeDocument()ordoc.save(). - Available libraries: python-docx, matplotlib, pandas, numpy (seaborn NOT available)
- Use
add_paragraph(style='List Bullet')for bullet lists. NEVER insert unicode bullet characters. - NEVER use
paragraph.text = 'new text'(destroys formatting). Use runs instead. - Filenames: letters, numbers, hyphens only.
What this file has done since we first saw it
Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.
- 5d ago First seen · 158 lines · 13 tokens per session scan A cbd5a7ac3723
word-documents is a skill published in the GitHub repository aws-samples/sample-strands-agent-with-agentcore (192 stars, last pushed yesterday), licensed MIT. It adds 13 tokens to every session and 1,471 once invoked, about $0.0001 per session on Opus 5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-30.
Other skills, from other repositories
gog-workspace
Use the gog CLI for Google Workspace tasks across Gmail, Calendar, Drive, Docs, Sheets, Contacts, and related services. Use when the user asks to check email, search Gmail, inspect calendar events, find Drive files, read Docs or Sheets, or manage Google Workspace data through gog.
pandoc
Convert documents between formats (Markdown, DOCX, HTML, PDF, RST, EPUB, LaTeX) via the pandoc CLI. Use to transform a document from one format to another.
Manipulate PDF files — merge, split, extract pages/text, PDF↔images, OCR, info — via the qpdf / poppler / ocrmypdf CLIs. Use to combine, slice, convert, or OCR PDFs.
xlsx
Create and edit Excel .xlsx workbooks (sheets, cells, formulas, formatting) via Python openpyxl. Use to generate spreadsheets or write/update cells. Reading is via os.fs.readdocument.
article-exporter
Export any web article to a local Obsidian-ready Markdown directory. Fetches page content via actionbook CLI, downloads images locally, rewrites image references to relative paths, and optionally translates the article using AI. Produces a self-contained folder with README.md, images/, and an index.md navigation file.
user-file-ops
Simple operations on user-provided text files including summarization.