Synthèse automatique
Ce skill applique des retours utilisateurs à des skills installés en classant chaque point (modification de skill, principe transversal, commande, réglage, mémoire ou simple observation), avec approbation item par item et relance de vérification.
Points forts
- Sépare explicitement les corrections de skill, les principes transversaux, la configuration du harnais et les simples observations.
- Impose une approbation par point avant toute modification et montre des diffs avant/après.
- Prend en compte les pipelines multi-skills, notamment les skills feather-* qui interagissent.
- Prévoit l'extraction de principes vers un vault et une relance de vérification après édition.
Limites
- Suppose une arborescence personnelle précise (~/.claude/skills et un vault Dropbox), donc peu portable en l'état.
- Le SKILL.md fourni s'arrête au milieu d'une phrase, ce qui laisse la logique de routage final incomplète.
- La vérification reste une relance manuelle sur un exemple jouet, sans tests automatisés.
À utiliser lorsqu'on dispose de retours écrits sur un skill installé et qu'on veut les trier puis corriger le skill avec validation.
À éviter pour créer un skill de zéro ou pour modifier massivement la configuration sans revue point par point.
Analyse de sécurité
PrudenceNo destructive, exfiltrating, or obfuscated actions: file operations are confined to the user's own skills directory and vault, shell use is limited to ls/grep/git enumeration, and every mutating step is gated behind an explicit human approval prompt (including a four-option menu and a no-silent-commit rule). The real concern is privilege rather than malice — the skill is designed to rewrite the agent's own instructions and harness settings, which is legitimate but powerful, so it warrants a caution rating rather than safe.
- •Self-modifying scope: the skill edits its own agent configuration surface — other skills under ~/.claude/skills/, settings.json hooks/permissions, and command files — meaning a single approved session can rewrite the instructions and harness config the agent later runs under. Per-item approval gates and explicit 'do not proceed without approval' language mitigate this, but it is a high-privilege capability.
- •Hardcoded user-specific write target inside a cloud-synced folder (`~/Dropbox/Siraj/Projects/siraj-claude-vault/`): principles and notes written there are propagated by Dropbox to third-party storage by default. Worth flagging for data-handling review, not malicious.
- •The <context> block contains embedded shell executions (`ls -1 ~/.claude/skills/ | grep ...`) that the harness runs automatically at load time; read-only enumeration, but execution-on-load should be noted.
- •`Bash(git:*)` is a broad grant that includes commit/push/push --force. The body only demonstrates `git status` and explicitly instructs 'Do NOT commit silently' with the commit decision deferred to the user, so the risk is contained but the permission is wider than the shown usage.
- •Blanket Bash(git:*) permission: the text only demonstrates `git status` and defers commits to the user, but the wildcard also permits destructive/publishing git operations (reset --hard, clean -fdx, push --force) if the agent extrapolates.
- •Writes outside the working project: ~/.claude/skills/, a personal Dropbox vault path, and potentially ~/.claude/settings.json or .claude/settings.json. Silent mutation of harness settings/hooks can broaden permissions for all future sessions with little user visibility.
- •A 'push-through mode' is defined: if the user says 'auto' or 'go ahead and make all edits without approval', per-item diff approval is disabled for the rest of the session, creating an ungated batch-write path (user-initiated, which is why this is caution rather than risky).
- •Reads and modifies installed third-party skill content without any validation of what is written; a malicious skill's text could be echoed into diffs/principle files, though no such instruction targeting the auditor was present in this content.
- •Hardcoded personal paths (~/Dropbox/Siraj/...) mean the workflow will attempt writes in unintended/failing locations for other users; not a secret leak, but a portability and blast-radius concern.
Exemples
Here's feedback on feather-brainstorm: it suggests solutions before clarifying the problem. Classify each point, show me the routing table, and don't edit anything until I approve.Use heal-skill on feather-spec with the notes in ~/notes/spec-feedback.md; route cross-project lessons to the vault and show before/after diffs per item.I have feedback on two installed skills. Read both SKILL.md files, classify each point as skill-edit, principle, settings, memory, or observation-only, then wait for my approval before proposing edits.description: Heal feather-* skills (or any user-installed skill) by applying classified feedback with per-item approval, principle extraction, and a verification re-run. argument-hint: [optional: skill name to focus on, e.g. "feather-brainstorm"] allowed-tools: [Read, Edit, Write, Bash(ls:), Bash(grep:), Bash(git:*), TodoWrite]
<objective> Apply user-supplied feedback to one or more skills under `~/.claude/skills/`, plus the principle vault under `~/Dropbox/Siraj/Projects/siraj-claude-vault/`, and the user/project settings under `~/.claude/` or `.claude/`.Distinguish between skill bugs, cross-project principles, harness config, and observation-only items so each goes to the right home. Approval per item. Verification re-run when the work is done.
Adapted from glittercowboy/heal-skill.md (see end). Differences: multi-skill aware (feather pipeline = 4 cooperating skills); user-skills path (~/.claude/skills/); explicit route-classification step; principle extraction to Obsidian vault; verification re-run loop. </objective>
<context> Available feather skills: !`ls -1 ~/.claude/skills/ | grep -i feather || echo "no feather-* skills installed"` Other user skills: !`ls -1 ~/.claude/skills/ | grep -v -i feather | head -20` Vault location: ~/Dropbox/Siraj/Projects/siraj-claude-vault/cross-project/ </context><quick_start> <workflow>
- Collect feedback — ask the user for written feedback (paste or path)
- Read affected skills — load every SKILL.md the feedback mentions
- Classify each item — route to: skill-edit / principle / command / settings / memory / observation-only
- Present classification table — get approval before drafting diffs
- Resolve design questions — surface ambiguities that reshape multiple edits
- Per-item heal-skill diffs — before/after, reason, per-item or batched approval
- Apply edits — Edit tool, confirm each
- Extract principles — write any new cross-project principles to the vault
- Verification re-run — propose a 30-second re-run of the affected skill on a toy input to confirm behaviour changed
- Commit (optional) — if user wants </workflow>
</quick_start>
<process><step_1 name="collect_feedback"> If $ARGUMENTS names a specific skill, focus there. Otherwise ask which skill(s).
Ask the user:
"Paste the feedback (rough form is fine), or point me at a file. I'll classify each item before drafting any edits."
Wait for input. Do not proceed without feedback in hand. </step_1>
<step_2 name="read_affected_skills"> For every skill named (or implied) in the feedback, read the full SKILL.md:
ls -la ~/.claude/skills/<skill-name>/
For feather-* skills, the pipeline interconnects — feedback on one often touches another. If the feedback is about feather-brainstorm, also peek at feather-spec and feather-execute-task at the boundary they share.
Read references/, scripts/, and any companion files in the skill folder. </step_2>
<step_3 name="classify_each_item"> Walk through every distinct piece of feedback. For each, decide where it goes:
| Route | When to use |
|---|---|
| skill-edit | The skill instructs the agent to do (or not do) the wrong thing; fix is in SKILL.md or its companions |
| principle (vault) | Cross-project pattern worth saving to ~/Dropbox/Siraj/Projects/siraj-claude-vault/cross-project/ |
| command (commands/) | The fix is reusable command behaviour, belongs in ~/.claude/commands/<name>.md |
| settings | Hook, env var, or permission — belongs in ~/.claude/settings.json or .claude/settings.json (use the update-config skill) |
| memory | Recurring correction — belongs in project MEMORY.md (only after the same item recurs across sessions) |
| observation-only | Worth noting but no action needed |
For items that origin in skill text vs. items that origin in agent overreach: note the difference. Origin in skill → fix is to remove/edit the instruction. Origin in agent overreach → fix is to add an anti-pattern. </step_3>
<step_4 name="present_classification"> Present a classification table:
| # | Feedback (compressed) | Origin in skill | Where this goes | Fix sketch |
|---|---|---|---|---|
| 1 | <one-line summary> | <line N or "agent overreach"> | <route> | <one-line> |
Identify any items that are sub-issues of others; bundle them.
Identify items where origin is another skill in the pipeline (e.g. feedback on feather-brainstorm that originates in feather-spec's vocabulary). Note as cross-cutting.
Ask:
"Approve the classification, or any item miscategorized?"
Wait for approval. </step_4>
<step_5 name="resolve_design_questions"> Before drafting diffs, surface design questions that reshape multiple edits — for example:
- "How heavy should the new mode menu be (inline / inline + escape / structured menu)?"
- "Should we hide the internal taxonomy entirely, or rename for the user?"
- "Verbatim quotes inline only, or also in a bottom appendix?"
Resolving these first prevents re-editing the same lines twice.
If a question is reshape-level, present 2–4 options with concrete examples (the same content rendered each way). Ask the user to pick.
Apply Concierge Default: when offering choices, describe each option's fit, not just its name. </step_5>
<step_6 name="draft_diffs"> For each skill-edit item, present a heal-skill-style diff:
### Edit N — <Section name> (<line range>)
**Before:**
<exact text from current file>
**After:**
<new text>
**Reason:** <why this fixes the issue>
For multi-edit items in one skill, batch them under the same approval gate. Use the heal-skill four-option menu:
1. Apply all edits, commit later
2. Apply some — name them
3. Revise — tell me what to change
4. Cancel
Wait for response. Do not proceed without explicit approval.
If the user says "auto" or "go ahead and make all edits without approval," switch to push-through mode for the rest of the session. </step_6>
<step_7 name="apply_edits"> Use the Edit tool for each correction. After each edit, the tool returns confirmation.
For large edits (template rewrites), confirm by reading back the changed region with the Read tool.
For multi-skill edits, work skill-by-skill in dependency order (overview → upstream → downstream → tests).
Track progress with TodoWrite — one todo per item or per skill. Mark complete only after the Edit confirms. </step_7>
<step_8 name="extract_principles">
For every classified principle (vault) item, write or update the principle file:
~/Dropbox/Siraj/Projects/siraj-claude-vault/cross-project/philosophy-<name>.md
Frontmatter (matches existing vault style):
---
type: decision
project: cross-project
date: <YYYY-MM-DD>
status: active
impact: <ux | architecture | testing | ...>
tags:
- Type/Decision
- CrossProject/<area>
related:
- cross-project/philosophy-design.md
- cross-project/philosophy-concierge-default.md
- cross-project/philosophy-markdown-readable-default.md
---
Body sections (in order):
- The principle (one paragraph + 3–6 bullets)
- Where to apply
- Where NOT to apply
- Relationship to other principles
- Anti-patterns it prevents
- Source (which session, which feedback)
Cross-link in the related skill's anti-patterns table:
| ❌ Don't <X> | <Concierge Default | Markdown-Readable Default | other> says <Y> |
</step_8>
<step_9 name="verification_rerun"> After edits land, propose a small re-run to confirm behaviour changed:
"Edits are in. Want to re-run <skill-name> on a toy input (~30 seconds) to verify the fix actually changes behaviour? E.g. for feather-brainstorm: 'I want to build a small notes app' — see whether the new Phase 0 mode menu fires."
Re-run is verification, not bug-hunt. If the re-run surfaces new issues, those are Round 2 — capture them separately, don't retrofit Round 1.
If the user declines the re-run, mark the heal session complete and move on. </step_9>
<step_10 name="commit_optional">
Skill files live in ~/.claude/skills/, which may or may not be a git repo. If it is:
cd ~/.claude && git status
Offer the user:
- Commit all changes with a structured message
- Show the diff and let the user commit
- Skip — leave files modified
Default: option 2 (show diff). Do NOT commit silently.
For the vault (~/Dropbox/Siraj/Projects/siraj-claude-vault/), edit the markdown files directly (Write/Edit) if updates are needed beyond what was just written.
</step_10>
<route_classification_examples>
| Feedback symptom | Likely route | Why | |---|---|---| | "The skill says 'do X' but I want it to do Y" | skill-edit | Direct instruction change | | "The agent kept doing X that I never asked for" | skill-edit (anti-pattern) | Agent overreach; codify the don't | | "I want this kind of behaviour everywhere across all my skills" | principle (vault) + edits in each affected skill | Cross-cutting pattern | | "I want to /<command> for this" | command (commands/) | Reusable invocation | | "When X happens, automatically do Y" | settings (hook) | Harness automation | | "I keep having to remind the agent to <X>" (recurring) | memory | Recurring correction | | "Interesting observation about <X>" (no action) | observation-only | Capture, no fix | | "The output looked stiff / cryptic / formatted badly" | skill-edit (template) + likely principle | Often surfaces a Concierge or Markdown-Readable Default issue |
</route_classification_examples>
<success_criteria>
- Every feedback item explicitly classified
- Origin in skill vs origin in agent overreach distinguished
- Design questions resolved before drafting diffs (no double-editing)
- All skill-edits applied with per-item or per-batch approval
- Cross-project principles extracted to vault and cross-linked from skill anti-patterns
- Verification re-run offered (and run if accepted)
- Skill files modified consistently (no orphan references to old vocabulary)
- Commit decision deferred to user </success_criteria>
- Read back changed sections with the Read tool
- Confirm cross-skill consistency (e.g. if you renamed a section in feather-brainstorm, check feather-skills's quick reference doesn't still point at the old name)
- Confirm no skill mentions a path or vocabulary that another skill no longer uses
- Confirm the vault writes have correct frontmatter and cross-links to existing philosophy files
- Show the user a summary of what changed (file names + line counts is enough) </verification>
<comparison_to_glittercowboy_heal_skill> This command is adapted from the original glittercowboy/heal-skill.md. Key differences:
| Original | feather-heal-skill |
|---|---|
| Single skill assumption | Multi-skill aware (handles pipelines like feather-*) |
| Path: ./skills/ (project-local) | Path: ~/.claude/skills/ (user-level), with project-local fallback |
| One reflection step | Explicit route-classification step (skill / principle / command / settings / memory / observation) |
| One approval gate | Per-item or per-batch approval, plus design-question resolution upfront |
| Edit and commit | Edit, extract principles to vault, propose verification re-run, defer commit |
| No principle extraction | Cross-project principles → ~/Dropbox/Siraj/Projects/siraj-claude-vault/cross-project/ |
Both share the heal-skill core: detect skill, present before/after diffs, get approval, apply, verify. </comparison_to_glittercowboy_heal_skill>
Du fichier au premier essai
Le téléchargement contient exactement le contenu affiché sur cette fiche. Cette copie peut différer de la dernière version du dépôt source.
Consulter la source et ses fichiers annexesCe téléchargement contient uniquement SKILL.md. Les scripts, références, modèles et dépendances éventuels ne sont pas inclus. Récupérez les fichiers nécessaires depuis la source en conservant leur arborescence avant de poursuivre.
1. Télécharger le fichier
Télécharger SKILL.mdDepuis la racine d’un projet de test, enregistrez le fichier sous .skill-downloads/heal-skills-with-classified-feedback-mryiqio5/SKILL.md, ou utilisez la commande suivante. Ce dossier sert à examiner la skill avant son installation.
Commande pour macOS/Linux ou WSL : un shell POSIX et curl sont nécessaires. Sous Windows sans WSL, utilisez le bouton de téléchargement et créez le dossier manuellement.
mkdir -p '.skill-downloads/heal-skills-with-classified-feedback-mryiqio5' && curl --fail --show-error --location 'https://skills-guides.com/api/skills/heal-skills-with-classified-feedback-mryiqio5/download' --output '.skill-downloads/heal-skills-with-classified-feedback-mryiqio5/SKILL.md.part' && mv '.skill-downloads/heal-skills-with-classified-feedback-mryiqio5/SKILL.md.part' '.skill-downloads/heal-skills-with-classified-feedback-mryiqio5/SKILL.md'2. Vérifier les prérequis
Lisez SKILL.md avant de l’utiliser. Si le fichier cite des scripts ou services externes, examinez-les et préparez les accès nécessaires dans votre environnement de test.
Aucune section de prérequis reconnue dans ce fichier. Cela ne signifie pas qu’il est autonome : les bibliothèques, outils et accès peuvent être cités ailleurs dans le contenu ou dans le dépôt source.
Les plateformes de la fiche sont des indications du catalogue. Les chemins ci-dessous suivent la documentation des outils ; ils ne prouvent pas que cette skill y a été exécutée. Aucune version minimale de ces outils n’est attestée pour cette fiche.
3. Charger la skill
Le fichier ne fournit pas un en-tête name/description exploitable pour cette procédure native. Le téléchargement reste disponible pour lecture ; utilisez le mode manuel ci-dessous.
Mode manuel ou autre outil : joignez SKILL.md à une conversation, ou ouvrez-le dans un agent capable de lire les fichiers. Ajoutez les ressources annexes nécessaires. Il n’existe pas de dossier universel reconnu par tous les outils.
4. Faire un premier essai
Utilisez une entrée courte et fictive : un endpoint d’API, un petit document ou un brief d’interface. Dans une nouvelle conversation, joignez le fichier ou donnez son chemin à l’agent, puis adaptez cette demande :
Lis .skill-downloads/heal-skills-with-classified-feedback-mryiqio5/SKILL.md et applique ses instructions à cet exemple : [décrire une entrée de test]. Indique les fichiers, dépendances ou accès qui manquent. Produis le résultat demandé par la skill sans inventer de données ni exécuter de script non examiné.Résultat attendu : une sortie correspondant aux instructions de la skill, ou une liste précise des prérequis manquants. Une simple confirmation de lecture ne valide pas le premier usage. Si une ressource externe est indisponible, ce parcours reste à tester.
Bonnes pratiques React Hook Form
Developpement
Maîtrisez React Hook Form : évitez les anti-patterns, gérez les abonnements, et traitez correctement reset, dirty state et entrées contrôlées.
Migration Emotion vers Mantine
Developpement
Migrer les styled-components Emotion vers des composants Mantine avec style props et modules CSS. Pour convertir .styled.tsx ou supprimer les imports @emotion.
Détecteur de dérive de périmètre
Developpement
Analyse les diffs git par rapport à une intention pour détecter la dérive de périmètre, fichiers non liés et PR trop larges, puis suggère de garder, diviser ou justifier.