Agent skill

Dify Docs Terminology Check

by langgenius in langgenius/dify-docs

Audit terminology consistency across documentation against the codebase UI labels and the glossary — in prose and in the UI strings shown in screenshots.

CC-BY-4.0Auto-check passedFrontend & Design

Install Dify Docs Terminology Check

skills CLI
$ npx skills add langgenius/dify-docs --skill dify-docs-terminology-check -a claude-code

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

GitHub CLI
$ gh skill install langgenius/dify-docs dify-docs-terminology-check --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/langgenius/dify-docs.git skills-src && mkdir -p .claude/skills && cp -r skills-src/.claude/skills/dify-docs-terminology-check .claude/skills/dify-docs-terminology-check && 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
dify-docs-terminology-check
GitHub stars
178
Token cost
~2.3k tokens
SKILL.md length
1,113 words
Files
1
Skills in repo
11
Repo updated
First seen
Licence
CC-BY-4.0

At a glance

Audit terminology consistency across documentation against the codebase UI labels and the glossary — in prose and in the UI strings shown in screenshots.

  • Works in 8 steps: Read the sources of truth → Pin the codebase ref → Set the scope → …
  • Says check terminology
  • SKILL.md covers Step 1 — Read the sources of…, Step 2 — Pin the codebase ref, Step 3 — Set the scope and Step 4 — Extract candidate terms, plus 4 more sections
  • Calls git and python3

What it does

Dify Docs Terminology Check is an agent skill from langgenius/dify-docs. Audit terminology consistency across documentation against the codebase UI labels and the glossary — in prose and in the UI strings shown in screenshots. Covers full files, not just diffs; excludes env var docs. Use after finalizing a draft, or when the user says "check terminology", "check terms", "verify glossary", or "terminology audit".

Its SKILL.md is about 2.3k tokens, which your agent loads only when the skill is triggered. It is a single SKILL.md file with no bundled scripts.

It sits in Frontend & Design. It works with Dify. The licence is CC-BY-4.0.

When your agent uses it

  • Says check terminology
  • Verify glossary
  • Terminology audit

Example prompts

  • “check terminology”
  • “check terms”
  • “verify glossary”
  • “/dify-docs-terminology-check”

Requirements

  • Python 3

Workflow steps

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

  1. Read the sources of truth
  2. Pin the codebase ref
  3. Set the scope
  4. Extract candidate terms
  5. Classify and verify UI labels against codebase i18n
  6. Check general terms against the glossary
  7. Report
  8. Glossary updates (only after user approval)

What it can do on your machine

Read from SKILL.md and the folder at commit 45d4e56. 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

    Shell commands in SKILL.md call:

    • git
    • python3

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

  • Network

    No URLs in SKILL.md. Its commands use git, 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

Dify Docs Terminology Check loads about 2.3k tokens when it runs. Until then it costs about 93 tokens; SKILL.md has 1,113 words of instructions outside code blocks.

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

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 langgenius/dify-docs at commit 45d4e56, republished under its CC-BY-4.0 licence (© langgenius). 1,113 words, ~2,341 tokens.

Download SKILL.mdSave it as .claude/skills/dify-docs-terminology-check/SKILL.md (or your agent's skills folder).
name
dify-docs-terminology-check
description
Audit terminology consistency across documentation against the codebase UI labels and the glossary — in prose and in the UI strings shown in screenshots. Covers full files, not just diffs; excludes env var docs. Use after finalizing a draft, or when the user says "check terminology", "check terms", "verify glossary", or "terminology audit".

Terminology Consistency Check

Read-only audit. Verify that documentation terms match the glossary (general terms) and the Dify codebase i18n (UI labels). Covers the whole file, not just the diff. Do NOT modify any files during the audit; report findings and stop.

Step 1 — Read the sources of truth

  1. Read writing-guides/glossary.md. Two sections matter here:
    • ## General Terms — standard body-text terms with English/Chinese/Japanese columns.
    • ## UI Labels — product UI strings with an i18n Key column mapping each label to the codebase.
  2. Locate the Dify codebase. If it is available as an additional working directory, use it; otherwise ask the user for the local path to their Dify repo.
  3. Ask the user: "Which branch in the Dify codebase should I check UI labels against?" (e.g., main, a feature branch). Default to main if they have no preference.

Step 2 — Pin the codebase ref

  1. Sync and read the Dify codebase per writing-guides/index.md → "Syncing the Dify codebase safely". Never git checkout or git pull in the Dify tree.
  2. Fetch, then resolve the ref once and record it for the report. In the Dify repo:
    bash
    git fetch --tags origin
    REF=$(git rev-parse origin/<branch>)
    All i18n lookups below use "$REF"; the report cites it (short form, e.g. 61d2ad572a).
  3. Check that the glossary's keys still exist at that ref. In the docs repo:
    bash
    python3 tools/translate/check-glossary-keys.py --dify <path to the Dify clone> --ref "$REF"
    It ends with GLOSSARY KEYS OK: {n} resolve at {ref} or GLOSSARY KEYS: {n} checked, {m} dead at {ref}; either way the audit continues, because a dead row is a glossary defect, not a page defect. Each DEAD: line names a glossary row whose key no longer exists at the ref. A dead row is not evidence for its label in this audit: resolve that label from the code per the glossary's own rule (the key whose en-US value matches on the surface being documented), do not flag a page for disagreeing with the dead row, and list the dead rows under the report's Dead glossary rows.

Step 3 — Set the scope

  1. Default scope: the whole file(s) currently under review (not just the diff), plus their zh/ja siblings when they exist. Expand to a directory or the full docs tree only if the user says so.
  2. Skip zh/ja checks for files whose translations don't exist yet.
  3. Always exclude (env var names are not UI labels):
    • en/self-host/deploy/configuration/environments.mdx
    • zh/self-host/deploy/configuration/environments.mdx
    • ja/self-host/deploy/configuration/environments.mdx

Step 4 — Extract candidate terms

For each file in scope, in the docs repo:

bash
grep -anoE '\*\*[^*]+\*\*' <file>    # bolded terms, prints line:**term**
grep -anE '^#{2,3} ' <file>          # section headings, prints line:## Heading

The -a flag is required: some legacy zh/ja pages contain stray NUL bytes, and without it grep prints only Binary file … matches and silently drops the term inventory.

Every bolded term and every heading is a candidate. Step 5 decides deterministically which are UI labels; do not pre-filter by intuition.

Screenshots are candidates too:

bash
grep -anoE '/images/[^) "]+' <file>  # local images, prints line:/images/path

View each listed image and read every UI string it displays; strings that are labels verify under Step 5 like bolded terms. An image showing a superseded string is a finding for re-capture — the fix is a new screenshot at the same path, never a prose edit. The pattern deliberately matches only local /images/ paths; legacy CDN images (assets-docs.dify.ai) stay out of scope.

Show full SKILL.md (633 more words)Show less

Step 5 — Classify and verify UI labels against codebase i18n

The codebase i18n is the source of truth for UI labels: web/i18n/en-US/ (flat JSON files with dot-flattened keys, e.g. "menus.apps": "Studio"), plus zh-Hans/ and ja-JP/ siblings. The glossary's i18n Key column maps to them: common.menus.apps → file common.json, key "menus.apps".

A key's value counts as the visible label only after checking its render site: git grep the key under web/ and confirm it lands in on-screen text. Values feeding aria-label, tooltips, or placeholders are not the label, and shared generic keys (common.operation.*) often supply the visible text instead — the Skills section's add button renders operation.add ("Add") while skills.add ("Add skill") is its aria-label. A product or staging screenshot outranks any code inference. A term's presence on sibling pages is not evidence either: neighbors drift together, so a word found across the doc set is traced to the UI like any other ("console" appeared on several pages and nowhere in the product). When a term fails, sweep the whole page for every occurrence before reporting; a finding is not done at one instance.

For each candidate term (use the English term; for zh/ja files, take the candidate from the same position in the en sibling):

  1. If the term has a ## UI Labels row in the glossary, read its i18n Key; skip to substep 3 to confirm the codebase still agrees.
  2. Otherwise search the en-US i18n values. In the Dify repo:
    bash
    git grep -nF '"<Term>"' "$REF" -- 'web/i18n/en-US/*.json'
    • Exact-value hit (e.g., <REF>:web/i18n/en-US/common.json:285: "menus.apps": "Studio",) → it is a UI label; note the file and key.
    • Multiple exact hits → the value is shared by several keys; pick by tracing which component the documented surface renders (git grep -nF '<key>' "$REF" -- 'web/app/**'; components may reference the key without its file prefix, so retry with the suffix when there are no hits), and record which key you chose and why. Never assume the closest-looking key.
    • No hit → retry case-insensitively: git grep -inF '<term>' "$REF" -- 'web/i18n/en-US/*.json'. A hit here means the doc's casing or wording deviates from the UI string — flag it.
    • Still no hit → not a UI label. Headings fall out of scope here; bolded terms go to Step 6 (general terms) instead.
  3. Confirm the exact string at the key:
    bash
    git grep -nF '"<key>"' "$REF" -- web/i18n/en-US/<file>.json
    The doc's English term must match the printed value exactly (casing included). If the glossary row disagrees with the codebase, the codebase wins — record a glossary gap.
  4. For zh/ja siblings, look up the same key in the matching locale:
    bash
    git grep -nF '"<key>"' "$REF" -- web/i18n/zh-Hans/<file>.json
    git grep -nF '"<key>"' "$REF" -- web/i18n/ja-JP/<file>.json
    Each prints one line with the localized string; the zh/ja doc's bolded term must match it exactly.

Step 6 — Check general terms against the glossary

For candidates that are not UI labels, and for terms noticed while reading the prose:

  1. Find the term's row: grep -in '<term>' writing-guides/glossary.md. Expected output: the table row(s) containing the term; no hit means the term is not standardized (consider it for Glossary Gaps if it recurs).
  2. Verify the file's usage against the column for its language — English column for en/, Chinese for zh/, Japanese for ja/. Honor the row's Notes (casing rules, context restrictions). Flag every deviation with its line number.

Step 7 — Report

Report findings in this format, then STOP. Do not edit any file until the user responds.

## Terminology Check Results

Checked against Dify codebase `origin/<branch>` at `<short REF>`.

### File: {path}

**General Terms**
- ✅ No issues found
  OR
- ⚠️ Line {n}: "{found}" should be "{expected}" per glossary

**UI Labels**
- ✅ All UI labels (bolded terms and feature section headings) match codebase
  OR
- ⚠️ Line {n}: **{label}** — codebase says "{expected}" (web/i18n/<locale>/<file>.json, key "<key>")

**Stale Screenshots**
- ✅ No local image shows a superseded UI string
  OR
- ⚠️ {image path} (line {n}): shows "{old string}"; the current label is "{new label}" (key "<key>") — re-capture needed

**Glossary Gaps**
- Terms used in docs but missing from glossary: {list}
- Glossary entries outdated compared to codebase: {list}

**Dead glossary rows**
- ✅ Every cited i18n key resolves at `<short REF>`
  OR
- ⚠️ {key} (glossary.md:{n}, {section}) — no longer exists; label resolved from the code as "{current label}"

Step 8 — Glossary updates (only after user approval)

If the user approves fixes for Glossary Gaps:

  1. Edit writing-guides/glossary.md with the approved rows.
  2. Regenerate the termbase. In the docs repo:
    bash
    python3 tools/translate/derive-termbase.py
    Must print Generated .../tools/translate/termbase_i18n.md.
  3. Verify sync:
    bash
    python3 tools/translate/derive-termbase.py --check
    Must print termbase_i18n.md is in sync with glossary.md. and exit 0. git diff tools/translate/termbase_i18n.md must show only rows corresponding to the approved glossary edits.

© langgenius, CC-BY-4.0. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

Just SKILL.md in .claude/skills/dify-docs-terminology-check of langgenius/dify-docs.

Open the folder on GitHubat commit 45d4e56

Compare with similar skills

Dify Docs Terminology Check 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.

Dify Docs Terminology Check compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Dify Docs Terminology Check this skilllanggenius/dify-docs178—~2.3kAutomated safety check: PassCC-BY-4.0
Dify Component Writing Guidelanggenius/dify158k—~626Automated safety check: PassCustom licence
Frontend Code Reviewaiskillstore/marketplace430—~1.4kAutomated safety check: PassNone
Frontend Code Reviewlanggenius/dify158k—~938Automated safety check: PassCustom licence
Dify Frontend Testinglanggenius/dify158k—~242Automated safety check: PassCustom licence
Component RefactoringOhh-889/skyroc7951 repos~3.5kAutomated safety check: PassMIT

Similar skills

  • Use when implementing or refactoring React/TypeScript components and the task requires decisions about component ownership, feature boundaries, state, data…

    158k GitHub stars~626 tokensUpdated today
    Frontend & DesignAuto-check passed
  • Frontend Code Review

    aiskillstore/marketplace

    Review Dify frontend code for correctness, accessibility, component design, dify-ui usage, data/query boundaries, performance, and tests.

    430 GitHub stars~1.4k tokensUpdated today
    Frontend & DesignAuto-check passed
  • Frontend Code Review

    langgenius/dify

    Reviews frontend changes under `web/` or `packages/dify-ui/` for concrete defects and broken project contracts, using routed rule packs and a severity scale for findings.

    158k GitHub stars~938 tokensUpdated today
    DevelopmentAuto-check passed
  • Dify Frontend Testing

    langgenius/dify

    Use when writing or changing Vitest or React Testing Library tests under `web/` or `packages/dify-ui/`, or when the user explicitly requests frontend test…

    158k GitHub stars~242 tokensUpdated today
    Testing & QAAuto-check passed
  • Component Refactoring

    Ohh-889/skyroc

    Refactor high-complexity React components in Dify frontend. An agent skill from Ohh-889/skyroc.

    795 GitHub starsUsed in 1 repo~3.5k tokens
    DevelopmentAuto-check passed
  • Web Artifacts Builder

    anthropics/skills

    Official

    Builds multi-component claude.ai HTML artifacts as a small React, TypeScript and Tailwind project, then bundles it into one shareable HTML file.

    180k GitHub starsUsed in 41 repos~769 tokens
    Frontend & DesignAuto-check passed

More from langgenius/dify-docs

All 11 skills in this repo
  • Dify Docs Feature Research

    langgenius/dify-docs

    Research a Dify feature before writing or optimizing documentation.

    178 GitHub stars~2.6k tokensUpdated today
    Auto-check passed
  • Dify Docs Format Check

    langgenius/dify-docs

    Check formatting compliance in changed documentation against writing-guides/formatting-guide.md and tools/translate/formatting-{zh,ja}.md.

    178 GitHub stars~2.7k tokensUpdated today
    Auto-check passed
  • Dify Docs API Reference

    langgenius/dify-docs

    Rule pack for the Service API specs ({en,zh,ja}/api-reference/openapiservice.json): spec conventions, app-type scoping, code-verification rules, and the audit machinery.

    178 GitHub stars~2.5k tokensUpdated today
    Auto-check passed
  • Dify Docs Env Vars

    langgenius/dify-docs

    Rule pack for the environment variable reference — en/self-host/deploy/configuration/environments.mdx.

    178 GitHub stars~2.5k tokensUpdated today
    Auto-check passed
  • Dify Docs Write

    langgenius/dify-docs

    The entry point for writing or revising any documentation in this repo: user guides, deployment pages, plugin-dev pages, API specs, the env-var reference, CLI pages.

    178 GitHub stars~3.2k tokensUpdated today
    Auto-check passed
  • Dify Docs Editor Test

    langgenius/dify-docs

    Judge a finished draft as the docs owner would: a fresh agent reads it against the style guide and the reference page in its genre, marks the sentences that fall short, and returns a ship verdict on…

    178 GitHub stars~1.5k tokensUpdated today
    Auto-check passed

Works with

Questions about Dify Docs Terminology Check

What does Dify Docs Terminology Check do?

Audit terminology consistency across documentation against the codebase UI labels and the glossary — in prose and in the UI strings shown in screenshots. Dify Docs Terminology Check is an agent skill from langgenius/dify-docs. Audit terminology consistency across documentation against the codebase UI labels and the glossary — in prose and in the UI strings shown in screenshots.

When should I use Dify Docs Terminology Check?

Dify Docs Terminology Check fits situations like: says check terminology; verify glossary; terminology audit.

How do I install Dify Docs Terminology Check in Claude Code?

Run `npx skills add langgenius/dify-docs --skill dify-docs-terminology-check -a claude-code`. Or copy the skill folder (.claude/skills/dify-docs-terminology-check in langgenius/dify-docs) into .claude/skills/dify-docs-terminology-check in your project. Claude Code loads it when a task matches its description.

How do I install Dify Docs Terminology Check in Codex?

Run `npx skills add langgenius/dify-docs --skill dify-docs-terminology-check -a codex`. Or copy the skill folder (.claude/skills/dify-docs-terminology-check in langgenius/dify-docs) into .agents/skills/dify-docs-terminology-check in your project. Codex loads it when a task matches its description.

Can I use Dify Docs Terminology Check 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 langgenius/dify-docs --skill dify-docs-terminology-check -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/dify-docs-terminology-check, .gemini/skills/dify-docs-terminology-check, .github/skills/dify-docs-terminology-check and .opencode/skills/dify-docs-terminology-check in your project.

What does Dify Docs Terminology Check need to run?

Going by SKILL.md and its folder, Dify Docs Terminology Check needs the command-line tools its instructions call (git and python3). Our summary lists: Python 3.

Does Dify Docs Terminology Check access the network?

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

Is Dify Docs Terminology Check 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 Dify Docs Terminology Check use?

Dify Docs Terminology Check is published under the CC-BY-4.0 licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Dify Docs Terminology Check use?

About 2.3k tokens (SKILL.md is roughly 9.4k 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 Dify Docs Terminology Check?

Skills that share tags, products or a category with Dify Docs Terminology Check: Dify Component Writing Guide (langgenius/dify, 158k stars), Frontend Code Review (aiskillstore/marketplace, 430 stars), Frontend Code Review (langgenius/dify, 158k stars) and Dify Frontend Testing (langgenius/dify, 158k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Dify Docs Terminology Check?

langgenius (a GitHub organization) maintains it in langgenius/dify-docs, which has 178 GitHub stars. The repository holds 11 skills in this directory. The repository was last updated on October 9, 2026.

Source: langgenius/dify-docs on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.