Agent skill

Learning Quality

by closedloop-ai in closedloop-ai/claude-plugins

Structured format for capturing high-quality learnings during ClosedLoop runs

Apache-2.0Auto-check passedAgent Workflows

Install Learning Quality

skills CLI
$ npx skills add closedloop-ai/claude-plugins --skill learning-quality -a claude-code

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

GitHub CLI
$ gh skill install closedloop-ai/claude-plugins learning-quality --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/closedloop-ai/claude-plugins.git skills-src && mkdir -p .claude/skills && cp -r skills-src/plugins/self-learning/skills/learning-quality .claude/skills/learning-quality && 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
learning-quality
GitHub stars
122
Token cost
~1.7k tokens
SKILL.md length
629 words
Files
1
Skills in repo
41
Repo updated
First seen
Licence
Apache-2.0

At a glance

Structured format for capturing high-quality learnings during ClosedLoop runs

  • Works in 5 steps: Classify Scope → Generalize if Needed → Write the Pattern → …
  • Agent Workflows work in your project
  • SKILL.md covers Decision Tree: Should I…, Hard Rejection Criteria, Capture Workflow and No Learnings Event, plus 2 more sections
  • Calls pnpm

What it does

Learning Quality is an agent skill from closedloop-ai/claude-plugins. Structured format for capturing high-quality learnings during ClosedLoop runs

Its SKILL.md is about 1.7k tokens, which your agent loads only when the skill is triggered. It is a single SKILL.md file with no bundled scripts.

It sits in Agent Workflows. The repository describes itself as: Open-source Claude Code plugins for multi-agent software delivery. Plan-first SDLC workflow, code review, LLM quality judges, and self-learning — grounded in your codebase… The licence is Apache-2.0.

When your agent uses it

  • Agent Workflows work in your project

Example prompts

  • “/learning-quality”

Workflow steps

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

  1. Classify Scope
  2. Generalize if Needed
  3. Write the Pattern
  4. Check for Conflicts
  5. Write the File

What it can do on your machine

Read from SKILL.md and the folder at commit 476b54c. 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

    Shell commands in SKILL.md call:

    • pnpm

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

  • Network

    Links to these hosts (documentation or services it may open):

    • github.com

    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

Learning Quality loads about 1.7k tokens when it runs. Until then it costs about 24 tokens; SKILL.md has 629 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~24
When it runs · the whole SKILL.md, loaded when a task matches
~1.7k

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 closedloop-ai/claude-plugins at commit 476b54c, republished under its Apache-2.0 licence (© closedloop-ai). 629 words, ~1,712 tokens.

Download SKILL.mdSave it as .claude/skills/learning-quality/SKILL.md (or your agent's skills folder).
name
learning-quality
description
Structured format for capturing high-quality learnings during ClosedLoop runs

Learning Quality Skill

This skill defines when and how to capture learnings during ClosedLoop runs.

Decision Tree: Should I Capture This?

Before writing a learning, run through this decision tree in order:

1. Did I make a mistake and correct it, or discover something non-obvious?
   NO  → Don't capture (no learnings event)
   YES → Continue

2. Is it a config value? (specific URL, file path, project command, type name)
   YES → Write to CLAUDE.md (project scope), not org-patterns
   NO  → Continue

3. Is it tied to a single feature/bug with no generalizable principle?
   YES → SKIP
   NO  → Continue

4. Will it still be true in 6 months?
   NO  → SKIP (or generalize the principle)
   YES → Continue

5. Does it already exist in org-patterns.toon or CLAUDE.md?
   YES → SKIP (or note "Supersedes: [old pattern]" if correcting)
   NO  → CAPTURE IT

Note: Even "basic" knowledge is worth capturing if you actually made that mistake. These learnings exist because LLM agents struggle with certain patterns that humans might consider obvious. The goal is to help future agent runs avoid the same mistakes.

Hard Rejection Criteria

SKIP if ANY of these apply:

CriterionExampleWhy
Specific URL/path/config"Use https://github.com/org/repo"Config, not principle → CLAUDE.md
Project-specific names"Use MyProjectType not OtherType"Belongs in CLAUDE.md
One-off bug fix"Field X was null in row 123"Not reusable
Already captured(check pending/, CLAUDE.md, org-patterns.toon)Avoid duplicates

Note: Even patterns that seem like "basic knowledge" are worth capturing if you actually made that mistake. These learnings exist because LLM agents struggle with certain patterns. The goal is to help future agent runs avoid the same mistakes.

Capture Workflow

When you have a learning worth capturing:

Step 1: Classify Scope
ScopeDestinationHeuristic
ProjectCLAUDE.mdMentions specific file paths, package names, or project-unique features
Globalorg-patterns.toonApplies to any project using the same language/framework/tool
Step 2: Generalize if Needed

Extract the underlying principle, not the specific instance.

<examples>
<example type="generalize">
<specific>GitHubActionStatus uses SUCCESS not COMPLETED</specific>
<generalized>When using Prisma enums, verify valid values in schema.prisma - don't assume names</generalized>
</example>
<example type="generalize">
<specific>adm-zip is already installed for webhooks</specific>
<generalized>Check existing dependencies before adding new packages for common functionality</generalized>
</example>
<example type="skip">
<specific>The workstream query checks parentId before title</specific>
<reason>Implementation detail with no generalizable principle</reason>
</example>
<example type="skip">
<specific>ARTIFACT_SECTIONS has ISSUE in two places</specific>
<reason>Specific bug, not a pattern</reason>
</example>
</examples>

Test: Would this help someone working on a different feature?

Step 3: Write the Pattern

Formula: [When/Where] + [specific action] + [context]

<examples>
<example type="good" domain="planning">
PRD 'secure authentication' in this org means Auth0 + JWT + httpOnly refresh cookies
</example>
<example type="good" domain="implementation">
Always check for None before accessing .items() on optional dicts in FastAPI handlers
</example>
<example type="good" domain="testing">
E2E tests require API mocks via msw in tests/mocks/, never hit real endpoints
</example>
<example type="good" domain="verification">
Task 'add endpoint' is only VERIFIED if both route AND handler exist, not just route file
</example>
<example type="bad" reason="too vague">
Check for None
<fix>Missing: where? when? why?</fix>
</example>
<example type="bad" reason="not actionable">
Be careful with imports
</example>
<example type="bad" reason="common knowledge">
TypeScript catch blocks have type unknown in strict mode
<fix>Documented in TS handbook - skip</fix>
</example>
<example type="bad" reason="config not pattern">
Run `pnpm test` for validation
<fix>Project config → write to CLAUDE.md instead</fix>
</example>
<example type="bad" reason="too specific">
Templates should have type matching templateForType, not type: TEMPLATE
<fix>Feature-specific decision that may change - skip or generalize</fix>
</example>
</examples>
Show full SKILL.md (177 more words)Show less
Step 4: Check for Conflicts

Before writing:

  1. Check $CLOSEDLOOP_WORKDIR/.learnings/pending/ for learnings in this run
  2. Check project CLAUDE.md "Learned Patterns" section
  3. Check ~/.closedloop-ai/learnings/org-patterns.toon

If contradiction exists (existing says "do X", new says "don't do X"):

  • Verify which is correct based on evidence
  • Capture only the correct one
  • Add "Supersedes: [old pattern]" if correcting
Step 5: Write the File

Output location:

$CLOSEDLOOP_WORKDIR/.learnings/pending/{agent-name}-$CLOSEDLOOP_AGENT_ID.json

Format:

json
{
  "what_happened": "Brief description of what occurred",
  "why": "Root cause or reason this matters",
  "fix_applied": "What you did to resolve it (if applicable)",
  "pattern_to_remember": "The actionable takeaway (minimum 20 chars)",
  "applies_to": ["agent-name"],
  "context": {
    "file": "relative/path/to/file.ext",
    "line": 42,
    "function": "function_name"
  }
}

Use ["*"] for applies_to if the pattern applies to all agents.

No Learnings Event

If you completed work without learnings to capture:

json
{
  "no_learnings": true,
  "reason": "Task was straightforward with no new patterns discovered"
}

This is valid—not every task produces learnings.

Quick Reference

Worth Capturing (Durable + Non-Obvious)
  • Non-obvious tool behaviors not in docs
  • Project conventions not inferable from code
  • Architectural decisions with non-obvious rationale
  • Gotchas that cost time and aren't documented
Not Worth Capturing
CategoryExamples
Common knowledgeTS strict mode, git basics, debugging 101
Config valuesURLs, file paths, project commands
Implementation detailsQuery order, field names, styling choices
TemporaryBug workarounds, feature-specific decisions
Scope Decision
Mentions specific paths/packages/features? → Project (CLAUDE.md)
Applies to any project with same tech?     → Global (org-patterns.toon)

Domain-Specific Guidance

Your agent definition may reference a domain-specific learning prompt (e.g., prompts/plan-writer-learning.md). If so, read it before capturing learnings.

© closedloop-ai, Apache-2.0. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

Just SKILL.md in plugins/self-learning/skills/learning-quality of closedloop-ai/claude-plugins.

Open the folder on GitHubat commit 476b54c

Compare with similar skills

Learning Quality 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.

Learning Quality compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Learning Quality this skillclosedloop-ai/claude-plugins122—~1.7kAutomated safety check: PassApache-2.0
MCP Server Builderanthropics/skills180k64 repos~2.3kAutomated safety check: PassApache-2.0
Hook Development for Claude Code Pluginsanthropics/claude-plugins-official38k11 repos~4.1kAutomated safety check: NotesApache-2.0
Using Superpowersfarm-fe/farm5.6k35 repos~1.4kAutomated safety check: PassMIT
Executing Plans Inlineobra/superpowers296k2 repos~5.1kAutomated safety check: PassMIT
Claude Code Agent Developmentanthropics/claude-plugins-official38k8 repos~2.8kAutomated safety check: PassApache-2.0

Similar skills

  • MCP Server Builder

    anthropics/skills

    Official

    Guides the design and implementation of Model Context Protocol servers in TypeScript or Python, from tool naming and error messages to evaluation.

    180k GitHub starsUsed in 64 repos~2.3k tokens
    Agent WorkflowsAuto-check passed
  • Hook Development for Claude Code Plugins

    anthropics/claude-plugins-official

    Official

    Explains how to write Claude Code plugin hooks, both prompt-based checks and bash commands, for events such as PreToolUse, Stop and SessionStart.

    38k GitHub starsUsed in 11 repos~4.1k tokens
    Agent WorkflowsAuto-check: notes
  • Using Superpowers

    farm-fe/farm

    A skill your agent uses when starting any conversation - establishes how to find and use skills, requiring Skill tool invocation before ANY response including clarifying questions

    5.6k GitHub starsUsed in 35 repos~1.4k tokens
    Agent WorkflowsAuto-check passed
  • Executing Plans Inline

    obra/superpowers

    Has the agent carry out an implementation plan itself, task by task in the current session, keeping a ledger, proving each step with a test and ending with one whole-branch review.

    296k GitHub starsUsed in 2 repos~5.1k tokens
    Agent WorkflowsAuto-check passed
  • Claude Code Agent Development

    anthropics/claude-plugins-official

    Official

    Explains how to write agents for Claude Code plugins: the markdown file with YAML frontmatter, trigger descriptions, model and color settings, and system prompt design.

    38k GitHub starsUsed in 8 repos~2.8k tokens
    Agent WorkflowsAuto-check passed
  • Skill Creator

    Azure/azqr

    Official

    Create new skills, modify and improve existing skills, and measure skill performance.

    795 GitHub starsUsed in 89 repos~8.2k tokens
    Agent WorkflowsAuto-check passed

More from closedloop-ai/claude-plugins

All 41 skills in this repo
  • Codex Review

    closedloop-ai/claude-plugins

    Run Codex to review a plan file and return structured feedback with a verdict.

    122 GitHub stars~1.4k tokensUpdated today
    Auto-check: notes
  • Critic Cache

    closedloop-ai/claude-plugins

    Check if critic reviews are still valid before re-running Phase 2.5 critics.

    122 GitHub stars~528 tokensUpdated today
    Auto-check: notes
  • Cross Repo Cache

    closedloop-ai/claude-plugins

    Check if cross-repo coordinator results can be reused, avoiding redundant Sonnet agent launches.

    122 GitHub stars~683 tokensUpdated today
    Auto-check: notes
  • Eval Cache

    closedloop-ai/claude-plugins

    Check for a cached plan-evaluation.json result before launching the plan-evaluator agent.

    122 GitHub stars~516 tokensUpdated today
    Auto-check: notes
  • Find Plugin File

    closedloop-ai/claude-plugins

    This skill should be used when needing to locate files within the Claude Code plugins cache directory (~/.claude/plugins/cache).

    122 GitHub stars~812 tokensUpdated today
    Auto-check passed
  • Gh Monitor PR

    closedloop-ai/claude-plugins

    Start a detached GitHub pull-request monitor that wakes the exact launching Codex Desktop or CLI root through the managed Codex App Server when review, CI, conflict, merge-queue, closure, readiness…

    122 GitHub stars~5.1k tokensUpdated today
    Auto-check passed

Categories

Questions about Learning Quality

What does Learning Quality do?

Structured format for capturing high-quality learnings during ClosedLoop runs. Learning Quality is an agent skill from closedloop-ai/claude-plugins.

When should I use Learning Quality?

Learning Quality fits situations like: agent Workflows work in your project.

How do I install Learning Quality in Claude Code?

Run `npx skills add closedloop-ai/claude-plugins --skill learning-quality -a claude-code`. Or copy the skill folder (plugins/self-learning/skills/learning-quality in closedloop-ai/claude-plugins) into .claude/skills/learning-quality in your project. Claude Code loads it when a task matches its description.

How do I install Learning Quality in Codex?

Run `npx skills add closedloop-ai/claude-plugins --skill learning-quality -a codex`. Or copy the skill folder (plugins/self-learning/skills/learning-quality in closedloop-ai/claude-plugins) into .agents/skills/learning-quality in your project. Codex loads it when a task matches its description.

Can I use Learning Quality 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 closedloop-ai/claude-plugins --skill learning-quality -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/learning-quality, .gemini/skills/learning-quality, .github/skills/learning-quality and .opencode/skills/learning-quality in your project.

What does Learning Quality need to run?

Going by SKILL.md and its folder, Learning Quality needs the command-line tools its instructions call (pnpm).

Does Learning Quality access the network?

SKILL.md names 1 domain. As links in the text: github.com. This is read from the text; nothing was executed.

Is Learning Quality 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 Learning Quality use?

Learning Quality is published under the Apache-2.0 licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Learning Quality use?

About 1.7k tokens (SKILL.md is roughly 6.8k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.

What are the alternatives to Learning Quality?

Skills that share tags, products or a category with Learning Quality: MCP Server Builder (anthropics/skills, 180k stars), Hook Development for Claude Code Plugins (anthropics/claude-plugins-official, 38k stars), Using Superpowers (farm-fe/farm, 5.6k stars) and Executing Plans Inline (obra/superpowers, 296k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Learning Quality?

closedloop-ai (a GitHub organization) maintains it in closedloop-ai/claude-plugins, which has 122 GitHub stars. The repository holds 41 skills in this directory. The repository was last updated on October 7, 2026.

Source: closedloop-ai/claude-plugins on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.