code/post-pr-for-review/SKILL.md
Generates a contextual Slack message for posting a PR to the team's review channel. Pulls context from PR diff, Linear ticket, session conversation, and related PRs to write a concise, informative review request. Use when sharing a PR for review, posting to the review channel, or preparing a review request message.
npx skillsauth add mostafa-drz/claude-skills post-pr-for-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.
Generate a contextual Slack message for posting a PR to the team's review channel.
Read ~/.claude/skills/post-pr-for-review/preferences.md using the Read tool. If not found, no preferences are set — using defaults.
On startup, use Bash to detect: current git branch, repo name, org (gh repo view --json owner -q .owner.login), and your open PRs (gh pr list --author @me --state open --limit 5). Skip any that fail.
Check $ARGUMENTS:
help → display help then stopconfig → interactive setup then stopreset → delete preferences, confirm, stopIf $ARGUMENTS is "help" (case-insensitive), display:
Post PR for Review
Generate a Slack message for posting a PR to the team's review channel.
Usage:
/post-pr-for-review 393 PR in current repo
/post-pr-for-review 393 ai-assemble PR in specific repo
/post-pr-for-review <github-url> PR from full URL
/post-pr-for-review config Configure defaults
/post-pr-for-review reset Clear preferences
/post-pr-for-review help Show this help
Context sources:
PR Title, description, diff, files changed
Linear Linked ticket objective, project, status
Session Current conversation, decisions made, files discussed
Related Other open PRs in the same project/initiative
Configurable:
Detail level Minimal (1 line) | Standard (1-3 lines) | Detailed (with context)
Tone Neutral | Conversational
Extras Reviewer tags, related PRs, testing notes, side effects
Then stop.
If $ARGUMENTS is "config" or "configure" (case-insensitive), use AskUserQuestion:
Q1 — "Default detail level?" (multiSelect: false)
Q2 — "Default tone?" (multiSelect: false)
Q3 — "What to include by default?" (multiSelect: true)
Q4 — "Default GitHub org?" (multiSelect: false)
Save to ~/.claude/skills/post-pr-for-review/preferences.md.
Then stop.
If $ARGUMENTS is "reset" (case-insensitive), delete ~/.claude/skills/post-pr-for-review/preferences.md, confirm deletion, stop.
If $ARGUMENTS is anything else, proceed below.
Extract from $ARGUMENTS:
If only a number is given, detect the repo from gh repo view --json nameWithOwner.
If a full GitHub URL, parse org/repo/number from it.
If no number given but current branch has an open PR, use that PR automatically.
gh pr view <number> --repo <org/repo> --json title,body,headRefName,baseRefName,url,files,commits,reviewRequests,labels
Extract issue ID from branch name (pattern: ais-NNN or AIS-NNN).
If found, fetch via get_issue with identifier AIS-NNN:
Review the current conversation for:
If the Linear ticket has related issues, check if any have open PRs:
gh pr list --state open --limit 10 --json number,title,headRefName,url
Filter for PRs whose branch contains a related ticket ID.
Build understanding from richest to thinnest source:
gh pr diff <number> --repo <org/repo> | head -200
Apply preferences (or defaults: standard detail, conversational tone).
Minimal:
[1 sentence: what changed]
<PR URL>
Standard (default):
[1-3 sentences: what changed, why it matters, notable detail]
<PR URL>
Detailed:
[1-3 sentences: what changed, why it matters]
[Optional: side effects, testing notes, or reviewer guidance — 1-2 lines]
[Optional: Related: PR #NNN (description)]
[Optional: Linear: AIS-NNN link]
<PR URL>
@name naturally*bold*, _italic_, <url|text>)Related PRs: If there are dependent PRs or PRs in the same project, mention them:
This is the second of two PRs — first one is #393 (shared service layer).
Testing notes: If session context includes testing information:
Checked Vercel logs on pilot, looks good. Full e2e testing once in prod.
Side effects: If session context mentions caveats:
Note: artifacts created before this week show null for meeting title/date — only affects old data.
Reviewer guidance: If specific reviewers are relevant:
@Anibal — would appreciate a look at the bot tool changes, no functional changes to responses.
Deprecates the meetings Supabase table — all meeting data now comes from artifacts API via a shared service layer. Zero blob fetches for meeting insights.
https://github.com/A-Teams-Network/ai-assemble/pull/393
Refactors Teams bot MPR tools to use the shared meetings service. Removes raw fetch() with hardcoded API keys, reads metadata from artifact instead of blob. Backward compatible — tool input/output shapes unchanged.
https://github.com/A-Teams-Network/ai-assemble/pull/395
Adds fast signals metrics (impressions, CPM, clicks) via Clickhouse integration.
https://github.com/A-Teams-Network/ai-assemble/pull/307
Detailed example:
Deprecates the meetings Supabase table — all meeting data now comes from artifacts API via a shared service layer. Zero blob fetches for meeting insights.
Builds on Dade's artifact metadata PR (#318). Artifacts before that PR show null for title/date — low priority, can backfill.
Related: #395 (Teams bot refactor using same service layer)
Linear: https://linear.app/ateam-ai/issue/AIS-921
https://github.com/A-Teams-Network/ai-assemble/pull/393
# PR Review Request
**Ticket:** AIS-921
**Summary:** This PR updates the meeting insights handler...
Too formatted, leads with ticket ID, uses markdown headers.
Please review this PR when you get a chance. It makes some changes to the meetings code.
Too vague, no useful information.
Display the generated message in a copyable code block:
[generated message here]
Then use AskUserQuestion to offer:
If the user picks "Looks good", confirm and stop. For other options, apply the adjustment, show the updated message, and offer the same choices again.
development
--- name: triage-board description: >- Generates a structured triage artifact from the current conversation's findings — a self-contained Desktop folder with a JSON Schema, schema-conformant report.json, prose markdown, and a single-file HTML viewer. Viewer ships with MD / CSV / JSON download buttons in the header and a per-finding "Copy as Markdown" action that produces a GitHub/Linear/Notion-ready ticket block. Stateless — triage state lives in the user's ticket system, not in the
development
Runs a beginner-mind end-to-end UI audit of any running app — local dev server, staging, production, or a specific URL. Drives Chrome through every interactive element on the target surface, collects structured findings (severity, category, where, symptom, impact, repro, triage), and hands the result off to `/triage-board` which produces the Desktop folder (schema + JSON + Markdown + single-file HTML viewer with MD/CSV/JSON exports and a per-finding Copy as Markdown button). Use when you want fresh-eyes verification of a feature, page, modal, flow, branch, or whole app — before shipping, before review, before a demo, or any time the UI deserves a careful poke.
development
Reviews the user's past Claude Code conversations from a wellbeing perspective — sentiment, tone, emotional arc, recurring patterns — and generates a supportive, science-grounded report in both Markdown and HTML. Default lookback is 48 hours across all projects. Uses recognised emotion frameworks (Plutchik, Ekman, Russell's circumplex, Pennebaker linguistic markers) and cites the science behind every observation. Learns the user's baseline tone over time so future reports flag genuine shifts, not noise. Use when the user asks for an emotional/wellbeing recap, mood check, sentiment review, or wants to understand their own ups and downs across recent work sessions.
development
--- name: workflow-advisor description: >- Analyzes recent Claude Code conversations and local Claude state (skills, settings, memory files, CLAUDE.md), researches the latest Claude Code features and best practices online, and suggests one workflow improvement at a time with reasoning and a concrete action item. Can save accepted suggestions to memory for tracking. Use when you want to discover underused Claude Code features, improve your development workflow, stay current with the lat