Skip to content
Back to skills

Pr Feedback Classifier Dagster Io Erk 2

ASecurity

Fetches and classifies PR review feedback with context isolation. Returns structured JSON with thread IDs for deterministic resolution. Use when analyzing PR comments before addressing them.

  • 666 stars
  • 0 votes
  • 0 copies
  • 0 views
  • Added September 2, 2026
ai-agentsbashrefactoringgitapidocumentation

Works with

  • api

Security analysis

A100/100

Scanned September 2, 2026

npx -y skills add majiayu000/claude-skill-registry --skill pr-feedback-classifier-dagster-io-erk-2 --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Pr Feedback Classifier Dagster Io Erk 2?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Pr Feedback Classifier Dagster Io Erk 2
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/majiayu000-pr-feedback-classifier-dagster-io-erk-2/badge)](https://www.skillsdirectory.com/skills/majiayu000-pr-feedback-classifier-dagster-io-erk-2)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
name: pr-feedback-classifier
description: >
  Fetches and classifies PR review feedback with context isolation.
  Returns structured JSON with thread IDs for deterministic resolution.
  Use when analyzing PR comments before addressing them.
argument-hint: "[--pr <number>] [--include-resolved]"
context: fork
agent: general-purpose
---

# PR Feedback Classifier

Fetch and classify all PR review feedback for the current branch's PR.

## Arguments

- `--pr <number>`: Target a specific PR by number (default: current branch's PR)
- `--include-resolved`: Include resolved threads (for reference)

Check `$ARGUMENTS` for flags.

## Steps

1. **Get current branch and PR info:**
   - **If `--pr <number>` specified in `$ARGUMENTS`**:

     ```bash
     gh pr view <number> --json number,title,url -q '{number: .number, title: .title, url: .url}'
     ```

   - **If `--pr` not specified** (use current branch):
     ```bash
     git rev-parse --abbrev-ref HEAD
     gh pr view --json number,title,url -q '{number: .number, title: .title, url: .url}'
     ```

2. **Fetch all comments:**

   ```bash
   # If --include-resolved in $ARGUMENTS:
   erk exec get-pr-review-comments [--pr <number>] --include-resolved
   # Otherwise:
   erk exec get-pr-review-comments [--pr <number>]

   erk exec get-pr-discussion-comments [--pr <number>]
   ```

   Note: Pass `--pr <number>` to both exec commands when specified in `$ARGUMENTS`.

3. **Classify each comment** using the Comment Classification Model below.

4. **Group into batches** by complexity.

5. **Output structured JSON** (schema below).

## Comment Classification Model

For each comment, determine:

### Actionability

- **Actionable**: Code changes requested, violations to fix, missing tests, documentation updates requested
- **Informational**: Bot status updates, CI results, Graphite stack comments, acknowledgments, automated review summaries

### Complexity (for actionable items)

- `local`: Single line change at specified location
- `single_file`: Multiple changes in one file
- `cross_cutting`: Changes across multiple files
- `complex`: Architectural changes or related refactoring needed

### Batch Ordering

1. **Local Fixes** (auto_proceed: true): Single-line changes
2. **Single-File** (auto_proceed: true): Multi-location in one file
3. **Cross-Cutting** (auto_proceed: false): Multiple files
4. **Complex** (auto_proceed: false): Architectural changes

## Output Format

Output ONLY the following JSON (no prose, no markdown, no code fences):

```json
{
  "success": true,
  "pr_number": 5944,
  "pr_title": "Feature: Add new API endpoint",
  "pr_url": "https://github.com/owner/repo/pull/5944",
  "actionable_threads": [
    {
      "thread_id": "PRRT_kwDOPxC3hc5q73Ne",
      "type": "review",
      "path": "src/api.py",
      "line": 42,
      "is_outdated": false,
      "action_summary": "Add integration tests for new endpoint",
      "complexity": "local",
      "original_comment": "This needs integration tests"
    }
  ],
  "discussion_actions": [
    {
      "comment_id": 12345678,
      "action_summary": "Update API documentation",
      "complexity": "cross_cutting",
      "original_comment": "Please update the docs to reflect..."
    }
  ],
  "informational_count": 12,
  "batches": [
    {
      "name": "Local Fixes",
      "complexity": "local",
      "auto_proceed": true,
      "item_indices": [0]
    },
    {
      "name": "Cross-Cutting",
      "complexity": "cross_cutting",
      "auto_proceed": false,
      "item_indices": [0]
    }
  ],
  "error": null
}
```

**Field notes:**

- `thread_id`: The ID needed for `erk exec resolve-review-thread`
- `comment_id`: The ID needed for `erk exec reply-to-discussion-comment`
- `item_indices`: References into `actionable_threads` (type=review) or `discussion_actions` (type=discussion)
- `original_comment`: First 200 characters of the comment text

## Error Case

If no PR exists for the branch or API fails:

```json
{
  "success": false,
  "pr_number": null,
  "pr_title": null,
  "pr_url": null,
  "actionable_threads": [],
  "discussion_actions": [],
  "informational_count": 0,
  "batches": [],
  "error": "No PR found for branch feature-xyz"
}
```

## No Comments Case

If PR exists but has no unresolved comments:

```json
{
  "success": true,
  "pr_number": 5944,
  "pr_title": "Feature: Add new API endpoint",
  "pr_url": "https://github.com/owner/repo/pull/5944",
  "actionable_threads": [],
  "discussion_actions": [],
  "informational_count": 0,
  "batches": [],
  "error": null
}
```

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…

Newsletter

Get the weekly list of safe new skills, and the ones we pulled.