Agent skill

Report Writing

by GAIK-project in GAIK-project/gaik-toolkit

Converts scattered documents and media (recordings, notes, diagrams, PDFs, spreadsheets) into structured MS Word reports.

MITAuto-check passedDocuments & Office

Install Report Writing

skills CLI
$ npx skills add GAIK-project/gaik-toolkit --skill report-writing -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install GAIK-project/gaik-toolkit report-writing --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/GAIK-project/gaik-toolkit.git skills-src && mkdir -p .claude/skills && cp -r skills-src/implementation_layer/no-code-assets/agent-skills/skills/report-writing .claude/skills/report-writing && rm -rf skills-src

Use ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.

Claude Code skills documentation · loads skills from .claude/skills/

Facts

Skill name
report-writing
GitHub stars
100
Token cost
~4.9k tokens
SKILL.md length
2,058 words
Files
7
Skills in repo
15
Repo updated
First seen
Licence
MIT

At a glance

Converts scattered documents and media (recordings, notes, diagrams, PDFs, spreadsheets) into structured MS Word reports.

  • Works in 10 steps: Collect context → Validate folder structure (MCP… → Capability check (prevents Windows/Linux… → …
  • The user needs to create a report
  • SKILL.md covers When to Use, Inputs, Tooling Rules (Windows vs… and Workflow, plus 5 more sections
  • Runs Batch and Python scripts from its folder; calls pip and python

What it does

Report Writing is an agent skill from GAIK-project/gaik-toolkit. Converts scattered documents and media (recordings, notes, diagrams, PDFs, spreadsheets) into structured MS Word reports. Automatically infers appropriate sections from content or follows provided template/sample structure. Use when the user needs to create a report, summarize documents, consolidate materials, generate documentation, or create meeting notes.

Its SKILL.md is about 4.9k tokens, which your agent loads only when the skill is triggered. The skill folder holds 8 other files (for example `EVALUATION.md`, `README.md` and `reference/INPUT_FORMATS.md`).

It sits in Documents & Office, covering Word documents, Report writing and Excel spreadsheets. It works with Microsoft Word and Model Context Protocol. The repository describes itself as: Python toolkit providing reusable AI/ML utilities: schema extraction, structured outputs, and production-ready components. The licence is MIT.

When your agent uses it

  • The user needs to create a report
  • Summarize documents
  • Consolidate materials
  • Generate documentation

Example prompts

  • “Use the report-writing skill to convert scattered documents and media (recordings, notes, diagrams, PDFs, spreadsheets) into structured MS Word…”
  • “/report-writing”

Requirements

  • Python 3

Workflow steps

10 steps, taken from the step headings in SKILL.md.

  1. Collect context
  2. Validate folder structure (MCP filesystem only)
  3. Capability check (prevents Windows/Linux path loops for binaries)
  4. Inventory input files
  5. Transcribe recordings (gaik-transcriber MCP tool)
  6. Fuse Information
  7. 5: Analyze Content for Section Inference
  8. Check for Template and Sample Documents
  9. Generate the Deliverable
  10. Save and Present

What it can do on your machine

Read from SKILL.md and the folder at commit e66fcca. It shows what the files ask for, not the result of running them.

  • Tool permissions

    Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.

    From allowed-tools in the SKILL.md frontmatter.

  • Runs code

    Ships script files (Batch and Python), which the agent can run.

    Shell commands in SKILL.md call:

    • pip
    • python

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    No URLs in SKILL.md. Its commands use pip, which can reach the network depending on how they are called.

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names no API keys, tokens, secrets or passwords.

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

Report Writing loads about 4.9k tokens when it runs. Until then it costs about 94 tokens; SKILL.md has 2,058 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~94
When it runs · the whole SKILL.md, loaded when a task matches
~4.9k

Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.

Safety

Auto-check passed

The automated check found no risky patterns in SKILL.md.

Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.

SKILL.md

The full file from GAIK-project/gaik-toolkit at commit e66fcca, republished under its MIT licence (© GAIK-project). 2,058 words, ~4,854 tokens.

Download SKILL.mdSave it as .claude/skills/report-writing/SKILL.md (or your agent's skills folder). This skill also uses 6 other files; get the full folder from GitHub.
name
report-writing
description
Converts scattered documents and media (recordings, notes, diagrams, PDFs, spreadsheets) into structured MS Word reports. Automatically infers appropriate sections from content or follows provided template/sample structure. Use when the user needs to create a report, summarize documents, consolidate materials, generate documentation, or create meeting notes.

Report Writing

Converts scattered materials—audio/video recordings, handwritten notes, diagrams, digital notes, and supplementary documents—into a single, well-formatted MS Word report. The skill automatically infers appropriate sections from content signals or follows a provided template/sample structure.

It is designed to run in Claude Desktop with:

  • An MCP filesystem server (for listing/reading files and folders)
  • An MCP gaik-transcriber server (for transcribing audio/video recordings)

When to Use

Use this skill when:

  • User needs to create a report, summary, or documentation from source materials
  • User mentions "create a report", "generate documentation", "summarize documents"
  • User wants to consolidate multiple documents/media into a single structured deliverable
  • User has recordings, notes, images, or documents to process into a report
  • User needs meeting notes, meeting minutes, or meeting documentation
  • User provides a template or sample and wants content filled in
  • User asks to "write up" notes, "document this", or create a Word document from materials

Inputs

Required (at least one):

  • Audio/video recordings – transcribed using gaik-transcriber:transcribe_audio
  • Handwritten notes (scanned images) – interpreted visually
  • Digital notes (text files, markdown, etc.)
  • Diagrams/sketches/figures (images)
  • Source documents to synthesize

Optional:

  • Supplementary documents (PowerPoint slides, PDF documents, Excel files)
  • Output template (blank .docx with predefined headers, sections, logos)
  • Sample output document (.docx or .pdf) defining style, format, tone, and length

Required parameter:

  • input_folder: Path to the main input folder containing the required subfolder structure. If not provided, ask the user to specify it.

Required folder structure:

<input_folder>/
├── input_documents/     # Required: recordings, photos, notes, presentations, PDFs, etc.
├── templates/           # Optional: blank template with predefined headers, sections, logos
└── sample_documents/    # Optional: sample document defining style, format, tone, length

Tooling Rules (Windows vs Linux Path Safety)

Why this matters

On Windows, Claude Desktop + toolchains sometimes behave like they are in a POSIX shell, producing paths like /mnt/c/.... Meanwhile, your MCP servers may run native Windows Python, expecting C:\.... This mismatch can cause "file not found" or failing shell commands.

Strict rules
  1. Prefer MCP filesystem tools for file/folder operations Use the filesystem server for listing and reading files instead of shell commands.

  2. Avoid bash commands on Windows If you must run a command on Windows, prefer PowerShell.

  3. When calling gaik-transcriber, prefer Windows drive-letter paths on Windows Pass file paths like C:\Users\...\recording.m4a. If you only have a POSIX/WSL path (e.g., /mnt/c/...), convert it to a Windows path before calling the transcriber, or rely on the transcriber server's internal normalization (recommended).

  4. Never assume the environment is Linux Treat the runtime as OS-ambiguous and enforce the above rules to stay stable.

  5. Never do the following: NEVER run pip install, python -c, pdfplumber, or any ad-hoc parsing code for .pdf/.pptx/.xlsx.

NEVER use /mnt/user-data/uploads/... paths; only use paths returned by the MCP filesystem listing or the user-provided Windows folder.

If you are about to do any of the above, STOP and switch to the built-in PDF/PPTX/XLSX skills.

Workflow

Step 0 — Collect context

Ask (only if not provided):

  • Report title or purpose (optional but recommended)
  • Desired output format (Word document is default)
  • Any special focus or sections to emphasize
  • Target audience (if relevant)

Step 1 — Validate input folder structure and capabilities

If the user has not specified an input folder path, ask for it and confirm it contains input_documents/ (required).

1) Validate folder structure (MCP filesystem only)

Use the filesystem MCP tool to list:

  • <input_folder>
  • <input_folder>\input_documents (required)
  • <input_folder>\templates (optional)
  • <input_folder>\sample_documents (optional)

If input_documents/ is missing or empty, stop and ask the user to add the source materials there.

2) Capability check (prevents Windows/Linux path loops for binaries)

Purpose: decide upfront whether this environment can process binary files from a Windows folder without requiring the user to upload them.

Inventory binary files found in:

  • <input_folder>\input_documents
  • <input_folder>\templates
  • <input_folder>\sample_documents

Treat the following as binary (not safely readable via text tools):

  • .pdf, .pptx, .xlsx, .docx

Decision:

  • If ANY binary files exist and are ONLY in the Windows folder:
    • Assume you cannot process them directly unless you have a binary-capable tool.
    • The official Node filesystem MCP server supports reading text files and reading image/audio media, but does not guarantee generic binary reads for Office/PDF files.
    • Therefore:
      • If a dedicated MCP document-parser tool is available (recommended), use it for these files.
      • Otherwise, you MUST ask the user to upload/attach these binaries in Claude Desktop to process them with built-in PDF/PPTX/XLSX/DOCX skills.

If the user asks for "local-folder only" processing of PDF/PPTX/XLSX/DOCX:

  • Explain that this requires either:
    • a binary-capable filesystem MCP server (supports base64/binary reads), or
    • a Windows-native document-parser MCP server.

Continue with the core workflow (transcription + text notes + images) regardless of the binary handling outcome.

Step 2 — Inventory input files

From input_documents/, create a quick inventory:

  • Recordings (audio/video)
  • Images (handwritten notes, diagrams)
  • Text documents (notes, drafts, emails, etc.)
  • PDFs / slides (read text if possible; otherwise summarize)
Step 3 — Transcribe recordings (gaik-transcriber MCP tool)

For each audio/video file, call:

  • gaik-transcriber:transcribe_audio
    • file_path: full path to the recording
    • enhanced: false by default (true only if user asks for enhanced quality)

If transcription fails with "file not found":

  • Re-check the path style and ensure Windows drive-letter paths on Windows.
Step 4 - Images (Handwritten Notes, Diagrams, Sketches, Figures)

For each image file (.jpg, .jpeg, .png, .gif, .webp, .bmp, .tiff):

  1. View the image using the appropriate tool
  2. Interpret the image content (handwritten notes, diagrams, figures)
  3. Create a textual description capturing all relevant information
Step 5 - Notes

Read files directly (.txt, .md, .rtf). Use /mnt/skills/public/docx/SKILL.md for reading/writing .docx files.

Step 6 — Supplementary documents (.pdf, .pptx, .xlsx, .docx)

Goal: extract relevant information from supplementary documents WITHOUT ad-hoc parsing code and WITHOUT Windows/Linux path mismatches.

Non-negotiables (hard rules)
  • NEVER run cp, pip install, python -c, pdfplumber, soffice, pandoc, or any ad-hoc parsing commands to read .pdf/.pptx/.xlsx/.docx from Windows paths.
  • NEVER assume C:\... or /mnt/c/... is accessible inside a Linux sandbox.
  • NEVER invent upload paths (e.g., /mnt/user-data/uploads/...) unless the environment explicitly provides them.
  • Do not use the filesystem MCP server to "load built-in skill files." The filesystem server is for user-allowed directories, not Claude's internal skill library.
Decision tree

A) If the supplementary file is uploaded/attached in Claude Desktop

  • Use the corresponding built-in skill:

  • View /mnt/skills/public/docx/SKILL.md skill for reading and editing DOCX files.

  • View /mnt/skills/public/pdf/SKILL.md skill for reading PDF files.

  • View /mnt/skills/public/xlsx/SKILL.md skill for reading and editing XLSX files.

  • View /mnt/skills/public/pptx/SKILL.md skill for reading and editing PPTX files.

  • Extract only relevant content for the report (key data, findings, timelines, etc.).

  • Attribute extracted content by filename.

B) If the supplementary file is ONLY present in the Windows folder (discovered via filesystem:list_directory)

  1. Text-like files (.txt, .md, .csv, .json)
  • Read via filesystem read_text_file and extract relevant content.
  1. Binary files (.pdf, .pptx, .xlsx, .docx) — IMPORTANT
  • Do NOT attempt conversion or parsing via sandbox tools (pandoc/python/soffice/etc.).
  • If a dedicated MCP document-parser tool is available:
    • Call the parser using the Windows path and use returned extracted text/tables in synthesis.
  • Otherwise:
    • Ask the user to upload/attach the file(s) in Claude Desktop.
    • Continue processing what you can (transcripts, notes, images) and list the missing binaries under "Missing inputs".

Template + samples:

  • If templates/sample documents are .docx/.pdf/.pptx/.xlsx and are only on Windows disk:
    • Ask the user to upload them.
    • If not provided, proceed with a clean default structure.
Output handling
  • If supplementary binaries are unavailable (not uploaded, and no parser tool), clearly list them:
    • Missing inputs: <filename1>, <filename2>, ...
  • Produce the report using available evidence and a default format.
  • Do not block the entire workflow just because supplementary binaries are missing.
Step 7: Fuse Information

Combine all processed inputs into a single consolidated text block with clear separators:

=== TRANSCRIPTION: <filename> ===
<transcribed content>

=== HANDWRITTEN NOTES: <filename> ===
<interpreted content>

=== DIGITAL NOTES: <filename> ===
<note content>

=== DIAGRAM/FIGURE: <filename> ===
<description of diagram/figure>

=== SUPPLEMENTARY: <filename> ===
<extracted content>
Show full SKILL.md (852 more words)Show less
Step 7.5: Analyze Content for Section Inference

After fusing all content, analyze it to determine which sections to include in the report.

Content Signal Detection:

Content SignalInferred Section
Multiple speakers identified"Participants/Attendees" in header
Explicit decisions ("we decided", "agreed to", "the decision is", "going forward we will")"Decisions Made" section
Assigned tasks with owners ("[Name] will...", "Action:", "TODO:", "assigned to")"Action Items" table
Unresolved questions ("need to figure out", "TBD on", "question is")"Open Questions" section
Data/statistics present (numbers, percentages, measurements)"Data Summary" or "Findings" section
Recommendations mentioned ("recommend", "suggest", "should consider")"Recommendations" section
Timeline/dates discussed (specific dates, milestones, deadlines)"Timeline" or "Schedule" section
Risks/issues mentioned ("risk", "concern", "issue", "blocker", "problem")"Risks & Issues" section
Q&A pattern detected (question-answer exchanges)"Key Questions & Answers" section

Section inclusion rule: Only include sections where content signals are detected. Never create empty sections or placeholders.

Step 8: Check for Template and Sample Documents

Check the dedicated subfolders for template and sample:

Template (<input_folder>/templates/):

  • Look for a blank .docx file with predefined structure (headers, sections, logos)
  • If multiple files exist, use the first .docx file found

Sample (<input_folder>/sample_documents/):

  • Look for a .docx or .pdf file defining the required style, format, tone, and length
  • If multiple files exist, use the first document found

Priority order for format determination:

  1. Template provided: Use template structure exactly, fill in content
  2. Sample provided (no template): Mirror sample's sections, style, tone, and length
  3. Neither: Use content-inferred format (see Output Format section)
Step 9: Generate the Deliverable

Read the docx skill before creating the document:

view /mnt/skills/public/docx/SKILL.md

Then follow the docx skill's "Creating a new Word document" workflow to generate the output.

If template provided: Copy the template and fill in sections according to the template structure.

If sample provided (no template): Create a new document mirroring the sample's section structure and style.

If neither: Create a new document using the content-inferred output format below.

Step 10: Save and Present
  1. Save the document to the input_documents folder
  2. Use present_files to share with the user

Output Format (Dynamic - adapts to template, sample, or content)

When Template Provided
  • Copy template exactly
  • Fill placeholders with relevant content
  • Preserve all formatting, headers, logos
  • Do NOT add sections not in template
When Sample Provided (no template)
  • Extract section headings from sample
  • Mirror section order and structure
  • Match tone and approximate length
  • Do NOT add sections not in sample
When Neither (Content-Inferred Format)

Use this base structure, adding/removing sections based on content signals detected in Step 7.5:

REPORT
======

Title: [Extracted or user-provided title]
Date: [Extracted date or generation date]
Prepared by: [If identifiable, otherwise omit]
Participants: [If multiple speakers identified, otherwise omit]

---

SUMMARY
-------
[2-4 paragraph overview of all content. Keep factual and objective.
Cover main topics in order of importance.]

---

KEY POINTS
----------
- [Major point 1]
- [Major point 2]
- [Major point 3]
[Continue as needed, ordered by importance]

---

[CONDITIONAL SECTIONS - include only if content signals detected]

DECISIONS MADE
--------------
[Include only if explicit decisions found in content]
1. [Decision text]
   - Context: [brief context if available]

ACTION ITEMS
------------
[Include only if tasks with owners found in content]
| # | Action Item | Owner | Due Date | Priority |
|---|-------------|-------|----------|----------|
| 1 | [description] | [name] | [date] | [H/M/L] |

[If owner/due date not specified, mark as "TBD"]

OPEN QUESTIONS
--------------
[Include only if unresolved questions found in content]
1. [Question that was raised but not resolved]

DATA/FINDINGS
-------------
[Include only if data, statistics, or analysis results present]
[Summary of key data points and findings]

RECOMMENDATIONS
---------------
[Include only if recommendations/suggestions found in content]
1. [Recommendation]
   - Rationale: [brief explanation if available]

TIMELINE/SCHEDULE
-----------------
[Include only if dates, milestones, or deadlines discussed]
| Milestone | Date | Status |
|-----------|------|--------|

RISKS & ISSUES
--------------
[Include only if risks, concerns, or issues mentioned]
| Risk/Issue | Impact | Mitigation |
|------------|--------|------------|

---

NEXT STEPS
----------
[Include only if actionable follow-up items identified]
- [Action or follow-up 1]
- [Action or follow-up 2]

Guardrails

Do:

  • Extract information faithfully from provided inputs
  • Mark uncertain information as "TBD" or "unclear from source"
  • Preserve original terminology and names from the inputs
  • STRICTLY follow template/sample format when provided
  • Only include sections where relevant content exists in inputs

Do NOT:

  • Invent or hallucinate any information not present in inputs
  • Add content not mentioned in source materials
  • Make assumptions about data not explicitly stated
  • Include sections if no relevant information exists for them
  • Create empty sections with placeholder text like "None" or "N/A"

If information is missing:

  • For required fields: Mark as "TBD" or "Not specified in source materials"
  • For entire sections: Omit the section from the deliverable entirely
  • If critical inputs are missing: Inform the user what additional materials would help

Error handling:

  • If transcription fails: Report the error and continue with other inputs
  • If a file cannot be parsed: Log the issue and proceed with remaining files
  • If no usable inputs found: Ask the user to verify the folder path and file formats

Examples

Example 1: Standard Report with Multiple Inputs

User prompt: "Create a report from the materials in /home/user/projects/analysis"

Expected folder structure:

/home/user/projects/analysis/
├── input_documents/
│   ├── interview-recording.mp4
│   ├── whiteboard-photo.jpg
│   └── my-notes.txt
├── templates/           # (empty or absent)
└── sample_documents/    # (empty or absent)

Expected behavior:

  1. Validates folder structure, finds input_documents/ with 3 files
  2. Transcribes recording using gaik-transcriber
  3. Interprets whiteboard photo
  4. Reads digital notes
  5. Fuses all content with separators
  6. Analyzes content for section signals
  7. Generates Word document with applicable sections only
  8. Saves to outputs and presents to user
Example 2: With Template

User prompt: "Use the template to create a report from the files in /reports/quarterly"

Expected folder structure:

/reports/quarterly/
├── input_documents/
│   ├── recording.m4a
│   └── data.xlsx
├── templates/
│   └── company-template.docx
└── sample_documents/    # (empty or absent)

Expected behavior:

  1. Finds template in templates/ subfolder
  2. Processes all materials in input_documents/
  3. Copies the template and fills in content
  4. Preserves template's structure, logos, and headers
  5. Presents formatted document
Example 3: With Sample (Style Guide)

User prompt: "Create a document like the sample from /docs/client-report"

Expected folder structure:

/docs/client-report/
├── input_documents/
│   ├── call-recording.m4a
│   └── notes.md
├── templates/           # (empty or absent)
└── sample_documents/
    └── previous-report.docx

Expected behavior:

  1. Finds sample in sample_documents/ subfolder
  2. Analyzes sample's sections, style, tone, and length
  3. Processes all materials in input_documents/
  4. Creates document mirroring sample's structure
  5. Matches sample's tone and approximate length
Example 4: Minimal Input

User prompt: "I just have a voice memo - can you create a summary? The folder is /recordings/client-call"

Expected folder structure:

/recordings/client-call/
├── input_documents/
│   └── voice-memo.m4a
├── templates/           # (empty or absent)
└── sample_documents/    # (empty or absent)

Expected behavior:

  1. Validates structure, finds single audio file in input_documents/
  2. Transcribes the audio file
  3. Analyzes content for section signals
  4. Generates deliverable with applicable sections only
  5. Omits sections where no information exists

References

Following these reference documents for detailed handling for each input file type, and guidance on each deliverable section.

  • reference/INPUT_FORMATS.md – Detailed handling for each input file type
  • reference/OUTPUT_SECTIONS.md – Guidance on each deliverable section

© GAIK-project, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

SKILL.md and 6 other files in implementation_layer/no-code-assets/agent-skills/skills/report-writing of GAIK-project/gaik-toolkit.

  • SKILL.md
  • EVALUATION.md
  • README.md
  • reference/INPUT_FORMATS.md
  • reference/OUTPUT_SECTIONS.md
  • setup.bat
  • transcription-MCP/server.py

Open the folder on GitHubat commit e66fcca

Compare with similar skills

Report Writing next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.

Report Writing compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Report Writing this skillGAIK-project/gaik-toolkit100—~4.9kAutomated safety check: PassMIT
Nutrient Document Processingaffaan-m/ECC276k4 repos~1.5kAutomated safety check: PassMIT
Nutrient Document Processingaffaan-m/ECC276k3 repos~1.3kAutomated safety check: PassMIT
Nutrient Document Processingaffaan-m/ECC276k2 repos~1.3kAutomated safety check: PassMIT
Nutrient Document Processingxu-xiang/everything-claude-code-zh2k—~1.3kAutomated safety check: PassMIT
Nutrient Document Processingxu-xiang/everything-claude-code-zh2k—~1.3kAutomated safety check: PassMIT

Similar skills

  • Process, convert, OCR, extract, redact, sign, and fill documents using the Nutrient DWS API.

    276k GitHub starsUsed in 4 repos~1.5k tokens
    Documents & OfficeAuto-check passed
  • 使用Nutrient DWS API处理、转换、OCR识别、提取、编辑、签名和填写文档。支持PDF、DOCX、XLSX、PPTX、HTML和图像格式。

    276k GitHub starsUsed in 3 repos~1.3k tokens
    Documents & OfficeAuto-check passed
  • Nutrient DWS API を使用してドキュメントの処理、変換、OCR、抽出、編集、署名、フォーム入力を行います。PDF、DOCX、XLSX、PPTX、HTML、画像に対応しています。

    276k GitHub starsUsed in 2 repos~1.3k tokens
    Documents & OfficeAuto-check passed
  • Nutrient Document Processing

    xu-xiang/everything-claude-code-zh

    使用 Nutrient DWS API 进行文档处理、转换、OCR、提取、脱敏、签名以及表单填充。支持 PDF、DOCX、XLSX、PPTX、HTML 和图像格式。

    2k GitHub stars~1.3k tokensUpdated 7 mo ago
    Documents & OfficeAuto-check passed
  • Nutrient Document Processing

    xu-xiang/everything-claude-code-zh

    使用 Nutrient DWS API 处理、转换、OCR、提取、脱敏、签名和填充文档。支持 PDF、DOCX、XLSX、PPTX、HTML 和图像。

    2k GitHub stars~1.3k tokensUpdated 7 mo ago
    Documents & OfficeAuto-check passed
  • Document Generation

    automateyournetwork/netclaw

    Generate Word (.docx), Excel (.xlsx) and PowerPoint (.pptx) documents and fill existing PDF forms, from real NetClaw data, with per-element provenance and no fabrication.

    676 GitHub stars~1.9k tokensUpdated yesterday
    Documents & OfficeAuto-check passed

More from GAIK-project/gaik-toolkit

All 15 skills in this repo
  • Brief To Slides

    GAIK-project/gaik-toolkit

    Builds a visual, editable PowerPoint (.pptx) deck with speaker-ready notes, exact timing, citations and a layout-checked design from a topic, an audience and a length, using only the user's own…

    100 GitHub stars~2.8k tokensUpdated yesterday
    Auto-check passed
  • Gaik Toolkit

    GAIK-project/gaik-toolkit

    GAIK toolkit overview and reference. An agent skill from GAIK-project/gaik-toolkit.

    100 GitHub stars~5.7k tokensUpdated yesterday
    Auto-check passed
  • Extracting Structured Data

    GAIK-project/gaik-toolkit

    Extracts structured data — fields, tables, line items — out of documents into a validated schema using the gaik toolkit, and designs schemas that stay inside provider limits and produce checkable…

    100 GitHub stars~3.2k tokensUpdated yesterday
    Auto-check passed
  • Parsing Documents

    GAIK-project/gaik-toolkit

    Converts PDFs, scans, and Word documents into text or markdown with the gaik toolkit's parsers, choosing the parser that will not silently destroy the structure the downstream task depends on.

    100 GitHub stars~2.3k tokensUpdated yesterday
    Auto-check passed
  • Searching Documents

    GAIK-project/gaik-toolkit

    Builds and debugs retrieval with the gaik toolkit — PgVectorStore, Ranker, FinnishTextProcessor, RelevanceGate — as hybrid search: pgvector similarity plus Postgres full-text, fused by rank, and the…

    100 GitHub stars~4.2k tokensUpdated yesterday
    Auto-check passed
  • Construction Diary Creation

    GAIK-project/gaik-toolkit

    Extracts structured data from Finnish construction site daily diary audio recordings (Työmaapäiväkirja) and creates a formatted Word document with extracted fields.

    100 GitHub stars~3.6k tokensUpdated yesterday
    Auto-check passed

Questions about Report Writing

What does Report Writing do?

Converts scattered documents and media (recordings, notes, diagrams, PDFs, spreadsheets) into structured MS Word reports. Report Writing is an agent skill from GAIK-project/gaik-toolkit. Converts scattered documents and media (recordings, notes, diagrams, PDFs, spreadsheets) into structured MS Word reports.

When should I use Report Writing?

Report Writing fits situations like: the user needs to create a report; summarize documents; consolidate materials; generate documentation.

How do I install Report Writing in Claude Code?

Run `npx skills add GAIK-project/gaik-toolkit --skill report-writing -a claude-code`. Or copy the skill folder (implementation_layer/no-code-assets/agent-skills/skills/report-writing in GAIK-project/gaik-toolkit) into .claude/skills/report-writing in your project. Claude Code loads it when a task matches its description.

How do I install Report Writing in Codex?

Run `npx skills add GAIK-project/gaik-toolkit --skill report-writing -a codex`. Or copy the skill folder (implementation_layer/no-code-assets/agent-skills/skills/report-writing in GAIK-project/gaik-toolkit) into .agents/skills/report-writing in your project. Codex loads it when a task matches its description.

Can I use Report Writing in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add GAIK-project/gaik-toolkit --skill report-writing -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/report-writing, .gemini/skills/report-writing, .github/skills/report-writing and .opencode/skills/report-writing in your project.

What does Report Writing need to run?

Going by SKILL.md and its folder, Report Writing needs Windows cmd and Python for the scripts in its folder and the command-line tools its instructions call (pip and python). Our summary lists: Python 3.

Does Report Writing access the network?

SKILL.md contains no URLs. Its commands use pip, which can reach the network depending on how they are called. This is read from the text; nothing was executed.

Is Report Writing safe to install?

Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.

What licence does Report Writing use?

Report Writing is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Report Writing use?

About 4.9k tokens (SKILL.md is roughly 19k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.

What are the alternatives to Report Writing?

Skills that share tags, products or a category with Report Writing: Nutrient Document Processing (affaan-m/ECC, 276k stars), Nutrient Document Processing (affaan-m/ECC, 276k stars), Nutrient Document Processing (affaan-m/ECC, 276k stars) and Nutrient Document Processing (xu-xiang/everything-claude-code-zh, 2k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Report Writing?

GAIK-project (a GitHub organization) maintains it in GAIK-project/gaik-toolkit, which has 100 GitHub stars. The repository holds 15 skills in this directory. The repository was last updated on October 9, 2026.

Source: GAIK-project/gaik-toolkit on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.