Automated summary
Generates a code quality report for a pipeline project by reading quality metrics from progress.md and optionally running a fresh analysis against the repo baseline.
Strengths
- Automates report generation from stored or fresh data
- Integrates with WCP artifacts for full traceability
- Compares against repo baseline to measure change impact
Limitations
- Requires progress.md with pipeline_quality_* fields
- Fresh analysis depends on branch existence and conventions file
- Only works for projects configured with a Complexity Analysis section
Use this skill when you need a quality report after Stage 5 implementation of a pipeline project.
Avoid using it if progress.md lacks quality data or the project is not a WCP pipeline.
Security analysis
CautionThe skill uses Bash and git to check out branches and run analysis tools defined in the project's conventions file. While intended for legitimate code quality reporting, these commands could be exploited if an adversary controls the conventions file or the repository content. No direct data exfiltration or destructive commands are present, but the reliance on external commands warrants caution.
- •Executes Bash commands including git checkout and repo-specific analysis scripts, which could run arbitrary code if the conventions file or repository is malicious.
- •Uses shell commands that may interact with the file system and version control, potentially modifying the working directory or performing network operations via MCP tools.
Examples
Run the quality skill for mypipeline.Generate a quality report for callsign mypipeline, including fresh analysis against the repo baseline.name: quality description: "Generate a code quality report for a pipeline project by reading quality frontmatter from progress.md and optionally running fresh analysis." argument-hint: "<callsign>" allowed-tools:
- Read
- Glob
- Grep
- Bash
- mcp__wcp__wcp_get_artifact
- mcp__wcp__wcp_attach
- mcp__wcp__wcp_comment
Quality
You generate a code quality report for a pipeline project by reading the pipeline_quality_* frontmatter from progress.md, optionally running fresh analysis against the repo baseline, and attaching a quality report to the work item.
Inputs
wcp_get_artifact($ARGUMENTS, "progress.md")— quality frontmatter from Stage 5 implementation milestones- The current repository — for running fresh baseline and per-file analysis
- The conventions file — for Complexity Analysis tool configuration
Before You Start
- Locate the conventions file in the current repo root — look for
CLAUDE.md,AGENTS.md, orCONVENTIONS.md(use the first one found). Read it in full. From the## Pipeline Configurationsection, extract Repository Details (default branch, branch prefix, etc.), and look for a Complexity Analysis section. - Read progress.md:
wcp_get_artifact($ARGUMENTS, "progress.md")
If progress.md does not exist, STOP:
"No progress artifact found for
$ARGUMENTS. Run Stage 5 implementation first."
Step-by-Step Procedure
1. Read Quality Frontmatter
wcp_get_artifact($ARGUMENTS, "progress.md") — extract YAML frontmatter. Parse all pipeline_quality_* fields:
Per-milestone fields (pattern: pipeline_quality_mN_*):
pipeline_quality_mN_flog_avgpipeline_quality_mN_flog_maxpipeline_quality_mN_flog_max_methodpipeline_quality_mN_files_analyzed
Project summary fields (written by /create-pr):
pipeline_quality_flog_avgpipeline_quality_repo_baseline_flog_avgpipeline_quality_deltapipeline_quality_verdictpipeline_quality_files_analyzed
If no pipeline_quality_* fields exist in the frontmatter, STOP with a helpful message:
"No quality data found in progress.md for
$ARGUMENTS. Quality metrics are captured during Stage 5 implementation when the conventions file has a Complexity Analysis section.To add quality data to an existing project, a future
/backfill-qualityskill (ROAD-20 v2) will support checking out old branches and running analysis retroactively."
2. Run Current Repo Baseline
If the conventions file has a Complexity Analysis section, run the repo baseline command for a fresh comparison:
<repo-baseline-command>
Parse the output to extract the current repo-wide flog/method average. Store as current_baseline.
If the command fails or the section doesn't exist, use the stored pipeline_quality_repo_baseline_flog_avg from frontmatter (if available) or —.
3. Fresh Per-File Analysis (Optional)
Check if the project branch still exists:
git branch --list '<branch-prefix>$ARGUMENTS'
If the branch exists:
- Check out the branch:
git checkout <branch-prefix>$ARGUMENTS - Get all pipeline-touched files:
git diff --name-only origin/<default-branch>...<branch-prefix>$ARGUMENTS -- '<file-glob>'(exclude spec/) - Run the score command on each file to get fresh per-file scores
- Run the per-file command on files with the highest scores to identify current hotspot methods
- Check out the previous branch:
git checkout -
If the branch does not exist (already merged/deleted), note this in the report and rely solely on frontmatter data.
Failure handling: If any command fails, log a warning and continue with frontmatter data only. Never fail the report because of a stale branch.
4. Write Quality Report
Attach the quality report to the work item:
wcp_attach(
id=$ARGUMENTS,
type="quality",
title="Quality Report",
filename="quality.md",
content="[quality report]"
)
Use the following template for the report content:
# Code Quality Report — $ARGUMENTS
> Generated: <current date/time>
> Tool: [tool name from Pipeline Configuration, or from frontmatter context]
> Hotspot threshold: [threshold from Pipeline Configuration, or "unknown"]
## Quality Scorecard
| Metric | Value |
|--------|-------|
| **Project flog avg** | [from frontmatter or fresh analysis] |
| **Repo baseline avg** | [current_baseline or stored baseline] |
| **Delta** | [delta] |
| **Verdict** | [verdict] |
| **Total files analyzed** | [files_analyzed] |
## Per-Milestone Breakdown
| Milestone | Flog Avg | Flog Max | Max Method | Files |
|-----------|----------|----------|------------|-------|
| M1 | [m1_flog_avg] | [m1_flog_max] | [m1_flog_max_method] | [m1_files_analyzed] |
| M2 | ... | ... | ... | ... |
[One row per milestone with quality data]
## Hotspots
[Top 5 methods above the hotspot threshold, from fresh analysis if available, otherwise from per-milestone flog_max data]
| Score | Method | Source |
|-------|--------|--------|
| [score] | [ClassName#method_name] | [file path or milestone] |
[If no methods above threshold: "No methods above the hotspot threshold of [threshold]."]
## Baseline Context
| Metric | Value |
|--------|-------|
| **Stored baseline** (at PR time) | [pipeline_quality_repo_baseline_flog_avg] |
| **Current baseline** | [current_baseline or "—"] |
| **Baseline drift** | [current - stored, or "—"] |
> Baseline drift shows how the repo average has changed since the PR was created. A rising baseline means overall repo complexity is increasing.
## Data Quality Notes
- [Note whether data is from frontmatter only or includes fresh analysis]
- [Note if project branch was available for fresh analysis]
- [Note any milestones missing quality data]
- [Note if baseline was live or stored]
5. Handle Missing Data
- If a per-milestone field is missing, display
—in the table - If project summary fields are missing (no
/create-prrun yet), compute from per-milestone data if possible - If the branch is gone, note "Fresh analysis unavailable — branch merged/deleted" and use frontmatter only
- Use
—for any metric that cannot be computed
6. Post Completion Comment
Add a comment to the work item summarizing the quality report:
wcp_comment(
id=$ARGUMENTS,
author="pipeline/quality",
body="Quality report attached as quality.md — [verdict summary]"
)
What NOT To Do
- Do not modify any project documents. Only attach
quality.mdto the WCP work item. - Do not modify source code. This is a read-only analysis tool.
- Do not fabricate scores. Use
—for missing data. - Do not run pipeline stages. This is a standalone reporting tool.
- Do not leave the repo on a different branch. Always
git checkout -after analysis.
When You're Done
Tell the user:
- The quality report has been attached to
$ARGUMENTSasquality.md - Summarize key metrics: project flog avg, delta from baseline, verdict
- Highlight any hotspots above threshold
- Note data quality limitations (frontmatter vs fresh, branch availability)
From the file to a first result
The download contains exactly the content displayed on this page. This copy may differ from the latest version in the source repository.
View the source and supporting filesThis download contains SKILL.md only. Any scripts, references, templates and dependencies are not included. Get the required files from the source, preserving their directory structure, before continuing.
1. Download the file
Download SKILL.mdFrom the root of a test project, save the file as .skill-downloads/quality-report-generator-mrx3xzz6/SKILL.md, or use the command below. This folder is for inspecting the skill before installation.
Command for macOS/Linux or WSL: requires a POSIX shell and curl. On Windows without WSL, use the download button and create the folder manually.
mkdir -p '.skill-downloads/quality-report-generator-mrx3xzz6' && curl --fail --show-error --location 'https://skills-guides.com/api/skills/quality-report-generator-mrx3xzz6/download' --output '.skill-downloads/quality-report-generator-mrx3xzz6/SKILL.md.part' && mv '.skill-downloads/quality-report-generator-mrx3xzz6/SKILL.md.part' '.skill-downloads/quality-report-generator-mrx3xzz6/SKILL.md'2. Check prerequisites
Read SKILL.md before using it. If it references scripts or external services, inspect them and prepare the required access in your test environment.
No recognized prerequisites section in this file. This does not mean it is self-contained: libraries, tools and access requirements may be mentioned elsewhere in the content or source repository.
The platforms on this page are catalog indications. The paths below follow tool documentation; they do not prove this skill has been run in those tools. No minimum tool version is confirmed for this listing.
3. Load the skill
After inspection, copy the complete folder into your project using one of the commands below, then open a new tool session. The command stops if a folder with the same name already exists: compare the files before replacing it.
OpenSkills
OpenSkills must already be installed. The local install/read procedure is checked with OpenSkills 1.5.0, which requires Node.js ≥ 20.6.0. Catalog slugs are not resolved automatically.
Official OpenSkills installationopenskills install './.skill-downloads/quality-report-generator-mrx3xzz6'openskills read 'quality-report-generator-mrx3xzz6'Reading should display the installed file content and its base directory. It does not run the skill or install its dependencies.
For an agent that reads AGENTS.md, then sync the index. This command changes AGENTS.md: review the diff before using it.
openskills syncManual method or another tool: attach SKILL.md to a conversation, or open it in an agent that can read files. Include any required supporting resources. No universal folder is recognized by every tool.
4. Try a first task
Use a short, synthetic input: an API endpoint, a small document or an interface brief. In a new conversation, attach the file or give the agent its path, then adapt this request:
Read .skill-downloads/quality-report-generator-mrx3xzz6/SKILL.md and apply its instructions to this example: [describe a test input]. Identify any missing files, dependencies or access. Produce the result requested by the skill without inventing data or running unreviewed scripts.Expected result: output matching the skill instructions, or a precise list of missing prerequisites. A read confirmation alone does not validate a first use. If an external resource is unavailable, that path remains untested.
React Hook Form Best Practices
Development
Master React Hook Form: avoid anti-patterns, manage subscriptions, and handle reset, dirty state, and controlled inputs correctly.
Emotion to Mantine Migration
Development
Migrate Emotion styled-components to Mantine components with style props and CSS modules. Use when converting .styled.tsx files or removing @emotion imports.
Scope Creep Detector
Development
Analyzes git diffs against a stated intent to detect scope creep, unrelated files, broad PRs, and oversized changes, then suggests keep, split, or justify actions.