save-bugfix — independently scanned and version-tracked by SaferSkills.
SaferSkills independently audited save-bugfix (Agent Skill) and scored it 100/100 (green). The audit ran 55 deterministic rules across Security, Supply Chain, Maintenance, Transparency, and Community; it found 0 high-severity and 0 lower-severity findings. The full rule-by-rule trace and per-finding evidence are below. Free, methodology-open.
Findings & checks · 0 flagged
Every scanned point with the score it earned and what moved between them.
First recorded scan — no prior version to compare against.
The primary manifest — the file an agent reads to learn what this artifact does.
Every team wastes hours re-debugging problems that someone already solved. The fix lives in someone's head, buried in Slack, or attached to an old Jira ticket nobody can find. CogmemAi solves this: every bugfix gets saved as a searchable memory, and every new bug starts with a search instead of from-scratch debugging.
This skill is the save half of that loop. Pair it with the search-before-debugging skill for the recall half.
Trigger immediately on any of these signals:
Do not wait for the user to ask. Save proactively the moment the fix is verified.
Use save_memory with memory_type: "bug" and capture all four parts. Skipping any of them makes the memory useless for future recall.
The exact error message or observable behavior. Future-you will search for this. Include:
The actual underlying reason, not the surface trigger. "Login failed because the JWT signing key was rotated last week but the auth service cached the old key in memory." Not "login failed."
The concrete change. Include the file path and the nature of the edit. "Added a 60-second TTL to the JWT key cache in src/auth/keystore.ts." Not "fixed the cache."
One sentence on the mechanism so future readers can judge whether the same fix applies to a similar bug. "Forces re-fetch when keys rotate, at the cost of one extra round trip per minute under load."
save_memory({
content: "BUG: Stripe webhook handler returned 500 on every event after the May 13 deploy. Symptom: 'Cannot read properties of undefined (reading id)' in the logs. ROOT CAUSE: Stripe SDK was upgraded from 14.x to 17.x; in 17.x, the event payload moved from event.data.object.id to event.data.object.metadata.checkout_session_id. FIX: Updated webhook-handler.ts:42 to use the new path and added a runtime guard. WHY IT WORKS: matches the new SDK shape and fails loudly if the path changes again.",
memory_type: "bug",
importance: 8,
scope: "project",
tags: ["stripe", "webhooks", "sdk-upgrade"]
})| Score | Use For |
|---|---|
| 9-10 | Production-down incidents, security vulnerabilities, data-loss bugs |
| 7-8 | Bugs that took more than an hour to find, gotchas in widely-used code |
| 5-6 | Common gotchas, library quirks, environment-specific issues |
| 3-4 | Trivial typos, minor regressions caught immediately |
Tag generously so the memory surfaces from multiple search angles:
["auth"], ["stripe"], ["webhooks"]["typescript"], ["postgres"], ["sdk-upgrade"]["race-condition"], ["off-by-one"], ["null-pointer"]A future debugger searching any of those terms will find the fix.
If this bug is related to a previously saved one (same component, same root cause family, same migration), link them with link_memories. Linked memories surface together, building a network of related fixes.
If the bug is library-level (a Stripe SDK gotcha, a Next.js footgun, a Postgres quirk) and would apply to any project using the same library, call promote_memory to move it from project to global scope. Future projects benefit automatically.
save_task instead.search-before-debugging — the partner skill that searches for existing fixes before debugging from scratchcogmemai-memory — full reference for memory managementsave-context — broader context capture beyond bugfixesremember-this — for explicit user-stated preferences and decisions~30 seconds. Free. No account. Every finding cites a rule and a line of evidence.