MCPInstall

submit-learnings

Filters and submits accumulated QA learnings as a GitHub issue (with optional PR) on the plugin repo. Use when the user says "submit learnings", "share learnings", "report learnings upstream", or "open issue for learnings".

Installs
49
Last 24h
—
Trending rank
—
Security
Not audited

Install

Works with every agent the skills CLI supports.

npx skills add https://github.com/neonwatty/qa-skills --skill submit-learnings
  1. 01

    Install

    Run the command in your project. The CLI asks which agents to install for.

  2. 02

    Describe the task

    Ask your agent for something this skill covers. It loads submit-learnings automatically when relevant.

  3. 03

    Review the result

    The agent follows the SKILL.md steps, scripts and references bundled with the skill.

SKILL.md

The instructions your agent reads when the skill is triggered.

Submit Learnings

You are a QA feedback coordinator. Your job is to help users submit valuable field observations from their QA sessions upstream to the plugin maintainers as structured GitHub issues.


Phase 1: Load & Parse

Read .qa-learnings/ledger.md from the current project directory.

If the file does not exist or has no entries (only the # QA Learnings Ledger header), inform the user:

No learnings recorded yet. Run QA sessions — each agent and skill automatically records observations to the ledger.

Then stop.

Parse each entry by splitting on ## headers. For each entry, extract:

  • Timestamp — the ISO timestamp after ##
  • Source — the agent or skill name after —
  • Observation — the body text
  • Suggested change — the line starting with **Suggested change:**

Phase 2: Filter

Present all entries grouped by source, numbered for selection:

Found [N] learnings from [M] sources:

### smoke-tester (3 entries)
  1. [2026-04-01] Cookie not checked after login redirect
  2. [2026-04-02] /dashboard 500 not caught by status check
  3. [2026-04-03] Auth flow timing out on slow connections

### ux-auditor (2 entries)
  4. [2026-04-01] Missing empty state not flagged
  5. [2026-04-02] Spacing check too strict on mobile viewports

Then ask:

Which observations do you want to include? Select by number (e.g., "1,3,5"), by source (e.g., "smoke-tester"), or say "all". Exclude anything project-specific that isn't relevant to the plugin itself.

Wait for user selection before proceeding.

Phase 3: Draft Issue

Format the selected observations into a GitHub issue body:

## QA Field Observations

**Entries:** [N selected] of [N total] from [comma-separated sources]
**Date range:** [earliest timestamp] to [latest timestamp]
**Submitted by:** [output of `gh api user --jq .login`]

### Observations

#### [Source 1]

- **[timestamp]:** [observation text]
  - **Suggested change:** [file] — [description]

- **[timestamp]:** [observation text]
  - **Suggested change:** [file] — [description]

#### [Source 2]

- **[timestamp]:** [observation text]
  - **Suggested change:** [file] — [description]

Preview the full issue body in the terminal. Then ask:

Does this look right? Let me know if you'd like to edit anything, or say "good" to submit.

Wait for user approval. If the user requests edits, apply them and re-preview.

Phase 4: Submit Issue

Construct the issue title: learnings: [N] observations from [sources]

Run:

gh issue create \
  --repo neonwatty/qa-skills \
  --title "[constructed title]" \
  --body "[approved body]" \
  --label "learnings"

If the learnings label does not exist (command fails with label error), create it first:

gh label create learnings --repo neonwatty/qa-skills --description "Field observations from QA sessions" --color "0E8A16"

Then retry the issue creation.

Display the issue URL to the user.

Phase 5: Optional PR

Ask:

Want me to also open a PR with the suggested edits from these observations? This will fork the repo, create a branch, apply the changes, and open a PR referencing the issue.

If yes:

  1. Fork neonwatty/qa-skills if not already forked: gh repo fork neonwatty/qa-skills --clone=false
  2. Clone the fork to a temp directory, create branch learnings/[short-slug]
  3. Apply each suggested edit by reading the target file in the cloned fork, making the change, and committing. Only modify files within the cloned fork directory — do not edit files in the user's project
  4. Push the branch and open a PR: gh pr create --repo neonwatty/qa-skills --title "fix(qa): apply learnings — [short description]" --body "Applies suggested changes from #[issue-number]."
  5. Display the PR URL

If no: skip.

Phase 6: Reflect

Read references/reflection-protocol.md and execute it before finishing.

FAQ

What does the submit-learnings skill do?

Filters and submits accumulated QA learnings as a GitHub issue (with optional PR) on the plugin repo. Use when the user says "submit learnings", "share learnings", "report learnings upstream", or "open issue for learnings".

How do I install submit-learnings?

Run npx skills add https://github.com/neonwatty/qa-skills --skill submit-learnings in your project. The skills CLI detects the agents you use and copies the skill into the right folder. For Claude Code you can also place the skill folder at ~/.claude/skills/submit-learnings/ (personal) or .claude/skills/submit-learnings/ (project).

Which AI agents can use submit-learnings?

Any agent that supports the open Agent Skills format (a folder with a SKILL.md file), including Claude Code, Codex, Cursor, GitHub Copilot, Gemini CLI, Windsurf, Cline, OpenCode and more.

Is submit-learnings safe to install?

No partner security audit is available yet. Skills can run commands and scripts, so read the SKILL.md and any bundled files before installing.

Who maintains submit-learnings?

It is published by neonwatty in neonwatty/qa-skills. It has 49 recorded installs.

More from neonwatty/qa-skills

View all →

playwright-runner

neonwatty/qa-skills

Executes workflow markdown files interactively via Playwright CLI, stepping through each workflow action in a real browser. Use when the user says "run workflows", "run playwright", "test workflows", "execute workflows", or wants to interactively test their app against workflow documentation. Supports desktop, mobile, and multi-user workflows with authentication.

Testing & QA56 installs

adversarial-audit

neonwatty/qa-skills

Audits SaaS and usage-based web apps for adversarial usage patterns — accidental, opportunistic, and deliberate. Use this when the user says "adversarial audit", "abuse case audit", "idiot-proof this app", "find usage exploits", "business logic audit", or "how could users break this". Explores the codebase to map the economic surface area (pricing tiers, usage limits, free trials, costly resources), then generates abuse cases where user behavior — intentional or not — could break assumptions, bypass limits, amplify costs, or corrupt state. Produces a prioritized markdown report with findings, code locations, and fix recommendations, then optionally verifies findings interactively in a browser.

Security55 installs

resilience-audit

neonwatty/qa-skills

Audits web apps for resilience against unexpected user behavior — accidental, edge-case, and chaotic. Use this when the user says "resilience audit", "chaos audit", "what could go wrong", "edge case audit", "idiot-proof this", "break this app", "stress test the UX", or "find UX dead ends". Explores the codebase to map user flows, then systematically identifies ways the app can break, get stuck, or behave unexpectedly when users do things the developer didn't anticipate. Covers navigation dead ends, double-submits, interrupted operations, cross-device issues, input edge cases, timing bugs, error recovery gaps, and unintended usage patterns. Produces a prioritized report with findings, code locations, and fix recommendations, then optionally verifies findings interactively in a browser.

Security54 installs

Converts mobile workflow markdown into a self-contained Playwright test project with mobile viewports (Chromium + WebKit), authentication scaffolding, UX anti-pattern assertions, and CI workflow. Use when the user says "convert mobile workflows to playwright", "translate mobile workflows to CI", or "generate mobile playwright tests".

Testing & QA54 installs

Generates multi-user workflow documentation by interviewing the user about personas, exploring the codebase for multi-user patterns, then walking through the live app with per-persona Playwright CLI named sessions to co-author interleaved, persona-tagged workflows. Use when the user says "generate multi-user workflows", "create multi-user workflows", or "generate concurrent user workflows". Produces persona-tagged workflow markdown that feeds into the multi-user converter and Playwright runner.

use-profiles

neonwatty/qa-skills

Open the skill to read its SKILL.md instructions.

Testing & QA52 installs

Popular testing & qa skills

View category →

tdd

mattpocock/skills

Test-driven development. Use when the user wants to build features or fix bugs test-first, mentions "red-green-refactor", or wants integration tests.

Testing & QA1.2M installs

grilling

mattpocock/skills

Grill the user relentlessly about a plan, decision, or idea. Use when the user wants to stress-test their thinking, or uses any 'grill' trigger phrases.

Testing & QA996.2K installs

migrate-to-shoehorn

mattpocock/skills

Migrate test files from as type assertions to @total-typescript/shoehorn. Use when user mentions shoehorn, wants to replace as in tests, or needs partial test data.

Testing & QA484.1K installs

run-train

lllllllama/rigorpilot-skills

Rigor Train skill for deep learning research repositories. Use when a documented or selected training command should be run conservatively for startup verification, short-run verification, full kickoff, or resume, with command, config, seed, log, checkpoint, status, and metric evidence written to standardized trainoutputs/. Do not use for environment setup, exploratory sweeps, speculative idea implementation, or end-to-end orchestration.

Testing & QA337.8K installs

test-driven-development

obra/superpowers

Use when implementing any feature or bugfix, before writing implementation code

Testing & QA261.8K installs

Use when implementation is complete, all tests pass, and you need to decide how to integrate the work

Testing & QA216.8K installs