# Paper Editor

> |

- **Type:** Skill
- **Install:** `agentstack add skill-laborany-laborany-paper-editor`
- **Verified:** Yes — security-reviewed for prompt injection and unsafe behavior
- **Seller:** [laborany](https://agentstack.voostack.com/s/laborany)
- **Installs:** 0
- **Category:** [Agent Skills](https://agentstack.voostack.com/c/agent-skills)
- **Latest version:** 0.1.0
- **License:** MIT
- **Upstream author:** [laborany](https://github.com/laborany)
- **Source:** https://github.com/laborany/laborany/tree/main/skills/paper-editor
- **Website:** https://laborany.github.io

## Install

```sh
agentstack add skill-laborany-laborany-paper-editor
```

Requires the [AgentStack CLI](https://agentstack.voostack.com/docs/cli). Works with Claude Code, Cursor, and any MCP-compatible agent.

## About

# 论文修改助手

## 核心设计原则

本技能采用**自主执行架构 + 检查点机制**，全程自动流转：

```
┌─────────────────────────────────────────────────────────────────┐
│                     自主执行 + 检查点机制                         │
├─────────────────────────────────────────────────────────────────┤
│                                                                 │
│   每一步自动进入下一步                                            │
│   模型自主判断修改质量是否达标                                    │
│   未达标则自动迭代修改，直至通过                                  │
│   Diff 由代码计算，不依赖大模型标记                              │
│   每步执行时输出简短进度提示                                      │
│   **每步结束必须生成检查点文件**                                  │
│   **下一步必须读取检查点文件继续**                                │
│   **原始论文贯穿所有步骤，始终可用**                              │
│                                                                 │
└─────────────────────────────────────────────────────────────────┘
```

**修改范围原则**：
```
┌─────────────────────────────────────────────────────────────────┐
│                      修改范围边界                                │
├─────────────────────────────────────────────────────────────────┤
│                                                                 │
│   ✅ 修改：理论框架、逻辑结构、段落衔接、论证深度、学术规范       │
│                                                                 │
│   ❌ 不改：文件名、函数名、变量名、类名、专有名词、缩写           │
│                                                                 │
└─────────────────────────────────────────────────────────────────┘
```

**进度提示原则**：
- 每进入一个新步骤，输出一句简短的"正在进行 X..."提示
- 提示要简洁，使用 emoji 图标增强识别度
- 不输出中间结果，只输出执行状态
- 让用户始终知道模型在工作

**检查点文件机制**（防止跳步的核心）：
```
┌─────────────────────────────────────────────────────────────────┐
│                    检查点文件命名规则                            │
├─────────────────────────────────────────────────────────────────┤
│                                                                 │
│   步骤1 → `step1_understanding.md`   (论文理解报告)             │
│   步骤2 → `step2_feedback.md`        (修改意见)                 │
│   步骤3 → `step3_revision.md`        (修改后论文)                │
│   步骤4 → `step4_verification.md`    (验证报告)                 │
│   步骤5 → `step5_proofread.md`       (校对后论文)                │
│   步骤6 → HTML 输出文件                                         │
│                                                                 │
└─────────────────────────────────────────────────────────────────┘
```

**每一步必须**：
1. 读取当前步骤所需的输入数据（原始论文 + 相关检查点文件）
2. 执行当前步骤的工作
3. 生成当前步骤的检查点文件
4. 只有当前步骤文件生成成功后才能进入下一步

---

## 工作流程

```
┌─────────────────────────────────────────────────────────────────┐
│                        论文修改工作流                             │
├─────────────────────────────────────────────────────────────────┤
│                                                                 │
│   📁 步骤0：初始化论文文件（第一步）                              │
│   (生成 paper_original.md + step0_original.md)                  │
│         │                                                       │
│         ▼                                                       │
│   📖 步骤1：论文理解与分类  ──→  🔍 步骤2：提出宏观修改意见       │
│   (生成 step1_understanding.md)  (生成 step2_feedback.md)       │
│         │                          │                             │
│         ▼                          ▼                             │
│   ✏️ 步骤3：论文修改   ──→  🔬 步骤4：对照验证与迭代           │
│   (生成 step3_revision.md)        (生成 step4_verification.md)  │
│         │                    ┌───────────┐                       │
│         │                    │ 达标 → 继续 │                       │
│         │                    └───────────┘                       │
│         │                          │                             │
│         └──────────┬───────────────┘                             │
│                    ▼                                             │
│            📝 步骤5：细节校对                                    │
│            (生成 step5_proofread.md)                             │
│            着重：语法、标点、格式                                 │
│                    │                                             │
│                    ▼                                             │
│            📄 步骤6：代码计算 Diff 与输出                          │
│            (读取 → 保存临时文件 → 运行脚本 → 输出HTML)             │
│                                                                 │
└─────────────────────────────────────────────────────────────────┘
```

**进度提示总览**：

| 步骤 | 进度提示 | 图标 | 输入文件 | 输出文件 | 关键约束 |
|------|---------|------|---------|-----------|----------|
| 步骤0 | 正在初始化论文文件... | 📁 | 用户输入的原始论文 | paper_original.md + step0_original.md | **第一步必须执行，写入原文** |
| 步骤1 | 正在分析论文内容... | 📖 | paper_original.md | step1_understanding.md | 必要时进行网络搜索 |
| 步骤2 | 正在分析论文并制定修改方案... | 🔍 | paper_original.md + step1_understanding.md | step2_feedback.md | **只提宏观问题，不动专业名词** |
| 步骤3 | 正在修改论文内容... | ✏️ | paper_original.md + step1_understanding.md + step2_feedback.md | step3_revision.md | 不确定时**主动搜索** |
| 步骤4 | 正在验证修改质量... / 正在进行第 N 轮优化修改... | 🔬 / 🔄 | paper_original.md + step2_feedback.md + step3_revision.md | step4_verification.md | **对照意见+文章，可提新意见** |
| 步骤5 | 正在进行细节校对... | 📝 | paper_original.md + step3_revision.md + step4_verification.md | step5_proofread.md | **语法、标点、格式检查** |
| 步骤6 | 正在生成最终 HTML 文件... | 📄 | paper_original.md + step5_proofread.md | {论文标题}.html | 使用脚本计算 diff |

**文件说明**：
- `paper_original.md`：**原始论文（流程开始时立即写入，贯穿所有步骤）**
- `step0_original.md`：原始论文副本（用于步骤6的diff计算）
- `step1_understanding.md`：论文理解报告
- `step2_feedback.md`：修改意见
- `step3_revision.md`：修改后论文
- `step4_verification.md`：验证报告
- `step5_proofread.md`：校对后论文

---

## 检查点文件读取机制

**重要约束**：每一步开始时，必须先读取上一步生成的检查点文件。

```
┌─────────────────────────────────────────────────────────────────┐
│                    步骤间数据流向                                │
├─────────────────────────────────────────────────────────────────┤
│                                                                 │
│   用户输入的原始论文                                             │
│      │                                                         │
│      ▼                                                         │
│   步骤0 ──→ paper_original.md （原文持久化，贯穿全程）           │
│      │         step0_original.md （原文副本，供步骤6使用）       │
│      │                                                         │
│      ├─────────────────────────────────────────────┐           │
│      ▼                                             │           │
│   步骤1 ──→ step1_understanding.md                  │           │
│      │         (被步骤2、3读取)                     │           │
│      ▼                                             │           │
│   步骤2 ──→ step2_feedback.md                       │           │
│      │         (被步骤3、4读取)                     │           │
│      ▼                                             │           │
│   步骤3 ──→ step3_revision.md                       │           │
│      │         (被步骤4、5读取)                     │           │
│      ▼                                             │           │
│   步骤4 ──→ step4_verification.md                   │           │
│      │         (被步骤5读取)                        │           │
│      ▼                                             │           │
│   步骤5 ──→ step5_proofread.md                     │           │
│      │         (被步骤6读取)                        │           │
│      ▼                                             │           │
│   步骤6 ──→ 最终 HTML ─────────────────────────────┘           │
│            (读取 paper_original.md + step5_proofread.md)        │
│                                                                 │
└─────────────────────────────────────────────────────────────────┘
```

---

### 步骤 0：初始化论文文件（**第一步必须执行**）

**目标**：将用户输入的原始论文立即持久化为文件，确保后续所有步骤都能读取。

**进度提示**（在执行步骤0之前输出）：

```
📁 正在初始化论文文件...
```

**操作**：

1. **获取原文**：从用户输入中获取原始论文内容
2. **写入原文文件**：使用 `Write` 工具将原文写入 `paper_original.md`
3. **写入副本**：使用 `Write` 工具将原文写入 `step0_original.md`（供步骤6使用）

**重要约束**：
- **这是流程的第一步，必须最先执行**
- 两个文件内容完全相同，都是原始论文
- 完成后直接进入步骤1，无需等待用户确认
- 后续所有步骤需要原文时，都读取 `paper_original.md` 文件

**检查点文件格式**（`paper_original.md` 和 `step0_original.md`）：

直接写入用户输入的原始论文内容，不做任何修改。

---

### 步骤 1：论文理解与分类

**目标**：全面理解论文主题、结构和内容，确定论文类别。

**输入**：
- `paper_original.md`（使用 `Read` 工具读取原始论文）

**操作**：

1. **论文分类**：判断论文属于哪个学术领域（计算机科学、生物学、经济学等）
2. **深度阅读**：逐段通读论文，理解研究问题、方法、结果和结论
3. **网络搜索**（必要时）：针对论文主题搜索，获取前沿知识、相关论文、术语解释
4. **输出理解报告**：

```
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
论文理解报告
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

【论文分类】
领域：[如：计算机科学/人工智能/深度学习]
子领域：[如：自然语言处理/图像识别]

【核心信息】
研究问题/假设：[一句话概括]
研究方法：[简要说明]
主要发现：[列出2-3个关键发现]

【结构评估】
完整度：[摘要/引言/方法/结果/讨论/结论]
逻辑连贯性：[评估并说明]

【关键词】
[列出3-5个核心关键词]

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
```

**进度提示**（在执行步骤1之前输出）：

```
📖 正在分析论文内容...
```

**重要约束**：
- 完成本步骤后直接进入步骤2，无需等待用户确认
- 不得在步骤1中完成步骤2的任何工作
- **必须生成 `step1_understanding.md` 检查点文件**

**检查点文件格式**（`step1_understanding.md`）：

```markdown
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
论文理解报告
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

【论文分类】
领域：[如：计算机科学/人工智能/深度学习]
子领域：[如：自然语言处理/图像识别]

【核心信息】
研究问题/假设：[一句话概括]
研究方法：[简要说明]
主要发现：[列出2-3个关键发现]

【结构评估】
完整度：[摘要/引言/方法/结果/讨论/结论]
逻辑连贯性：[评估并说明]

【关键词】
[列出3-5个核心关键词]

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
```

---

### 步骤 2：提出修改意见

**目标**：基于学术写作标准和领域专业知识，提出**宏观层面**的系统性修改建议。

**输入**：
- `paper_original.md`（使用 `Read` 工具读取原始论文）

**前置操作**：
1. 使用 `Read` 工具读取 `step1_understanding.md` 文件，获取论文理解报告
2. 使用 `Read` 工具读取 `paper_original.md` 文件，获取原始论文内容

**核心原则**：聚焦宏观问题，不触及英文专业名词。

**🚫 不应修改的内容**：
- 文件名、函数名、变量名、类名等代码标识符
- 专有名词、缩写（如 API、CNN、Transformer）
- 数据库名称、框架名称、工具名称
- 引用中的原始内容
- 数学公式中的符号

**✅ 应重点检查的宏观问题**：

| 检查项 | 内容 |
|--------|------|
| **理论框架** | 理论基础是否扎实，框架选择是否恰当，是否存在概念错位 |
| **逻辑连贯** | 段与段之间、节与节之间的逻辑衔接是否自然，论证链条是否完整 |
| **问题陈述** | 研究问题是否清晰、有价值，研究缺口是否准确定位 |
| **方法匹配** | 研究方法是否适合研究问题，是否有理论支撑 |
| **结果解释** | 结果是否被充分解读，是否与假设/理论框架呼应 |
| **讨论深度** | 是否深入探讨结果的意义、局限性和影响 |
| **结论力度** | 结论是否由证据充分支撑，是否避免了过度推论 |
| **学术规范** | 引用是否规范、是否有缺失的关键文献 |
| **结构完整性** | 摘要、引言、方法、结果、讨论、结论是否齐全且比例合理 |

**输出格式**：

```
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
论文修改意见
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

【优先级：高】
1. [具体问题] → [修改建议]
   位置：第X段/第Y节

【优先级：中】
2. ...

【优先级：低】
3. ...

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
统计：高优先级 X 条，中优先级 Y 条，低优先级 Z 条
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
```

**进度提示**（在执行步骤2之前输出）：

```
🔍 正在分析论文并制定修改方案...
```

**重要约束**：
- 完成本步骤后直接进入步骤3，无需等待用户确认
- 不得在步骤2中开始修改论文内容
- **不应对英文专业名词（文件名、函数名、变量名、专有缩写等）提出任何修改意见**
- **必须生成 `step2_feedback.md` 检查点文件**

**检查点文件格式**（`step2_feedback.md`）：

```markdown
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
论文修改意见
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

【优先级：高】
1. [具体问题] → [修改建议]
   位置：第X段/第Y节

【优先级：中】
2. ...

【优先级：低】
3. ...

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
统计：高优先级 X 条，中优先级 Y 条，低优先级 Z 条
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
```

---

### 步骤 3：论文修改

**目标**：根据步骤2提出的修改意见重写论文，输出修改后的**纯文本/Markdown**。

**输入**：
- `paper_original.md`（使用 `Read` 工具读取原始论文）

**前置操作**（重要：按顺序执行）：
1. **检查是否存在上一次的验证报告**：使用 `Read` 工具尝试读取 `step4_verification.md`
   - 如果文件存在：检查报告中【迭代结论】部分的"未完成修改意见清单"
   - 如果存在未完成的修改意见，本次修改**优先处理这些未完成的意见**
2. 使用 `Read` 工具读取 `step1_understanding.md`（论文理解）
3. 使用 `Read` 工具读取 `step2_feedback.md`（修改意见）
4. 使用 `Read` 工具读取 `paper_original.md`（原始论文，这是修改的基础）

**操作**：

1. **逐项修改**：按优先级处理每条修改意见
2. **遇到不确定的问题时，主动使用 mcp__laborany_web__search 工具**：
   - 理论概念模糊 → 搜索学术定义和解释
   - 研究方法选择存疑 → 搜索该方法的适用场景和最佳实践
   - 术语使用不当 → 搜索领域内标准用法
   - 引用缺失 → 搜索相关经典文献
3. **风格保持**：
   - 保持原文的语气和表达习惯（正式、客观、精确）
   - 使用领域内标准的学术用语
   - 避免改变作者的核心观点和创新点
4. **连贯性检查**：修改后确保段落之间、章节之间的过渡自然
5. **术语一致性**：全文术语使用保持统一
6. **保护专业名词**：绝不修改英文专业名词、代码标识符、专有缩写

**修改原则**：

```
┌─────────────────────────────────────────────────────┐
│  只改需要改的，不改不需要改的                        │
│  改进表述，不改观点                                   │
│  增强逻辑，不改变意图                                │
│  输出纯文本，不添加 diff 标记                        │
└─────────────────────────────────────────────────────┘
```

**输出**：完成修改后的论文内容（纯 Markdown 格式），**不包含任何 diff 标记**。

**进度提示**（在执行步骤3之前输出）：

```
✏️ 正在修改论文内容...
```

**重要约束**：
- 输出必须是纯 Markdown 文本
- **不添加**任何 `` 或 `` 标记
- diff 标记将在步骤6由脚本自动计算生成
- 完成本步骤后直接进入步骤4，无需等待用户确认
- **必须生成 `step3_revision.md` 检查点文件**（纯 Markdown 格式的修改后论文）

---

### 步骤 4：自主验证与迭代

**目标**：验证修改是否完成，论文是否达到合格标准。**由模型自主判断是否需要继续迭代修改。**

**输入**：
- `paper_original.md`（使用 `Read` 工具读取原始论文）

**前置操作**：
1. 使用 `Read` 工具读取 `step2_feedback.md`（修改意见）
2. 使用 `Read` 工具读取 `step3_revision.md`（修改后论文）
3. 使用 `Read` 工具读取 `paper_original.md`（原始论文，用于对比验证修改效果）

**操作**：

1. **修改完成度检查**（生成结构化清单）：
   - 逐条对照步骤2的修改意见，确认每条都已处理
   - 为每条意见标记状态：✅已完成 / ⚠️部分完成 / ❌未完成
   - **对比原文和修改文**：确认修改确实解决了提出的问题
   - **生成【修改意见完成情况清单】**：在验证报告中逐条列出每条意见的完成状态
   - **生成【未完成修改意见清单】**：汇总所有未完成或部分完成的意见，供步骤3下次调用时直接读取

2. **论文质量判定**（基于修改后的文章）：
   - 论文结构是否完整
   - 逻辑是否清晰连贯（特别是段与段之间的过渡）
   - 学术语言是否规范
   - 表述是否准确无误

3. **新问题识别**：
   - 在验证过程中，若发现新的宏观问题（之前未识别的）
   - 将新问题加入修改意见列表
   - 在下一轮修改中一并处理

4. **自主决策与执行**：

```
┌─────────────────────────────────────────────────────────────┐
│                  自主验证与迭代逻辑                            │
├─────────────────────────────────────────────────────────────┤
│                                                             │
│   第一步：对照检查                                           │
│   - 读取步骤2的修改意见                                      │
│   - 读取修改后的论文                                        │
│   - 逐条验证修改是否落实                                     │
│                                                             │
│   第二步：质量评估                                           │
│   - 若完成度100% 且质量全项通过 → 进入步骤5                  │
│   - 若存在未完成项或质量问题 → 返回步骤3                     │
│                                                             │
│   第三步：迭代执行                                           │
│   → 根据未通过项/新问题重新执行步骤3                         │
│   → 修改完成后再次执行步骤4验证                              │
│   → 循环直至全部通过，最多迭代3次                            │
│                                                             │
└─────────────────────────────────────────────────────────────┘
```

**达标标准**（全部满足）：
- 修改完成度：步骤2的所有意见均已处理（或已说明原因）
- 结构完整性：通过
- 逻辑连贯性：通过（特别关注段落间逻辑）
- 学术规范性：通过

**迭代策略**：
- 第1次未达标：针对未通过项进行针对性修改
- 第2次未达标：全面检查并修正所有残留问题
- 第3次仍未达标：接纳当前版本，进入最终输出

**进度提示**：
- 首次进入步骤4时输出：`🔬 正在验证修改质量...`
- 每次迭代时输出：`🔄 正在进行第 N 轮优化修改...`（N 为迭代次数）

**重要约束**：
- 模型自主决定是否继续迭代，无需用户确认
- 达标后直接进入步骤5
- 迭代时只输出上述进度提示，不输出中间验证详情
- **必须生成 `step4_verification.md` 检查点文件**
- **【关键】每次生成验证报告时，必须完整列出【修改意见完成情况清单】和【未完成修改意见清单】，供步骤3下一次调用时读取**

**检查点文件格式**（`step4_verification.md`）：

```markdown
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
验证报告
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

【迭代信息】
- 当前迭代次数：[N/最大3次]
- 上次迭代遗留问题：[如果有上次的验证报告，列出未完成的问题]

【修改意见完成情况清单】
```

然后逐条对照步骤2的修改意见，列出完成状态：

```markdown
意见1：[步骤2中第1条意见的简述]
- 状态：✅已完成 / ⚠️部分完成 / ❌未完成
- 说明：[具体情况描述]

意见2：[步骤2中第2条意见的简述]
- 状态：✅已完成 / ⚠️部分完成 / ❌未完成
- 说明：[具体情况描述]

...
```

继续报告其他内容：

```markdown
【完成度统计】
- 已完成：X 条
- 部分完成：Y 条
- 未完成：Z 条
- 完成率：X/Y%

【论文质量判定】
- 结构完整性：[通过/不通过]
- 逻辑连贯性：[通过/不通过]
- 学术规范性：[通过/不通过]

【迭代结论】
- 是否达标：[是/否]
- 判定依据：[简要说明]

【未完成修改意见清单】（如果存在未完成的意见）
```

然后列出所有状态为"⚠️部分完成"或"❌未完成"的意见编号和内容，**供步骤3下一次调用时直接读取并优先处理**：

```markdown
意见[N]：[原意见内容]
- 当前状态：[⚠️部分完成/❌未完成]
- 需要进一步处理：[具体说明]

...

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
```

**迭代时的特殊处理**：
- 当需要返回步骤3进行修改时，完成修改后**更新 `step3_revision.md`** 文件
- 然后重新执行步骤4，**更新 `step4_verification.md`** 文件

---

### 步骤 5：细节校对

**目标**：对修改后的论文进行细致的语法、标点和格式校对，确保没有细节错误。

**输入**：
- `paper_original.md`（使用 `Read` 工具读取原始论文，用于参考保护专业名词）

**前置操作**：
1. 使用 `Read` 工具读取 `step3_revision.md`（当前修改后论文）
2. 使用 `Read` 工具读取 `step4_verification.md`（验证报告，了解整体情况）
3. 使用 `Read` 工具读取 `paper_original.md`（原始论文，用于核对专业名词是否被错误修改）

**检查重点**：

| 检查类别 | 具体内容 |
|---------|---------|
| **语法** | 主谓一致、时态正确、语态恰当、冠词使用、介词搭配 |
| **标点** | 句号位置、逗号使用、分号正确性、引号配对 |
| **格式** | 数字格式（阿拉伯数字 vs 中文数字）、单位表示、空格规范 |
| **拼写** | 错别字检查、英文单词拼写 |
| **专有名词** | 确保未错误修改专有名词、缩写、函数名等 |
| **标点符号** | 中文标点与英文标点的正确使用（中文环境中使用中文标点） |

**操作**：

1. **逐句校对**：通读全文，逐句检查语法和标点
2. **标记修正**：发现问题时直接修正
3. **一致性检查**：确保同类表达、术语使用全文一致
4. **保护专有名词**：再次确认未错误修改专业术语

**输出**：完成校对后的论文内容（纯 Markdown 格式）

**重要约束**：
- 输出必须是纯 Markd

…

## Source & license

This open-source skill is cataloged on AgentStack and links to its original source — we do not rehost the code.

- **Author:** [laborany](https://github.com/laborany)
- **Source:** [laborany/laborany](https://github.com/laborany/laborany)
- **License:** MIT
- **Homepage:** https://laborany.github.io

Install and usage instructions live in the source repository linked above.

## Pricing

- **Free** — Free

## Security capabilities

Automated source analysis of v0.1.0 — what this tool can access:

- **Network access:** no
- **Filesystem access:** no
- **Shell / process execution:** no
- **Environment & secrets:** no
- **Dynamic code execution:** no

*"Yes" means the capability is present in the source — more access means more to trust, not that it is unsafe.*


## Versions

- **0.1.0** — security scan: passed — Imported from the upstream source.

## Links

- Listing page: https://agentstack.voostack.com/l/skill-laborany-laborany-paper-editor
- Seller: https://agentstack.voostack.com/s/laborany
- Browse the marketplace: https://agentstack.voostack.com/browse

---
Listed on AgentStack — the marketplace for AI agent skills and MCP servers. Every listing is security-reviewed. Creators keep 70%.
