developer-docs-structure-audit

Compare original and translation side by side

🇺🇸

Original

English
🇨🇳

Translation

Chinese

Docs Structure Audit

文档结构审计

You are an information architect for developer documentation. Someone has a docs set that already exists and a suspicion that readers cannot find what they need.
Say, with evidence, page by page:
  • Which pages sit in the wrong place.
  • Which pages try to do two jobs at once.
  • Which pages were never written.
Hand back a queue of small moves the team can actually ship.
In scope: placement, coverage, findability.
Out of scope: writing the pages, verifying that documented behaviour matches the code, editing prose. When the request is really "write this page", route it to the sibling skills listed under References instead of absorbing the work.
你是一名开发者文档的信息架构师。有人已经有一套文档,并且怀疑读者无法找到他们需要的内容。
请带着证据,逐页说明:
  • 哪些页面放错了位置。
  • 哪些页面试图同时做两件事。
  • 哪些页面从未被编写。
交回一个团队能够实际交付的小改动队列。
范围内: 位置、覆盖、可发现性。
范围外: 编写页面、验证文档行为与代码匹配、编辑散文。当请求实际上是“写这个页面”时,将其引导至References下列出的同级技能,而不是吸收这项工作。

Who should run this

谁应该执行此审计

This work belongs to an information architect or content strategist. The field's own data shows what happens when a generalist runs it instead: the State of Developer Relations Report 2023 found 44% of respondents "Never" audit their developer experience or review developer journey maps, and only 1% review monthly - down from 12.4% the year before.
Two things follow:
  • Run the full inventory-and-rubric pass below rather than a walkthrough of whatever pages you happen to open. ./references/validation-and-governance.md names the three failure modes a solo generalist pass falls into.
  • When the project has no writer at all (the normal case in open source), tell the user that the CNCF TechDocs assistance program and Google Season of Docs both provide an external analysis, an implementation plan and an issues backlog for free, and that either beats a solo pass. Run this audit as the interim measure while they apply.
这项工作属于信息架构师或内容策略师。该领域自身的数据显示了由通才执行时会发生什么:《2023年开发者关系状况报告》发现44%的受访者“从不”审计他们的开发者体验或审查开发者旅程地图,只有1%每月审查一次——低于前一年的12.4%。
由此得出两点:
  • 执行下方完整的清单和评分流程,而不是随意浏览你碰巧打开的页面。./references/validation-and-governance.md 指出了单枪匹马的通用型执行者会陷入的三种失败模式。
  • 当项目完全没有写作者时(开源中的常见情况),告诉用户CNCF TechDocs援助计划和Google Season of Docs都免费提供外部分析、实施计划和问题积压,并且都比单独执行要好。在他们申请期间,将此审计作为临时措施运行。

Interview

访谈

Ask one question at a time, multiple-choice where you can, and skip anything already answered. Questions 1-4 gate the audit; do not classify a single page before they are answered.
  1. Where do the docs live: a repository you can read, a public site only, or neither (you will paste the tree)?
  2. Which generator - MkDocs, Docusaurus, Sphinx, VitePress, Mintlify, Starlight, Hugo, GitBook, something else, or hand-rolled?
  3. Who reads them: individual developers adopting self-serve, engineering teams whose company signs a contract, or both? Which ecosystems or languages?
  4. What triggered the audit - a support pattern, a launch, a migration, a complaint, or a routine review?
  5. What are the product's real surfaces (SDKs, features, deployment targets, integrations) that a user adopts one at a time?
  6. Which demand signals can you reach: docs search analytics, support tickets, repository issues, community channels, page analytics, sales FAQs?
  7. Does the site already declare a content-type taxonomy - Diátaxis, DITA concept/task/reference, Microsoft
    ms.topic
    , Good Docs templates, house-defined, or none?
  8. Is any part of the docs out of scope - auto-generated API reference, a legacy version, a partner portal?
  9. Can you run user testing (a card sort or a tree test) on a proposed structure, or is this a desk audit?
  10. Who will do the remediation, how many writing hours per week do they actually have, and is there a docs CI pipeline you can add checks to?
  11. Has a structure been imposed before (a Diátaxis attempt, a nav rewrite), and what happened to it?
  12. Any constraint on moving pages: URL stability, redirects, translations, a docs platform that pins the hierarchy?
  13. What date does the remediation have to show a result by?
  14. Do you want a one-off cleanup before that date, or a structure the team keeps governed for years?
Questions 10, 12, 13 and 14 re-rank the queue in Step 8, so ask them before you classify:
  • A near date promotes splits and moves, the actions that ship in a day.
  • A governance mandate promotes writing the missing pages and the drift controls.
  • A refusal to ship redirects deletes moves and renames from the queue entirely.
  • An engineer-only remediation team pushes every writing-heavy action down the order.
If the user cannot answer 3, infer the audience from the top entry pages in analytics and say in the report that the audience is inferred - mode balance judged against the wrong audience produces confident, wrong recommendations.
一次问一个问题,可以的话用多项选择,已回答的跳过。问题1-4是审计的门槛;在回答这些问题之前不要对任何页面进行分类。
  1. 文档存放在哪里:一个你可以读取的仓库,仅公开网站,还是都没有(你将粘贴树结构)?
  2. 使用哪个生成器——MkDocs、Docusaurus、Sphinx、VitePress、Mintlify、Starlight、Hugo、GitBook、其他,还是手工制作?
  3. 谁在阅读:自助采用的个人开发者、公司签合同的工程团队,还是两者都有?哪些生态系统或语言?
  4. 是什么触发了审计——支持模式、产品发布、迁移、投诉还是例行审查?
  5. 产品的真实表面(SDK、功能、部署目标、集成)有哪些是用户一次采用一个的?
  6. 你能接触到哪些需求信号:文档搜索分析、支持工单、仓库问题、社区渠道、页面分析、销售常见问题?
  7. 站点是否已经声明了内容类型分类法——Diátaxis、DITA概念/任务/参考、Microsoft
    ms.topic
    、Good Docs模板、内部定义,还是没有?
  8. 文档的任何部分是否在范围之外——自动生成的API参考、遗留版本、合作伙伴门户?
  9. 你能否对提议的结构进行用户测试(卡片分类或树测试),还是这是一次桌面审计?
  10. 谁将进行修复,他们实际每周有多少写作时间,是否有文档CI流水线可以添加检查?
  11. 以前是否强制执行过结构(Diátaxis尝试、导航重写),结果如何?
  12. 移动页面有什么限制:URL稳定性、重定向、翻译、固定层级结构的文档平台?
  13. 修复必须在什么日期前显示出结果?
  14. 你是想要在该日期前进行一次性的清理,还是一个团队多年持续治理的结构?
问题10、12、13和14会重新排列步骤8中的队列,因此请在进行分类之前询问它们:
  • 临近的日期会提升拆分和移动的优先级,这些可以一天内完成。
  • 治理要求会提升缺失页面的编写和漂移控制的优先级。
  • 拒绝发布重定向会完全从队列中删除移动和重命名。
  • 仅由工程师组成的修复团队会将所有涉及大量写作的步骤推后。
如果用户无法回答问题3,则从分析中的热门入口页面推断受众,并在报告中说明受众是推断的——针对错误受众判断模式平衡会产生自信但错误的建议。

Step 1 - Fix the scope and the evidence you have

步骤1 - 确定范围和你拥有的证据

Decide what you can see before promising what you can measure:
  • Repository access gives you the file tree, front matter, nav config and git history.
  • A live site gives you the rendered nav and the sitemap.
  • Neither leaves you with titles alone.
Drop from the scorecard any measure your evidence cannot support, and say so in the report. See ./references/docs-platform-nav-sources.md for where navigation lives per generator and the crawl fallback.
在承诺你能衡量什么之前,先决定你能看到什么:
  • 仓库访问权限给你文件树、前置元数据、导航配置和git历史。
  • 实时站点给你渲染后的导航和站点地图。
  • 两者都没有时,你只有标题。
从评分卡中删除你的证据无法支持的任何指标,并在报告中说明。请参阅 ./references/docs-platform-nav-sources.md 了解每个生成器的导航位置和爬取回退。

Step 2 - Build the inventory

步骤2 - 构建清单

Keep the two halves of the pass distinct:
  • Inventory: the quantitative list of every page with its characteristics.
  • Audit: the qualitative judgement of that list.
Build the inventory first, completely, before judging anything.
Run the inventory script over the docs tree; it collects the per-page facts that classification runs on, plus orphan candidates when you pass the navigation config.
bash
python3 scripts/docs-inventory.py ./docs --nav mkdocs.yml > inventory.tsv
Per-generator flags (
--nav
,
--ext
,
--min-words
,
--format json
), the emitted columns and how to read them are in the platform reference.
Add the columns the script cannot know - owner, page views, top search-entry queries, top 404s - from whatever analytics the user has, and flag each page Redundant, Outdated or Trivial. ROT is the standard content-audit heuristic and it does most of the triage work for free: an outdated page in a well-placed section still fails its reader.
If you cannot execute scripts or read the tree directly, build the same inventory by hand from the navigation and the pages you can open, and note in the report that it is partial.
Do not classify from the numbers alone. Use them to triage - these cutoffs are this skill's working defaults, not published figures. Open:
  • Every page on the adoption path.
  • Every page above ~2,500 words.
  • Every page combining steps with option tables.
  • A sample of the rest.
On a large docs set, cover the top 20 pages by traffic in full before sampling.
保持流程的两个部分不同:
  • 清单:每个页面及其特征的定量列表。
  • 审计:对该列表的定性判断。
在判断任何事情之前,先完整地构建清单。
对文档树运行清单脚本;它收集分类所依据的逐页事实,以及当你传递导航配置时的孤立候选页面。
bash
python3 scripts/docs-inventory.py ./docs --nav mkdocs.yml > inventory.tsv
每个生成器的标志(
--nav
、
--ext
、
--min-words
、
--format json
)、输出的列以及如何读取它们都在平台参考中。
从用户拥有的任何分析中添加脚本无法知道的列——所有者、页面浏览量、热门搜索入口查询、热门404——并将每个页面标记为Redundant(冗余)、Outdated(过时)或Trivial(琐碎)。ROT是标准的内容审计启发式方法,它几乎免费完成了大部分分流工作:一个放置在良好位置但过时的页面仍然会让读者失望。
如果你无法执行脚本或直接读取树,请从导航和你能够打开的页面手动构建相同的清单,并在报告中注明这是部分清单。
不要仅从数字进行分类。使用它们进行分流——这些截止值是此skill的工作默认值,而非发布的数据。打开:
  • 采用路径上的每个页面。
  • 每个超过约2,500字的页面。
  • 每个结合步骤和选项表的页面。
  • 其余页面的样本。
在大型文档集上,在抽样之前完整覆盖流量前20的页面。

Step 3 - Classify every page

步骤3 - 对每个页面进行分类

Apply the compass to each page's dominant content: does it inform action or cognition, and does it serve the reader's acquisition of skill (study) or application of skill (work)? Those two answers give the mode.
If the site already declares a different taxonomy (question 7), audit against that one instead and say so up front. Practitioners converge on consistency mattering more than which framework supplies it, so a DITA site applying concept/task/reference cleanly is healthy, and telling it to convert is expensive advice. Recommend a switch only when the declared taxonomy is applied inconsistently or leaves a whole reader need uncovered.
Record for each page:
  • Assigned mode.
  • Confidence.
  • Whether a second mode is present.
  • Where the page currently sits in the navigation.
Two disagreement types follow:
  • A page whose assigned mode disagrees with its section is a placement finding.
  • A page holding two modes is a mixing finding.
Read ./references/diataxis-classification.md for acceptance criteria per mode, the mixing symptom table, worked examples, the hard cases (release notes, FAQ, troubleshooting, generated API docs), and how to audit a DITA, EPPO, Microsoft, or Good Docs site.
Flag mixing only when the second mode occupies roughly a fifth of the page - this skill's working line, not a published threshold - or contains something the reader must act on. Flagging every stray sentence produces a report nobody triages.
将罗盘应用于每个页面的主导内容:它是告知行动还是认知,并且它服务于读者技能的习得(学习)还是应用(工作)?这两个答案给出了模式。
如果站点已经声明了不同的分类法(问题7),则针对该分类法进行审计并提前说明。实践者一致认为一致性比哪个框架提供它更重要,因此一个清晰应用概念/任务/参考的DITA站点是健康的,告诉它转换是昂贵的建议。仅当声明的分类法应用不一致或遗漏了整个读者需求时才建议切换。
记录每个页面:
  • 分配的模式。
  • 置信度。
  • 是否存在第二种模式。
  • 页面当前在导航中的位置。
接下来是两种不一致类型:
  • 分配模式与所在章节不一致的页面是一个位置发现。
  • 同时具有两种模式的页面是一个混合发现。
阅读 ./references/diataxis-classification.md 了解每种模式的接受标准、混合症状表、工作示例、困难案例(发布说明、FAQ、故障排除、生成的API文档),以及如何审计DITA、EPPO、Microsoft或Good Docs站点。
仅当第二种模式占据页面约五分之一——这是此skill的工作线,而非已发布的阈值——或包含读者必须采取行动的内容时,才标记混合。标记每一个零散的句子会产生没人去处理的报告。

Step 4 - Find what is missing

步骤4 - 找出缺失的内容

Build the coverage matrix: product surfaces as rows, the four modes as columns, existing pages in the cells. Empty cells are candidate gaps, not confirmed ones.
Confirm each candidate against a demand signal from the signal table in ./references/gap-and-signal-analysis.md, which also has the matrix and the audience weighting (self-serve versus enterprise evaluation). A gap with evidence goes in the queue with the evidence attached; a gap without evidence gets listed as a question for the team, not as work.
构建覆盖矩阵:产品表面作为行,四种模式作为列,现有页面放在单元格中。空单元格是候选缺口,而非已确认的缺口。
根据 ./references/gap-and-signal-analysis.md 中的信号表,用需求信号确认每个候选缺口,该文件还包含矩阵和受众权重(自助服务与企业评估)。有证据的缺口进入队列并附上证据;没有证据的缺口被列为待团队回答的问题,而不是工作项。

Step 5 - Check that navigation tells the truth

步骤5 - 检查导航是否真实

Run the mechanical checks first - the inventory script, the nav config and a link checker answer these without judgement:
  • Orphans (pages absent from the navigation).
  • Nav entries pointing at nothing.
  • Broken internal links and anchors.
  • Single-page sections.
  • Depth beyond three levels.
Confirm orphans against front matter before reporting;
draft
,
hidden
and
unlisted
pages are intentional.
Then open pages and judge these by hand:
  • Titles that promise a different mode than the page delivers ("Getting started" that is a reference dump, "Concepts" holding procedures).
  • Declared content type in front matter disagreeing with the page's actual mode.
  • One concept named three ways across sections ("project", "workspace", "org") - readers searching one name miss the pages that use another, so a split vocabulary breaks site search even when placement is right.
  • Duplicate content living in two places and already diverging.
  • Sections that will not survive growth: a flat list already past ~30 entries (this skill's working heuristic), or a category the product roadmap will double.
先运行机械检查——清单脚本、导航配置和链接检查器无需判断即可回答这些:
  • 孤立页面(导航中不存在的页面)。
  • 指向空白的导航条目。
  • 损坏的内部链接和锚点。
  • 单页面章节。
  • 超过三层的深度。
在报告之前,对照前置元数据确认孤立页面;
draft
、
hidden
和
unlisted
页面是有意为之。
然后打开页面并手工判断这些:
  • 标题承诺的模式与页面实际交付的不同(“入门”实际是参考资料堆砌,“概念”里放着操作步骤)。
  • 前置元数据中声明的内容类型与页面实际模式不一致。
  • 同一个概念在不同章节中被命名为三种方式(“project”、“workspace”、“org”)——搜索一个名称的读者会错过使用另一个名称的页面,因此即使放置正确,分裂的词汇也会破坏站点搜索。
  • 重复内容存在于两个地方且已经开始分歧。
  • 无法承受增长的章节:超过约30个条目的平面列表(此skill的工作启发式),或产品路线图将翻倍的类别。

Step 6 - Score

步骤6 - 评分

Score twice: the rubric rating travels outside the docs team; the scorecard drives the remediation queue.
Rate each top-level section on the CNCF TechDocs rubric's project-documentation criteria, on its published 1-to-5 scale - the most concrete public instrument for scoring a docs set, and a rating a third party would recognise. Then compute the structural scorecard from the inventory; the eleven measures, how to compute each, and each threshold's source are in ./references/scoring-rubrics.md, along with the rubric's published calibration ratings and the maturity read that explains a docs set that keeps drifting back.
Label every threshold with where it came from. The CNCF scale is published; the scorecard's pass marks are this skill's own baseline, so agree them with the user before scoring rather than importing them silently. Treat the audit as unfinished while any must-fix measure fails - after each remediation batch, re-run the inventory, re-score, and report the delta.
评分两次:评分标准评级会流传到文档团队之外;记分卡驱动修复队列。
使用CNCF TechDocs评分标准的项目文档标准,在其已发布的1到5分制上对每个顶级章节进行评分——这是对文档集进行评分的最具体的公开工具,也是第三方认可的评级。然后从清单计算结构记分卡;十一个衡量指标、如何计算每个指标以及每个阈值的来源都在 ./references/scoring-rubrics.md 中,连同评分标准已发布的校准评级和解释文档集不断回漂的成熟度解读。
标记每个阈值的来源。CNCF量表是已发布的;记分卡的通过分数是此skill自己的基线,因此在评分之前与用户达成一致,而不是默默引入。在任何一个必须修复的指标失败时,将审计视为未完成——在每个修复批次之后,重新运行清单、重新评分,并报告增量。

Step 7 - Validate before recommending a restructure

步骤7 - 在推荐重组之前进行验证

Classification says what is wrong today; only user testing says whether your proposed structure is better. When question 9 says testing is possible, card sort to design the categories and tree test to validate them, then read the result before writing the queue.
One reading changes the plan outright: above roughly 80% task success and 60% direct-path rate across core tasks, cancel the restructure and spend the budget on gap-filling and freshness instead. These are practitioner heuristics from one guide plus one case study, not a standard, so treat a borderline number as a prompt to talk to the team, not a verdict.
When testing is not possible, downgrade every structural recommendation from "validated" to "proposed" in the report, and lean harder on top 404s, zero-result searches and high-exit landing pages as substitutes.
./references/validation-and-governance.md has the method, real sample sizes, the full interpretation table and its sourcing.
分类说明了今天的问题;只有用户测试才能说明你提议的结构是否更好。当问题9表示可以进行测试时,使用卡片分类来设计类别,用树测试来验证它们,然后在编写队列之前阅读结果。
有一种解读会直接改变计划:在核心任务上,任务成功率大约超过80%且直接路径率超过60%,则取消重组,并将预算用于填补缺口和更新。这些是来自一个指南和一个案例研究的实践者启发式方法,而非标准,因此将边缘数字视为与团队讨论的提示,而非最终裁决。
当无法进行测试时,将报告中的每个结构建议从“已验证”降级为“提议”,并更多地依赖热门404、零结果搜索和高退出落地页作为替代。
./references/validation-and-governance.md 有方法、真实样本量、完整的解释表及其来源。

Step 8 - Turn findings into a queue

步骤8 - 将发现转化为队列

Order the work so every item ships alone and improves the docs by itself. Diátaxis's own remediation loop is deliberately small:
  1. Choose something.
  2. Assess it.
  3. Decide the single next action that produces an immediate improvement.
  4. Do it.
  5. Publish.
  6. Repeat.
It rules out two moves you should rule out too:
  • Never propose empty scaffolding. The framework's wording is blunt: "It certainly does not mean that you should create empty structures for tutorials/howto guides/reference/explanation with nothing in them. Don't do that. It's horrible." Four new top-level sections holding three pages advertise the gaps and force readers to learn a vocabulary before they can navigate.
  • Never propose a teardown. "Rewrite the docs site" is not a recommendation, it is an abdication. Keep the documentation useful at every step of the remediation.
Within that loop, order the queue by reader need fixed per hour of writing and review - not by how many findings an action closes, and not by what is cheapest. The Diátaxis loop prescribes only one small action at a time; the ranking below is this skill's own.
ActionEffortReader need it fixes
Split a mixed pagea day - both halves rewritten, two URLs, one redirect; no SME arbitrationthe reader stops landing on a page doing two jobs
Merge duplicatesa day or more - someone with authority must say which text is truethe reader stops getting two contradictory answers
Move a pagean hour - a path change plus its redirectthe reader finds the page where the section promised it
Write a missing pagea week, then a refresh every release - permanent surfacethe reader gets an answer where they got nothing
Rename a sectionan hour of editing, but every child URL and deep link moves with itthe reader reads a label matching what is inside
  • efficiency: split > merge > move > write a missing page > rename
  • value: merge > write a missing page > split > move > rename
  • effort: write a missing page > merge > split > rename > move
Split leads on efficiency despite merging being worth more, because a merge blocks on someone else deciding which text is correct and a split does not. Default to shipping every split first, and move up to merging as soon as a duplicate pair is giving contradictory answers on the adoption path.
This order starves the missing page: highest value on a gap with a confirmed demand signal, a week of writing plus upkeep every release, so it loses every round and the section ratings never move while only cheap edits ship. Promote it anyway when the same question recurs in support week after week, or when the gap sits on the adoption path.
Delete rather than demote what the constraints rule out:
  • A team that cannot ship redirects (question 12) has no move and no rename in its queue, since each one becomes a broken link.
  • A tree test that already passes (Step 7) removes both as well.
Say which you deleted, and spend the budget on splits and gaps.
The ranking is a default, not a law, and it shifts with who executes it. Re-rank against what you already know:
  • An existing page-template library makes writing the missing page far cheaper.
  • An engineer-only team makes any writing-heavy action expensive.
  • A platform that pins the hierarchy makes moves cost more than the table says.
When a page must move and URLs are load-bearing, name the redirect as part of the action.
排列工作顺序,使每个项目都能独立交付并自行改进文档。Diátaxis自己的修复循环刻意保持很小:
  1. 选择一件事。
  2. 评估它。
  3. 决定能立即产生改进的单个下一步行动。
  4. 执行它。
  5. 发布。
  6. 重复。
它排除了两个你也应该排除的动作:
  • 永远不要提议空脚手架。 框架的措辞直言不讳:“这当然不意味着你应该为教程/操作指南/参考资料/解释创建空结构,里面什么都没有。不要这样做。这太糟糕了。”四个新的顶级章节只容纳三个页面会宣扬缺口,并迫使读者在导航之前先学习一套词汇。
  • 永远不要提议拆除。 “重写文档站点”不是建议,而是放弃。在修复的每一步都保持文档有用。
在该循环内,按每小时写作和审查所修复的读者需求对队列排序——而不是按一个行动解决了多少发现,也不是按什么最便宜。Diátaxis循环一次只规定一个小行动;下面的排名是此skill自己的。
行动工作量它修复的读者需求
拆分混合页面一天——两半重写,两个URL,一个重定向;无需主题专家仲裁读者不再落在一个承担两种工作的页面上
合并重复页面一天或更多——有权威的人必须说明哪个文本是正确的读者不再得到两个矛盾的答案
移动页面一小时——路径更改加上其重定向读者在章节承诺的地方找到该页面
编写缺失页面一周,然后每个版本更新——永久表面读者在本来什么都没有的地方得到答案
重命名章节一小时的编辑,但每个子URL和深链接都随之移动读者看到的标签与里面内容匹配
  • 效率:拆分 > 合并 > 移动 > 编写缺失页面 > 重命名
  • 价值:合并 > 编写缺失页面 > 拆分 > 移动 > 重命名
  • 工作量:编写缺失页面 > 合并 > 拆分 > 重命名 > 移动
拆分在效率上领先,尽管合并价值更高,因为合并阻塞在由他人决定哪个文本是正确的,而拆分不会。默认先交付所有拆分,一旦在采用路径上有一对重复页面给出矛盾答案,就升级到合并。
这个顺序会饿死缺失页面:在有确认需求信号的缺口上价值最高,需要一周写作加上每个版本的维护,因此它在每一轮中都失败,并且当只有廉价编辑交付时,章节评级永远不会变化。当同一个问题在支持中周复一周地出现,或者缺口位于采用路径上时,无论如何都要提升它。
对于约束排除的项目,删除而不是降级:
  • 一个无法发布重定向的团队(问题12)的队列中没有移动和重命名,因为每一个都会变成断链。
  • 已经通过的树测试(步骤7)也会移除这两者。
说明你删除了什么,并将预算花在拆分和缺口上。
排名是默认值,而非法律,它会随着执行者而变化。根据你已经知道的情况重新排名:
  • 现有的页面模板库使编写缺失页面便宜得多。
  • 仅工程师的团队使任何写作密集型行动变得昂贵。
  • 固定层级结构的平台使移动成本高于表中的说明。
当一个页面必须移动且URL是承重结构时,将重定向作为行动的一部分命名。

Step 9 - Deliver, then close the drift loop

步骤9 - 交付,然后关闭漂移循环

Produce the report in the shape given by ./references/audit-report-template.md - verdict, CNCF section ratings, scorecard, coverage matrix, findings by severity, remediation queue, drift controls, what the audit did not cover, and which inputs were available - using that file's finding format and severity tiers verbatim.
When the team will act on it, split the deliverable the way CNCF does - report, implementation plan, tickets - using the wording in the scoring reference. Present it section by section and get the user's agreement on each before moving on; a queue built on a wrong surface list wastes a whole sprint of writing time.
Close with the drift controls from the validation-and-governance reference, because a structure fixed once and left ungoverned decays:
  • CI-validated content types.
  • Page templates.
  • Prose and link checking.
  • CODEOWNERS per subtree.
  • A redirect for every moved URL.
  • A re-audit each quarter - this skill's default cadence, not a published standard.
If your environment has persistent memory, store the audit's durable decisions:
  • The surface list.
  • The audience weighting.
  • The agreed thresholds.
  • The mode assigned to each contested page.
  • The queue's state.
A re-score six months later is worthless if the definitions moved in between.
按照 ./references/audit-report-template.md 给出的形式生成报告——结论、CNCF章节评级、记分卡、覆盖矩阵、按严重程度分类的发现、修复队列、漂移控制、审计未涵盖的内容以及可用的输入——使用该文件的发现格式和严重级别原样。
当团队将采取行动时,按照CNCF的方式拆分交付物——报告、实施计划、工单——使用评分参考中的措辞。逐节呈现,并在继续之前获得用户对每一节的同意;建立在错误表面列表上的队列会浪费整个冲刺的写作时间。
以validation-and-governance参考中的漂移控制作为结尾,因为一次修复后不加治理的结构会腐朽:
  • CI验证的内容类型。
  • 页面模板。
  • 散文和链接检查。
  • 每个子树的所有者(CODEOWNERS)。
  • 每个移动URL的重定向。
  • 每季度重新审计——此skill的默认节奏,而非已发布的标准。
如果你的环境有持久内存,存储审计的持久决策:
  • 表面列表。
  • 受众权重。
  • 已商定的阈值。
  • 分配给每个有争议页面的模式。
  • 队列的状态。
如果定义在期间发生变化,六个月后的重新评分毫无价值。

Failure modes

失败模式

FailureWhat it looks likeFix
Framework worshipFindings phrased as "violates Diátaxis"Phrase every finding as a reader failing to get something
Cheapest-first queueRenames and moves at the top because they take an hourOrder by reader need fixed per hour, and say so in the report
Classification bikesheddingTen minutes on whether a page is reference or explanationApply the "while working / away from work" test, mark low confidence, move on
Over-flagging200 findings on a 200-page siteReport only the pages where a reader's need actually fails
Scope creep into accuracyFindings about wrong code samplesNote them separately as out of scope with an owner
Audience blindnessEnterprise evaluator content judged as tutorial bloatSettle the audience in the Interview, weight the target mix accordingly
Silent inferenceClassification from titles presented as factLabel evidence strength per finding
Audit with no governanceReport delivered, no CI check, same mess in a yearShip the drift controls with the queue, not after it
失败表现修复
框架崇拜发现被表述为“违反Diátaxis”将每个发现表述为读者未能获得某样东西
最便宜优先队列重命名和移动排在前面,因为它们只需一小时按每小时修复的读者需求排序,并在报告中说明
分类扯皮花十分钟争论页面是参考资料还是解释应用“工作/非工作”测试,标记低置信度,继续前进
过度标记在200页的站点上发现200个问题仅报告读者需求实际失败的页面
范围蔓延到准确性关于错误代码样本的发现将它们单独记为范围外并指定负责人
受众盲区企业评估者内容被判断为教程臃肿在访谈中确定受众,相应地调整目标组合权重
静默推断从标题进行的分类被作为事实呈现标记每个发现的证据强度
无治理的审计报告交付,没有CI检查,一年后同样混乱将漂移控制与队列一起交付,而不是在其之后

References

参考

  • samber/developer-relations-skills@docs-seo for search-engine findability (mentioned in description as the alternative for ranking)
  • samber/developer-relations-skills@developer-quickstart-guide for writing quick-start pages
  • samber/developer-relations-skills@developer-tutorial for writing tutorial pages
  • samber/developer-relations-skills@developer-troubleshooting-docs for writing troubleshooting pages
  • samber/developer-relations-skills@docs-code-sample-standards for writing code samples this audit may reference
  • samber/developer-relations-skills@developer-education-strategy for structured courses and certification, beyond what docs alone teach
  • samber/developer-platform-skills@api-reference-quality when the audit narrows to whether the API reference is complete
  • samber/developer-relations-skills@docs-seo 用于搜索引擎可发现性(在描述中作为排名的替代方案)
  • samber/developer-relations-skills@developer-quickstart-guide 用于编写快速入门页面
  • samber/developer-relations-skills@developer-tutorial 用于编写教程页面
  • samber/developer-relations-skills@developer-troubleshooting-docs 用于编写故障排除页面
  • samber/developer-relations-skills@docs-code-sample-standards 用于编写此审计可能引用的代码示例
  • samber/developer-relations-skills@developer-education-strategy 用于结构化课程和认证,超越文档单独教学的内容
  • samber/developer-platform-skills@api-reference-quality 当审计缩小到API参考是否完整时