agentsclimarketplace

Review

Skill smalls257/eval-pack/skills/review

Generate an eval pack and create (or update) a pull request with the eval pack committed to the branch.From its SKILL.md

Install
npx -y skills add smalls257/eval-pack --skill review

Assembled from the repository path, not quoted from the project. Check it against their README if it does not work.

One thing to look at

  • 1 stars1 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.

SKILL.md

4.0 KB, as published. Nobody here has run it

Generate Eval Pack + Create PR

This skill combines eval pack generation with PR creation. Follow these steps:

Step 1: Generate Eval Pack

Invoke the eval-pack generate skill internally. Run the full generation flow:

  1. Extract metrics from transcript
  2. Detect heuristic patterns
  3. Run appropriate tests, capture screenshots and logs
  4. Write Claude analysis (retrospective, friction, prompt quality)
  5. Render HTML eval pack

Step 2: Stage Eval Pack

The .eval-packs/ directory is gitignored — force-add the zip:

git add -f .eval-packs/
git commit -m "chore: add eval pack for session ${SESSION_ID}"
git push

Step 3: Create or Update PR

Check if a PR already exists for the current branch:

EXISTING_PR=$(gh pr list --head "$(git branch --show-current)" --json number --jq '.[0].number // empty')

If a PR exists, the push above already updated it. Note: the ticket reference below is added on PR creation only; an existing PR's body is not rewritten on later runs.

If no PR exists, first discover the work ticket, then create the PR.

Discover the ticket

A PR with no ticket link forces the reviewer to leave the PR and hunt the tracker for the why. Resolve the ticket pattern from config first — repos configure their own key shape via ticketPattern in .eval-pack.json:

PYTHON="${CLAUDE_PLUGIN_OPTION_pythonExecutable:-python3}"
TICKET_PATTERN=$("$PYTHON" -c "
import sys; sys.path.insert(0, '${CLAUDE_PLUGIN_ROOT}/scripts')
from config import load_config
print(load_config('$(pwd)')['ticketPattern'])
" 2>/dev/null || echo '[A-Z][A-Z0-9]+-[0-9]+')

Find the ticket key in this order, stopping at the first hit:

  1. Branch name — match $TICKET_PATTERN against the current branch:

    BRANCH=$(git branch --show-current)
    TICKET=$(printf '%s' "$BRANCH" | grep -oE "$TICKET_PATTERN" | head -1)
    
  2. Commit messages — if TICKET is empty, scan this branch's commits for the same pattern or a Ticket: trailer:

    if [ -z "$TICKET" ]; then
      BASE=$(git merge-base HEAD main 2>/dev/null || git merge-base HEAD master 2>/dev/null || echo "")
      RANGE=${BASE:+$BASE..HEAD}
      TICKET=$(git log $RANGE --format='%B' 2>/dev/null | grep -oE "$TICKET_PATTERN" | head -1)
    fi
    
  3. Ask the user once — if TICKET is still empty, ask: "Ticket for this PR? Provide a key (e.g. PROJ-123), a full URL, or 'none'."

    • If they give a key, set TICKET to it.
    • If they give a full URL, set TICKET_URL to that URL (skip the link-building below).
    • If they answer none, leave both empty and omit the Ticket section.

Build the ticket line

  • If you have a full TICKET_URL (user pasted a URL): the line is Ticket: <TICKET_URL>.
  • Else if you have a bare TICKET key AND ticketBaseUrl from the resolved config (.eval-pack.json or legacy plugin option) is non-empty: the line is Ticket: [<TICKET>](<ticketBaseUrl><TICKET>).
  • Else if you have a bare TICKET key and no ticketBaseUrl: the line is Ticket: <TICKET>.
  • Else (no ticket): omit the entire ## Ticket section from the body.

Create the PR

Include the ## Ticket section above ## Summary only when a ticket was found:

gh pr create --title "<appropriate title based on work done>" --body "$(cat <<'EOF'
## Ticket

Ticket: <the ticket line you built, or omit this whole section if none>

## Summary

<summarize what was accomplished in this session>

## Eval Pack

The eval pack zip is committed to this branch at `.eval-packs/<session-id>.zip`.
Extract and open `index.html` in a browser to view the full report.

## Test Results

<verdict: pass/fail/none with brief summary>

---
Generated by [eval-pack](https://github.com/smalls257/eval-pack)
EOF
)"

Step 4: Report

Tell the user:

  • PR URL
  • Eval pack verdict
  • That the zip is in .eval-packs/ on the branch — extract and open index.html

Keep looking

Skills are one crate of 627,801. Ordering is by how many stacks a row turns up in, so the top of any crate is what has actually been picked rather than what has the most stars.