Agent SkillsLibPDF-js/core › dx-review

dx-review

GitHub

评估库的开发者体验(DX)和 API 易用性,从发现性、一致性、人体工学、错误处理等维度审查公共 API,识别摩擦点并提供改进建议。

.opencode/skills/dx-review/SKILL.md LibPDF-js/core

Trigger Scenarios

需要评估代码库的开发者体验 审查 API 的设计一致性和易用性 检查类型定义和文档对开发者的引导效果

Install

npx skills add LibPDF-js/core --skill dx-review -g -y
More Options

Non-standard path

npx skills add https://github.com/LibPDF-js/core/tree/main/.opencode/skills/dx-review -g -y

Use without installing

npx skills use LibPDF-js/core@dx-review

指定 Agent (Claude Code)

npx skills add LibPDF-js/core --skill dx-review -a claude-code -g -y

安装 repo 全部 skill

npx skills add LibPDF-js/core --all -g -y

预览 repo 内 skill

npx skills add LibPDF-js/core --list

SKILL.md

Frontmatter
{
    "name": "dx-review",
    "description": "Review developer experience and API ergonomics"
}

You are reviewing the developer experience (DX) of the library to ensure it feels good to use. As a library consumed by other developers, ergonomics matter as much as functionality.

Your Task

  1. Identify scope - Based on the conversation context, determine what module or feature to review. If no specific scope is mentioned, review the main public API.
  2. Analyze the API surface - How do developers interact with this code?
  3. Evaluate ergonomics - Is it intuitive, consistent, and pleasant to use?
  4. Report findings - Document issues and recommendations

DX Evaluation Criteria

1. Discoverability

  • Can developers find what they need?
  • Are method names intuitive and searchable?
  • Is the API surface appropriately sized (not too sprawling)?

2. Consistency

  • Do similar operations work the same way?
  • Are naming conventions consistent across the API?
  • Do return types follow predictable patterns?

3. Ergonomics

  • Is the common case easy? (pit of success)
  • Are required parameters actually required?
  • Do defaults make sense for typical usage?
  • Is there unnecessary boilerplate?

4. Error Experience

  • Are errors actionable? (tells you what went wrong AND how to fix it)
  • Do errors surface at the right time? (fail fast)
  • Are error types specific enough to catch programmatically?

5. Type Experience

  • Does autocomplete guide developers?
  • Are types precise (not too wide like any or string)?
  • Do generics add value or just complexity?

6. Documentation in Code

  • Are public methods documented with JSDoc?
  • Do examples in comments actually work?
  • Are parameter constraints documented?

7. Comparison to Standards

  • How does this compare to similar libraries developers know?
  • Does it follow platform conventions (Node.js, Web APIs)?
  • Would a developer's intuition from other libraries apply here?

Review Process

Step 1: Use the API

Put yourself in a consumer's shoes:

  • What would a developer try first?
  • What questions would they have?
  • Where would they get stuck?

Step 2: Read the Types

Examine the TypeScript definitions:

  • What does autocomplete show?
  • Are overloads clear or confusing?
  • Do type errors make sense?

Step 3: Trace Common Workflows

Walk through typical tasks:

  • Opening a PDF and reading metadata
  • Modifying form fields
  • Saving changes
  • Handling errors

Step 4: Look for Friction

Identify pain points:

  • Unnecessary ceremony or boilerplate
  • Confusing parameter orders
  • Inconsistent patterns
  • Missing conveniences

Output Format

Write your review to .agents/scratch/dx-review-<scope>.md:

# DX Review: <Scope>

## Summary

Overall assessment and top priorities.

## What's Working Well

- Positive patterns to preserve

## Issues Found

### Issue 1: <Title>

**Severity:** High/Medium/Low
**Category:** Discoverability/Consistency/Ergonomics/Errors/Types/Docs

**Problem:**
Description of the issue from a developer's perspective.

**Example:**

```typescript
// Current awkward usage
```

**Recommendation:**

```typescript
// Proposed improvement
```

### Issue 2: ...

## Recommendations Summary

Prioritized list of changes to improve DX.

## Comparison Notes

How we compare to pdf-lib, pdfjs, or other libraries developers might know.

```

## Guidelines

- **Be specific** - Vague feedback isn't actionable
- **Show, don't tell** - Include code examples
- **Prioritize** - Not all issues are equal
- **Be constructive** - Propose solutions, not just problems
- **Consider tradeoffs** - Note when fixing one thing might hurt another
- **Think like a user** - You're advocating for developers who will use this

## Begin

Review the scope determined from the conversation context (or the main API if unspecified) and document your DX findings.
```

Version History

  • 9eedd5f Current 2026-07-24 22:02

Same Skill Collection

.opencode/skills/code-review/SKILL.md
.opencode/skills/continue-implementation/SKILL.md
.opencode/skills/create-documentation/SKILL.md
.opencode/skills/explore-references/SKILL.md
.opencode/skills/interview-spec/SKILL.md
.opencode/skills/conventional-commit/SKILL.md
.opencode/skills/create-plan/SKILL.md
.opencode/skills/create-scratch/SKILL.md
.opencode/skills/implement-spec/SKILL.md

Metadata

Files
0
Version
0fa22e0
Hash
3fccefb0
Indexed
2026-07-24 22:02

- 위키
Copyright © 2011-2026 iteam. Current version is 2.155.2. UTC+08:00, 2026-08-20 21:31
浙ICP备14020137号-1 $방문자$