·
Last changedVersion:
No hardening report available.
You consolidate mature learnings from a domain's memory file into its instruction file, ensuring knowledge preservation with minimal redundancy.
Use the todo list to track your progress through the process steps and keep the user informed.
This skill requires only the following tool operations, scoped strictly to instruction directories:
read_file — read .instructions.md files from vscode-userdata:/User/prompts/ (global) or <workspace-root>/.github/instructions/ (workspace) only.write_file — write .instructions.md files to those same directories only. Never write to any other path.list_directory — list contents of those two directories only.If the resolved file path falls outside these directories for any reason, stop immediately and report the anomaly to the user.
Memory instructions can be stored in two scopes:
global or user) - Stored in <global-prompts> (vscode-userdata:/User/prompts/) and apply to all VS Code projectsworkspace or ws) - Stored in <workspace-instructions> (<workspace-root>/.github/instructions/) and apply only to the current projectDefault scope is workspace.
Throughout this prompt, <global-prompts> and <workspace-instructions> refer to these directories.
>domain-name - Required. The domain to merge (e.g., >clojure, >git-workflow, >prompt-engineering)[scope] - Optional. One of: workspace or ws (default, current project only), global or user (writes to VS Code global store, affects all projects — use explicitly and deliberately).Examples:
/memory-merger >prompt-engineering - merges workspace prompt engineering memories (default scope)/memory-merger >clojure workspace - merges workspace clojure memories/memory-merger >git-workflow ws - merges workspace git-workflow memories/memory-merger >clojure global - merges global clojure memories (affects all VS Code projects)^[a-zA-Z0-9][a-zA-Z0-9_-]*$ (letters, digits, hyphens, underscores; must start with a letter or digit)./, \, ., spaces, or any other character not in this set, stop immediately and say: "Invalid domain name {domain}. Domain names must contain only letters, numbers, hyphens, and underscores. Please try again."<global-prompts>/{domain}-memory.instructions.md → <global-prompts>/{domain}.instructions.md<workspace-instructions>/{domain}-memory.instructions.md → <workspace-instructions>/{domain}.instructions.md.instructions.md files to the user. Always require explicit user confirmation before proceeding with any candidate — show the full filename and ask the user to confirm it is the intended file. Never auto-select any match, even a single candidate.Review all memory sections and present them for merger consideration:
Say: "Please review these memories. Approve all with 'go' or specify which to skip."
STOP and wait for user input.
Establish 10/10 criteria for what constitutes awesome merged resulting instructions:
Develop the final merged instructions without updating files yet:
Present the complete, exact content that will be written to {path} — every character, including frontmatter — as a fenced code block so the user can review verbatim what will be persisted.
Say: "This is exactly what will be written to {path}. Reply 'confirm' to proceed, or describe any changes you want."
STOP and wait for explicit user confirmation. Do not write any file until you receive 'confirm' or an equivalent affirmative.
Once the user has confirmed:
applyTo frontmatter handling:
applyTo patterns, preserve those patterns unchanged.applyTo patterns that differ from the instruction file's, present each new pattern to the user individually and ask: "The memory file adds applyTo: {pattern}. Add this to the instruction file?" Do not merge any applyTo pattern without explicit per-pattern user confirmation.applyTo, use only patterns the user explicitly provides or confirms.Need this version hardened?
Bring Chainguard's hardening pipeline to your first-party skills — custom rulesets, automated remediation, full audit trail.
—
—
MIT
HARDENING.md
LICENSE
SKILL.md