qv-quality-reporting
Skill697 starsChanged 18 days agoApache-2.0View on GitHub
Run the deterministic code-quality audit, turn related findings into contextual remediation groups, prepare approval-gated Asana proposals, reconcile recurring runs, or configure twice-monthly quality reporting.
We split this skill into the rules it gives an agent
8 rules. About 0 are common, 2 are distinctive, and 6 are very specific to this project.
≈0
Common · estimate
Many files like this have a rule of this kind.
≈2
Distinctive · estimate
This author's own choices. Worth a look.
6
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Very specific: line 14
Run pnpm quality:reporting from the repository root.
- Distinctive: line 15
Stop if the command fails, any detector reports diagnostics, or resolutions are withheld.
- Very specific: line 39
Write the final machine batch to .quality/proposals.json.
- Very specific: line 56
After the user explicitly approves IDs, rerun the helper for only that subset without --apply and show the exact actions.
- Distinctive: line 68
Never infer approval for proposals the user did not name.
- Very specific: line 81
Prefer source links in chat when a concrete line is available.
- Very specific: line 121
Use references/scheduling.md only when the user asks to create or modify the twice-monthly automation.
- Very specific: line 126
When the user corrects ownership, importance, or group cohesion, apply that feedback to the current review.
≈ “Common” is an estimate: at least 1 in 5 of the 308,232 skill files we read have a rule of the same kind, not the same words. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.
Files
Quality Reporting
Turn the repository's deterministic quality evidence into a short, actionable review. This skill owns contextual grouping and triage; it does not replace the underlying findings or mutate Asana without explicit approval.
Default Workflow
- Run
pnpm quality:reportingfrom the repository root. - Stop if the command fails, any detector reports diagnostics, or resolutions are withheld. Explain the incomplete evidence instead of proposing progress.
- Read
.quality/triage.json,references/triage-config.json, and only the source or architecture files needed to understand the leading candidates. - Form cohesive remediation groups. Start with deterministic candidates, then:
- combine candidates only when they share one root cause and fit one focused PR;
- split a candidate when it contains independent remediations;
- preserve every covered finding fingerprint;
- apply approved merge/split overrides from the config before new judgment.
- Assign ownership and P1-P4 priority using the config plus evidence in the triage report. Never derive priority from finding count alone.
- Build the review batch using
references/ticket-template.md:- On the initial backlog review, begin with the deterministically ranked candidates.
- On recurring runs, examine all
new, worsenedchanged, andresolvedlifecycle evidence before unchanged existing debt, regardless of severity. Skip improved-only and unchanged groups unless the user asks for backlog review. - Generate provisional proposals in pages, reconcile each page read-only,
discard exact-existing and unchanged outcomes, and continue until ten
actionable proposals remain or candidates are exhausted. Ambiguous matches
count as actionable decisions. Never cap the source candidates before this
backfill step.
Write the final machine batch to
.quality/proposals.json. Retain unreviewed candidates for later pages; do not discard them.
Reconcile each provisional page read-only with:
node .agents/skills/qv-quality-reporting/scripts/asana-quality.mjs \ --proposals .quality/proposals.json \ --report .quality/triage.jsonSuppress exact duplicate creations and unchanged actions, surface ambiguous matches, and show the resulting final batch in chat as a numbered, concise review. If local Asana access is unavailable, label the proposals unreconciled and do not apply them until reconciliation succeeds.
- End the initial run by asking the user which proposal IDs to approve. Do not
use
--apply, even if the user previously authorized analysis. After the user explicitly approves IDs, rerun the helper for only that subset without
--applyand show the exact actions. Stop if the match is ambiguous or the result differs materially from what the user approved. Otherwise run:node .agents/skills/qv-quality-reporting/scripts/asana-quality.mjs \ --proposals .quality/proposals.json \ --report .quality/triage.json \ --approve <comma-separated-proposal-ids> \ --applyNever infer approval for proposals the user did not name.
Review Shape
For each proposal, show:
- proposal ID, P1-P4 priority, primary team, and collaborators;
- a two-to-four sentence explanation of what is wrong and where;
- one focused remediation boundary;
- compact evidence: paths, rules, severity, threshold excess, and Git activity;
- lifecycle action: create, comment on a materially worsened group, or review an apparent resolution.
Prefer source links in chat when a concrete line is available. Keep the
deterministic finding list in .quality/report.md as the evidence trail.
Priority Judgment
- P1: evidenced current correctness, initialization, security, or release risk on a critical path. A high-severity smell alone is not P1.
- P2: material maintainability risk in important or frequently changed production code, especially when several findings describe one root cause.
- P3: bounded, credible debt worth scheduling without urgent operational risk.
- P4: opportunistic cleanup, low-churn auxiliary code, or weak evidence.
State the evidence that justifies the band. If importance or ownership is uncertain, say so instead of inventing certainty.
Recurring Runs
pnpm quality:reporting compares the current findings with the previous
successful run in .quality/previous-run-baseline.json. When no snapshot exists,
the first run uses the committed audit baseline. The command advances the local
snapshot only after complete analysis and successful triage. Do not delete it
between recurring runs.
Reconcile by stable group marker before proposing work:
- new actionable group with no match: propose ticket creation;
- materially worse existing group: use
changes[].directionand the retained before/after values to justify a proposed comment on its existing ticket; - improved-only drift: do not describe it as a regression;
- apparently resolved group: show a review notice, never complete a task;
- unchanged group: stay silent;
- ambiguous match: request a decision and do not mutate Asana.
The helper records only the group action and deterministic evidence hash in
.quality/reporting-state.json. This ignored local checkpoint prevents the same
ticket creation, regression comment, or resolution notice from being proposed
repeatedly. It contains no Asana IDs or private links. Do not delete it between
recurring runs.
Use references/scheduling.md only when the user asks
to create or modify the twice-monthly automation.
Feedback and Configuration
When the user corrects ownership, importance, or group cohesion, apply that
feedback to the current review. Offer a minimal update to
references/triage-config.json only when it expresses a reusable repository
rule. Do not store task IDs, private Asana links, people, tokens, or transient
ticket state in repository files.
In this repository56 other files it gives its agents.
- AGENTS.mdAGENTS.md
- .github/AGENTS.mdAGENTS.md
- CLAUDE.mdCLAUDE.md
- .cursor/rules/agent-integrations.mdcCursor rule
- .cursor/rules/cpp/string-api-conventions.mdcCursor rule
- .cursor/rules/devops/main.mdcCursor rule
- .cursor/rules/no-remote-code-execution.mdcCursor rule
- .cursor/rules/qip-triage.mdcCursor rule
- .cursor/rules/sdk/commit-and-pr-format.mdcCursor rule
- .cursor/rules/sdk/error-handling.mdcCursor rule
- .cursor/rules/sdk/first-class-product-parity.mdcCursor rule
- .cursor/rules/sdk/main.mdcCursor rule
- .cursor/rules/sdk/public-constants-contract.mdcCursor rule
- .cursor/rules/sdk/request-lifecycle-primitives.mdcCursor rule
- .cursor/rules/sdk/sdk-pod-packages.mdcCursor rule
- .cursor/rules/sdk/skill-authoring-guidelines.mdcCursor rule
- cpp-string-api-reviewSkill
- qv-addon-changelogSkill
- qv-addon-pr-createSkill
- qv-addon-release-notesSkill
- qv-agent-stack-syncSkill
- qv-asana-syncSkill
- qv-daily-work-updateSkill
- qv-dev-diary-setupSkill
- qv-dev-diarySkill
- qv-devops-daily-updateSkill
- qv-devops-pr-createSkill
- qv-devops-pr-reviewSkill
- qv-devops-pr-statusSkill
- qv-devops-runner-queueSkill
- qv-devops-why-my-pr-notSkill
- qv-docs-solution-createSkill
- qv-docs-updateSkill
- qv-holepunch-devSkill
- qv-merge-guard-wireSkill
- qv-mobile-test-dispatchSkill
- qv-notice-generateSkill
- qv-pr-mineSkill
- qv-pr-reviewSkill
- qv-pr-testSkill
- qv-qip-createSkill
- qv-qip-reviewSkill
- qv-qip-triageSkill
- qv-registry-autobase-patternsSkill
- qv-release-trainSkill
- qv-sdk-backmergeSkill
- qv-sdk-changelogSkill
- qv-sdk-e2e-createSkill
- qv-sdk-inference-versionSkill
- qv-sdk-pr-createSkill
- qv-sdk-pr-statusSkill
- qv-sdk-update-modelsSkill
- qv-skill-listSkill
- setupSkill
- setupSkill
- qv-nx-ciSkill
Does it work?
Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.
No reviews yet
People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.
- It worked
- Partly
- It didn't
Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.
Your trail
Files you open will collect here, so you can find them again.
Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.
Now do this for your own.
Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.

