ijfw-agents-md
Maintain canonical AGENTS.md (open spec). Trigger: 'agents.md', 'update AGENTS.md', or auto-fired by ijfw-team after agent…
Session-end auto-extraction of lessons, errors, fixes, and user feedback into structured memory. Fires at session end. Requires consent on first run.
Claude Code
$ npx -y skills add FerroxLabs/ijfw --skill ijfw-auto-memorize --agent claude-code
Codex
$ npx skills add FerroxLabs/ijfw --skill ijfw-auto-memorize -a codex -y
Cursor
$ npx skills add FerroxLabs/ijfw --skill ijfw-auto-memorize -a cursor -y
Gemini CLI
$ npx skills add FerroxLabs/ijfw --skill ijfw-auto-memorize -a gemini-cli -y
GitHub Copilot
$ npx skills add FerroxLabs/ijfw --skill ijfw-auto-memorize -a github-copilot -y
OpenCode
$ npx skills add FerroxLabs/ijfw --skill ijfw-auto-memorize -a opencode -y
Windsurf
$ npx skills add FerroxLabs/ijfw --skill ijfw-auto-memorize -a windsurf -y
name: ijfw-auto-memorize description: "Session-end auto-extraction of lessons, errors, fixes, and user feedback into structured memory. Fires at session end. Requires consent on first run."
Fires at session end. Reads deterministic signals captured during the session and synthesizes structured memories. Nothing leaves the machine unless the user explicitly configured an API model via `IJFW_AUTOMEM_MODEL`.
Before any synthesis, check `.ijfw/.automem-consent`:
For each signal cluster:
1. **Redact secrets first.** Call `redactSecrets()` from `mcp-server/src/redactor.js` on every field that came from transcript or tool output. 2. **Cap sizes.** Run `applyCaps` from `mcp-server/src/caps.js`. content ≤4KB, why/how ≤1KB, summary ≤120. 3. **Dedupe.** Use BM25 search (`mcp-server/src/search-bm25.js`) against `project-journal.md`. If score > 6 against an existing entry, skip (duplicate). 4. **Classify** into one of:
5. **Emit** via `ijfw_memory_store` MCP tool with fields:
`IJFW_AUTOMEM_MODEL` env var controls synthesis:
Default ship: unset. Deterministic signals still become memories; only the richer "what did I learn" synthesis is gated on an LLM budget.
One-line summary in the terminal: > *Stored 3 new memories: pagination-off-by-one fix, user prefers esbuild, stopped repeating rm -rf warnings.*
No summary on zero-emit sessions.
Every auto-stored entry carries `tags: [..., "auto-memorize"]`. The `/ijfw memory audit` command lists recent auto-entries for review/removal.
Resume normal mode after.
IJFW — It Just F*cking Works. Ferrox Labs' local-first infrastructure for AI coding agents: shared memory, smart routing, multi-AI cross-audits, disciplined workflow.
Maintain canonical AGENTS.md (open spec). Trigger: 'agents.md', 'update AGENTS.md', or auto-fired by ijfw-team after agent…
Terse conventional commits. Trigger: commit, git commit, /ijfw-commit
Use when a milestone is shipping and you need to archive its artifacts, generate a summary, and seed the next milestone. Trigger:…
Compress memory/context files into terse form. Trigger: /compress, compress file
Use when the user says: 'compute', 'crunch this', 'analyze logs', 'aggregate the data', 'run a script', 'dedupe', 'count by',…
IJFW efficiency layer -- smart output, routing, context discipline. Always active. Trigger: any IJFW interaction. Disable: 'ijfw…
You MUST use this before any creative work - creating features, building components, adding functionality, modifying behavior, or…
Ask which skill or flow fits your situation. A router over the skills in this repo.