Nutrient Document Processing
affaan-m/ECC
Process, convert, OCR, extract, redact, sign, and fill documents using the Nutrient DWS API.
Converts scattered documents and media (recordings, notes, diagrams, PDFs, spreadsheets) into structured MS Word reports.
$ npx skills add GAIK-project/gaik-toolkit --skill report-writing -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install GAIK-project/gaik-toolkit report-writing --agent claude-codeProject scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).
$ 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-srcUse ~/.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/
Install the "report-writing" agent skill from https://github.com/GAIK-project/gaik-toolkit/tree/main/implementation_layer/no-code-assets/agent-skills/skills/report-writing into .claude/skills/report-writing/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "report-writing", then confirm the skill loads.Claude Code copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$skill-installer install https://github.com/GAIK-project/gaik-toolkit/tree/main/implementation_layer/no-code-assets/agent-skills/skills/report-writingType this inside Codex. $skill-installer <name> installs a curated skill from openai/skills. The installer writes to $CODEX_HOME/skills (default ~/.codex/skills). Restart Codex if the skill does not show up.
$ npx skills add GAIK-project/gaik-toolkit --skill report-writing -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install GAIK-project/gaik-toolkit report-writing --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/GAIK-project/gaik-toolkit.git skills-src && mkdir -p .agents/skills && cp -r skills-src/implementation_layer/no-code-assets/agent-skills/skills/report-writing .agents/skills/report-writing && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "report-writing" agent skill from https://github.com/GAIK-project/gaik-toolkit/tree/main/implementation_layer/no-code-assets/agent-skills/skills/report-writing into .agents/skills/report-writing/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "report-writing", then confirm the skill loads.Codex copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add GAIK-project/gaik-toolkit --skill report-writing -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install GAIK-project/gaik-toolkit report-writing --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/GAIK-project/gaik-toolkit.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/implementation_layer/no-code-assets/agent-skills/skills/report-writing .cursor/skills/report-writing && rm -rf skills-srcUse ~/.cursor/skills/ instead of .cursor/skills for a personal install.
Cursor skills documentation · loads skills from .cursor/skills/, .agents/skills/, .claude/skills/, .codex/skills/
Install the "report-writing" agent skill from https://github.com/GAIK-project/gaik-toolkit/tree/main/implementation_layer/no-code-assets/agent-skills/skills/report-writing into .cursor/skills/report-writing/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "report-writing", then confirm the skill loads.Cursor copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gemini skills install https://github.com/GAIK-project/gaik-toolkit.git --path implementation_layer/no-code-assets/agent-skills/skills/report-writing--scope user (default) or --scope workspace; --path is the subfolder of the repo that holds the skill; --consent skips the security confirmation prompt.
$ npx skills add GAIK-project/gaik-toolkit --skill report-writing -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install GAIK-project/gaik-toolkit report-writing --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/GAIK-project/gaik-toolkit.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/implementation_layer/no-code-assets/agent-skills/skills/report-writing .gemini/skills/report-writing && rm -rf skills-srcUse ~/.gemini/skills/ instead of .gemini/skills for a personal install, then run /skills reload.
Gemini CLI skills documentation · loads skills from .gemini/skills/, .agents/skills/
Install the "report-writing" agent skill from https://github.com/GAIK-project/gaik-toolkit/tree/main/implementation_layer/no-code-assets/agent-skills/skills/report-writing into .gemini/skills/report-writing/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "report-writing", then confirm the skill loads.Gemini CLI copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gh skill install GAIK-project/gaik-toolkit report-writingInstalls for Copilot at project scope by default; add --scope user for a personal install. Preview a skill first with gh skill preview. Needs GitHub CLI 2.90.0 or later (public preview).
$ npx skills add GAIK-project/gaik-toolkit --skill report-writing -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/GAIK-project/gaik-toolkit.git skills-src && mkdir -p .github/skills && cp -r skills-src/implementation_layer/no-code-assets/agent-skills/skills/report-writing .github/skills/report-writing && rm -rf skills-srcUse ~/.copilot/skills/ instead of .github/skills for a personal install. Commit .github/skills so cloud agent and code review can use it.
GitHub Copilot skills documentation · loads skills from .github/skills/, .claude/skills/, .agents/skills/
Install the "report-writing" agent skill from https://github.com/GAIK-project/gaik-toolkit/tree/main/implementation_layer/no-code-assets/agent-skills/skills/report-writing into .github/skills/report-writing/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "report-writing", then confirm the skill loads.GitHub Copilot copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add GAIK-project/gaik-toolkit --skill report-writing -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install GAIK-project/gaik-toolkit report-writing --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/GAIK-project/gaik-toolkit.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/implementation_layer/no-code-assets/agent-skills/skills/report-writing .opencode/skills/report-writing && rm -rf skills-srcUse ~/.config/opencode/skills/ instead of .opencode/skills for a personal install.
OpenCode skills documentation · loads skills from .opencode/skills/, .claude/skills/, .agents/skills/
Install the "report-writing" agent skill from https://github.com/GAIK-project/gaik-toolkit/tree/main/implementation_layer/no-code-assets/agent-skills/skills/report-writing into .opencode/skills/report-writing/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "report-writing", then confirm the skill loads.OpenCode copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
report-writingConverts 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. 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.
10 steps, taken from the step headings in SKILL.md.
Read from SKILL.md and the folder at commit e66fcca. It shows what the files ask for, not the result of running them.
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.
Ships script files (Batch and Python), which the agent can run.
Shell commands in SKILL.md call:
pippythonFrom the folder's file list and the shell code blocks in SKILL.md.
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.
Names no API keys, tokens, secrets or passwords.
From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.
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.
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.
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.
The full file from GAIK-project/gaik-toolkit at commit e66fcca, republished under its MIT licence (© GAIK-project). 2,058 words, ~4,854 tokens.
.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.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:
Use this skill when:
Required (at least one):
gaik-transcriber:transcribe_audioOptional:
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, lengthOn 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.
Prefer MCP filesystem tools for file/folder operations Use the filesystem server for listing and reading files instead of shell commands.
Avoid bash commands on Windows If you must run a command on Windows, prefer PowerShell.
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).
Never assume the environment is Linux Treat the runtime as OS-ambiguous and enforce the above rules to stay stable.
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.
Ask (only if not provided):
If the user has not specified an input folder path, ask for it and confirm it contains input_documents/ (required).
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.
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_documentsTreat the following as binary (not safely readable via text tools):
.pdf, .pptx, .xlsx, .docxDecision:
If the user asks for "local-folder only" processing of PDF/PPTX/XLSX/DOCX:
Continue with the core workflow (transcription + text notes + images) regardless of the binary handling outcome.
From input_documents/, create a quick inventory:
For each audio/video file, call:
gaik-transcriber:transcribe_audiofile_path: full path to the recordingenhanced: false by default (true only if user asks for enhanced quality)If transcription fails with "file not found":
For each image file (.jpg, .jpeg, .png, .gif, .webp, .bmp, .tiff):
Read files directly (.txt, .md, .rtf). Use /mnt/skills/public/docx/SKILL.md for reading/writing .docx files.
Goal: extract relevant information from supplementary documents WITHOUT ad-hoc parsing code and WITHOUT Windows/Linux path mismatches.
cp, pip install, python -c, pdfplumber, soffice, pandoc, or any ad-hoc parsing commands to read .pdf/.pptx/.xlsx/.docx from Windows paths.C:\... or /mnt/c/... is accessible inside a Linux sandbox./mnt/user-data/uploads/...) unless the environment explicitly provides them.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)
.txt, .md, .csv, .json)read_text_file and extract relevant content..pdf, .pptx, .xlsx, .docx) — IMPORTANTTemplate + samples:
.docx/.pdf/.pptx/.xlsx and are only on Windows disk:<filename1>, <filename2>, ...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>After fusing all content, analyze it to determine which sections to include in the report.
Content Signal Detection:
| Content Signal | Inferred 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.
Check the dedicated subfolders for template and sample:
Template (<input_folder>/templates/):
Sample (<input_folder>/sample_documents/):
Priority order for format determination:
Read the docx skill before creating the document:
view /mnt/skills/public/docx/SKILL.mdThen 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.
input_documents folderpresent_files to share with the userUse 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]Do:
Do NOT:
If information is missing:
Error handling:
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:
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:
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.docxExpected behavior:
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:
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 typereference/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
SKILL.md and 6 other files in implementation_layer/no-code-assets/agent-skills/skills/report-writing of GAIK-project/gaik-toolkit.
Open the folder on GitHubat commit e66fcca
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.
| Skill | Stars | Used in | Tokens | Auto-check | Licence | Repo updated |
|---|---|---|---|---|---|---|
| Report Writing this skillGAIK-project/gaik-toolkit | 100 | — | ~4.9k | Automated safety check: Pass | MIT | |
| Nutrient Document Processingaffaan-m/ECC | 276k | 4 repos | ~1.5k | Automated safety check: Pass | MIT | |
| Nutrient Document Processingaffaan-m/ECC | 276k | 3 repos | ~1.3k | Automated safety check: Pass | MIT | |
| Nutrient Document Processingaffaan-m/ECC | 276k | 2 repos | ~1.3k | Automated safety check: Pass | MIT | |
| Nutrient Document Processingxu-xiang/everything-claude-code-zh | 2k | — | ~1.3k | Automated safety check: Pass | MIT | |
| Nutrient Document Processingxu-xiang/everything-claude-code-zh | 2k | — | ~1.3k | Automated safety check: Pass | MIT |
affaan-m/ECC
Process, convert, OCR, extract, redact, sign, and fill documents using the Nutrient DWS API.
affaan-m/ECC
使用Nutrient DWS API处理、转换、OCR识别、提取、编辑、签名和填写文档。支持PDF、DOCX、XLSX、PPTX、HTML和图像格式。
affaan-m/ECC
Nutrient DWS API を使用してドキュメントの処理、変換、OCR、抽出、編集、署名、フォーム入力を行います。PDF、DOCX、XLSX、PPTX、HTML、画像に対応しています。
xu-xiang/everything-claude-code-zh
使用 Nutrient DWS API 进行文档处理、转换、OCR、提取、脱敏、签名以及表单填充。支持 PDF、DOCX、XLSX、PPTX、HTML 和图像格式。
xu-xiang/everything-claude-code-zh
使用 Nutrient DWS API 处理、转换、OCR、提取、脱敏、签名和填充文档。支持 PDF、DOCX、XLSX、PPTX、HTML 和图像。
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.
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…
GAIK-project/gaik-toolkit
GAIK toolkit overview and reference. An agent skill from GAIK-project/gaik-toolkit.
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…
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.
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…
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.
Works with
Categories
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.
Report Writing fits situations like: the user needs to create a report; summarize documents; consolidate materials; generate documentation.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.