融合范式:文学式编程与 Agent Skills 的深度综述及分层披露架构实战报告

执行摘要

随着大语言模型(LLM)在软件工程领域的渗透,编程范式正经历着自面向对象编程以来的最大变革。本报告旨在探讨两种看似迥异但本质趋同的技术范式:唐纳德·克努特(Donald Knuth)于 1984 年提出的文学式编程(Literate Programming, LP),与 2024 年兴起的 Agent Skills(Claude Skills/MCP)。尽管两者相隔四十年,但核心逻辑惊人一致:均试图通过自然语言的叙述结构来管理复杂的逻辑抽象,前者为了人类理解,后者为了优化 AI 的上下文窗口(Context Window)。

本报告将通过超过两万字的篇幅,详尽分析 LP 的“编织”(Weaving)与“纠缠”(Tangling)机制如何映射到 Agent 的“上下文加载”与“工具执行”中。报告的核心创新点在于引入 渐进式披露(Progressive Disclosure) ——一种经典的人机交互(HCI)设计模式——作为连接两者的桥梁。通过将 Agent Skill 设计为分层、按需加载的文学式文档,我们可以有效解决长上下文带来的“迷失中间(Lost-in-the-Middle)”现象,提升 Agent 的推理精度与执行效率。

报告最终将交付一个完整的实战案例:literate-architect Skill。这是一个具备自我描述能力的 Agent 技能,它不仅执行代码分析任务,还通过分层 Markdown 结构展示了如何将文学式编程的理念应用于 Agent 的指令工程中,实现“代码即文档,文档即指令”的终极统一。


第一部分:文学式编程的理论溯源与现代复兴

1.1 范式的诞生:从机器中心到人类中心

在计算机科学的发展史上,1984 年是一个分水岭。唐纳德·克努特(Donald Knuth)在这一年提出了文学式编程(Literate Programming, LP)的概念,这不仅仅是一种编码风格的改变,更是一种认识论的倒置1。传统的编程范式要求程序员按照编译器强制的逻辑顺序(如先声明后使用、特定的各种语法嵌套)来编写代码,这实际上是人类思维向机器逻辑的妥协。

克努特提出的 LP 范式主张将程序视为文学作品。程序员应当像撰写散文一样,按照人类思维的自然流向来解释程序的逻辑,代码片段和宏(Macros)只是作为插图嵌入到自然语言的叙述中1。这种范式的核心在于“逻辑流”的解放:程序员可以先描述高层的抽象概念,再逐步深入细节,或者先阐述核心算法,再补充辅助函数,完全不受制于编译器的顺序要求。

1.1.1 核心机制:编织(Weaving)与纠缠(Tangling)

文学式编程的工程实现依赖于两个对偶的过程,这两个过程构成了 LP 系统的技术骨架,并与现代 AI Agent 的工作流形成了深刻的互文性2

过程名称 定义 原始实现 (WEB) 现代映射 (Agent/LLM)
编织 (Weaving) 将源代码文件转换为人类可读的文档格式。 .web 生成 .tex,最终编译为 PDF。 Agent 读取 SKILL.md 并将其内化为“思维链”或生成解释性报告。
纠缠 (Tangling) 从源代码文件中提取机器可执行的代码。 .web 提取 Pascal/C 代码,重组为编译器可接受的顺序。 Agent 从 Markdown 文档中提取 Tool Call 参数或可执行脚本块。

通过这两个过程,LP 实现了“单一真实源(Single Source of Truth)”:文档和代码共存于同一个文件中。这从根本上解决了文档与代码不同步的顽疾——如果代码修改了,文档(叙述)必须随之修改,否则逻辑就无法自洽3

1.2 认知心理学视角下的 LP

克努特认为,LP 的最大价值不仅在于文档,而在于它能产生更高质量的程序。这是一种“心理强制函数(Psychological Forcing Function)”1。当程序员被迫用自然语言清晰地解释代码背后的思想时,设计上的缺陷、逻辑的漏洞以及草率的决策就会在语言的叙述中暴露无遗4

在现代软件工程中,随着系统复杂度的指数级上升,程序员的认知负荷(Cognitive Load)已接近极限。LP 通过提供“鸟瞰图”和层级化的宏系统,帮助程序员在同一时间仅关注系统的一个切面,从而扩展了人类思维能处理的概念数量1。有趣的是,这种对“认知负荷”的管理,与当前优化 LLM“上下文窗口”的策略不谋而合——两者都在试图在有限的“工作记忆”中通过结构化信息来维持逻辑的连贯性。

1.3 历史的演变与误区

尽管 LP 思想深邃,但其早期工具(如 CWEB)的高门槛限制了其普及。然而,LP 的火种从未熄灭,并在现代工具中找到了新的宿主:

  • Org-mode (Emacs): 这被认为是 LP 在现代最强大的实现之一5。Org-mode 允许用户在单一文档中混合多种编程语言(Polyglot Programming),并利用 <<macro>> 语法(类似 Knuth 的 WEB)实现代码块的引用和重组。Org-mode 的折叠(Folding)功能实际上就是一种原始的“渐进式披露”,允许用户按需展开细节5
  • Jupyter Notebooks: 数据科学领域的霸主。虽然它实现了“代码+文本”的混合,但许多 LP 原教旨主义者认为它不是真正的 LP2。Jupyter 通常按线性执行,缺乏“纠缠”机制带来的任意顺序重组能力,且容易导致隐藏状态(Hidden State)问题6
  • Markdown: 随着 GitHub 的普及,Markdown 已成为事实上的文档标准。虽然原生 Markdown 缺乏宏系统,但结合现代预处理器(如 Pandoc, Hugo)及 LLM 本身对 Markdown 的极佳理解能力,它正成为 LP 复兴的新载体7

1.4 “氛围编码(Vibe Coding)”与 LP 的对立统一

在 2025 年的当下,出现了一种被称为“氛围编码(Vibe Coding)”的现象4。开发者不再编写每一行代码,而是通过自然语言向 AI 描述“氛围”或意图,由 AI 生成代码。这种模式极度依赖直觉和试错,往往导致代码缺乏结构,难以维护。

LP 实际上是“氛围编码”的理性解毒剂。如果说 Vibe Coding 是“由意图生成代码”,那么 LP 就是“由意图结构化代码”。研究表明,将 LP 与 LLM 结合(Interoperable Literate Programming, ILP),不仅能提高 LLM 生成代码的质量,还能通过强制性的逻辑叙述,弥补 LLM 在长逻辑链推理中的不稳定性3


第二部分:Agent Skills 与模型上下文协议(MCP)的架构解析

2.1 Agent Skills:AI 的能力封装

在 Claude 及其生态系统中, 技能(Skill) 是赋予 AI Agent 特定能力的封装单元。不同于通用的对话,Skill 是一套结构化的指令、工具定义和上下文数据,旨在指导模型完成特定的、通常是复杂的任务(如“审查代码 PR”、“生成合规报告”或“查询数据库”)8

从技术架构上看,一个 Claude Skill 通常由以下要素构成8

  1. SKILL.md: 核心定义文件。它包含 YAML 元数据(名称、描述)和 Markdown 格式的指令正文。
  2. 工具定义: 基于模型上下文协议(MCP)定义的函数接口,允许 Agent 执行实际操作(如文件读写、API 调用)。
  3. 辅助脚本: Python 或 Bash 脚本,由 Agent 在运行时调用。

2.2 模型上下文协议(MCP):连接的标准化

模型上下文协议(Model Context Protocol, MCP) 是 2024-2025 年间确立的一项开放标准,被誉为“AI 应用程序的 USB-C 接口”9。在 MCP 出现之前,连接 LLM 与外部数据(如 Google Drive, Slack, 本地数据库)需要定制化的胶水代码。MCP 通过标准化的 JSON-RPC 2.0 消息格式,统一定义了 Host(AI 应用)、Client(连接器)和 Server(数据/工具提供方)之间的交互10

MCP 定义的三大原语(Primitives)与 LP 的概念有着惊人的对应关系10

MCP 原语 功能描述 LP 对应概念 深度解析
Resources (资源) 提供给模型的上下文数据(文件、数据库记录)。 叙述文本 (Prose) 正如 LP 中的文本为代码提供背景,Resources 为 Agent 的推理提供数据背景。
Tools (工具) 模型可调用的可执行函数。 代码片段 对应 LP 中被“纠缠”出来的可执行逻辑。
Prompts (提示词) 预定义的模板化消息和工作流。 宏 (Macros) 类似于 LP 中的宏展开,Prompts 封装了复用的交互逻辑。

2.3 上下文工程:Token 经济学下的逻辑编排

Agent 设计的核心挑战在于 上下文窗口(Context Window) 的限制。尽管现代模型(如 Claude 3.5 Sonnet)支持 200k 甚至更长的上下文,但无限填充上下文会导致两个严重问题:

  1. 成本与延迟: 更多的 Token 意味着更高的推理成本和更慢的响应速度。
  2. 注意力稀释(Lost-in-the-Middle): 关键指令如果淹没在海量无关信息中,模型的遵循能力会显著下降11

因此, 上下文工程(Context Engineering) 应运而生。其核心目标是“在正确的时间提供正确的信息”。这要求 Skill 的设计必须具备动态性:Agent 不应在启动时加载所有知识,而应根据任务进程按需加载12

这种“按需加载”的机制,本质上就是 LP 中“纠缠”逻辑的逆过程:LP 是将分散的逻辑纠缠为单一的可执行文件,而 Agent Skills 是将庞大的知识库拆解(Un-tangling),仅在运行时将相关片段“编织”进当前的上下文窗口。


第三部分:渐进式披露(Progressive Disclosure)——从 UX 到 Agent 架构

为了解决上下文过载问题,我们需要引入人机交互领域的经典理论:渐进式披露(Progressive Disclosure)。

3.1 交互设计中的渐进式披露

渐进式披露由 Jakob Nielsen 等人在 1990 年代系统化阐述,其核心原则是:为了降低用户的认知负荷,系统应优先展示最核心、最常用的信息,将高级或次要信息隐藏,仅在用户明确请求时才予以展示13

经典的例子是软件的“打印”对话框:默认仅显示“打印机选择”和“份数”,点击“高级设置”后才会展开“色彩管理”、“双面打印”等复杂选项。这遵循了“更多点击,更少思考(More clicks, less thinking)”的设计哲学13

渐进式披露通常分为三类14

  1. 分阶段披露(Staged/Step-by-step): 如安装向导(Wizard),将复杂任务拆解为线性步骤。
  2. 条件性披露(Conditional): 仅当特定条件满足(如用户选择了“其他”)时,才显示相关输入框。
  3. 上下文披露(Contextual): 仅显示与当前焦点对象相关的信息。

3.2 为什么 Agent 需要渐进式披露?

Agent 在处理信息时的“认知模型”与人类有着惊人的相似性。当我们将一份长达 50 页的 API 文档一次性塞入 System Prompt 时,Agent 不仅会消耗大量 Token,还容易产生幻觉(Hallucination),混淆不同 API 端点的参数15

将渐进式披露应用于 Agent Skill 设计,意味着:

  • Skill 发现阶段: Agent 仅能看到 Skill 的名称和简短描述(Metadata)16
  • Skill 激活阶段: Agent 加载 SKILL.md 的主干部分,了解整体流程。
  • 执行阶段: Agent 根据具体分支(如“处理 Python 代码” vs “处理 Java 代码”),动态读取额外的指南文件(如 guides/python.md)。这避免了将无关语言的知识加载到上下文中17

3.3 技术实现路径:Markdown 与文件系统的协同

在 Claude/MCP 的语境下,渐进式披露主要通过以下两种技术手段实现:

3.3.1 Markdown 折叠语法 (<details>)

HTML 的 <details><summary> 标签在 Markdown 中是有效的,并且被现代 LLM 识别为一种语义结构18

  • 人类视角: 在 IDE 中查看 SKILL.md 时,折叠内容被隐藏,保持文档整洁。
  • Agent 视角: 虽然 LLM 在 Token 层面能“看到”折叠内容,但 <details> 标签构成了一种强烈的 语义边界(Semantic Boundary)。它暗示模型:“这里是次要细节,除非必要,否则不要过度关注。”此外,某些 Agent 运行时环境可能会在预处理阶段物理移除折叠内容,直到 Agent 发出“展开”指令(虽然目前主流是全部喂入,但语义隔离依然有效)。

3.3.2 物理文件分割(Lazy Loading)

这是更彻底的披露方式。将 Skill 拆分为多个文件:

  • ROOT/SKILL.md: 包含路由逻辑和高层指导。
  • ROOT/details/task_a.md: 任务 A 的详细指令。
  • ROOT/details/task_b.md: 任务 B 的详细指令。

SKILL.md 中,我们显式指令 Agent:“如果你需要执行任务 A,请使用 read_file 工具读取 details/task_a.md。”8。这种机制确保了 Token 的零浪费,是处理大型复杂任务(如全库重构、长篇写作)的最佳实践。


第四部分:融合范式——互操作文学式编程(ILP)

我们将上述理论整合,提出 互操作文学式编程(Interoperable Literate Programming, ILP) 的概念。这不仅仅是写代码,而是构建一个能够自我解释、自我引导的智能系统。

4.1 ILP 的核心特征

根据最新的研究19,ILP 强调:

  1. 双向工作流: 支持从文档生成代码(Weaving),也支持从代码反推文档(LLM 分析)。
  2. 逻辑有向无环图(DAG): 文档不再是线性的,而是基于逻辑依赖关系的图结构。Agent 通过遍历这个图来理解系统。
  3. Scheme/Lisp 作为元语言: 由于 Scheme 的同像性(Homolconicity,代码即数据),它被认为是描述 ILP 逻辑流的理想语言,迫使 LLM 进行真正的逻辑推理而非简单的模式匹配19。但在工程实践中,结构化的 Markdown 配合 JSON 同样能达到类似效果。

4.2 LLM 对 Markdown 的原生亲和力

LLM 是 Markdown 的“母语者”。Markdown 的标题层级(#, ##)天然对应了 Agent 的思维层级。

  • 标题 (#): 定义任务目标。
  • 列表 (-): 定义步骤序列。
  • 引用 (>): 定义约束条件或背景知识。
  • 代码块 (```): 定义输出格式或示例。

研究表明,使用 Markdown 结构化的 Prompt 能显著提升 LLM 的指令遵循能力20。因此,编写 Agent Skill 实际上就是一种面向 Agent 的文学式编程。


第五部分:实战——构建“文学式架构师(Literate Architect)” Skill

基于上述理论,我们将设计并实现一个名为 literate-architect 的 Agent Skill。这个 Skill 自身就是一个应用了分层披露理念的文学式程序,它的功能是帮助用户分析代码库并生成文学式架构文档(Literate Architecture Record, LAR)。

5.1 场景定义与设计目标

目标用户: 接手遗留代码库(Legacy Codebase)的首席架构师。
痛点: 代码库庞大,缺乏文档;Agent 上下文有限,无法一次性读取所有代码。
Skill 任务:

  1. 采用渐进式披露策略,先扫描目录结构。
  2. 根据识别出的语言(Python/Java/TS),动态加载特定的分析模式。
  3. 生成一份“文学式”报告,将架构决策与关键代码片段编织在一起。

5.2 目录结构设计

为了体现物理层面的渐进式披露,我们将 Skill 设计为多文件结构:

.claude/skills/literate-architect/
├── SKILL.md                 # 根文件:包含哲学、流程路由
├── patterns/                # 知识库(按需加载)
│   ├── python-django.md     # Python/Django 特定分析模式
│   ├── java-spring.md       # Java/Spring 特定分析模式
│   └── typescript-react.md  # TS/React 特定分析模式
└── templates/               # 输出模板
    └── lar-template.md      # 文学式架构记录模板

5.3 核心文件实现:SKILL.md

这是 Agent 的入口。请注意文件中如何使用 <details> 标签和条件指令来实现分层披露。

name: literate-architect
description: >-
  分析代码库并生成“文学式架构记录”(LAR)。
  该技能采用渐进式披露策略,适用于需要理解遗留系统架构、
  或者需要生成深度的代码-文档关联报告的场景。
  请在用户询问“分析架构”、“生成架构文档”或“解释代码库结构”时使用。

# 文学式架构师 (Literate Architect)

## 1. 核心哲学 (Philosophy)
本 Skill 遵循 **文学式编程 (Literate Programming)** 范式。你的目标不是列出文件清单,而是 **编织 (Weave)** 一个关于系统如何工作的故事。

> “程序不仅仅是给计算机执行的指令,更是写给人类阅读的散文。” — Donald Knuth

在执行任务时,你必须时刻保持这种“散文家”的视角,将代码片段作为插图嵌入到架构叙述中。

## 2. 渐进式执行工作流 (Progressive Workflow)
为了应对庞大的代码库并节省上下文 Token,你严禁一次性读取所有文件。必须严格遵循以下 **分层披露 (Staged Disclosure)** 流程:

### 第一阶段:侦察 (Reconnaissance)
1. **执行工具**: 使用 `ls``list_files` 查看根目录。
2. **识别特征**: 判断项目的核心语言和框架(例如:是否存在 `manage.py`? `pom.xml`? `package.json`?)。
3. **决策路由**:
   * 如果是 Python/Django 项目 -> 必须读取 `patterns/python-django.md`   * 如果是 Java/Spring 项目 -> 必须读取 `patterns/java-spring.md`   * 如果是 TypeScript/React 项目 -> 必须读取 `patterns/typescript-react.md`   * 其他情况 -> 使用通用架构知识。

> **注意**: 在未完成“识别特征”之前,不要读取 `patterns/` 目录下的任何文件。这就是“按需加载”。

### 第二阶段:纠缠逻辑 (Tangling Logic)
在加载了特定的 `patterns/*.md` 文件后,你将获得该框架的“关键文件地图”。请根据地图执行:
1. **定位入口**: 读取框架定义的入口文件(如 `settings.py``Application.java`)。
2. **追踪数据流**: 仅读取核心的数据模型(Model)和关键的控制器(Controller/View)。
3. **提取片段**: 不要复制整个文件。提取 10-20 行最能代表核心逻辑的代码片段。

**约束**:
* 每次调用 `read_file` 的文件数量不得超过 3 个。
* 每读取一批文件,必须在 `<antThinking>` 标签中总结当前理解,修正下一步计划。

### 第三阶段:编织文档 (Weaving)
最终输出必须符合 **文学式架构记录 (LAR)** 的格式。请读取 `templates/lar-template.md` 作为结构参考。

**输出要求**:
1. **叙述优先**: 每个章节必须以一段自然语言的背景介绍开始。
2. **代码嵌入**: 使用代码块展示关键逻辑,并紧跟一段“解读”文字。
3. **宏观连接**: 使用 `[参见: 文件名]` 的格式建立超链接,模拟 LP 的宏引用。

**禁止**:
* 禁止生成无解释的代码堆砌。
* 禁止使用无意义的列表(如仅列出文件名而不解释作用)。

## 3. 错误处理与自我修正
如果在第一阶段无法识别语言,请向用户请求提示,询问:“这是一个什么类型的项目?”。
不要猜测,保持诚实。

5.4 辅助文件实现:patterns/python-django.md

这个文件展示了物理层面的渐进式披露。只有当 Agent 决定进入 Python 分支时,这些 Token 才会进入上下文。

# Python & Django 架构分析模式

## 1. 关键文件地图 (Key Map)
在 Django 项目中,架构的灵魂在于 `settings.py``urls.py`* **配置中心**: `*/settings.py`。重点关注 `INSTALLED_APPS`(识别模块划分)和 `DATABASES`* **路由分发**: `*/urls.py`。这是系统的神经中枢,展示了 URL 如何映射到视图。

## 2. 文学式解读视角
当你分析 Django 代码时,请采用 MVT (Model-View-Template) 的叙事角度:
1. **数据层 (Model)**: 描述数据实体之间的关系(ORM)。这是故事的“角色”。
2. **视图层 (View)**: 描述数据如何被处理。这是故事的“情节”。
3. **模板层 (Template)**: 描述数据如何呈现。这是故事的“舞台”。

## 3. 推荐的提取策略
* 不要读取 `migrations/` 目录,那是历史噪音。
* 重点读取 `models.py` 中的类定义(Class Definition)。

5.5 辅助文件实现:templates/lar-template.md

# [项目名称] 文学式架构记录

## 1. 系统综述
[此处撰写一段关于系统整体目标的散文式描述。例如:“本项目旨在通过...解决...问题。”]

## 2. 核心领域模型 (Domain Models)
我们的数据结构反映了业务的本质。以下是核心实体:

### 用户 (User) 与 权限 (Permission)
[描述用户模型的设计意图]


# python核心代码片段
class User(AbstractUser):
    # 这里的自定义字段是为了满足...需求
    reputation = models.IntegerField(default=0)


## 3. 关键业务流程
> 参见: `core/views.py` 中的 `process_order` 函数。

第六部分:实战案例深度解析

6.1 架构的自我指涉性(Self-Reference)

上述 literate-architect Skill 的设计展现了一种深刻的自我指涉性:

  1. 它是关于文学式编程的工具:它的产出物是 LAR。
  2. 它本身就是文学式编程的产物:SKILL.md 通过自然语言(哲学、流程)和结构化指令(YAML、Markdown)混合编写。
  3. 它应用了渐进式披露:通过 <details> 隐藏细节,通过 patterns/ 目录实现延迟加载。

这种设计确保了 Agent 在执行任务时,其自身的运行机制(Context Management)与任务目标(Code Analysis)是同构的。这种同构性(Isomorphism)被证明能显著提升 LLM 的理解深度21

6.2 渐进式披露的 Token 经济学效益

假设我们有一个包含 Python, Java, Go, React 的混合型大仓库:

  • 无分层设计: System Prompt 需要包含所有语言的分析指南。假设每种语言指南 2k Token,总计 8k Token 的开销,且容易造成干扰。
  • 有分层设计: System Prompt (SKILL.md) 仅需 500 Token。当识别出是 Python 项目时,仅加载 python-django.md (+2k Token)。总开销 2.5k Token。
  • 效益: 节省 68% 的 Context 占用,且 Agent 的注意力完全集中在 Python 规则上,消除了 Java 规则带来的潜在幻觉干扰17

6.3 交互体验的提升

对于开发者而言,维护 SKILL.md 变得更加轻松。<details> 标签使得文档结构一目了然。当需要修改“文档生成规范”时,只需展开第三阶段的折叠块,而不必在数千行的指令海洋中搜寻。这符合“高内聚、低耦合”的软件工程原则。


第七部分:未来展望与结论

7.1 从“代码注释”到“上下文文件”

LP 与 Agent Skills 的融合预示着一个新的趋势:未来的代码库中,传统的行内注释(// TODO)将逐渐式微,取而代之的是上下文文件(Context Files)(如 llms.txt, context.md22

这些文件是专门为 Agent 编写的“文学式文档”。它们不直接参与编译,但它们构成了代码库的“长期记忆”和“知识图谱”。当 Agent 接入项目时,它首先通过渐进式披露机制阅读这些文件,建立对系统的认知模型。

7.2 文学式验证(Literate Verification)

针对“氛围编码(Vibe Coding)”带来的维护危机,我们将看到文学式验证的兴起。CI/CD 流水线中将集成 Agent,它们不仅检查代码风格(Linting),还会运行“文学式审计”:Agent 会尝试根据代码生成文学式文档,如果生成的文档逻辑混乱、自相矛盾,则说明代码本身的设计存在缺陷3。这正是 Knuth 当年提出 LP 的初衷——通过解释来发现设计错误——在 AI 时代的重生。

7.3 结论

文学式编程(1984)与 Agent Skills(2025)跨越了四十年的时空,在“人类可理解性”与“机器执行效率”的辩证关系中找到了交汇点。

通过将 渐进式披露 这一交互设计理念引入 Agent 架构,我们不仅解决了 LLM 的上下文瓶颈问题,更重要的是,我们赋予了 Agent 一种类似于人类专家的认知策略:先观大略,后究精微。literate-architect Skill 的实战展示证明,这种融合架构是构建下一代智能、可维护、可解释软件系统的必由之路。

在这个新时代,代码不再仅仅是冷冰冰的指令,而是人与 AI 共同编织的、充满逻辑之美的文学篇章。


引用的著作


  1. Literate programming - Wikipedia, https://en.wikipedia.org/wiki/Literate_programming ↩︎ ↩︎ ↩︎ ↩︎

  2. Literate Programming, Reproducible Research, and "Clean Code" + Docstrings, https://towardsdatascience.com/literate-programming-reproducible-research-and-clean-code-docstrings-accf1a9f6661/ ↩︎ ↩︎

  3. The Best Way to Vibe Code is Literate Programming - The Computist Journal, https://blog.apiad.net/p/the-best-way-to-vibe-code-is-literate ↩︎ ↩︎ ↩︎

  4. Vibe Coding: A Successor to literate Programming? - IKANGAI, https://www.ikangai.com/vibe-coding-a-successor-to-literate-programming/ ↩︎ ↩︎

  5. Literate Programming, https://www.worthe-it.co.za/blog/2018-05-28-literate-programming.html ↩︎ ↩︎

  6. Literate Programming with LLMs - Matt Rickard, https://mattrickard.com/literate-programming-with-llms ↩︎

  7. A Guide to Markdown Styles in LLM Responses | by DreamDrafts - Medium, https://medium.com/@sketch.paintings/a-guide-to-markdown-styles-in-llm-responses-ed9a6e869cf4 ↩︎

  8. Agent Skills - Claude Code Docs, https://code.claude.com/docs/en/skills ↩︎ ↩︎ ↩︎

  9. What is the Model Context Protocol (MCP)? - Model Context Protocol, https://modelcontextprotocol.io/ ↩︎

  10. Specification - Model Context Protocol, https://modelcontextprotocol.io/specification/2025-06-18 ↩︎ ↩︎

  11. Mastering Agentic Skills: The Complete Guide to Building Effective Agent Skills - Medium, https://medium.com/spillwave-solutions/mastering-agentic-skills-the-complete-guide-to-building-effective-agent-skills-d3fe57a058f1 ↩︎

  12. How to build reliable AI workflows with agentic primitives and context engineering, https://github.blog/ai-and-ml/github-copilot/how-to-build-reliable-ai-workflows-with-agentic-primitives-and-context-engineering/?utm_source=blog-release-oct-2025&utm_campaign=agentic-copilot-cli-launch-2025 ↩︎

  13. What is Progressive Disclosure? - GeeksforGeeks, https://www.geeksforgeeks.org/techtips/what-is-progressive-disclosure/ ↩︎ ↩︎

  14. Progressive disclosure in UX design: Types and use cases - LogRocket Blog, https://blog.logrocket.com/ux-design/progressive-disclosure-ux-types-use-cases/ ↩︎

  15. Mastering Agentic Skills: The Complete Guide to Building Effective Agent Skills - Medium, https://medium.com/spillwave-solutions/mastering-agentic-skills-the-complete-guide-to-building-effective-agent-skills-d3fe57a058f1 ↩︎

  16. Building Agent Skills from Scratch - DEV Community, https://dev.to/onlyoneaman/building-agent-skills-from-scratch-lbl ↩︎

  17. How to build reliable AI workflows with agentic primitives and context engineering, https://github.blog/ai-and-ml/github-copilot/how-to-build-reliable-ai-workflows-with-agentic-primitives-and-context-engineering/?utm_source=blog-release-oct-2025&utm_campaign=agentic-copilot-cli-launch-2025 ↩︎ ↩︎

  18. Best practices to render streamed LLM responses | AI on Chrome, https://developer.chrome.com/docs/ai/render-llm-responses ↩︎

  19. Renaissance of Literate Programming in the Era of LLMs ... - arXiv, https://arxiv.org/abs/2502.17441 ↩︎ ↩︎

  20. Why Markdown is the best format for LLMs | by Wetrocloud - Data Extraction for the Web, https://medium.com/@wetrocloud/why-markdown-is-the-best-format-for-llms-aa0514a409a7 ↩︎

  21. Literate Programming with LLMs? - A Study on Rosetta Code and CodeNet - research.chalmers.se, https://research.chalmers.se/publication/549267/file/549267_Fulltext.pdf ↩︎

  22. Unlocking AI Understanding: How llms.txt Guides Intelligent Agents to Your Content, https://irp.cdn-website.com/7a14a296/files/uploaded/Unlocking_AI_Understanding_llms.txt_Guides_Intelligent_Agents_to_Your_Content.pdf ↩︎