Agent skill

QA Report Humanizer

by petrkindlmann in petrkindlmann/qa-skills

Remove AI-generated patterns from QA reports, bug reports, test summaries, status updates, and quality communications.

MITAuto-check passedWriting & Content

Install QA Report Humanizer

skills CLI
$ npx skills add petrkindlmann/qa-skills --skill qa-report-humanizer -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install petrkindlmann/qa-skills qa-report-humanizer --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/petrkindlmann/qa-skills.git skills-src && mkdir -p .claude/skills && cp -r skills-src/skills/qa-report-humanizer .claude/skills/qa-report-humanizer && rm -rf skills-src

Use ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.

Claude Code skills documentation · loads skills from .claude/skills/

Facts

Skill name
qa-report-humanizer
GitHub stars
170
Token cost
~4k tokens
SKILL.md length
2,180 words
Files
2 (incl. references)
Skills in repo
45
Repo updated
First seen
Licence
MIT

At a glance

Remove AI-generated patterns from QA reports, bug reports, test summaries, status updates, and quality communications.

  • Works in 10 steps: The template opener (the worst offender) → Inflated severity language → The pass-rate obsession → …
  • : humanize report
  • SKILL.md covers Discovery Questions, Core Principles, QA-specific AI patterns to… and How to rewrite, plus 7 more sections
  • Instructions only: no scripts, shell commands, URLs or credentials in SKILL.md

What it does

QA Report Humanizer is an agent skill from petrkindlmann/qa-skills. Remove AI-generated patterns from QA reports, bug reports, test summaries, status updates, and quality communications. Detects and rewrites robotic test-result language, template-sounding status updates, inflated severity descriptions, and generic stakeholder reports — without inventing facts. Makes QA writing sound like a real engineer wrote it. Use when: "humanize report," "rewrite QA summary," "fix test report," "make this sound human," "clean up status update." Not for: general prose, blog, or marketing-copy…

Its SKILL.md is about 4k tokens, which your agent loads only when the skill is triggered. The skill folder holds 2 other files, including reference files (for example `references/filler-blocklist.md`).

It sits in Writing & Content, covering Humanizing AI text, QA and bug reports and Issue triage. The repository describes itself as: 50 QA and test-automation skills for Claude Code, Codex, Cursor, and any Agent Skills Standard runtime. The licence is MIT.

When your agent uses it

  • : humanize report
  • Rewrite QA summary
  • Fix test report
  • Make this sound human

Example prompts

  • “humanize report,”
  • “rewrite QA summary,”
  • “fix test report,”
  • “/qa-report-humanizer”

Workflow steps

10 steps, taken from the step headings in SKILL.md.

  1. The template opener (the worst offender)
  2. Inflated severity language
  3. The pass-rate obsession
  4. Generic risk language
  5. Synonym cycling for test results
  6. The "despite challenges" closer
  7. Vague stakeholder updates
  8. PR review comments that say nothing
  9. Bug report padding (with repro and evidence)
  10. The rule-of-three summary

What it can do on your machine

Read from SKILL.md and the folder at commit b3bb61b. It shows what the files ask for, not the result of running them.

  • Tool permissions

    Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.

    From allowed-tools in the SKILL.md frontmatter.

  • Runs code

    No scripts in the folder and no shell commands in SKILL.md (its code samples are bash).

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    No URLs in SKILL.md.

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names no API keys, tokens, secrets or passwords.

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

QA Report Humanizer loads about 4k tokens when it runs, and up to ~4.5k if it reads all its reference files. Until then it costs about 179 tokens; SKILL.md has 2,180 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~179
When it runs · the whole SKILL.md, loaded when a task matches
~4k
With references · SKILL.md plus every file in references/, read only if the agent opens them
~4.5k

Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.

Safety

Auto-check passed

The automated check found no risky patterns in SKILL.md.

Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.

SKILL.md

The full file from petrkindlmann/qa-skills at commit b3bb61b, republished under its MIT licence (© petrkindlmann). 2,180 words, ~3,988 tokens.

Download SKILL.mdSave it as .claude/skills/qa-report-humanizer/SKILL.md (or your agent's skills folder). This skill also uses 1 other file; get the full folder from GitHub.
name
qa-report-humanizer
description
Remove AI-generated patterns from QA reports, bug reports, test summaries, status updates, and quality communications. Detects and rewrites robotic test-result language, template-sounding status updates, inflated severity descriptions, and generic stakeholder reports — without inventing facts. Makes QA writing sound like a real engineer wrote it. Use when: "humanize report," "rewrite QA summary," "fix test report," "make this sound human," "clean up status update." Not for: general prose, blog, or marketing-copy cleanup — use the global humanizer skill. Not for: classifying or routing CI failures — use ai-bug-triage. Related: ai-bug-triage, qa-metrics, qa-dashboard, quality-postmortem.
license
MIT
metadata.author
kindlmann
metadata.version
2.0
metadata.category
process
<objective>
A polished QA report that says nothing is worse than a rough one that says what broke.
"A critical defect was identified in the authentication module" passes every grammar
check and tells the reader nothing. This skill rewrites QA reports, bug reports, test
summaries, and status updates so a real engineer can act on them — and guarantees the
rewrite invents no numbers, errors, or severities that were not in the source.
</objective>

Discovery Questions

Check .agents/qa-project-context.md first — it carries the team's tone, the tracker, and severity conventions; skip anything answered there. Then clarify only what changes the rewrite:

  • Who reads this — an engineer, an exec, or a customer? An engineer wants the failing selector and the repro; an exec wants ship/no-ship and open blockers; a customer wants impact and timeline. The register and what you cut differ for each.
  • What channel — Slack, PR comment, or a formal report? Slack gets 2-3 lines and a link; a PR comment gets the specific code/selector fix; a report gets structure. Length and formatting follow the channel.
  • Are the numbers and severities locked facts that must survive verbatim? If the source says "9 failed" and "P1," those carry through unchanged. If a figure is missing, you name the gap — you do not invent one (see Core Principle 5).

Core Principles

  1. Specific beats comprehensive. "Login fails when the email has a plus sign" beats "Various authentication edge cases were identified." The reader fixes the first and learns nothing from the second. Name the behavior, the trigger, and the scope.

  2. Say what happened, not what category it falls into. "Authentication module" is a bucket; "login with plus-sign emails" is a bug. Categories let the writer sound thorough while hiding that they don't know the specifics. Replace every category with the concrete thing inside it.

  3. If the reader can't tell what broke or what to do, the report failed. Write for the person who has to fix it at 4pm on a Friday. Lead with what's broken or risky, then what they should do about it. Skip the parts nobody reads.

  4. Preserve every fact; cut every adjective. The rewrite changes the prose, never the data. No number, error string, severity, bug description, or test result may shift. The only things you delete are filler, hedging, and synonym cycling — not information.

  5. Never invent the specifics you're asked to add. "Make it specific" tempts the model to manufacture an exact percentage, an incident count, or a repro it never saw. Do not. If the source is vague and the number isn't verifiable, the honest rewrite names the gap ("user impact not measured") instead of writing "8% of users." A fabricated metric is a worse failure than a vague one.

QA-specific AI patterns to detect and fix

For each: the BAD draft, the rewrite, and why. The single most damaging one — the template opener — is shown in full; the rest are compact.

1. The template opener (the worst offender)

Bad:

Test execution was completed successfully for Sprint 47. A total of 342 test cases were executed across 5 test suites, achieving a 97.4% pass rate. The following sections provide detailed results.

Better:

Sprint 47: 342 tests run, 9 failed. 6 of the failures are in checkout (payment form validation). The other 3 are flaky timing issues we've seen before.

Why: the first version buries the signal under throat-clearing. The second tells you what happened and where to look in one line.

2. Inflated severity language

Bad: "A critical defect was identified in the authentication module that could potentially impact the user experience across multiple touchpoints." Better: "Login breaks if your email has a + in it. We've checked analytics — about 8% of our users have plus-sign emails. Needs a fix before release."

Why: a "critical defect in the authentication module" is a category; "login breaks if your email has a plus sign" is something you can fix. (The 8% here is from the source's own analytics — don't add a figure the source doesn't have.)

3. The pass-rate obsession

Bad: "The overall pass rate increased from 94.2% to 97.1%, demonstrating significant improvement and showcasing the team's commitment to quality." Better: "Pass rate went from 94% to 97%. Most of that was fixing the 3 flaky Playwright tests that kept timing out on the dashboard load. Real bugs found: 2 (both in the new export feature)."

Why: pass rates are vanity metrics without context. Say what actually changed.

4. Generic risk language

Bad: "Several high-risk areas have been identified that require careful monitoring. The team recommends continued vigilance and proactive testing." Better: "The payment flow has no E2E coverage for 3D Secure cards. We've had two production incidents from this in the past 6 months. I'd prioritize this over the admin panel work."

Why: "high-risk areas" and "continued vigilance" mean nothing. Name the area, name the risk, say what to do.

5. Synonym cycling for test results

Bad: "The authentication tests passed successfully. The login verification suite completed without issues. The credential validation checks returned positive results. The sign-in workflow tests executed as expected." Better: "All auth tests passed (login, registration, password reset, SSO)."

Why: four ways to say "auth tests passed" is four times too many. One outcome gets one verb.

6. The "despite challenges" closer

Bad: "Despite several challenges encountered during the testing phase, the team successfully completed all planned test activities. Moving forward, the focus will be on continuous improvement." Better: "We didn't get to the mobile browser tests this sprint — ran out of time after the checkout regression. Carrying those to next sprint. Everything else is done."

Why: name the gap and the reason, then the carry-forward plan. Drop the "despite challenges" framing.

7. Vague stakeholder updates

Bad: "Quality metrics continue to trend positively. The team is aligned on priorities and committed to delivering a high-quality release." Better: "The release looks fine. 4 bugs open, all P2 or lower. The login plus-sign bug (P1) was fixed yesterday. Smoke tests pass on staging."

Why: lead with ship/no-ship and the open blockers. That's the decision the reader is making.

8. PR review comments that say nothing

Bad: "Great work on this implementation! I noticed a few potential areas for improvement that might enhance the overall test coverage and robustness." Better: "This test only checks the happy path. What happens when the API returns a 429? And the selector .btn-submit will break if anyone changes the CSS class — use getByRole('button', { name: 'Submit' }) instead."

Why: name the missing scenario and the brittle line, then the concrete fix. getByRole is Playwright's recommended user-facing locator — prefer it over CSS-class selectors.

9. Bug report padding (with repro and evidence)

Bad: "While conducting comprehensive regression testing of the user management module, a significant defect was discovered that impacts the core functionality of the system." Better:

Deleting a user doesn't revoke their API tokens — they can still call the API after deletion. Repro: create a user, mint a token, DELETE /api/users/{id}, then GET /api/me with that token. Returns 200 OK with the user's data instead of 401 Unauthorized. Found in the user-management API.

Why: lead with the broken behavior, give a 2-line repro and the actual error/status so the fixer can reproduce it in seconds. Drop the passive "was discovered" and the testing-session preamble.

10. The rule-of-three summary

Bad: "This sprint we improved quality, velocity, and confidence. The team demonstrated strong collaboration, technical excellence, and customer focus." Better: "This sprint we fixed the checkout flakiness (was failing 12% of the time, now <1%) and added E2E coverage for the new export feature."

Why: three generic virtues in a tricolon is the loudest AI tell in a sprint summary. Replace with the two things that actually happened.

Show full SKILL.md (955 more words)Show less

How to rewrite

  1. Cut the opening paragraph. Most intros are throat-clearing. Delete everything before the first useful fact.
  2. Lead with what matters. What broke? What's risky? What should someone do? That goes first.
  3. Replace categories with specifics. "Authentication module" → "login with plus-sign emails." "Performance degradation" → "dashboard takes 8s to load (was 2)." "Several edge cases" → "empty cart, expired coupon, currency mismatch."
  4. Kill the filler. Remove every phrase in references/filler-blocklist.md — "It is worth noting that," "Moving forward," "Despite challenges," "The team is committed to," "Stakeholders can feel confident," and the rest.
  5. Add what's useful — without inventing it. What should the reader do next? What's the risk if they don't? How confident are you (be honest — "I'm not sure this is stable yet" is fine)? If a number to back a claim isn't in the source, say so; don't manufacture one.
  6. Read it out loud. If you wouldn't say it in standup, rewrite it.

Format-specific guidance

FormatLead withSkipAlso include
Test execution summaryFailure count, where they are, whether they're newTotal counts, pass % (unless asked)What's not covered yet, what to watch
Bug reportWhat breaks, how to reproduce it, who's affected"while performing comprehensive testing…"Actual error message, status code, screenshot, or console output
Sprint update (stakeholders)Release readiness (yes/no/conditional), open blockersMethodology, process, team-morale linesWhat you'd want to know if you were deciding whether to ship
Slack messageThe result in 2-3 lines + a linkGreetings, "I wanted to share…"—
PostmortemWhat broke, when, how long, who was affected"This postmortem aims to provide…"An honest account of what you missed and why

Slack example — Bad: "Hello team, I wanted to share the results of our latest test execution…" Better: "E2E run passed. 2 flaky failures (both dashboard timeout, known issue). Full report: [link]"

Anti-Patterns

  • Inventing the specifics you were asked to add. Rewriting a vague draft into a precise-sounding one by manufacturing a percentage, an incident count, or a repro that wasn't in the source. This breaks the fact-preservation guarantee — name the gap instead.
  • Opening with "Test execution was completed successfully" when tests failed. The opener contradicts the body. Lead with the failures.
  • "Potential impact" instead of the actual impact. If you know the impact, state it; if you don't, say it's unmeasured. "Potential" is a hedge that hides which one you mean.
  • Writing "the team is aligned" in any context. It conveys zero information and is a pure AI tell.
  • Padding 3 bullets into 12 by rewording the same thing. Synonym cycling. One outcome, one statement.
  • Closing with optimistic statements that add no information. "Moving forward, the focus will be on continuous improvement" — delete it.
  • Passive voice to avoid naming what broke. "An issue was identified" hides the subject. Name what broke and where.
  • Starting a bug report with the testing session instead of the bug. Nobody needs "while conducting regression testing of the module." Start with the broken behavior.

Verification

The fact-preservation promise (Core Principle 4) is the load-bearing claim — prove it mechanically, smallest check first:

  1. Numbers and severities preserved. Extract every figure from input and output and diff the sets. The output set must be a subset of the input set — anything in the output that isn't in the input is a fabricated fact:
    bash
    grep -oE '[0-9]+(\.[0-9]+)?%?|P[0-3]|[0-9]{3}' input.md  | sort -u > /tmp/in.txt
    grep -oE '[0-9]+(\.[0-9]+)?%?|P[0-3]|[0-9]{3}' output.md | sort -u > /tmp/out.txt
    comm -13 /tmp/in.txt /tmp/out.txt   # must be empty (allow only obvious rounding, e.g. 97.4 -> 97)
  2. Filler blocklist returns zero matches. Copy the "Grep-ready regex" line from references/filler-blocklist.md into BLOCKLIST and grep the output:
    bash
    BLOCKLIST='it('\''?s)? worth noting|moving forward|in conclusion|despite (several )?challenges|the team is (committed|aligned)|stakeholders can feel confident'
    grep -iE "$BLOCKLIST" output.md   # expect no output; extend BLOCKLIST with the full regex from the reference
    Any hit is a surviving AI tell — rewrite that line.
  3. Second-pass clean. Run the output through the global humanizer (or avoid-ai-writing) skill in detect mode. It should flag no remaining em-dash overuse, tricolon, or vague attribution. If it flags something QA-specific that this skill missed, fix it here too.

Done When

  • Every number, severity, error string, and bug description in the output also appears in the input (the comm -13 diff in Verification step 1 is empty, rounding aside).
  • The filler blocklist regex returns zero matches against the output (Verification step 2).
  • No synonym cycling: each distinct test outcome is stated once (no "passed / completed without issues / returned positive results" chains).
  • The output passes the global humanizer/avoid-ai-writing pass with no flagged patterns (Verification step 3).
  • The deliverable is the rewritten version; the original draft is archived or discarded, not shipped alongside.
  • ai-bug-triage — Bug-report templates and the severity/priority matrix. Triage decides what a bug is and how to classify it; this skill rewrites the prose of an already-classified report.
  • qa-metrics — What to actually track. Use it when the report should cite real metrics; this skill makes sure those metrics are stated with context, not as vanity numbers.
  • qa-dashboard — Dashboard setup and stakeholder report layout. This skill humanizes the narrative that accompanies the dashboard.
  • quality-postmortem — Postmortem structure and root-cause analysis. Build the postmortem there; humanize the writeup here.

External Skills

These live in the global Claude skill set, not in this repo's skills/ directory:

  • humanizer / avoid-ai-writing — General-purpose anti-AI-writing engines. When both apply, run the global skill for language-level cleanup (em-dash overuse, tricolon, vague attribution) and this skill for QA-specific structure and fact preservation. If an engineer's real standup/Slack voice is available, feed a sample to the global humanizer's voice mode so the rewrite matches that person rather than a generic "human" register.

Reference Files (in references/)

  • filler-blocklist.md — Copy-paste blocklist of banned filler phrases, the grep-ready regex used in Verification, synonym-cycling tells, and passive-voice "who broke it" dodges.

© petrkindlmann, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

SKILL.md and 1 other file (references) in skills/qa-report-humanizer of petrkindlmann/qa-skills.

  • SKILL.md
  • references/filler-blocklist.md

Open the folder on GitHubat commit b3bb61b

Compare with similar skills

QA Report Humanizer next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.

QA Report Humanizer compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
QA Report Humanizer this skillpetrkindlmann/qa-skills170—~4kAutomated safety check: PassMIT
PgjevrealZachi/pg-jev1.1k—~2.9kAutomated safety check: PassCustom licence
Bug Report TriageOrchestratorInc/agent-orchestrator13k—~1.8kAutomated safety check: PassApache-2.0
Triage IssuesClickHouse/clickhouse-java1.6k—~904Automated safety check: PassApache-2.0
Issues DeduplicationJetBrains/ideavim10k—~1.3kAutomated safety check: PassMIT
Simple Issue Descriptionevery-app/open-seo23k—~1.2kAutomated safety check: PassMIT

Similar skills

  • Pgjev

    realZachi/pg-jev

    Install, configure, query and explain pgjev (the jev PostgreSQL extension that filters, ranks and classifies rows with plain-language conditions via TypeSafe's Jev model).

    1.1k GitHub stars~2.9k tokensUpdated 3 days ago
    Writing & ContentAuto-check passed
  • Bug Report Triage

    OrchestratorInc/agent-orchestrator

    Helps a reporter describe a bug, searches for duplicates and gathers diagnostic evidence kept separate from a short, human-worded issue draft.

    13k GitHub stars~1.8k tokensUpdated today
    DevelopmentAuto-check passed
  • Triage Issues

    ClickHouse/clickhouse-java

    Analyzes a single GitHub issue at a time. An agent skill from ClickHouse/clickhouse-java.

    1.6k GitHub stars~904 tokensUpdated today
    Testing & QAAuto-check passed
  • Issues Deduplication

    JetBrains/ideavim

    Official

    Handles deduplication of YouTrack issues. An agent skill from JetBrains/ideavim.

    10k GitHub stars~1.3k tokensUpdated today
    Data & AnalyticsAuto-check passed
  • Simple Issue Description

    every-app/open-seo

    Turn a rough bug report, feature request, support note, or pull request into a short, plain-language issue focused on the problem and desired behavior.

    23k GitHub stars~1.2k tokensUpdated yesterday
    Writing & ContentAuto-check passed
  • OpenROAD Issue Triage

    The-OpenROAD-Project/OpenROAD

    Reproduces an OpenROAD GitHub bug from an attached tarball and shrinks the failing design with whittle.py so maintainers get a minimal test case.

    3.2k GitHub stars~842 tokensUpdated today
    DevelopmentAuto-check passed

More from petrkindlmann/qa-skills

All 45 skills in this repo
  • Accessibility Testing

    petrkindlmann/qa-skills

    Test for WCAG 2.2 AA compliance with axe-core + Playwright, keyboard navigation audits, screen reader testing, ARIA pattern validation, and legal compliance mapping (ADA, EAA, Section 508).

    170 GitHub stars~4.5k tokensUpdated 4 mo ago
    Auto-check passed
  • Agentic Browser Testing

    petrkindlmann/qa-skills

    Goal-driven E2E testing where a browser agent (Playwright MCP / computer-use) reads a natural-language goal and explores the app via the accessibility tree to assert outcomes — no pre-written script.

    170 GitHub stars~4.5k tokensUpdated 4 mo ago
    Auto-check passed
  • AI Test Generation

    petrkindlmann/qa-skills

    Use AI to write NEW test code from specs, PRDs, user stories, code diffs, bug reports, or OpenAPI specs.

    170 GitHub stars~4.8k tokensUpdated 4 mo ago
    Auto-check passed
  • API Testing

    petrkindlmann/qa-skills

    Test REST and GraphQL APIs with Playwright APIRequestContext, Supertest, or standalone HTTP clients.

    170 GitHub stars~2.7k tokensUpdated 4 mo ago
    Auto-check passed
  • CI CD Integration

    petrkindlmann/qa-skills

    Design CI/CD pipelines that run test suites. An agent skill from petrkindlmann/qa-skills.

    170 GitHub stars~4.8k tokensUpdated 4 mo ago
    Auto-check passed
  • Compliance Testing

    petrkindlmann/qa-skills

    Test for regulatory compliance: GDPR/CMP consent verification, Google Consent Mode v2, Global Privacy Control (GPC), CCPA/US state opt-out, EU AI Act Article 50 transparency, Better Ads Standards…

    170 GitHub stars~4.6k tokensUpdated 4 mo ago
    Auto-check passed

Questions about QA Report Humanizer

What does QA Report Humanizer do?

Remove AI-generated patterns from QA reports, bug reports, test summaries, status updates, and quality communications. QA Report Humanizer is an agent skill from petrkindlmann/qa-skills. Remove AI-generated patterns from QA reports, bug reports, test summaries, status updates, and quality communications.

When should I use QA Report Humanizer?

QA Report Humanizer fits situations like: : humanize report; rewrite QA summary; fix test report; make this sound human.

How do I install QA Report Humanizer in Claude Code?

Run `npx skills add petrkindlmann/qa-skills --skill qa-report-humanizer -a claude-code`. Or copy the skill folder (skills/qa-report-humanizer in petrkindlmann/qa-skills) into .claude/skills/qa-report-humanizer in your project. Claude Code loads it when a task matches its description.

How do I install QA Report Humanizer in Codex?

Run `npx skills add petrkindlmann/qa-skills --skill qa-report-humanizer -a codex`. Or copy the skill folder (skills/qa-report-humanizer in petrkindlmann/qa-skills) into .agents/skills/qa-report-humanizer in your project. Codex loads it when a task matches its description.

Can I use QA Report Humanizer in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add petrkindlmann/qa-skills --skill qa-report-humanizer -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/qa-report-humanizer, .gemini/skills/qa-report-humanizer, .github/skills/qa-report-humanizer and .opencode/skills/qa-report-humanizer in your project.

What does QA Report Humanizer need to run?

SKILL.md names no scripts, command-line tools or credentials: QA Report Humanizer is instructions for the agent only.

Does QA Report Humanizer access the network?

SKILL.md contains no URLs. Any network use would come from the scripts or tools the agent runs. This is read from the text; nothing was executed.

Is QA Report Humanizer safe to install?

Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.

What licence does QA Report Humanizer use?

QA Report Humanizer is published under the MIT licence (declared in SKILL.md). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does QA Report Humanizer use?

About 4k tokens (SKILL.md is roughly 16k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full. Its references folder adds about 517 tokens, read only when the agent opens those files.

What are the alternatives to QA Report Humanizer?

Skills that share tags, products or a category with QA Report Humanizer: Pgjev (realZachi/pg-jev, 1.1k stars), Bug Report Triage (OrchestratorInc/agent-orchestrator, 13k stars), Triage Issues (ClickHouse/clickhouse-java, 1.6k stars) and Issues Deduplication (JetBrains/ideavim, 10k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains QA Report Humanizer?

petrkindlmann (a GitHub user) maintains it in petrkindlmann/qa-skills, which has 170 GitHub stars. The repository holds 45 skills in this directory. The repository was last updated on June 10, 2026.

Source: petrkindlmann/qa-skills on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.