---
name: categorize-revdep-issues
description: Write revdep/issue.md to group packages by common error categories
---
# Categorize Reverse Dependency Issues
Write `revdep/issue.md` to group packages by common error categories based on the error output in `revdep/problems.md` and `revdep/failures.md`.
## What This Skill Does
This skill analyzes reverse dependency check results and writes out an issue tracking file to group packages by their error types, making it easier to:
- Identify common problems across packages
- Understand which issues are dplyr-related vs external dependencies
- Prioritize fixes based on error patterns
- Provide clear guidance to package maintainers
## Files Involved
**Input files:**
- `revdep/README.md` - The `New problems` section lists the packages to group
- `revdep/problems.md` - Detailed error output for packages with test/check issues
- `revdep/failures.md` - Installation failures and error messages
**Output file:**
- `revdep/issue.md` - File to write packages grouped by error category to, may need to be created
## Process
### Step 1: Read All Input Files
Read all input files in parallel to understand the complete error landscape.
### Step 2: Analyze and Categorize Errors
Group packages by their primary error cause. Common categories include:
**Issues related to changes in our package:**
- Missing exports
- Defunct functions
- Defunct function arguments
- Missing Rd cross-references to removed functions
**Issues unrelated to changes we have made:**
- Missing exports from other packages (e.g., `purrr::at_depth`)
- Dependency issues
- Compilation failures (C++, Rust)
- Other packages that passed or have unclear status
### Step 3: Create Category Structure
For each category:
1. Create an H2 header with a descriptive category name
2. Write a brief description explaining:
- What the issue is
- Why it's happening
- Suggested solution or migration path
3. List all affected packages in checkbox format
### Step 4: Write the New File
Format requirements:
```markdown
## Category Name
Brief description of the issue and solution approach.
* [ ] [package1](url1)
* [ ] [package2](url2)
...
```
If you must include package specific comments, do so like:
```markdown
## Category Name
Brief description of the issue and solution approach.
* [ ] [package1](url1)
* Comments about package1.
* [ ] [package2](url2)
...
```
Do not include package specific comments in the `Brief description` section.
**Critical constraints:**
- MUST preserve ALL packages from the `README.md`'s `New problems` section
- Each package appears in exactly ONE category
- Maintain checkbox format: `* [ ] [package](url)`
- Order categories by relevance (common issues first)
- Use "Other issues requiring investigation" for unclear cases
## Quality Checks
After completing the rewrite, verify:
- [ ] Total package count in new file matches the `README.md`'s `New problems` section
- [ ] Each package from original appears exactly once in new file
- [ ] Each category has a clear H2 header and description
- [ ] Packages are in checkbox format with correct URLs
- [ ] Categories are logically ordered
- [ ] Common patterns are grouped together
## Example Category
```markdown
## Missing export: `dplyr::id`
Packages using `dplyr::id` which is not exported. These packages get "no visible binding for global variable 'id'" errors.
* [ ] [packageA](https://github.com/userA/packageA)
* [ ] [packageB](https://github.com/userB/packageB)
```