Markdown Article Formatter
JimLiu/baoyu-skills
Reformats plain text or Markdown articles with frontmatter, a title, a summary, headings, bold, lists and code blocks, and saves a separate formatted copy.
Audits the GAIK Solution Wizard's component registry, reference cards, and SKILL.md guidance against the installed gaik package, then proposes and applies the updates needed to keep them in sync.
$ npx skills add GAIK-project/gaik-toolkit --skill gaik-sync -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install GAIK-project/gaik-toolkit gaik-sync --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/.claude/skills/gaik-sync .claude/skills/gaik-sync && 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 "gaik-sync" agent skill from https://github.com/GAIK-project/gaik-toolkit/tree/main/.claude/skills/gaik-sync into .claude/skills/gaik-sync/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "gaik-sync", 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/.claude/skills/gaik-syncType 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 gaik-sync -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install GAIK-project/gaik-toolkit gaik-sync --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/.claude/skills/gaik-sync .agents/skills/gaik-sync && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "gaik-sync" agent skill from https://github.com/GAIK-project/gaik-toolkit/tree/main/.claude/skills/gaik-sync into .agents/skills/gaik-sync/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "gaik-sync", 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 gaik-sync -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install GAIK-project/gaik-toolkit gaik-sync --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/.claude/skills/gaik-sync .cursor/skills/gaik-sync && 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 "gaik-sync" agent skill from https://github.com/GAIK-project/gaik-toolkit/tree/main/.claude/skills/gaik-sync into .cursor/skills/gaik-sync/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "gaik-sync", 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 .claude/skills/gaik-sync--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 gaik-sync -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install GAIK-project/gaik-toolkit gaik-sync --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/.claude/skills/gaik-sync .gemini/skills/gaik-sync && 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 "gaik-sync" agent skill from https://github.com/GAIK-project/gaik-toolkit/tree/main/.claude/skills/gaik-sync into .gemini/skills/gaik-sync/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "gaik-sync", 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 gaik-syncInstalls 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 gaik-sync -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/.claude/skills/gaik-sync .github/skills/gaik-sync && 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 "gaik-sync" agent skill from https://github.com/GAIK-project/gaik-toolkit/tree/main/.claude/skills/gaik-sync into .github/skills/gaik-sync/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "gaik-sync", 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 gaik-sync -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 gaik-sync --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/.claude/skills/gaik-sync .opencode/skills/gaik-sync && 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 "gaik-sync" agent skill from https://github.com/GAIK-project/gaik-toolkit/tree/main/.claude/skills/gaik-sync into .opencode/skills/gaik-sync/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "gaik-sync", 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.
gaik-syncAudits the GAIK Solution Wizard's component registry, reference cards, and SKILL.md guidance against the installed gaik package, then proposes and applies the updates needed to keep them in sync.
Gaik Sync is an agent skill from GAIK-project/gaik-toolkit. Audits the GAIK Solution Wizard's component registry, reference cards, and SKILL.md guidance against the installed gaik package, then proposes and applies the updates needed to keep them in sync. Use after changing gaik components (new component, renamed constructor/method, changed options, removed component, new install extra, new module) or after bumping the gaik version. Runs a deterministic introspection scan, classifies each finding, and edits only after you approve a change table.
Its SKILL.md is about 4k tokens, which your agent loads only when the skill is triggered. The skill folder holds 2 other files, including scripts (for example `scripts/audit_registry.py`).
It sits in Documents & Office. The repository describes itself as: Python toolkit providing reusable AI/ML utilities: schema extraction, structured outputs, and production-ready components. The licence is MIT.
5 steps, taken from the step headings in SKILL.md.
Read from SKILL.md and the folder at commit e516ece. 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 1 file in scripts/ (Python), which the agent can run.
Shell commands in SKILL.md call:
uvgitFrom the folder's file list and the shell code blocks in SKILL.md.
No URLs in SKILL.md. Its commands use uv and git, 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.
Gaik Sync loads about 4k tokens when it runs. Until then it costs about 125 tokens; SKILL.md has 1,904 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); the scripts in this folder are not scanned.
The full file from GAIK-project/gaik-toolkit at commit e516ece, republished under its MIT licence (© GAIK-project). 1,904 words, ~3,975 tokens.
.claude/skills/gaik-sync/SKILL.md (or your agent's skills folder). This skill also uses 1 other file; get the full folder from GitHub.The Solution Wizard (implementation_layer/solution_wizard/) drives PoC generation from four assets that mirror the gaik API. When gaik changes, these drift and the wizard silently produces wrong blueprints or PoCs that fail at runtime:
| Wizard asset | File | What drifts |
|---|---|---|
| Component registry | registries/gaik_component_registry.json | components added/removed/renamed, input/output_artifact_types, supported_providers, subsumes/uses_components, install_extra |
| Reference cards | registries/component_reference_cards.json | import, construct kwargs, call method, returns, options |
| Selection guidance | SKILL.md (Phase 5/6) | option-inference rules, subsumption rules, provider/model consistency |
| Schema constraints | CLAUDE.md + SKILL.md Phase 4 | ExtractionRequirements.field_type enum, Azure structured-output rules |
Operating principle (same as the wizard itself): Python detects, the agent decides. The scan is deterministic; mapping each finding to the right edit — and judging whether a change is intentional — is your job. Never blind-delete a finding.
This skill does not modify gaik. It only edits the four wizard assets above.
Regardless of mode, the order is always scan → present findings → wait for approval → sync only what was approved → test. Concretely:
Do not batch-apply, do not "fix while scanning", and do not assume approval from the fact that the user invoked the skill. Invoking the skill authorizes the scan and the proposal, not the edits.
Run in one of two modes. Prefer informed mode when the user tells you what they changed — it is faster and avoids false positives.
model_provider to provider on LLMJudge", "I added a diarization option to Transcriber", "I added a new FormUnderstander component"). Treat that as the hypothesis and confirm it against gaik + the scan.Always start here. From the repo root, after uv sync --all-extras (components swallow a
missing optional dependency, so a missing extra makes a class silently absent and shows
up as false removed drift):
uv run python .claude/skills/gaik-sync/scripts/audit_registry.py --jsonThis introspects the installed gaik and returns structured findings. Categories:
version — installed gaik vs the wizard's last-validated pin (gaik_validated_version.txt). Informational; it is the trigger, not a defect.removed — a reference-card import no longer resolves (class gone or moved).api_drift — a construct kwarg or call method no longer exists on the gaik class.options — a card option name is not a real constructor parameter (often it moved to a method argument, or was renamed/removed).parity — a registry component has no reference card.new — a gaik subpackage no card references (a new component family, an internal helper to ignore, or an unrecognized public alias).Read the human-readable report too for a quick overview:
uv run python .claude/skills/gaik-sync/scripts/audit_registry.pyThe scan only sees what introspection exposes. It cannot see subsumes relationships, install_extra packaging, input/output_artifact_types, or selection semantics — those need the diff (Phase 2) and your reading of gaik source.
Informed mode: start from what the user told you. For each named change, open the relevant gaik source under implementation_layer/src/gaik/ and the matching card/registry entry to confirm the exact new signature, option, or path.
Discovery mode: find what changed in gaik since the last validated point.
# What does the wizard consider its last-validated state?
cat implementation_layer/solution_wizard/gaik_validated_version.txt 2>/dev/null
# Local source changes (when gaik is edited in-repo):
git log --oneline -15 -- implementation_layer/src/gaik/
git diff HEAD~1 -- implementation_layer/src/gaik/If gaik arrived as a dependency bump (no local source diff), the introspection scan in Phase 1 is your only signal — lean on it and read the installed source directly via the module paths in the findings.
For every scan finding, and every diff hunk, read the actual gaik class to establish ground truth before proposing an edit. Pay special attention to changes the scan can't detect on its own:
subsumes entry (so the wizard stops adding a redundant step);install_extra / pip extra → registry entry + pip_requirements will pick it up;input/output artifact types → registry *_artifact_types;human_review == yes) → SKILL.md Phase 5.Map every finding to a concrete edit and present a change table for approval. Use this exact shape (it mirrors the wizard's own Phase 11.1 change table):
| # | Finding | Category | File | Field / location | Current | Proposed | Confidence |
|---|---------|----------|------|------------------|---------|----------|------------|
| 1 | LLMJudge construct kwarg 'model_provider' gone | api_drift | component_reference_cards.json | LLMJudge.construct | model_provider= | provider= | high |
| 2 | parallel_transcriber subpackage untracked | new | gaik_component_registry.json + cards | new entry | (none) | add ParallelTranscriber | needs decision |Rules for the table:
construct + call + an option + SKILL.md).new findings, always ask whether it is a user-facing component to add, an internal helper to ignore, or a public alias of an already-registered component — do not assume. llm-style provider layers are usually internal. Approved aliases belong in ALIAS_SUBPACKAGES, mapped to their canonical package, and must not receive duplicate registry or card entries.options findings, check whether the option moved to a method argument before deleting it from the card; the wizard may still need to document it, just not as a constructor option.STOP here and present the table. Do not proceed to Phase 4 until the user responds. Explicitly ask them to approve all rows, approve a subset (by number), amend, or reject. If they approve nothing, end the run cleanly with no edits.
Edit only the four wizard assets, only the approved rows:
registries/gaik_component_registry.json — add/remove/modify entries; keep input_artifact_types, output_artifact_types, required_parameters, supported_providers, subsumes, install_extra correct.registries/component_reference_cards.json — fix import, construct, call, returns, options; add cards for newly-tracked components.SKILL.md (Phase 5/6, and Phase 4 schema constraints if the extraction contract changed) — selection rules, option inference, subsumption, provider/model consistency. For approved new software module findings, also check whether the Phase 5 module-first rule table (| Pattern | Module to try first |) needs a new row mapping the module's primary use-case pattern to its name. For approved new software module findings whose output_artifact_types is not structured_json (e.g. a report, audio, answer), also check whether Phase 2 Round 3 in SKILL.md has an explicit requirement-collection branch for that pattern — if not, add one describing what the wizard must ask the user about the target output (e.g. section titles, per-section instructions, and dependency relationships for a report module). For approved new software component findings, also check whether the Phase 5 Step 2 composition bullets (e.g. "Input is audio → Transcriber") need a new bullet for any input→output transformation the new component introduces that is not already covered.CLAUDE.md in the wizard dir — only if a schema/field_type constraint changed.Keep edits surgical and in the existing JSON/markdown style. Do not reformat whole files.
new findings)When the approved finding is a new component/module to add, do not guess the fields — source them. Introspection gives the mechanical fields; the component's own docs give the semantic ones. Gather, in this order:
inspect.signature on the class
(__init__ and the primary method). Gives required_parameters,
optional_parameters, and the card's construct/call argument names.required_parameters: parameters with no default on __init__ or the primary method.optional_parameters: every remaining parameter from both __init__ and the primary method (e.g. run(), transcribe(), enhance_text()), excluding internal/programmatic ones (progress_callback, verbose, output_dir are typically not selection-relevant). When in doubt, include rather than omit — a complete list lets the wizard reason about all knobs.options card array: for each optional parameter that affects output quality, format, cost, or workflow behaviour, add an entry with effect, selection_relevant, and infer_from. selection_relevant: true means the wizard should ask or infer it; false means it is documented for completeness only. Never omit a behaviour-changing flag simply because it has a sensible default.README.md (under implementation_layer/src/gaik/software_components/<component>/ for components, implementation_layer/src/gaik/software_modules/<module>/ for modules)
— gives best_for, known_limitations, quality_tradeoffs, and the prose for
what the component is for. Do not invent these; quote/condense the README.implementation_layer/examples/software_components/<component>/ for components, implementation_layer/examples/software_modules/<module>/ for modules)
— gives the verified call snippet, the returns shape, and a working
construct line. The card's call/returns must match a real example, not a
plausible-looking guess (this is the field most likely to break the scaffolded PoC).pyproject.toml / setup.cfg extras — gives install_extra (the gaik[<extra>] name).audio, video, text, transcript,
document, image, structured_json, answer, …), not raw Python types.
Reuse the exact strings already used by sibling entries.subsumes — only set this if the new component provides a capability that an
existing component also provides (so the wizard won't add both). This is a
semantic judgement — state your reasoning in the change table and confirm with
the user if unsure.Registry entry required fields (validated on load against
schemas/component_registry.schema.json): id, name, type,
input_artifact_types, output_artifact_types, required_parameters, best_for,
known_limitations, import_path, source_path, readme_path,
example_script_path. Match the shape of the nearest existing entry of the same
type (component vs module). For modules, also populate uses_components.
Reference card required keys: import, construct, call, returns
(+ install_extra, and options for behaviour-changing flags with infer_from
hints, + subsumes where relevant).
If any field cannot be sourced from the docs (e.g. there is no example script),
say so explicitly in your summary and mark that field as a best-effort draft for
the user to confirm — never silently fabricate best_for/known_limitations.
Run the wizard's own structural tests (they cross-check cards against gaik via inspect) plus re-scan:
uv run python -m pytest implementation_layer/solution_wizard/tests -q
uv run python .claude/skills/gaik-sync/scripts/audit_registry.py --strict # expect exit 0 (version finding alone is OK)When the only remaining finding is version (i.e. every defect is resolved), record the validated version in implementation_layer/solution_wizard/gaik_validated_version.txt so future runs detect the next drift. Write a clean release version X.Y.Z, never the installed version of an in-repo checkout: setuptools-scm reports it as a dev build such as 0.7.3.post1.dev5, and the release gate (scripts/release_check.py --version X.Y.Z) refuses a pin that differs from the version being released. Use the version you will tag next; when gaik arrived as a released dependency, its installed version is already clean. The audit keeps reporting installed != last-validated against a dev build; that finding is informational.
Report a short summary: which assets changed, which findings were intentionally ignored (and why), and the new validated version.
parity and new findings are decisions, not defects — they may be deliberately unsupported. removed/api_drift/options are almost always real and should be fixed.tests/test_reference_cards.py. The tests fail loudly in CI when gaik is present; this skill is the guided remediation when they do, or a proactive check after a gaik change.implementation_layer/solution_wizard/gaik_validated_version.txt); it is created/updated only after a clean verify, so it never falsely claims sync.© 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 1 other file (scripts) in .claude/skills/gaik-sync of GAIK-project/gaik-toolkit.
Open the folder on GitHubat commit e516ece
Gaik Sync 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 |
|---|---|---|---|---|---|---|
| Gaik Sync this skillGAIK-project/gaik-toolkit | 100 | — | ~4k | Automated safety check: Pass | MIT | |
| Markdown Article FormatterJimLiu/baoyu-skills | 26k | 6 repos | ~3.5k | Automated safety check: Pass | MIT | |
| MarkitdownImCa0/just-laws | 782 | 14 repos | ~3.2k | Automated safety check: Notes | MIT | |
| Obsidian MarkdownAtmosphere/atmosphere | 3.8k | 20 repos | ~1.3k | Automated safety check: Pass | Apache-2.0 | |
| DOCXrvdbreemen/OTGW-firmware | 207 | 33 repos | ~4.3k | Automated safety check: Pass | Proprietary | |
| Gzh Designisjiamu/gzh-design-skill | 3.9k | 1 repos | ~2.2k | Automated safety check: Pass | AGPL-3.0 |
JimLiu/baoyu-skills
Reformats plain text or Markdown articles with frontmatter, a title, a summary, headings, bold, lists and code blocks, and saves a separate formatted copy.
ImCa0/just-laws
Convert files and office documents to Markdown. An agent skill from ImCa0/just-laws.
Atmosphere/atmosphere
Create and edit Obsidian Flavored Markdown with wikilinks, embeds, callouts, properties, and other Obsidian-specific syntax.
rvdbreemen/OTGW-firmware
A skill your agent uses whenever the user wants to create, read, edit, or manipulate Word documents (.docx files).
isjiamu/gzh-design-skill
微信公众号文章排版引擎,将 Markdown 转换为可直接粘贴到公众号编辑器的 HTML。主题风格从 references/theme-index.md 注册的自定义主题库中选取,自动章节编号、关键词下划线标记、引言卡片、目录导航、代码块、图片/GIF、作者签名。支持 Markdown / Word(.docx) / PDF / 纯文本输入(非 Markdown…
HKUDS/DeepTutor
Reads, creates and edits Word .docx files with python-docx, and drops to raw OOXML for tracked changes, comments and byte-exact edits.
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.
Categories
Audits the GAIK Solution Wizard's component registry, reference cards, and SKILL.md guidance against the installed gaik package, then proposes and applies the updates needed to keep them in sync. Gaik Sync is an agent skill from GAIK-project/gaik-toolkit.md guidance against the installed gaik package, then proposes and applies the updates needed to keep them in sync.
Gaik Sync fits situations like: documents & Office work in your project.
Run `npx skills add GAIK-project/gaik-toolkit --skill gaik-sync -a claude-code`. Or copy the skill folder (.claude/skills/gaik-sync in GAIK-project/gaik-toolkit) into .claude/skills/gaik-sync in your project. Claude Code loads it when a task matches its description.
Run `npx skills add GAIK-project/gaik-toolkit --skill gaik-sync -a codex`. Or copy the skill folder (.claude/skills/gaik-sync in GAIK-project/gaik-toolkit) into .agents/skills/gaik-sync 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 gaik-sync -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/gaik-sync, .gemini/skills/gaik-sync, .github/skills/gaik-sync and .opencode/skills/gaik-sync in your project.
Going by SKILL.md and its folder, Gaik Sync needs Python for the scripts in its folder and the command-line tools its instructions call (uv and git). Our summary lists: Python 3.
SKILL.md contains no URLs. Its commands use uv and git, 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. The check reads SKILL.md only: the scripts in the folder are not scanned, so read them before running anything.
Gaik Sync is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.
About 4k tokens (SKILL.md is roughly 16k 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 Gaik Sync: Markdown Article Formatter (JimLiu/baoyu-skills, 26k stars), Markitdown (ImCa0/just-laws, 782 stars), Obsidian Markdown (Atmosphere/atmosphere, 3.8k stars) and DOCX (rvdbreemen/OTGW-firmware, 207 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.