Agent skill

Learn From Correction

by assafkip in assafkip/kipi-system

Propose a principle edit to a skill or persona file based on a (agentoutput, humanoutput) correction pair.

MITAuto-check passedSales & Support

Install Learn From Correction

skills CLI
$ npx skills add assafkip/kipi-system --skill learn-from-correction -a claude-code

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

GitHub CLI
$ gh skill install assafkip/kipi-system learn-from-correction --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/assafkip/kipi-system.git skills-src && mkdir -p .claude/skills && cp -r skills-src/plugins/kipi-core/skills/learn-from-correction .claude/skills/learn-from-correction && 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
learn-from-correction
GitHub stars
112
Token cost
~2.3k tokens
SKILL.md length
1,142 words
Files
2 (incl. references)
Skills in repo
14
Repo updated
First seen
Licence
MIT

At a glance

Propose a principle edit to a skill or persona file based on a (agentoutput, humanoutput) correction pair.

  • Works in 7 steps: Identify what changed → Ask why → Zoom out to the pattern → …
  • Tasks that involve Markdown
  • SKILL.md covers Constraints (ENFORCED), Inputs, Workflow and Proposal file format, plus 4 more sections
  • Calls python3

What it does

Learn From Correction is an agent skill from assafkip/kipi-system. Propose a principle edit to a skill or persona file based on a (agentoutput, humanoutput) correction pair. Outputs a proposal markdown for human review - never auto-edits the target file.

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

It sits in Sales & Support, covering Markdown and Proposals and quotes. The repository describes itself as: Your AI brain, externalized. It remembers everything you do, then becomes whatever role you need. Same skeleton can run as your chief of staff, lawyer, PM, or investigator. Plain… The licence is MIT.

When your agent uses it

  • Tasks that involve Markdown
  • Tasks that involve Proposals and quotes

Example prompts

  • “/learn-from-correction”

Requirements

  • Python 3

Workflow steps

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

  1. Identify what changed
  2. Ask why
  3. Zoom out to the pattern
  4. Check against existing principles
  5. Write as a principle, not a rule
  6. Place it in the right section
  7. Output the proposal

What it can do on your machine

Read from SKILL.md and the folder at commit 16d4724. 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:

    • python3

    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

Learn From Correction loads about 2.3k tokens when it runs, and up to ~3.5k if it reads all its reference files. Until then it costs about 53 tokens; SKILL.md has 1,142 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~53
When it runs · the whole SKILL.md, loaded when a task matches
~2.3k
With references · SKILL.md plus every file in references/, read only if the agent opens them
~3.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 assafkip/kipi-system at commit 16d4724, republished under its MIT licence (© assafkip). 1,142 words, ~2,311 tokens.

Download SKILL.mdSave it as .claude/skills/learn-from-correction/SKILL.md (or your agent's skills folder). This skill also uses 1 other file; get the full folder from GitHub.
name
learn-from-correction
description
Propose a principle edit to a skill or persona file based on a (agent_output, human_output) correction pair. Outputs a proposal markdown for human review - never auto-edits the target file.
<!-- prompt-only-enforcement-skip: this is an interpretive skill spec (skill-hook-pairing classifies the learn-from-correction family as "no hook"); its one deterministic slice is backed by correction_outcome.py + test_correction_outcome.py, not by prose. -->

Learn From Correction

You take a correction (what an agent proposed vs. what the human actually did) and propose a principle edit to the skill/persona file that should have caught it. The proposal goes to q-system/output/skill-proposals/ for the founder to review and merge through normal git flow.

This skill exists because the best prompt today is not the best prompt a month from now. Corrections the founder is already making (rewrites of agent drafts, anti-pattern additions to Skeptic, copy edits) carry the signal needed to keep skills sharp - but only if something captures that signal as a durable principle.

Before writing anything, read references/principle-vs-rule.md. The guardrails there are load-bearing: principles transfer, rules overfit. A correction turned into a rule produces a brittle decision tree. The same correction turned into a principle reshapes how the agent reasons.

Constraints (ENFORCED)

  • Never edit the target skill file directly. Output is always a proposal markdown in q-system/output/skill-proposals/. The founder reviews, edits, and merges via normal git flow so Codex review fires on the diff (same gate as any other code change).
  • One correction at a time. If the founder hands you a batch of corrections, process them sequentially. Each one gets its own proposal file or its own section. Do not bundle unrelated corrections into one principle.
  • Always include the source correction in the proposal. The founder needs to verify your interpretation. Quote the agent output, the human output, and your inferred diff.
  • If the correction does not generalize, say so. Not every correction maps to a missing principle. Some are one-off context. The honest answer is sometimes: "this is a one-off, no principle change recommended."

Inputs

The founder provides three pieces of information. They can come inline in the conversation, as file paths, or as a Phase A proposal markdown (which already has the correction shape built in).

  • agent_output: what the agent proposed (the draft, the answer, the recommendation).
  • human_output: what the human actually did (the final post, the rewrite, the accepted Codex finding).
  • target_skill: which skill should learn from this correction. If not provided, ask the founder. Defaults to whichever skill governs the output type (founder-voice for written copy, skeptic for PRD adversarial review, etc.).

Workflow

Follow these 7 steps in order. Each step has an "if you cannot answer" exit ramp; use it instead of guessing.

1. Identify what changed

Diff the agent output against the human output. State the concrete difference. Quote both sides. If the diff is purely cosmetic (whitespace, ordering with no semantic change), exit with "no principle change recommended."

2. Ask why

Name the underlying cause, not the symptom. "Founder shortened the comment" is a symptom. "Agent draft included a CTA the founder removed because the post was venting, not a sales opportunity" is a cause. If you cannot name the cause without speculation, ask the founder one direct question and wait.

3. Zoom out to the pattern

Would this apply beyond this one case? Run the test: imagine 5 future situations the agent might face. Would this correction shape the right behavior in 3+ of them? If not, exit with "context-specific, no principle change recommended."

4. Check against existing principles

Read the target skill file. Does an existing principle cover this case? Three possible verdicts:

  • Sharpen: existing principle is close but ambiguous. Propose a sharper restatement.
  • Add: no existing principle covers the case. Propose a new bullet with clear placement.
  • Delete: existing principle pushed the agent toward the wrong behavior. Propose removing or revising it.

If multiple principles overlap and the new correction touches the seam, propose a merge.

5. Write as a principle, not a rule

A rule says "what to do." A principle says "how to think." See references/principle-vs-rule.md for the test. If your proposed text reads like a switch-case ("if X then Y"), rewrite it as a heuristic ("when X, the question is Y").

6. Place it in the right section

Skills have structure. Anti-patterns go in the anti-patterns section. Workflow steps go in the workflow section. Read the target skill's table of contents first. If the right section does not exist, propose adding it - and explain why an existing section was not the right home.

Show full SKILL.md (449 more words)Show less
7. Output the proposal

Write the proposal to q-system/output/skill-proposals/{target_skill_name}-{ISO-date}.md. The format is below. Print the path to the founder so they can open it.

Proposal file format

markdown
# Principle proposal - {target_skill_name}

Generated: {ISO timestamp}
Target skill: {path to SKILL.md}

## Source correction

**Agent output:**
{quote}

**Human output:**
{quote}

**Inferred diff:**
{concrete description}

## Inferred cause

{one or two sentences naming why the human diverged}

## Pattern test

Five future situations this might apply to:
1. ...
2. ...
3. ...
4. ...
5. ...

Verdict: {applies to N/5}. {one sentence}

## Existing principles touched

{list relevant existing bullets from the target skill, with line refs}

## Proposed edit

**Action:** {add | sharpen | delete | merge}

**Target section:** {section heading in the target skill}

**Proposed text:**
{the new principle, written as a heuristic}

**Why a principle and not a rule:**
{one sentence connecting to references/principle-vs-rule.md}

## How to merge

1. Open {target skill path}
2. Apply the proposed edit in the named section
3. Commit through normal git flow

It is honest to refuse. The four refusal reasons, in priority order:

  1. Cosmetic diff only. No semantic change between agent and human.
  2. Context-specific correction. The diff makes sense only for this one situation; it would not shape the right behavior in 3+ future cases.
  3. Insufficient information. The founder did not give enough to infer cause without speculation, and the founder did not respond to the clarifying question.
  4. Existing principle already covers it. The agent failed to apply a principle that already exists. The correction is a reminder to follow existing guidance, not a new principle.

Write the refusal as a short proposal file (1-2 paragraphs) so the founder can see the analysis ran. Refusing silently looks like the skill never executed.

Anti-patterns this skill watches for in itself

  • Turning corrections into rules. If the proposed text starts with "always," "never," or "if X then Y," it is a rule. Rewrite as a principle.
  • Over-generalizing from one case. One correction is not a pattern. The 5-future-situations test (Step 3) is mandatory, not optional.
  • Skipping the source quote. Without the source quote, the founder cannot verify interpretation. The proposal is incomplete.
  • Auto-applying the edit. Even when the proposal feels obviously right, the founder reviews and merges manually. The skill writes proposals, not commits.

Memory correction: record a corrected outcome

Separate from the principle-proposal flow above, one narrow case also feeds the memory earned-trust log. When the correction is the founder contradicting a surfaced memory (one recalled this session, listed in q-system/memory/.session-recall.json) rather than an agent draft, the recall is also an outcome signal: that memory was corrected.

The recording is deterministic, not a judgment for prose to hold. The single step here is interpretive: pick which surfaced memory_id the contradiction refers to. Only pick one when the map is confident; an uncertain map is left unrecorded (a missed corrected is safe, a wrong one is a spurious signal). Then hand that id to the script that owns the write:

bash
python3 q-system/.q-system/scripts/correction_outcome.py <memory_id> <session_id>

The script (correction_outcome.py) re-checks that the id was actually surfaced this session and no-ops otherwise, routes the write through the single-writer record_outcome, and dedups on replay. Nothing is recorded when the map is not confident. This does not replace the principle proposal; a correction can produce both a proposal and a corrected outcome.

  • plugins/prd-os/scripts/propose_skeptic_antipatterns.py - Phase A consumer of this pattern, specialized to PRD findings.
  • plugins/prd-os/personas/skeptic.md - one target this skill commonly proposes edits to.
  • plugins/kipi-core/skills/founder-voice/SKILL.md - another common target (anything written for human readers).

© assafkip, 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 plugins/kipi-core/skills/learn-from-correction of assafkip/kipi-system.

  • SKILL.md
  • references/principle-vs-rule.md

Open the folder on GitHubat commit 16d4724

Compare with similar skills

Learn From Correction 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.

Learn From Correction compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Learn From Correction this skillassafkip/kipi-system112—~2.3kAutomated safety check: PassMIT
Task Profiletechwolf-ai/ai-first-toolkit132—~3.6kAutomated safety check: PassMIT
Paw Pa Generationpawbytes/skill-suites110—~2.3kAutomated safety check: PassMIT
Rfp Response Content Generationpnp/sharepoint-skills131—~4.8kAutomated safety check: PassMIT
Rfp Response Proposal Reviewpnp/sharepoint-skills131—~3.5kAutomated safety check: PassMIT
Rfp Response Quality Tone Reviewpnp/sharepoint-skills131—~3.5kAutomated safety check: PassMIT

Similar skills

  • Task Profile

    techwolf-ai/ai-first-toolkit

    Mine the user's Claude Code + Cowork session history into a structured task profile, what they do with AI, how often, how successfully where friction lives, then propose atomic skills that would…

    132 GitHub stars~3.6k tokensUpdated 9 days ago
    Sales & SupportAuto-check passed
  • Paw Pa Generation

    pawbytes/skill-suites

    Assembles branded, export-ready proposals from brief, research, and pricing artifacts — type-adaptive for pitch, RFP, or scoping.

    110 GitHub stars~2.3k tokensUpdated 5 days ago
    Sales & SupportAuto-check passed
  • Rfp Response Content Generation

    pnp/sharepoint-skills

    Section-by-section proposal drafting agent. An agent skill from pnp/sharepoint-skills.

    131 GitHub stars~4.8k tokensUpdated 2 days ago
    Sales & SupportAuto-check passed
  • Rfp Response Proposal Review

    pnp/sharepoint-skills

    Post-generation audit agent for proposal drafts. An agent skill from pnp/sharepoint-skills.

    131 GitHub stars~3.5k tokensUpdated 2 days ago
    Sales & SupportAuto-check passed
  • Reviews a draft proposal for voice consistency, narrative coherence, the firm's configurable tone standards, weak or vague language, and structural quality.

    131 GitHub stars~3.5k tokensUpdated 2 days ago
    Sales & SupportAuto-check passed
  • Doc Coauthoring

    aws-samples/sample-strands-agent-with-agentcore

    Official

    Guide users through a structured workflow for co-authoring documentation.

    195 GitHub starsUsed in 40 repos~3.2k tokens
    Sales & SupportAuto-check passed

More from assafkip/kipi-system

All 14 skills in this repo
  • Deck AI

    assafkip/kipi-system

    Turns a markdown file into a themed, image-rich slide deck exported as PDF, using Slidev for layouts and Unsplash for photos, all run locally.

    112 GitHub stars~1.5k tokensUpdated today
    Auto-check: notes
  • Unified Design Router

    assafkip/kipi-system

    Routes visual design requests to built-in logo, corporate identity, slide, banner, social photo and icon workflows, backed by style data and AI image generation.

    112 GitHub stars~2.9k tokensUpdated today
    Auto-check passed
  • Improve Idea Critique

    assafkip/kipi-system

    Judges a pasted tip, post or video summary against what the kipi system already has, and returns adopt, skip or already-built with the files that back the verdict.

    112 GitHub stars~729 tokensUpdated today
    Auto-check passed
  • Fable Discipline

    assafkip/kipi-system

    Teaches staged, verifiable coding habits for multi-file tasks and ships a hook that blocks tests from touching live data.

    112 GitHub stars~2.9k tokensUpdated today
    Auto-check passed
  • Root-Cause Analysis Writer

    assafkip/kipi-system

    Writes a structured, blameless root-cause analysis for a defect that escaped a test or gate, separating surface from structural causes and linting the result.

    112 GitHub stars~796 tokensUpdated today
    Auto-check passed
  • Architecture Review

    assafkip/kipi-system

    Surfaces architectural friction in real code — shallow modules, tight coupling, untested seams — and proposes deepening refactors using Ousterhout's deep-module principle (small interface hiding a…

    112 GitHub stars~817 tokensUpdated today
    Auto-check passed

Questions about Learn From Correction

What does Learn From Correction do?

Propose a principle edit to a skill or persona file based on a (agentoutput, humanoutput) correction pair. Learn From Correction is an agent skill from assafkip/kipi-system. Propose a principle edit to a skill or persona file based on a (agentoutput, humanoutput) correction pair.

When should I use Learn From Correction?

Learn From Correction fits situations like: tasks that involve Markdown; tasks that involve Proposals and quotes.

How do I install Learn From Correction in Claude Code?

Run `npx skills add assafkip/kipi-system --skill learn-from-correction -a claude-code`. Or copy the skill folder (plugins/kipi-core/skills/learn-from-correction in assafkip/kipi-system) into .claude/skills/learn-from-correction in your project. Claude Code loads it when a task matches its description.

How do I install Learn From Correction in Codex?

Run `npx skills add assafkip/kipi-system --skill learn-from-correction -a codex`. Or copy the skill folder (plugins/kipi-core/skills/learn-from-correction in assafkip/kipi-system) into .agents/skills/learn-from-correction in your project. Codex loads it when a task matches its description.

Can I use Learn From Correction 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 assafkip/kipi-system --skill learn-from-correction -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/learn-from-correction, .gemini/skills/learn-from-correction, .github/skills/learn-from-correction and .opencode/skills/learn-from-correction in your project.

What does Learn From Correction need to run?

Going by SKILL.md and its folder, Learn From Correction needs the command-line tools its instructions call (python3). Our summary lists: Python 3.

Does Learn From Correction 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 Learn From Correction 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 Learn From Correction use?

Learn From Correction is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Learn From Correction use?

About 2.3k tokens (SKILL.md is roughly 9.2k 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 1.2k tokens, read only when the agent opens those files.

What are the alternatives to Learn From Correction?

Skills that share tags, products or a category with Learn From Correction: Task Profile (techwolf-ai/ai-first-toolkit, 132 stars), Paw Pa Generation (pawbytes/skill-suites, 110 stars), Rfp Response Content Generation (pnp/sharepoint-skills, 131 stars) and Rfp Response Proposal Review (pnp/sharepoint-skills, 131 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Learn From Correction?

assafkip (a GitHub user) maintains it in assafkip/kipi-system, which has 112 GitHub stars. The repository holds 14 skills in this directory. The repository was last updated on October 7, 2026.

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