with one click
sniper-learn
Submit, review, or deprecate project learnings
Install with Codex or Claude Copy this prompt, paste it into Codex, Claude, or another assistant, and let it review the skill page and install it for you.
Menu
Submit, review, or deprecate project learnings
Install with Codex or Claude Copy this prompt, paste it into Codex, Claude, or another assistant, and let it review the skill page and install it for you.
Based on SOC occupation classification
Execute a SNIPER protocol — the core execution engine
Initialize SNIPER v3 in a new or existing project
Show current SNIPER protocol progress
Manually trigger a review gate for the current phase
| name | sniper-learn |
| description | Submit, review, or deprecate project learnings |
| arguments | [{"name":"learning","description":"The learning to submit (e.g., \"Always validate JWT expiry before checking permissions\")","required":false},{"name":"review","description":"Review and curate existing learnings","required":false,"type":"boolean"},{"name":"deprecate","description":"Learning ID to deprecate (e.g., L-20260307-a3f2)","required":false}] |
Manage the SNIPER learning store. Submit new learnings from experience, review existing learnings, or deprecate outdated ones.
--review given? → Review mode
--deprecate <id> given? → Deprecate mode
learning text given? → Submit mode
Nothing given? → Submit mode (prompt for learning text)
Submit a new learning from human experience or observation.
Capture the learning text from the argument or prompt the user:
Ask clarifying questions (present as multi-select, all optional):
src/api/**, *.test.tsAsk for anti-pattern and correction (optional):
Create the learning record:
id: L-{YYYYMMDD}-{4-char-hex}
status: active
confidence: 0.9
created_at: {ISO 8601}
updated_at: {ISO 8601}
source:
type: human
detail: "Submitted via /sniper-learn"
learning: {learning text}
anti_pattern: {if provided}
correction: {if provided}
scope:
agents: {selected or null}
phases: {selected or null}
files: {selected or null}
applied_in: []
reinforced_by: []
contradicted_by: []
history:
- timestamp: {ISO 8601}
event: created
actor: human
Write to .sniper/memory/learnings/{id}.yaml
Confirm: "Learning {id} created with confidence 0.9. It will be composed into agent prompts for matching phases/agents."
Review, curate, and manage existing learnings.
Spawn the memory-curator agent from .claude/agents/memory-curator.md
Present curator summary to the user
Show flagged items requiring human decision:
For each flagged item, ask the user:
Show final state:
Active learnings: N
Validated: N
Deprecated: N
Archived: N
Average confidence: X.XX
Deprecate a specific learning by ID.
.sniper/memory/learnings/{id}.yaml{id} not found."status: deprecatedconfidence: 0.0- timestamp: {ISO 8601}
event: human_invalidated
actor: human
detail: "Deprecated via /sniper-learn --deprecate"
{id} deprecated. It will no longer be composed into agent prompts.".sniper/memory/learnings/ — never to signals.sniper/memory/learnings/ doesn't exist, create it.sniper/memory/signals/ contains files, suggest running --review to migrate them