Use Cases¶
Real-world scenarios showing how zhi CLI fits into your workflow.
Table of Contents¶
- I. Daily Office
- 1.1 Summarize Meeting Minutes
- 1.2 Translate Documents
- 1.3 Generate Weekly/Daily Reports
- II. Data Extraction & Comparison
- 2.1 Compare Two Document Versions
- 2.2 Extract Key Figures from Financial Reports
- 2.3 Clean Up a Contact List
- 2.4 Cross-Document Summary
- III. Content Creation
- 3.1 Article Summary and Rewrite
- 3.2 Multilingual Content Translation
- 3.3 Markdown Formatting
- IV. Data Processing
- 4.1 PDF/Image OCR Text Extraction
- 4.2 CSV/Excel Data Cleanup
- 4.3 Web Content Scraping and Analysis
- V. Custom Skills
- 5.1 Contract Review Skill
- 5.2 Email Draft Skill
- 5.3 Data Analysis Skill
- VI. Developer Workflows
- 6.1 Code Review with Custom Skill
- 6.2 Generate Test Data
- 6.3 Summarize Git History
- 6.4 Cost-Effective Batch Processing
I. Daily Office¶
1.1 Summarize Meeting Minutes¶
Scenario: After a product review meeting, you have a lengthy transcript and need to produce a concise summary to share with the team.
Steps:
Use the built-in summarize skill:
zhi reads the file and generates a structured summary, saving it to zhi-output/:
[file_read] Reading: product-review-notes.txt (12.3KB)
[file_write] Writing: product-review-notes-summary.md (1.8KB)
File saved: zhi-output/product-review-notes-summary.md
Result: A Markdown summary containing key decisions, action items, and owners. Typically 10-20% of the original length.
For more specific instructions, use interactive mode:
1.2 Translate Documents¶
Scenario: You received a technical specification in English and need a Chinese translation for team review.
Steps:
Use the built-in translate skill:
The default target language is Chinese. For other directions:
Output:
[file_read] Reading: api-specification.md (8.5KB)
[file_write] Writing: api-specification-translated.md (9.2KB)
File saved: zhi-output/api-specification-translated.md
Result: A complete translation that preserves document structure (headings, code blocks, lists). Technical terms like API, JSON, and HTTP are kept in English.
1.3 Generate Weekly/Daily Reports¶
Scenario: Friday afternoon, you need a weekly report based on your work notes and Git history.
Steps:
$ zhi
You [approve]: Generate a weekly report from my work notes, including completed items, \
... in-progress items, and plans for next week
[file_read] Reading: weekly-notes.md (3.2KB)
→ Allow reading this file? (y/n) y
[file_write] Writing: weekly-report-2026-02-23.md (1.5KB)
→ Allow creating this file? (y/n) y
File saved: zhi-output/weekly-report-2026-02-23.md
Result: A formatted report organized into "Completed", "In Progress", and "Next Week" sections.
Combine with Git history using pipes:
$ git log --oneline --since="last monday" | zhi -c "Generate a work summary based on these Git commits"
II. Data Extraction & Comparison¶
2.1 Compare Two Document Versions¶
Scenario: A client sent a revised contract. You need to quickly identify all changes between versions.
Steps:
Use the built-in compare skill:
zhi compares both documents paragraph by paragraph:
[file_read] Reading: contract-v1.md (6.2KB)
[file_read] Reading: contract-v2.md (6.8KB)
[file_write] Writing: contract-diff-report.md (2.5KB)
File saved: zhi-output/contract-diff-report.md
Result: A structured diff report showing added, removed, and modified content with a comparison table highlighting specific changes and their locations.
2.2 Extract Key Figures from Financial Reports¶
Scenario: You received a quarterly financial report as a PDF and need to extract key metrics for management.
Steps:
$ zhi -c "Read quarterly-report.pdf, extract revenue, profit, and YoY growth figures, save as a spreadsheet"
[ocr] Recognizing: quarterly-report.pdf (4.5MB)
[file_write] Writing: financial-metrics.xlsx (3.2KB)
File saved: zhi-output/financial-metrics.xlsx
Result: Key financial data extracted from the PDF and organized into a structured table with calculated growth percentages.
2.3 Clean Up a Contact List¶
Scenario: You have a messy CSV of client contacts with duplicates and inconsistent formatting.
Steps:
[file_read] Reading: contacts.csv (8.6KB)
[file_write] Writing: contacts-cleaned.xlsx (5.1KB)
File saved: zhi-output/contacts-cleaned.xlsx
Result: Duplicates removed (matched by name + phone), formatting unified, and records sorted alphabetically by company name. The original CSV is untouched.
2.4 Cross-Document Summary¶
Scenario: You have multiple project progress reports and need a consolidated overview.
Steps:
$ zhi
You [approve]: Read project-A-status.md, project-B-status.md, and project-C-status.md. \
... Extract completion progress, risks, and next steps from each, then produce a summary report
[file_read] Reading: project-A-status.md (3.5KB)
[file_read] Reading: project-B-status.md (4.1KB)
[file_read] Reading: project-C-status.md (2.8KB)
[file_write] Writing: project-summary.md (3.6KB)
File saved: zhi-output/project-summary.md
Result: A consolidated report with a progress overview table, risk items, and action plans extracted from all three reports.
III. Content Creation¶
3.1 Article Summary and Rewrite¶
Scenario: You need to condense a long article or rewrite it for a different audience.
Steps:
Generate a summary:
Rewrite for a different audience:
$ zhi
You [approve]: Read tech-article.md and rewrite it in plain language for a non-technical audience
[file_read] Reading: tech-article.md (6.8KB)
[file_write] Writing: tech-article-simplified.md (5.2KB)
File saved: zhi-output/tech-article-simplified.md
Result: A rewritten version with adjusted language and technical depth, preserving the core message. The original file is not modified.
3.2 Multilingual Content Translation¶
Scenario: Your product needs bilingual release notes published simultaneously.
Steps:
$ zhi -c "Read changelog-v2.5.md, translate to English, keep Markdown formatting and version numbers"
[file_read] Reading: changelog-v2.5.md (2.1KB)
[file_write] Writing: changelog-v2.5-en.md (2.3KB)
File saved: zhi-output/changelog-v2.5-en.md
Result: An accurate, fluent translation with formatting fully preserved. Version numbers, code snippets, and variable names are left untranslated.
3.3 Markdown Formatting¶
Scenario: You have raw, unstructured notes that need to be formatted into proper Markdown.
Steps:
$ zhi
You [approve]: Read meeting-notes-raw.txt, organize into well-formatted Markdown with headings and lists
[file_read] Reading: meeting-notes-raw.txt (1.8KB)
[file_write] Writing: meeting-notes-formatted.md (2.0KB)
File saved: zhi-output/meeting-notes-formatted.md
Result: A clean Markdown file with proper heading hierarchy, ordered/unordered lists, and block quotes. Ready to paste into Notion, GitHub, or any Markdown-compatible platform.
IV. Data Processing¶
4.1 PDF/Image OCR Text Extraction¶
Scenario: You have a scanned contract PDF or a photo of a whiteboard that needs to be converted to editable text.
Steps:
Extract text from a PDF:
[ocr] Recognizing: contract-scan.pdf (3.2MB)
[file_write] Writing: contract-content.txt (8.5KB)
File saved: zhi-output/contract-content.txt
Extract text from an image:
Result: Text extracted from PDF or image files, cleaned up, and formatted as requested. Supports PDF, PNG, JPG, GIF, WEBP. Maximum file size: 20MB.
Batch processing:
$ zhi
You [approve]: Extract text from screenshot1.png and screenshot2.png, combine into a single document
4.2 CSV/Excel Data Cleanup¶
Scenario: You have a messy CSV that needs cleaning, aggregation, and conversion to Excel.
Steps:
[file_read] Reading: sales-data-raw.csv (15.6KB)
[file_write] Writing: sales-by-region.xlsx (4.8KB)
File saved: zhi-output/sales-by-region.xlsx
CSV-to-CSV processing also works:
Result: Data cleaned, aggregated, or transformed and saved in the requested format. Excel (.xlsx) and Word (.docx) output are supported out of the box.
4.3 Web Content Scraping and Analysis¶
Scenario: You need to pull information from a web page and organize it into a report.
Steps:
$ zhi
You [approve]: Fetch https://example.com/tech-trends-2026, extract key points, and save as a summary
[web_fetch] Fetching: https://example.com/tech-trends-2026 (28.5KB)
[file_write] Writing: tech-trends-summary.md (2.1KB)
File saved: zhi-output/tech-trends-summary.md
Result: Main content extracted from the web page (ads and navigation stripped), organized into a structured summary. Web content is capped at 50KB.
Combine with translation:
V. Custom Skills¶
zhi lets you define reusable skills as YAML files. Once created, they work just like built-in features. Skills run on glm-4-flash, costing roughly 10% of interactive chat.
5.1 Contract Review Skill¶
Scenario: Your legal team needs a standardized checklist applied to every new contract.
Steps:
Let zhi create the skill:
$ zhi
You [approve]: Create a contract review skill that checks for: key clauses, \
... deadlines, liability limits, termination conditions, and payment terms
[skill_create] Creating skill: contract-review
→ Allow creating this skill? (y/n) y
Skill 'contract-review' created
Use the skill:
Result: A structured review report with pass/fail/attention status for each checklist item, plus specific recommendations.
Tip
zhi also ships with a built-in contract-review composite skill that chains analyze, compare, and proofread together. Use the built-in one for comprehensive reviews, or create a custom one tailored to your specific checklist.
5.2 Email Draft Skill¶
Scenario: You send multiple similar business emails daily and want to automate draft generation.
Steps:
$ zhi
You [approve]: Create an email draft skill that generates formal business emails from brief descriptions
[skill_create] Creating skill: email-draft
→ Allow creating this skill? (y/n) y
Skill 'email-draft' created
Use it:
$ zhi -c "Use the email-draft skill: notify client Wang about the project acceptance being postponed to next Wednesday"
Result: A properly formatted business email draft ready to copy into your email client.
5.3 Data Analysis Skill¶
Scenario: Every month you need to produce a sales analysis report in a fixed format.
Steps:
$ zhi
You [approve]: Create a monthly data analysis skill that reads CSV data, \
... calculates month-over-month growth, aggregates by dimension, \
... and outputs both a Markdown report and an Excel summary
Use it:
[file_read] Reading: january-sales.csv (25.6KB)
[file_write] Writing: monthly-report-2026-01.md (3.8KB)
[file_write] Writing: monthly-summary-2026-01.xlsx (5.2KB)
Files saved:
zhi-output/monthly-report-2026-01.md
zhi-output/monthly-summary-2026-01.xlsx
Result: A complete analysis report and Excel data table generated with a single command. Fixed format, consistent methodology, ready for management review.
VI. Developer Workflows¶
6.1 Code Review with Custom Skill¶
Scenario: You want a quick automated review of source code before committing.
Steps:
Create a code review skill:
name: code-review
description: Review source code and suggest improvements
model: glm-4-flash
system_prompt: |
You are an experienced code reviewer. Read the provided source code and
give actionable suggestions. Focus on:
- Code quality and readability
- Potential bugs or edge cases
- Performance issues
- Security concerns (injection, hardcoded secrets, etc.)
Output as structured markdown with severity levels.
tools:
- file_read
- file_write
max_turns: 10
input:
description: Source code file to review
args:
- name: file
type: file
required: true
output:
description: Code review report
directory: zhi-output
Run it:
Result: A structured review report with severity-tagged findings, ready to paste into a pull request comment.
6.2 Generate Test Data¶
Scenario: You need realistic test data for development or demos.
Steps:
$ zhi -c "Generate 50 rows of realistic test data for a user database: \
name (Chinese), email, phone (Chinese format), registration date (2024-2026), \
account status. Save as CSV."
Result: A CSV file with realistic, locale-appropriate test data. No real personal information is used.
6.3 Summarize Git History¶
Scenario: You need to write release notes or a changelog based on recent commits.
Steps:
$ git log --oneline --since="2026-02-01" | zhi -c "Organize these commits into a changelog grouped by category (features, fixes, chores)"
Result: A structured changelog with commits categorized and described in user-friendly language.
For a more detailed version:
$ git log --format="%h %s (%an, %ar)" --since="last month" | zhi -c "Write release notes for v2.5 based on these commits"
6.4 Cost-Effective Batch Processing¶
Scenario: You need to process a large number of files but want to keep costs down.
Cost comparison
Skills use glm-4-flash by default, which costs approximately 10% of GLM-5 chat pricing. For batch operations, this difference adds up significantly.
Strategy: Use skills instead of interactive chat for repetitive tasks:
# Process 20 documents at ~10% of chat cost
for f in docs/*.md; do
zhi run summarize "$f"
done
# Or use the daily-digest composite skill for a single combined report
zhi run daily-digest ./docs/
Cost breakdown example:
| Method | Model | Per-document cost | 20 documents |
|---|---|---|---|
| Interactive chat | GLM-5 | ~0.05 CNY | ~1.00 CNY |
| Skill execution | GLM-4-flash | ~0.005 CNY | ~0.10 CNY |
Skills are the preferred approach for any repeatable, file-based workflow.
Quick Reference¶
| Task | Command |
|---|---|
| Start interactive mode | zhi |
| One-shot question | zhi -c "your question" |
| Pipe input | cat file.txt \| zhi -c "summarize this" |
| Run a skill | zhi run <skill> [files...] |
| First-time setup | zhi --setup |
| Check version | zhi --version |
| Debug mode | zhi --debug |
Slash Commands in Interactive Mode¶
| Command | Description |
|---|---|
/help |
Show help |
/model glm-5 |
Switch to GLM-5 (more capable, higher cost) |
/model glm-4-flash |
Switch to GLM-4-flash (faster, cheaper) |
/auto |
Auto mode (skip tool confirmation prompts) |
/approve |
Approve mode (default, confirm each tool call) |
/think |
Enable thinking mode (GLM-5 only) |
/fast |
Disable thinking mode |
/run <skill> [file] |
Run a skill from interactive mode |
/skill list |
List installed skills |
/skill new |
Create a new skill |
/reset |
Clear conversation history |
/undo |
Undo the last exchange |
/usage |
Show token usage for the current session |
/exit |
Exit zhi |
Safety Reminders¶
- All file writes go to
zhi-output/-- your original files are never modified. - Shell commands always require manual confirmation, even in
/automode. - Destructive commands (
rm,mv, etc.) trigger extra warnings. - Catastrophic commands (
rm -rf /, etc.) are permanently blocked. - OCR files are limited to 20MB.
- Skill names only allow letters, digits, hyphens, and underscores.