aggregate-logs
CommandGenerate LEARNINGS.md from skill execution logs over a configurable time window.
Batch-resolve unresolved PR/MR review threads via GraphQL API (GitHub/GitLab)
> /plugin marketplace add athola/claude-night-market
name: resolve-threads description: Batch-resolve unresolved PR/MR review threads via GraphQL API (GitHub/GitLab) usage: /resolve-threads [<pr-number> | <pr-url> | <mr-url>]
Quickly resolve all unresolved review threads on a PR after fixes have been addressed.
# GitHub - if no PR specified, use current branch gh pr view --json number,url -q '.number' # GitLab glab mr view --json iid -q '.iid'
# Replace OWNER, REPO, PR_NUMBER with actual values
gh api graphql --paginate --slurp -f query='
query($endCursor: String) {
repository(owner: "OWNER", name: "REPO") {
pullRequest(number: PR_NUMBER) {
reviewThreads(first: 100, after: $endCursor) {
pageInfo { hasNextPage endCursor }
nodes {
id
isResolved
path
line
subjectType
comments(first: 1) {
nodes { body }
}
}
}
}
}
}'For each unresolved thread:
gh api graphql -f query='
mutation {
resolveReviewThread(input: {threadId: "PRRT_xxx"}) {
thread { isResolved }
}
}'Rerun the Step 2 query and count what is still open. gh rejects `--slurp` together with `--jq`. Pipe the slurped pages to `jq` instead.
# Should print 0
gh api graphql --paginate --slurp -f query='
query($endCursor: String) {
repository(owner: "OWNER", name: "REPO") {
pullRequest(number: PR_NUMBER) {
reviewThreads(first: 100, after: $endCursor) {
pageInfo { hasNextPage endCursor }
nodes { id isResolved }
}
}
}
}' | jq '[.[].data.repository.pullRequest.reviewThreads.nodes[] | select(.isResolved == false)] | length'### Thread Resolution Summary | Status | Count | |--------|-------| | Resolved | 15 | | Already resolved | 3 | | Failed | 0 | All 18 review threads are now resolved.
A plugin marketplace for Claude Code. Install only the plugins you need to run git workflows, code review, spec-driven development, and autonomous agents from inside your Claude Code session.
Generate LEARNINGS.md from skill execution logs over a configurable time window.
Analyze skill file complexity metrics and generate modularization recommendations for splitting or progressive loading.
Generate context optimization report for skill directories
Create slash commands with brainstorming and best practices
Scaffold new Claude Code skills with brainstorming, TDD methodology, and proper frontmatter and module structure.
Implement tasks incrementally — build, test, verify, commit. Add "auto" to run the whole plan in one approved pass.