Code Refiner
Mathews-Tom/armory
Deep code simplification and refactoring preserving behavior across Python, Go, TypeScript, Rust.
Deep codebase refactoring audit for AI DIAL Chat. An agent skill from epam/ai-dial-chat.
$ npx skills add epam/ai-dial-chat --skill refactoring-audit -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install epam/ai-dial-chat refactoring-audit --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/epam/ai-dial-chat.git skills-src && mkdir -p .claude/skills && cp -r skills-src/.claude/skills/refactoring-audit .claude/skills/refactoring-audit && 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 "refactoring-audit" agent skill from https://github.com/epam/ai-dial-chat/tree/development/.claude/skills/refactoring-audit into .claude/skills/refactoring-audit/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "refactoring-audit", 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/epam/ai-dial-chat/tree/development/.claude/skills/refactoring-auditType 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 epam/ai-dial-chat --skill refactoring-audit -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install epam/ai-dial-chat refactoring-audit --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/epam/ai-dial-chat.git skills-src && mkdir -p .agents/skills && cp -r skills-src/.claude/skills/refactoring-audit .agents/skills/refactoring-audit && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "refactoring-audit" agent skill from https://github.com/epam/ai-dial-chat/tree/development/.claude/skills/refactoring-audit into .agents/skills/refactoring-audit/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "refactoring-audit", 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 epam/ai-dial-chat --skill refactoring-audit -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install epam/ai-dial-chat refactoring-audit --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/epam/ai-dial-chat.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/.claude/skills/refactoring-audit .cursor/skills/refactoring-audit && 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 "refactoring-audit" agent skill from https://github.com/epam/ai-dial-chat/tree/development/.claude/skills/refactoring-audit into .cursor/skills/refactoring-audit/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "refactoring-audit", 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/epam/ai-dial-chat.git --path .claude/skills/refactoring-audit--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 epam/ai-dial-chat --skill refactoring-audit -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install epam/ai-dial-chat refactoring-audit --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/epam/ai-dial-chat.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/.claude/skills/refactoring-audit .gemini/skills/refactoring-audit && 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 "refactoring-audit" agent skill from https://github.com/epam/ai-dial-chat/tree/development/.claude/skills/refactoring-audit into .gemini/skills/refactoring-audit/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "refactoring-audit", 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 epam/ai-dial-chat refactoring-auditInstalls 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 epam/ai-dial-chat --skill refactoring-audit -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/epam/ai-dial-chat.git skills-src && mkdir -p .github/skills && cp -r skills-src/.claude/skills/refactoring-audit .github/skills/refactoring-audit && 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 "refactoring-audit" agent skill from https://github.com/epam/ai-dial-chat/tree/development/.claude/skills/refactoring-audit into .github/skills/refactoring-audit/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "refactoring-audit", 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 epam/ai-dial-chat --skill refactoring-audit -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install epam/ai-dial-chat refactoring-audit --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/epam/ai-dial-chat.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/.claude/skills/refactoring-audit .opencode/skills/refactoring-audit && 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 "refactoring-audit" agent skill from https://github.com/epam/ai-dial-chat/tree/development/.claude/skills/refactoring-audit into .opencode/skills/refactoring-audit/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "refactoring-audit", 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.
refactoring-auditDeep codebase refactoring audit for AI DIAL Chat. An agent skill from epam/ai-dial-chat.
Refactoring Audit is an agent skill from epam/ai-dial-chat. Deep codebase refactoring audit for AI DIAL Chat. Collects metrics, compares with prior local plans, detects dead-code candidates, and writes or updates refactoring-backend.md, refactoring-frontend.md, and refactoring.md index docs (git-excluded). Use when the user asks for a refactoring plan, tech-debt review, god-module analysis, dead/unused-code analysis, architecture audit, or updated refactoring documents.
Its SKILL.md is about 4.3k tokens, which your agent loads only when the skill is triggered. The skill folder holds 7 other files, including scripts (for example `knip-audit.json`, `repo-rules-checklist.md` and `scripts/collect-dead-code.sh`).
It sits in Development, covering Refactoring and Technical debt. It works with Git. The repository describes itself as: A default UI for AI DIAL. The licence is Apache-2.0.
8 steps, taken from the step headings in SKILL.md.
Read from SKILL.md and the folder at commit 2d66a8d. 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 3 files in scripts/ (Shell and JavaScript), which the agent can run.
Shell commands in SKILL.md call:
npmgitbashrgjqFrom the folder's file list and the shell code blocks in SKILL.md.
No URLs in SKILL.md. Its commands use npm 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.
Refactoring Audit loads about 4.3k tokens when it runs. Until then it costs about 108 tokens; SKILL.md has 1,643 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 epam/ai-dial-chat at commit 2d66a8d, republished under its Apache-2.0 licence (© epam). 1,643 words, ~4,302 tokens.
.claude/skills/refactoring-audit/SKILL.md (or your agent's skills folder). This skill also uses 6 other files; get the full folder from GitHub.Produce local-only refactoring plans for this monorepo. Output is planning material for humans — not code changes unless the user explicitly asks to implement something.
Language: All audit outputs MUST be written in English.
This skill, its templates, and repo-rules-checklist.md describe patterns, thresholds, and grep commands — not specific source file paths. File paths move, split, and get deleted; hardcoded paths in instructions go stale.
refactoring*.md) → list paths discovered during the current run (from collect-metrics.sh + reads). Regenerate tables each audit; do not copy example paths from templates.| File | Scope |
|---|---|
refactoring.md | Index + scorecard |
refactoring-backend.md | apps/chat-api |
refactoring-frontend.md | apps/chat + hand-authored libs/* |
docs/{change}-openspec-prompt.md | Only if user wants next OpenSpec prompt |
Git rule: These files MUST stay out of git. After writing, ensure each path is listed in .git/info/exclude. Run git check-ignore -v <file> and confirm git ls-files does not list them. Never git add refactoring docs. Do not add them to .gitignore unless the user explicitly wants team-wide ignore rules in the repo.
refactoring*.md date and Δ line counts)Read before analyzing:
openspec/config.yaml — stack, architecture, lib isolationAGENTS.md — skill routing, RTL, Nx conventionsrefactoring.md, refactoring-backend.md, refactoring-frontend.md)openspec/changes/archive/*split-*, *dial-core*, *dedupe*Invoke ./.agents/skills/nx-workspace/SKILL.md if unsure about project names or targets.
Copy this checklist and track progress:
Refactoring audit:
- [ ] 1. Collect metrics
- [ ] 2. Read prior docs + OpenSpec archives
- [ ] 3. Deep dive (top entries from metrics — not a fixed file list)
- [ ] 3b. Structural smells pass (else-if ladders, key dispatch, large switches, nested ternaries)
- [ ] 3c. Convention violations pass (AGENTS.md / RTL / lib isolation / imports)
- [ ] 3d. Dead-code pass (unused files, exports/types, dependencies, orphan projects)
- [ ] 4. Verify completed phases from code (grep/counts, not memory)
- [ ] 5. Write/update three docs (English) — paths from this run only
- [ ] 6. Ensure .git/info/exclude
- [ ] 7. Optional: next OpenSpec prompt
- [ ] 8. Summarize for userRun:
bash .claude/skills/refactoring-audit/scripts/collect-metrics.shThis is the primary source of truth for which files to inspect. Treat every ranked list, smell, violation, and dead-code section as the candidate set for Steps 3–3d.
Run the dedicated dead-code collector separately because it may be slower and requires a local Knip installation for full coverage:
bash .claude/skills/refactoring-audit/scripts/collect-dead-code.shOptionally run verification (note result in docs if WIP branch):
npm exec nx test chat-api
npm exec nx test chatSupplement with targeted greps (see repo-rules-checklist.md):
npm exec nx show projects --type=lib
ls openspec/changes | rg -v '^archive$'
rg "extends AppService|MUST stay in sync" apps/chat-api apps/chat --glob "*.{ts,tsx}"If previous docs exist:
split-files-service, split-use-dial-file-manager)If no prior docs: establish baseline; skip Δ column.
Do not use a fixed checklist of filenames. Instead, for each area, read the top N from Step 1 plus any smell/violation hits:
| Area | Source in metrics output | Read depth |
|---|---|---|
| Backend services | "Backend services (top 20)" | Top 5 + any >400 lines not yet split |
| Backend tests | "Backend test specs (top 15)" | Specs >1000 lines tied to unsplit services |
| Frontend app | "Frontend app sources (top 25)" | Top 5 components/hooks/contexts |
| Frontend tests | "Frontend test specs (top 15)" | Specs >1000 lines |
| Libs | "Libs total LOC" + "Lib largest files" | Libs >5000 LOC or files >400 lines |
| Structural smells | All smell sections | Every prod hit (exclude *.spec.* when prioritizing) |
| Convention violations | All violation sections | Every non-zero category; sample-read hits |
| Dead code | Dead-code collector | Every production hit; sample default-mode-only hits |
While reading, classify patterns (god service, facade already split, dispatch ladder, etc.) — not whether a file matches a historical name.
OpenSpec: active changes + recent archives since last audit date.
Uses metrics script output (see repo-rules-checklist.md for thresholds). For each hit, read the file and classify by pattern type:
| Pattern | Smell | Typical fix |
|---|---|---|
for (…) { if (def.key === 'a') … else if (def.key === 'b') … } | Stringly-typed registry dispatch | Handler map / resolver table co-located with config definitions |
else if chain on enum/string (≥8 per file) | Open/closed violation | Lookup object, strategy map, or polymorphism |
switch (x) { case … } with ≥10 cases | Same | Discriminated union + handler record |
Duplicate branch bodies (typeof x === 'string' ? x : null) | Copy-paste dispatch | Shared coerce helpers keyed by type |
a ? b : c ? d : e on one line | Nested ternary | if/else, early return, named intermediate, helper function |
Document in Structural smells sections. Columns: path (from this run), pattern type, branch/count, suggested fix, priority (usually P2 unless actively growing). Do not skip small files when metrics flagged them.
Cross-check against AGENTS.md, openspec/config.yaml, eslint.config.mjs, RTL rules. Full grep mapping: repo-rules-checklist.md.
Use metrics script violation sections + anti-patterns grep. For each non-zero category, sample-read hits and document in Convention violations (path from this run, rule violated, detail, fix, priority).
Do not treat every grep hit as debt — confirm context (tests, generated code, documented exceptions). Do flag patterns that contradict documented architecture.
Use three complementary signals; no single signal is sufficient:
Run TypeScript checks across every configured project to catch unused local declarations and imports (noUnusedLocals is enabled in the workspace):
npm exec -- nx run-many --target=typecheckRun scripts/collect-dead-code.sh. It performs both comprehensive and production Knip passes when a local Knip binary is available. The production pass identifies code kept alive only by tests/tooling; the comprehensive pass also covers unused test and tooling code.
Inspect the Nx project graph for projects with no in-repo dependents:
npm exec -- nx graph --print \
| jq -r '.graph as $g | ($g.nodes | keys[]) as $name | select([ $g.dependencies[]?[]? | select(.target == $name) ] | length == 0) | $name'Classify every production Knip hit, and sample-read default-mode-only hits, as one of:
Review candidates in cascade order: unused production files first, then their exports/types/members, then dependencies. One unreachable file can cause all downstream symbols and dependencies to appear unused.
Coverage rules:
package.json/the lockfile when full analysis is required.chat-api-client findings. Do not hand-edit or recommend deleting generated client code.knip --fix, delete files, or remove dependencies during an audit. Produce planning findings only unless the user separately authorizes implementation.Document dead-code findings in a dedicated Dead code section. Include: path/package, candidate kind, source signal and mode, classification, evidence/consumer check, suggested action, and priority. Keep confirmed findings separate from unverified candidates.
Use the phase checklist in templates.md. Mark ✅ only with grep/count evidence from this run:
| Milestone | How to verify (no fixed paths) |
|---|---|
| DialCoreModule | extends AppService count = 0; DialClientService present under chat-api |
| Files split | Files domain facade service <250 lines in metrics; multiple sub-services under same domain |
| FM hook split | Composer hook for file manager <300 lines; sibling sub-hooks in same folder |
| Phase 1.6 open | Inline file-manager open state in conversation view without shared hook — grep isDialFileManagerOpen vs useDialFileManagerState in conversation view area |
Follow section structure in templates.md. English only. Populate tables from Step 1 output only — templates show column shapes, not real paths.
Quality bar:
Append to .git/info/exclude if missing:
refactoring.md
refactoring-backend.md
refactoring-frontend.md
docs/split-*-openspec-prompt.md
docs/*-openspec-prompt.mdDo not commit .git/info/exclude changes (it is local by design).
When user wants the next refactoring step or P0 item needs OpenSpec:
docs/{kebab-case-change}-openspec-prompt.md (English).git/info/excludeReply in English with:
God module candidates: service/hook/component >400 lines, or spec >1000 lines (from metrics).
Structural smell candidates: metrics smell sections — else-if ≥8, def.key === dispatch ≥3, switch ≥10 cases, nested ternary on same line.
Convention violation candidates: metrics violation sections + repo-rules-checklist greps.
Dead-code candidates: TypeScript unused-local diagnostics; Knip unused files, exports, types/members, and dependencies; Nx projects with zero in-repo dependents. Treat all as candidates until reachability and external-consumer checks are complete.
Backend smells: Express types in services, duplicate DTO enums, route sync comments, monolithic controller specs, config registry dispatch in service instead of handler map.
Frontend smells: hooks with many server-api imports, god contexts, hardcoded user-facing strings in utils, duplicated inline state when a hook exists, large switch/else-if in components.
Lib smells: libs importing app/server-api/i18n; lib total LOC >8000 without split plan; spec larger than implementation; mega-switch (≥10 cases).
Do not recommend: drive-by refactors unrelated to ranked debt; rewriting generated chat-api-client; deleting code directly from unverified static-analysis output; committing planning docs.
| User request | Scope |
|---|---|
| "Update refactoring plan" / full audit | All three docs |
| "Backend only" | refactoring-backend.md + index backend columns |
| "Frontend + libs only" | refactoring-frontend.md + index |
| "Prepare OpenSpec prompt for X" | Prompt file only + index pointer |
© epam, Apache-2.0. 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 (scripts) in .claude/skills/refactoring-audit of epam/ai-dial-chat.
Open the folder on GitHubat commit 2d66a8d
Refactoring Audit 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 |
|---|---|---|---|---|---|---|
| Refactoring Audit this skillepam/ai-dial-chat | 504 | — | ~4.3k | Automated safety check: Pass | Apache-2.0 | |
| Code RefinerMathews-Tom/armory | 328 | — | ~3.1k | Automated safety check: Pass | MIT | |
| Systematic Code Refactoringluongnv89/claude-howto | 42k | — | ~3k | Automated safety check: Pass | MIT | |
| Codexskills-directory/skill-codex | 1.5k | 3 repos | ~1.8k | Automated safety check: Pass | MIT | |
| Code Simplification for ego-litecitrolabs/ego-lite | 17k | — | ~1.2k | Automated safety check: Pass | MIT | |
| Code Refactoring Workflowluongnv89/claude-howto | 42k | — | ~3.1k | Automated safety check: Pass | MIT |
Mathews-Tom/armory
Deep code simplification and refactoring preserving behavior across Python, Go, TypeScript, Rust.
luongnv89/claude-howto
Guides refactoring in phases based on Martin Fowler's method: research, test coverage check, planning and small tested steps, with your approval at each phase.
skills-directory/skill-codex
A skill your agent uses when the user asks to run Codex CLI (codex exec, codex resume) or references OpenAI Codex for code analysis, refactoring, or automated editing
citrolabs/ego-lite
Finds and implements evidence-backed simplifications in the ego-lite repository, such as dead code, duplicated state and speculative abstractions, without hiding behavior changes.
luongnv89/claude-howto
Guides systematic, test-backed refactoring in the style of Martin Fowler, moving through research, planning and small incremental changes with your approval at each phase.
ailabs-393/ai-labs-claude-skills
This skill should be used when analyzing technical debt in a codebase, documenting code quality issues, creating technical debt registers, or assessing code maintainability.
epam/ai-dial-chat
Read unresolved GitHub code review threads for the pull request associated with the current branch, classify each comment, and implement and verify required code fixes.
epam/ai-dial-chat
Interactively create OR update GitHub issues (Bug, Feature, Task) for the current repository.
epam/ai-dial-chat
Runs Trivy filesystem scan against the repo root and emits structured vulnerability findings (CVE, package, versions) in the SDLC reviewer schema.
epam/ai-dial-chat
Design-to-code workflow for Figma designs. An agent skill from epam/ai-dial-chat.
epam/ai-dial-chat
A skill your agent uses whenever the user wants to commit, push, or ship changes in a git repository.
epam/ai-dial-chat
Responsive (mobile + desktop) layout workflow. An agent skill from epam/ai-dial-chat.
Works with
Categories
Deep codebase refactoring audit for AI DIAL Chat. An agent skill from epam/ai-dial-chat. Refactoring Audit is an agent skill from epam/ai-dial-chat. Deep codebase refactoring audit for AI DIAL Chat.
Refactoring Audit fits situations like: the user asks for a refactoring plan; tech-debt review; god-module analysis; dead/unused-code analysis.
Run `npx skills add epam/ai-dial-chat --skill refactoring-audit -a claude-code`. Or copy the skill folder (.claude/skills/refactoring-audit in epam/ai-dial-chat) into .claude/skills/refactoring-audit in your project. Claude Code loads it when a task matches its description.
Run `npx skills add epam/ai-dial-chat --skill refactoring-audit -a codex`. Or copy the skill folder (.claude/skills/refactoring-audit in epam/ai-dial-chat) into .agents/skills/refactoring-audit 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 epam/ai-dial-chat --skill refactoring-audit -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/refactoring-audit, .gemini/skills/refactoring-audit, .github/skills/refactoring-audit and .opencode/skills/refactoring-audit in your project.
Going by SKILL.md and its folder, Refactoring Audit needs a shell and JavaScript for the scripts in its folder and the command-line tools its instructions call (npm, git, bash, rg and jq). Our summary lists: Node.js; A Bash shell.
SKILL.md contains no URLs. Its commands use npm 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.
Refactoring Audit is published under the Apache-2.0 licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.
About 4.3k tokens (SKILL.md is roughly 17k 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 Refactoring Audit: Code Refiner (Mathews-Tom/armory, 328 stars), Systematic Code Refactoring (luongnv89/claude-howto, 42k stars), Codex (skills-directory/skill-codex, 1.5k stars) and Code Simplification for ego-lite (citrolabs/ego-lite, 17k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
epam (a GitHub organization) maintains it in epam/ai-dial-chat, which has 504 GitHub stars. The repository holds 18 skills in this directory. The repository was last updated on October 7, 2026.
Source: epam/ai-dial-chat on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.