.opencode/skills/dx-review/SKILL.md
Review developer experience and API ergonomics
npx skillsauth add libpdf-js/core dx-reviewInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
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.
any or string)?Put yourself in a consumer's shoes:
Examine the TypeScript definitions:
Walk through typical tasks:
Identify pain points:
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.
```
documentation
Deep-dive interview to flesh out a spec or design document
tools
Implement a spec from the plans directory
research
Research how a feature works in reference libraries
data-ai
Create a new scratch file in .agents/scratches/