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.
Rule pack for the Dify CLI (difyctl) doc set: en/cli/ and the Enterprise develop/cli/ trees.
$ npx skills add langgenius/dify-docs --skill dify-cli-docs -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install langgenius/dify-docs dify-cli-docs --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/langgenius/dify-docs.git skills-src && mkdir -p .claude/skills && cp -r skills-src/.claude/skills/dify-cli-docs .claude/skills/dify-cli-docs && 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 "dify-cli-docs" agent skill from https://github.com/langgenius/dify-docs/tree/main/.claude/skills/dify-cli-docs into .claude/skills/dify-cli-docs/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "dify-cli-docs", 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/langgenius/dify-docs/tree/main/.claude/skills/dify-cli-docsType 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 langgenius/dify-docs --skill dify-cli-docs -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install langgenius/dify-docs dify-cli-docs --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/langgenius/dify-docs.git skills-src && mkdir -p .agents/skills && cp -r skills-src/.claude/skills/dify-cli-docs .agents/skills/dify-cli-docs && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "dify-cli-docs" agent skill from https://github.com/langgenius/dify-docs/tree/main/.claude/skills/dify-cli-docs into .agents/skills/dify-cli-docs/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "dify-cli-docs", 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 langgenius/dify-docs --skill dify-cli-docs -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install langgenius/dify-docs dify-cli-docs --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/langgenius/dify-docs.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/.claude/skills/dify-cli-docs .cursor/skills/dify-cli-docs && 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 "dify-cli-docs" agent skill from https://github.com/langgenius/dify-docs/tree/main/.claude/skills/dify-cli-docs into .cursor/skills/dify-cli-docs/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "dify-cli-docs", 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/langgenius/dify-docs.git --path .claude/skills/dify-cli-docs--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 langgenius/dify-docs --skill dify-cli-docs -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install langgenius/dify-docs dify-cli-docs --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/langgenius/dify-docs.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/.claude/skills/dify-cli-docs .gemini/skills/dify-cli-docs && 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 "dify-cli-docs" agent skill from https://github.com/langgenius/dify-docs/tree/main/.claude/skills/dify-cli-docs into .gemini/skills/dify-cli-docs/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "dify-cli-docs", 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 langgenius/dify-docs dify-cli-docsInstalls 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 langgenius/dify-docs --skill dify-cli-docs -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/langgenius/dify-docs.git skills-src && mkdir -p .github/skills && cp -r skills-src/.claude/skills/dify-cli-docs .github/skills/dify-cli-docs && 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 "dify-cli-docs" agent skill from https://github.com/langgenius/dify-docs/tree/main/.claude/skills/dify-cli-docs into .github/skills/dify-cli-docs/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "dify-cli-docs", 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 langgenius/dify-docs --skill dify-cli-docs -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install langgenius/dify-docs dify-cli-docs --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/langgenius/dify-docs.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/.claude/skills/dify-cli-docs .opencode/skills/dify-cli-docs && 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 "dify-cli-docs" agent skill from https://github.com/langgenius/dify-docs/tree/main/.claude/skills/dify-cli-docs into .opencode/skills/dify-cli-docs/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "dify-cli-docs", 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.
dify-cli-docsRule pack for the Dify CLI (difyctl) doc set: en/cli/ and the Enterprise develop/cli/ trees.
Dify CLI Docs is an agent skill from langgenius/dify-docs. Rule pack for the Dify CLI (difyctl) doc set: en/cli/ and the Enterprise develop/cli/ trees. Readers, source of truth, house style, page shape, and content ownership. Loaded by dify-docs-write.
Its SKILL.md is about 1.9k tokens, which your agent loads only when the skill is triggered. It is a single SKILL.md file with no bundled scripts.
It works with Dify. The licence is CC-BY-4.0.
6 steps, taken from the first numbered list in SKILL.md.
Read from SKILL.md and the folder at commit 01f1cb6. 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.
Shell commands in SKILL.md call:
python3From the folder's file list and the shell code blocks in SKILL.md.
No URLs in SKILL.md.
From URLs in SKILL.md, links to its own repository left out.
Names these keys or tokens, usually read from environment variables:
DIFY_TOKENFrom names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.
Dify CLI Docs loads about 1.9k tokens when it runs. Until then it costs about 52 tokens; SKILL.md has 1,110 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 langgenius/dify-docs at commit 01f1cb6, republished under its CC-BY-4.0 licence (© langgenius). 1,110 words, ~1,949 tokens.
.claude/skills/dify-cli-docs/SKILL.md (or your agent's skills folder).Not an entry point: dify-docs-write loads this pack for en/cli/ pages and the Enterprise develop/cli/ trees.
Developers, DevOps engineers, and technical PMs who have a Dify account and sign in through the browser device flow. They know their shell and tools like kubectl and gh, so never explain shell basics. They may not know Dify's concepts: one sentence and a link to the main docs, never a re-teach. The "Integrate Your Agents" section is for engineers wiring their own agent to call Dify apps as tools; write for that builder, at engineering depth, and keep it distinct from building agents inside Dify Studio. SSO sign-in (dfoe_ tokens) is Enterprise-only and is documented only in the Enterprise trees.
Every behavior claim is verified in cli/ on langgenius/dify origin/main, read at the pinned SHA per writing-guides/index.md § "Syncing the Dify codebase safely", and the report records that SHA. Not feat/cli, not cli/README.md, not the CLI's own help text: all three drift from what shipped. Where to look:
cli/test/e2e/suites/**cli/src/commands/<verb>/<resource>/index.ts (verb-only commands in cli/src/commands/<verb>/index.ts)cli/src/errors/codes.tscli/src/env/registry.tsA claim you cannot verify is left out or marked {/* VERIFY: … */}, never softened into a fact. For project context (known bugs, what is shipped versus planned), ask the user.
DIFY_TOKEN and other non-interactive tokens are never shown as working auth, because readers copy auth examples into scripts.<your-app-id>: app and workspace IDs are UUID-shaped, because a non-UUID fails validation and the reader's first attempt errors. The reader's own identity is <your-*>; values they received stay concrete.en/cli/ doc set launched CE-first. Cloud-only content, which is anything that needs more than one workspace (workspace switching and membership, --workspace, -A), carries <Badge color="blue">Cloud</Badge> on its heading or list item rather than a "Cloud only" sentence; CE prose has one workspace and no "another workspace" framing.dify.example.com, never cloud.dify.ai, and since auth login defaults to cloud.dify.ai, steer the reader to enter their host rather than stating the default. If a CE release requires removing Cloud-only sections, list the exact sections and stop for approval, then remove them in a dedicated commit so git history can restore them. The Enterprise trees have multiple workspaces, so these edition rules do not apply there.A command section opens with when and why you would run it, front-loads its key limitation, and shows real terminal output, because a reader scanning for their case decides in the first line whether to stay. The vocabulary and conventions this doc set has settled on:
--host, hosts.yml, use host, "Active host", "known hosts"); "server" is the backend acting ("the server returns", "Network or server error") or its version ("client and server versions").data array with the paging fields page/limit/total/has_more"; error JSON is "a structured JSON object". Never "envelope".chat, advanced-chat, …) only inside literal output.--limit flag overrides DIFY_LIMIT") or a named, linked target.auth devices list to see your sessions"), and an owned fact is linked with a short payoff instead of re-explained.get app").version page shows real output), no "See Also" sections, and shipped reality only, except a fix the user confirms is in flight, verified before publish.A command reference page covers one resource, one H2 per command, headings phrased as the task ("List Your Apps", never the literal command). Read a sibling page (en/cli/reference/apps.mdx; for a task page, en/cli/common-tasks.mdx) for the shape before writing, and match it where the content is alike.
Within a command, the reader's questions come in this order, and the sections follow it:
<required> [optional] ...repeatable notation, plus one line on when you would reach for it.### Arguments, noting the source ("<app-id> from get app").### Flags, a table with Flag, Type, Default, Description. A recurring flag is described in full each time, because readers land mid-page.### Examples, a verb-led caption and the command block, no result samples.### Output, stdout and stderr per mode, success included. -o commands get a | Format | What stdout gets | table with captioned samples (except export and --json-only commands). Describe failures rather than quoting error strings.### Exit Codes, linking Output Formats and Exit Codes for the full table.A section that would carry a single fact becomes a sentence instead; the shape serves the reader, not the reverse.
Multi-command pages open with a one-line lead-in and an index of anchor links; a one-command page opens with a plain sentence. Page-level material (how the resource works, shared concepts) goes after the commands, unless it belongs beside one command (pause and resume stay with run), in which case it stays there.
Each cross-cutting fact lives on one page; everywhere else links it with a short payoff.
| Content | Owner |
|---|---|
| Run dispatch across app types | Apps, "Run an App" |
HITL pause/resume (exit 0 + status:"paused") | Apps, "When a Workflow Pauses" |
| Workspace resolution chain | Workspaces |
-o schemas, exit codes, stdout/stderr discipline | Output Formats and Exit Codes |
| Global flag inventory | Global Flags |
| Help forms and topics | help |
Agent discovery (help -o json, agentGuide) | help, "Machine-Readable Help" |
| Sign-in and token storage | Authenticate |
| Env-var inventory | Environment Variables |
| Compat probe and range | version |
After the pipeline's own checks: python3 tools/check-links.py --internal must print Broken links: 0 and Broken anchors: 0 (a <Badge> in a heading joins the anchor slug, so ## Switch Your Workspace <Badge color="blue">Cloud</Badge> is #switch-your-workspace-cloud); and confirm against the ownership table that no owned fact is re-explained on the changed page.
© 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
Just SKILL.md in .claude/skills/dify-cli-docs of langgenius/dify-docs.
Open the folder on GitHubat commit 01f1cb6
Dify CLI Docs 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 |
|---|---|---|---|---|---|---|
| Dify CLI Docs this skilllanggenius/dify-docs | 178 | — | ~1.9k | Automated safety check: Pass | CC-BY-4.0 | |
| Frontend Code Reviewlanggenius/dify | 158k | — | ~938 | Automated safety check: Pass | Custom licence | |
| Dify Component Writing Guidelanggenius/dify | 158k | — | ~626 | Automated safety check: Pass | Custom licence | |
| Dify Command Line with difyctllanggenius/dify | 158k | — | ~1.4k | Automated safety check: Pass | Custom licence | |
| Deep Research21pounder/terminalAgent | 120 | 2 repos | ~883 | Automated safety check: Notes | Apache-2.0 | |
| Dify Frontend Testinglanggenius/dify | 158k | — | ~242 | Automated safety check: Pass | Custom licence |
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.
langgenius/dify
Use when implementing or refactoring React/TypeScript components and the task requires decisions about component ownership, feature boundaries, state, data…
langgenius/dify
Base skill for the difyctl CLI: discover a Dify server's operations through help output and run them as commands, always with JSON output.
21pounder/terminalAgent
Conduct comprehensive deep research on any topic using Dify-powered workflow - searches documentation, academic papers, tutorials, APIs, best practices, and returns structured analysis with insights.
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…
Ohh-889/skyroc
Generate Vitest + React Testing Library tests for Dify frontend components, hooks, and utilities.
langgenius/dify-docs
Research a Dify feature before writing or optimizing documentation.
langgenius/dify-docs
Check formatting compliance in changed documentation against writing-guides/formatting-guide.md and tools/translate/formatting-{zh,ja}.md.
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.
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.
langgenius/dify-docs
Rule pack for the environment variable reference — en/self-host/deploy/configuration/environments.mdx.
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.
Works with
Rule pack for the Dify CLI (difyctl) doc set: en/cli/ and the Enterprise develop/cli/ trees. Dify CLI Docs is an agent skill from langgenius/dify-docs. Rule pack for the Dify CLI (difyctl) doc set: en/cli/ and the Enterprise develop/cli/ trees.
Run `npx skills add langgenius/dify-docs --skill dify-cli-docs -a claude-code`. Or copy the skill folder (.claude/skills/dify-cli-docs in langgenius/dify-docs) into .claude/skills/dify-cli-docs in your project. Claude Code loads it when a task matches its description.
Run `npx skills add langgenius/dify-docs --skill dify-cli-docs -a codex`. Or copy the skill folder (.claude/skills/dify-cli-docs in langgenius/dify-docs) into .agents/skills/dify-cli-docs 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 langgenius/dify-docs --skill dify-cli-docs -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-cli-docs, .gemini/skills/dify-cli-docs, .github/skills/dify-cli-docs and .opencode/skills/dify-cli-docs in your project.
Going by SKILL.md and its folder, Dify CLI Docs needs the command-line tools its instructions call (python3) and credentials named DIFY_TOKEN. Our summary lists: Python 3; A credential in DIFY_TOKEN.
SKILL.md contains no URLs. Any network use would come from the scripts or tools the agent runs. 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.
Dify CLI Docs 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.
About 1.9k tokens (SKILL.md is roughly 7.8k 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 Dify CLI Docs: Frontend Code Review (langgenius/dify, 158k stars), Dify Component Writing Guide (langgenius/dify, 158k stars), Dify Command Line with difyctl (langgenius/dify, 158k stars) and Deep Research (21pounder/terminalAgent, 120 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
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 September 30, 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.