Agent skill

Dify Docs Write

by langgenius in 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.

CC-BY-4.0Auto-check passedWriting & Content

Install Dify Docs Write

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

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

GitHub CLI
$ gh skill install langgenius/dify-docs dify-docs-write --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-write .claude/skills/dify-docs-write && 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-write
GitHub stars
178
Token cost
~3.2k tokens
SKILL.md length
1,986 words
Files
4 (incl. references)
Skills in repo
11
Repo updated
First seen
Licence
CC-BY-4.0

At a glance

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 in 3 steps: Read it back per… → Run dify-docs-format-check, then… → Run dify-docs-reader-test last, on the…
  • Tasks that involve OpenAPI specifications
  • SKILL.md covers Route, Understand before you write…, Agree the scope (S4) and Write (S5), plus 3 more sections
  • Instructions only: no scripts, shell commands, URLs or credentials in SKILL.md

What it does

Dify Docs Write is an agent skill from 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. Triggers: "write docs for X", "document X", "update this page", "fix/correct this doc", "rewrite/optimize X", "add a page for X".

Its SKILL.md is about 3.2k tokens, which your agent loads only when the skill is triggered. The skill folder holds 4 other files, including reference files (for example `references/drafting-turn.md`, `references/research-summary.md` and `references/task-analysis.md`).

It sits in Writing & Content, covering OpenAPI specifications and Technical writing. It works with Dify. The licence is CC-BY-4.0.

When your agent uses it

  • Tasks that involve OpenAPI specifications
  • Tasks that involve Technical writing

Example prompts

  • “write docs for X”
  • “document X”
  • “update this page”
  • “/dify-docs-write”

Workflow steps

3 steps, taken from the first numbered list in SKILL.md.

  1. Read it back per references/drafting-turn.md and fix what you find; a fault found once is swept across the page before it counts as fixed…
  2. Run dify-docs-format-check, then dify-docs-terminology-check, then the pack's S7 verifiers, fixing and re-running until each is clean; the…
  3. Run dify-docs-reader-test last, on the finished page. A page carried in part is not finished; the test waits for the whole.

What it can do on your machine

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

    No scripts in the folder and no shell commands in SKILL.md.

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

  • Network

    No URLs in SKILL.md.

    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 Write loads about 3.2k tokens when it runs, and up to ~5.7k if it reads all its reference files. Until then it costs about 78 tokens; SKILL.md has 1,986 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~78
When it runs · the whole SKILL.md, loaded when a task matches
~3.2k
With references · SKILL.md plus every file in references/, read only if the agent opens them
~5.7k

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 01f1cb6, republished under its CC-BY-4.0 licence (© langgenius). 1,986 words, ~3,241 tokens.

Download SKILL.mdSave it as .claude/skills/dify-docs-write/SKILL.md (or your agent's skills folder). This skill also uses 3 other files; get the full folder from GitHub.
name
dify-docs-write
description
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. Triggers: "write docs for X", "document X", "update this page", "fix/correct this doc", "rewrite/optimize X", "add a page for X".

Writing Dify Documentation

The deliverable is a page a reader can use: accurate against the shipped product, written for the moment they arrive with, in the fewest words that stay clear. The standard is the style guide, above all its opening section, "What a Good Page Does"; the two reference pages it names calibrate register beside it. The checks catch what a reader pass can miss; passing them is a floor, not the standard.

Each stage below names what it reads. Read at the stage, not before: the drafting turn should hold the bar and the facts, not the check procedures.

Route

Pick the rule pack from the target path (most specific match wins). When the target repo carries an AGENTS.md, its repo-wide rules apply on top. A page with no pack skips every pack read below; the guides alone govern it. The pack carries what is specific to its surface. When they disagree, the guides win, over this skill too.

Target pathRule pack
en/self-host/deploy/configuration/environments.mdxdify-docs-env-vars
en/{cloud,self-host}/use-dify/, en/self-host/deploy/, en/develop-plugin/dify-docs-guides
{en,zh,ja}/api-reference/dify-docs-api-reference
en/cli/dify-cli-docs
Dify-Enterprise-Docs/{lang}/{X.Y.x}/deploy/, …/administer/ee-ops-docs (in that repo)
Dify-Enterprise-Docs/{lang}/{X.Y.x}/use/, …/develop/plugins/dify-docs-guides
Dify-Enterprise-Docs/{lang}/{X.Y.x}/develop/api/dify-docs-api-reference
Dify-Enterprise-Docs/{lang}/{X.Y.x}/develop/cli/dify-cli-docs
any other pathnone; the writing guides govern

Read now: writing-guides/style-guide.md; the pack's reader and vocabulary sections; the glossary rows for the surfaces in scope (writing-guides/glossary.md, by UI label, not the whole file).

Understand before you write (S1–S3)

Read now: writing-guides/index.md § "Syncing the Dify codebase safely"; the pack's procedures labeled S2; references/task-analysis.md; references/research-summary.md.

Pin the code ref first (for a pre-release feature, the development branch the user names) and verify every claim there. Existing docs are not evidence, because pages go stale, so a rewrite re-checks everything it keeps. Code presence is not a working feature either: behavior inferred from code rather than confirmed is reported as unverified and stays off the page, and so is a claim whose source you cannot reach, marked UNVERIFIED in the scope report and the PR description. The depth follows the job. A correction verifies the one disputed claim and records the evidence. An update runs dify-docs-feature-research at targeted depth on the surfaces the change touches. A new page, a rewrite, or a pre-release feature runs dify-docs-feature-research in full, and a rewrite re-verifies every claim carried over. Run the pack's S2 discovery and record each result, including "no match".

Write the research down, from the research skill's record, as the drafter will need it, in the shape references/research-summary.md shows, because the drafter mirrors the shape and vocabulary of what it is handed and the summary's frame decides what it does with a fact. The session decides what the page does not carry; the drafter decides, sentence by sentence, what the reader would ask for, and a summary trimmed to exactly the page leaves it nothing to decide.

Then work out who arrives at this page and what they are trying to do, with references/task-analysis.md. Tasks come from the reader's own journeys through the product, not from the issue text or the code trace. For each task, note what they need before starting, what they will wonder mid-way, what they will overlook, and how they will know it worked. What the interface shows at that moment stays out; what it cannot show goes in. A question the docs cannot answer (a UI gap, a product gap) is reported, never papered over in prose.

For a use-dify page, both audience copies are in scope: shared improvements land in both, audience-specific blocks stay per copy (the guides pack has the rules).

Agree the scope (S4)

Before drafting, report the pages and what will change on each, the research summary itself, the unverified claims, and the questions you are routing elsewhere, then stop for approval. Silent scope drift is the failure this guards against, and the summary is shown so the owner can check the question each section answers and strike facts a reader would not ask for before a drafter states them. A single-page correction, or a task arriving from a maintainer's already-approved release-sync report, proceeds without the stop. When the scope offers a structural choice, give each option's reader impact and size before asking for a decision. A port into another tree is scoped from the feature's full footprint in the source tree (the union of its source PRs' file lists, a link sweep, and a name sweep), never from the target tree or a parked branch, and every footprint file gets an include, adapt, or exclude line. When no reviewer is in the session, put the report in the PR description and continue; the approval happens at PR review.

Write (S5)

Read now: the pack's procedures labeled S5 and the references they name (page shape, conventions, style overrides). Then, last before the first sentence: the whole style guide, whose opening section "What a Good Page Does" is the standard and whose later sections carry the rules only a drafter can apply (plan badges, the Enterprise tip, how limits are phrased, location-first instructions); references/drafting-turn.md; and the reference page in the page's genre, en/cloud/use-dify/build/new-agent/overview.mdx for a concept page or en/cloud/use-dify/build/new-agent/build.mdx for a task page. A reference page (a CLI command, an API group, a node) takes the task page plus the pack's page shape: the pack decides the sections, tables, and conventions of its document type, and the sample decides only how the sentences inside them sound. The two pages calibrate register; the style guide is the authority when they differ.

For a new page or a rewrite, the outline is the summary's question-headed sections in the reader's order; the owner approved it with the summary, so re-propose only what changed since. Exclusions need no defense; an inclusion that answers no question is the thing to defend.

Before handing off, propose how the drafting splits and agree it with the owner (the no-reviewer rule under Agree the scope applies): pages that share a through-line go to one drafter as one topic, the touched sections of related pages go to one drafter by topic on a partial edit, and one drafter per page is a choice, not the default.

The session that did the research never drafts: its context is full of code vocabulary, tool output, and its own history, and the prose takes that register.

The drafter gets the filled-in reader block at the top of its turn, the research summary, the whole style guide, references/drafting-turn.md, the reference page in its genre, and the pack's page-shape and drafting sections, and no research beyond that. It may open the pages this one links to and its siblings in the docs tree, to see what they carry and how they name things; the reference page still sets the register. It names the judgment each section owes its reader, writes toward that rather than toward the fact list, drafts the page whole so the sections carry a through-line, and reads it back once before returning it.

Before the editor test, read the draft against the pages it links to and its siblings for overlap and contradiction. That check is the session's, which has the doc set in view; it is not a rule in the drafter's brief.

Review the whole draft, then sort the corrections by one question: does this change what a unit is for, or only what a sentence says? A fact, a label, a link, a number, or a word: edit it directly. A sentence or paragraph reworked with its idea unchanged: rewrite that unit whole and read it back against the standard. A changed idea, a section or more, or the second round of corrections on the same unit: hand the draft, the corrections, the standard, and the reference page to a fresh drafter and run the editor test after, because by then this session holds the old framing and the discussion about it, and patches accumulate into prose written in three different contexts.

Uncertain content is left out and recorded, never hedged. Concept sections describe, task pages instruct. Frontmatter descriptions are written last, from the finished page.

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

Translate (S6)

Read now: tools/translate/formatting-zh.md, tools/translate/formatting-ja.md, and the glossary.

Every English change ships zh/ and ja/ in the same pass. A new page is registered in all three navigation sections of docs.json in the same PR. The API pack edits its three specs directly and gates on its parity check.

Translate from the English file on disk as it stands, not from the draft in the conversation. After a review round, diff the English file and carry every changed sentence, structural edits included, into zh and ja; a stated sync is intent, not verified state, and a deletion of content you drafted is confirmed with the owner before it is mirrored. Before translating a use-dify page, look for its translation in the sibling audience tree: swap cloud and self-host in the path under zh/ and ja/. A page that already exists translated there is copied and adjusted (links, the disclaimer backlink, the audience-specific fragment), never re-translated, once its English source is confirmed to match this page's English on the shared content, the audience-specific block being an allowed difference; the two trees can sit on different releases, and a sibling from another release is translated from the current source instead. When the owner deletes from one translation, mirror the deletion in the other.

Check (S7)

Read now: writing-guides/formatting-guide.md; the pack's procedures labeled S7.

  1. Read it back per references/drafting-turn.md and fix what you find; a fault found once is swept across the page before it counts as fixed. Then run dify-docs-editor-test on the English page and dify-docs-translation-test on the zh and ja pages: a fresh agent reads each against its standard and returns sentence-level marks and a verdict on this round's work. On a partial edit the tests get the changed sections named; marks elsewhere on the page go to the owner as a list, not into the fix. When a round carries text that already passed these tests on the page it came from, as a cloud and self-host pair does, the round's work is the adaptation: the links, the disclaimer backlink, and the audience-specific fragments. Those are the sentences the editor test is told this round changed and the translation test reads on the zh and ja copies; both are skipped when none changed, and both read the whole carried text when you cannot confirm the source round ran them. The reader test waits for a page carried whole. The format and terminology checks run either way, at the target copy's release, because a carry can leave a link or a label that was right in the source tree and is wrong here. An English correction accepted at any step of this stage returns the page to S6, and the translation test runs on the changed sentences after it, so the zh and ja pages are judged as they will ship. The API pack's specs are gated by its parity check instead. "Needs rewrite" and "Needs retranslation" mean the unit is redone whole, not patched.
  2. Run dify-docs-format-check, then dify-docs-terminology-check, then the pack's S7 verifiers, fixing and re-running until each is clean; the terminology check is clean when its only remaining findings sit under its report's Dead glossary rows. A clean run is not a finished page.
  3. Run dify-docs-reader-test last, on the finished page. A page carried in part is not finished; the test waits for the whole.

This applies to every edit, including a one-line correction made without the rest of this pipeline: check the work before presenting it. Process documents (plans, design notes) are exempt. If you skip or change a stage, say so and why.

Close (S8)

Read now, if the page has a sibling copy in the other audience tree or an Enterprise version: that copy, for the propagation proposal.

Report what changed, what stays open (unverified claims, routed questions, follow-ups), any glossary additions, any pack reference or guide the work showed to be stale, and the sibling copies affected.

© 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

SKILL.md and 3 other files (references) in .claude/skills/dify-docs-write of langgenius/dify-docs.

  • SKILL.md
  • references/drafting-turn.md
  • references/research-summary.md
  • references/task-analysis.md

Open the folder on GitHubat commit 01f1cb6

Compare with similar skills

Dify Docs Write 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 Write compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Dify Docs Write this skilllanggenius/dify-docs178—~3.2kAutomated safety check: PassCC-BY-4.0
DocsInsForge/InsForge13k—~761Automated safety check: PassApache-2.0
Docs Leadlablup/backend.ai-webui133—~2.9kAutomated safety check: PassLGPL-3.0
Docs Interfacesjh941213/my-cc-harness126—~863Automated safety check: NotesNone
Aliyun Platform Docs Reviewcinience/alicloud-skills397—~630Automated safety check: PassMIT
Aliyun Mps Video Translationcinience/alicloud-skills397—~503Automated safety check: PassMIT

Similar skills

  • Docs

    InsForge/InsForge

    A skill your agent uses when contributing to InsForge's product documentation in this repository.

    13k GitHub stars~761 tokensUpdated today
    Backend & APIsAuto-check passed
  • Docs Lead

    lablup/backend.ai-webui

    A skill your agent uses whenever the user mentions docs, the manual, documentation, terminology, translations, or screenshots — including indirect mentions like "이 PR 문서 영향 봐줘", "문서 점검", "용어 통일"…

    133 GitHub stars~2.9k tokensUpdated today
    Writing & ContentAuto-check passed
  • Docs Interfaces

    jh941213/my-cc-harness

    Generate interface/API docs — OpenAPI 3.1/AsyncAPI 3.0 specs, API topology diagrams, interface flow (sequence) diagrams, API changelog.

    126 GitHub stars~863 tokensUpdated 2 mo ago
    Backend & APIsAuto-check: notes
  • Aliyun Platform Docs Review

    cinience/alicloud-skills

    A skill your agent uses when reviewing latest Alibaba Cloud product docs and OpenAPI docs by product name, then output detailed prioritized improvement suggestions with evidence and scoring.

    397 GitHub stars~630 tokensUpdated 1 mo ago
    DevelopmentAuto-check passed
  • Aliyun Mps Video Translation

    cinience/alicloud-skills

    A skill your agent uses when creating or managing Alibaba Cloud IMS video translation jobs via OpenAPI (subtitle/voice/face).

    397 GitHub stars~503 tokensUpdated 1 mo ago
    Writing & ContentAuto-check passed
  • API For Yourself

    majiayu000/claude-skill-registry

    Publish 'how to work with me' as a literal API spec — endpoints (what to ask me for and what you'll get back), rate limits (meeting and interrupt tolerance), error codes (what happens when you…

    666 GitHub starsUsed in 1 repo~1.4k tokens
    Backend & APIsAuto-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 7 days ago
    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 7 days ago
    Auto-check passed
  • Dify Docs Terminology Check

    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.

    178 GitHub stars~2.3k tokensUpdated 7 days ago
    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 7 days ago
    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 7 days ago
    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 7 days ago
    Auto-check passed

Works with

Questions about Dify Docs Write

What does Dify Docs Write do?

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. Dify Docs Write is an agent skill from 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.

When should I use Dify Docs Write?

Dify Docs Write fits situations like: tasks that involve OpenAPI specifications; tasks that involve Technical writing.

How do I install Dify Docs Write in Claude Code?

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

How do I install Dify Docs Write in Codex?

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

Can I use Dify Docs Write 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-write -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-write, .gemini/skills/dify-docs-write, .github/skills/dify-docs-write and .opencode/skills/dify-docs-write in your project.

What does Dify Docs Write need to run?

SKILL.md names no scripts, command-line tools or credentials: Dify Docs Write is instructions for the agent only.

Does Dify Docs Write access the network?

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.

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

Dify Docs Write 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 Write use?

About 3.2k tokens (SKILL.md is roughly 13k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full. Its references folder adds about 2.4k tokens, read only when the agent opens those files.

What are the alternatives to Dify Docs Write?

Skills that share tags, products or a category with Dify Docs Write: Docs (InsForge/InsForge, 13k stars), Docs Lead (lablup/backend.ai-webui, 133 stars), Docs Interfaces (jh941213/my-cc-harness, 126 stars) and Aliyun Platform Docs Review (cinience/alicloud-skills, 397 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Dify Docs Write?

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.