architecture-review
Surfaces architectural friction in real code — shallow modules, tight coupling, untested seams — and proposes deepening refactors…
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.
$ npx -y skills add assafkip/kipi-system --skill learn-from-correction --agent claude-codeHow it fires
How this skill gets triggered: by you, by Claude, or both.
/learn-from-correctionContext preview
The summary Claude sees to decide when to auto-load this skill.
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.
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. -->
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.
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).
Follow these 7 steps in order. Each step has an "if you cannot answer" exit ramp; use it instead of guessing.
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."
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.
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."
Read the target skill file. Does an existing principle cover this case? Three possible verdicts:
If multiple principles overlap and the new correction touches the seam, propose a merge.
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").
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.
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.
# 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 notGive your AI the right knowledge, at the moment it needs it. Kipi turns the scattered knowledge around your work into context that follows you across AI sessions: decisions, conversations, projects, people, commitments, lessons, documents, history.
Surfaces architectural friction in real code — shallow modules, tight coupling, untested seams — and proposes deepening refactors…
AUDHD executive function accommodations. Apply to all output the founder will act on.
Generate modern presentation decks (PDF) from markdown content. Local open-source alternative to Gamma — uses Slidev for layouts…
Founder voice enforcement for all written output. Apply to any text another person will read.
Platform-optimized headline and hook engineering for X (Twitter), Reddit, LinkedIn, Medium, Substack. Apply when writing or…