Retrieve negative feedback on AI-generated APIView comments. Use for: feedback report, comment feedback, show feedback, feedback for March, what feedback, downvotes, deleted comments, bad comments.
npx skills add https://github.com/Azure/azure-sdk-tools --skill report-feedback
Feedback describes why a bad AI comment is bad. Each feedback entry includes a reason (e.g., FactuallyIncorrect, AcceptedSDKPattern, RenderingBug) and an optional free-text comment. There are no upvotes in the feedback data — upvotes on comments exist in APIView but are not surfaced through this report. All feedback returned by this command is negative.
Do NOT state that feedback is "100% bad" or highlight that all feedback is negative in your summary. This is always the case by design — the report only surfaces negative feedback. Treat it as a given and focus the summary on the count, reasons, themes, and actionable insights.
Unless the user says otherwise, always apply these defaults:
production--language unless user specifies one)--exclude unless user asks to filter out certain feedback types--include-implicit by default. Only omit it if the user explicitly asks to exclude implicit bad comments.--format)The --include-implicit flag also returns implicit bad comments: AI comments on approved revisions that were never upvoted, downvoted, resolved, and have no Feedback entries. The inference is that the reviewer ignored them and approved anyway, suggesting they were unhelpful.
> Date semantics differ: Explicit feedback is filtered by feedback submission time (Feedback[].SubmittedOn / ChangeHistory[].ChangedOn), but implicit bad is filtered by comment creation time (CreatedOn). A comment created in January with no interaction will appear in January's implicit bad results, not March's.
This skill always passes --include-implicit (the CLI flag defaults to off, but the skill includes it for completeness). It has a weaker signal than explicit feedback because there is no reason or confirmation — just silence. Only omit --include-implicit if the user explicitly asks to exclude them (e.g., "only explicit feedback", "exclude implicit bad").
The output will contain items with "FeedbackTypes": ["implicit_bad"].
When presenting results, break out implicit bad themes separately from explicit feedback:
bad, delete).This separation helps the user understand the strength of signal behind each theme.
The user will typically specify a calendar month by name (e.g. "March", "January 2025"). Resolve to the full month date range:
| User says | start_date | end_date |
|-----------|-----------|----------|
| "March" (current year) | YYYY-03-01 | YYYY-03-31 |
| "January 2025" | 2025-01-01 | 2025-01-31 |
| "March 1 to March 15" | YYYY-03-01 | YYYY-03-15 |
When only a month name is given without a year, use the current year. Be careful with month lengths (28/29/30/31 days).
Show the resolved command and run it immediately in a foreground terminal with a 120-second timeout (timeout: 120000). Redirect to a file since feedback output can be very large.
Full terminal command (cleanup + run):
New-Item -ItemType Directory -Path output -Force | Out-Null; if (Test-Path output/feedback_output.json) { Remove-Item output/feedback_output.json }; python cli.py report feedback -s <start_date> -e <end_date> --include-implicit | Out-File -Encoding UTF8 output/feedback_output.json
After the command completes, read the output file with read_file to get the JSON results. Summarize the findings for the user (total count, breakdown by feedback reason, common themes, etc.).
For follow-up questions about the same data (filtering, counting, searching), read the output file with read_file instead of re-running the command. The file is at output/feedback_output.json.
# All feedback for March 2025 (implicit bad included by default)
python cli.py report feedback -s 2025-03-01 -e 2025-03-31 --include-implicit
# Python feedback only
python cli.py report feedback -s 2025-03-01 -e 2025-03-31 -l python --include-implicit
# Exclude implicit bad (only explicit feedback)
python cli.py report feedback -s 2025-03-01 -e 2025-03-31
# Exclude good feedback (show only bad and deleted)
python cli.py report feedback -s 2025-03-01 -e 2025-03-31 --include-implicit --exclude good
# YAML output
python cli.py report feedback -s 2025-03-01 -e 2025-03-31 --include-implicit --format yaml
# Staging environment
python cli.py report feedback -s 2025-03-01 -e 2025-03-31 --include-implicit --environment staging
| Flag | Type | Default | Description |
|------|------|---------|-------------|
| --start-date / -s | string | required | Start date (YYYY-MM-DD) |
| --end-date / -e | string | required | End date (YYYY-MM-DD) |
| --language / -l | string | all | Language to filter by (e.g., python, Go, C#) |
| --environment | string | production | production or staging |
| --exclude | list | none | Feedback types to exclude: good, bad, delete, implicit_bad |
| --include-implicit | flag | off | Include implicit bad comments (unresolved, unvoted on approved revisions) |
| --format / -f | string | json | Output format: json or yaml |
read_file rather than relying on terminal output.python cli.py not .\avc: The avc.bat script may resolve to system Python.2>&1: Merges stderr into stdout, corrupting JSON. Only redirect stdout.>: Produces UTF-16 in PowerShell 5.1. Use | Out-File -Encoding UTF8.Comprehensive spreadsheet creation, editing, and analysis with support for formulas, formatting, data analysis, and visualization. When Claude needs to work with spreadsheets (.xlsx, .xlsm, .csv, .tsv, etc) for: (1) Creating new spreadsheets with formulas and formatting, (2) Reading or analyzing data, (3) Modify existing spreadsheets while preserving formulas, (4) Data analysis and visualization in spreadsheets, or (5) Recalculating formulas
Use this skill any time a spreadsheet file is the primary input or output. This means any task where the user wants to: open, read, edit, or fix an existing .xlsx, .xlsm, .csv, or .tsv file (e.g., adding columns, computing formulas, formatting, charting, cleaning messy data); create a new spreadsheet from scratch or from other data sources; or convert between tabular file formats. Trigger especially when the user references a spreadsheet file by name or path — even casually (like \"the xlsx in my downloads\") — and wants something done to it or produced from it. Also trigger for cleaning or restructuring messy tabular data files (malformed rows, misplaced headers, junk data) into proper spreadsheets. The deliverable must be a spreadsheet file. Do NOT trigger when the primary deliverable is a Word document, HTML report, standalone Python script, database pipeline, or Google Sheets API integration, even if tabular data is involved.
Picks random winners from lists, spreadsheets, or Google Sheets for giveaways, raffles, and contests. Ensures fair, unbiased selection with transparency.
Query openFDA API for drugs, devices, adverse events, recalls, regulatory submissions (510k, PMA), substance identification (UNII), for FDA regulatory data analysis and safety research.
MATLAB and GNU Octave numerical computing for matrix operations, data analysis, visualization, and scientific computing. Use when writing MATLAB/Octave scripts for linear algebra, signal processing, image processing, differential equations, optimization, statistics, or creating scientific visualizations. Also use when the user needs help with MATLAB syntax, functions, or wants to convert between MATLAB and Python code. Scripts can be executed with MATLAB or the open-source GNU Octave interpreter.
UMAP dimensionality reduction. Fast nonlinear manifold learning for 2D/3D visualization, clustering preprocessing (HDBSCAN), supervised/parametric UMAP, for high-dimensional data.
Creating interactive data visualisations using d3.js. This skill should be used when creating custom charts, graphs, network diagrams, geographic visualisations, or any complex SVG-based data visualisation that requires fine-grained control over visual elements, transitions, or interactions. Use this for bespoke visualisations beyond standard charting libraries, whether in React, Vue, Svelte, vanilla JavaScript, or any other environment.
Access AlphaFold 200M+ AI-predicted protein structures. Retrieve structures by UniProt ID, download PDB/mmCIF files, analyze confidence metrics (pLDDT, PAE), for drug discovery and structural biology.
Take azure/report-feedback from the repository into ~/.claude/skills for personal
use, or into .claude/skills inside a project.
The agent identifies a skill by the name field in its header. Two skills with the
same name cannot sit side by side — one of them will be ignored.