Feature/Library-System/SKILL.md
MUST use when saving to the library, loading from the library, searching for existing knowledge, installing pre-made items, or when about to create a new library entry. Also triggers when user says 'save library', 'load library', 'check library', 'search library', 'install item', 'install library item', 'do we have', 'is there a pattern for', 'find in library', or when the AI independently decides to save reusable knowledge.
npx skillsauth add kiyoraka/project-ai-memorycore libraryInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
Save, search, and reuse knowledge across projects — never solve the same problem twice
When interacting with the knowledge library, output:
"Knowledge recalled. Scanning the shelves..."
Then perform a dynamic library scan before any save operation.
| Context | Status | |---------|--------| | User says "save library", "save to library" | ACTIVE — search + save protocol | | User says "load library", "check library" | ACTIVE — search + load protocol | | User says "install item [name]" | ACTIVE — item install protocol | | User says "do we have", "is there a pattern for" | ACTIVE — search only | | AI identifies reusable knowledge worth saving | ACTIVE — suggest save | | Casual conversation | DORMANT — no library action | | No library directory found | DORMANT — warn and skip |
Always discover the library structure at runtime — never hardcode sections or entries:
library/ for all subdirectories (excluding formats/) — these are sections*.md files (excluding README.md) — these are entrieslibrary/)New sections and entries are automatically detected — zero config needed.
Not all systems are the same. The library considers the current project context when suggesting knowledge:
| Factor | Check | |--------|-------| | Tech stack | Does the entry match? (Laravel entry for a Laravel project, not for Spring Boot) | | Domain | Does the business domain align? (payment pattern for e-commerce, not for static site) | | Scale | Is it appropriate for the project size? (Kafka for 50 users is overkill) | | Complexity | Would it over-engineer the solution? (Redis caching for 20 records is unnecessary) |
Working on: Task Management System (Laravel + Vue, small-medium scale)
Suitable from library:
- security/laravel-sanctum-rbac.md — auth pattern fits
- integration/digitalocean-spaces-laravel.md — file storage fits
Not suitable:
- architecture/kafka-extreme-scale-pattern.md — overkill for this scale
- integration/payment-gateway.md — no payment needed in task system
Library Search Results
----------------------
Keywords: [extracted keywords]
Library: [count] entries across [count] sections
Current Project: [project name + tech stack]
Matches Found (Suitable):
- library/section/entry-name.md — [why it fits this project]
Matches Found (Not Suitable):
- library/section/entry-name.md — [why it doesn't fit: scale/domain/stack mismatch]
No Match In:
- [sections with no relevant entries]
Recommendation:
- [CREATE NEW / UPDATE EXISTING / REFERENCE ONLY]
- [IMPLEMENT / SKIP — for project-specific suggestions]
| Scenario | Recommendation | |----------|---------------| | No filename/keyword matches | CREATE NEW entry | | Filename similar but different scope | CREATE NEW (note the related entry) | | Content overlaps significantly | UPDATE EXISTING entry | | Content already fully covered | REFERENCE ONLY — skip save | | Entry exists but wrong scale/domain | SKIP — not suitable for current project | | Entry exists and fits perfectly | IMPLEMENT — use this pattern |
When creating a NEW library entry (after search recommends CREATE NEW):
Pick the best matching section based on content type:
| Content Keywords | Section |
|-----------------|---------|
| System design, patterns, diagrams, architecture | architecture |
| UI components, Vue/React, reusable elements | component |
| Schema, migrations, queries, relationships | database |
| Flowcharts, sequence diagrams, visual flows | diagram |
| Third-party API, SDK, webhook, external service | integration |
| Auth, RBAC, encryption, guards, middleware | security |
| Colors, CSS, Tailwind, glassmorphism, fonts | theme |
| CI/CD, deployment, pipelines, automation | workflow |
If content clearly matches — auto-pick (trust-based, no confirmation needed). If truly ambiguous — pick closest match, note in save confirmation.
Auto-read the matching format from the library's formats directory:
library/formats/
├── architecture-format.md
├── component-format.md
├── database-format.md
├── diagram-format.md
├── integration-format.md
├── security-format.md
├── theme-format.md
└── workflow-format.md
Path: library/formats/[section]-format.md
Use the loaded template's structure:
When installing a pre-made library entry from the library-items/ catalog:
"install item [name]" — install a specific item by name"install library item [name]" — explicit library item install"add item from catalog" — browse and pick an itemsecurity-headers)library-items/ for matching entry — search by filename keyword across all section folderslibrary/[section]/ — match by filenamelibrary-items/[section]/[filename].md to library/[section]/[filename].mdItem Install
------------
Item: [item name]
Section: [section name]
Source: library-items/[section]/[filename].md
Target: library/[section]/[filename].md
Status: Installed / Skipped (duplicate) / Not found
Available items in catalog:
- [section]/[item-name] — [first line description]
After saving or updating a library entry, if the Auto-Commit System skill is installed:
If Auto-Commit is not installed, remind the user to commit manually.
| Situation | Behavior |
|-----------|----------|
| No library/ directory | Warn user: "Library directory not found. Run the install protocol first." |
| Empty library (no entries) | Skip search, go straight to CREATE NEW recommendation |
| Format template missing | Use generic markdown structure (title + overview + content + examples) |
| Entry name collision | Append numeric suffix (e.g., pattern-name-2.md) |
| User wants new section | Create the folder, note that no format template exists for it |
| Cross-section content | Pick primary section, note secondary relevance in the entry |
| Item not found in catalog | List all available items from library-items/ |
| Library not installed | Warn: "Library directory not found. Install Library System first." |
| Item already in library | Ask user: overwrite existing entry or skip |
library/formats/[section]-format.md, applies template structure to new entries. Trust-based section selection (no approval gate). Formats loaded on-demand, not embedded.library-items/ catalog. New commands: "install item [name]", "install library item", "add item from catalog". Scans catalog by filename keyword, shows preview, checks for duplicates in user's library, copies to correct section, chains commit. Catalog persists at project root (not deleted during Library System installation). (Origin: Public knowledge sharing for AI MemoryCore community)development
MUST use when user says 'copy plan', 'append plan', 'resume plan', 'load plan', 'start the plan', 'continue the plan', 'execute plan', 'run the plan', 'pick up where we left off', or when the AI exits plan mode and needs to transfer the plan into execution format. This skill manages the full lifecycle of project plans — from plan output to tracked checkbox execution with per-todo commits.
data-ai
MUST use when user says 'save topic', 'save to topic diary', 'remember this under', 'review topic', 'list topics', or when a generic 'save' request needs routing between session memory, daily diary, topic diary, or all targets.
documentation
Auto-triggers when user says 'create songs', 'new album', 'create album', 'make music', 'muse this', 'write a song', 'create a song', 'compose', 'song from image', 'album from image', 'generate album', 'write songs', or when user shares an image and wants to create music from it.
tools
# 📋 Session Briefing — Skill Plugin ## Skill Name Session Briefing ## Trigger Words - Session start (automatic — fires before first response) - `"brief"` - `"session brief"` - `"what did we do last time"` - `"where did we leave off"` ## Suppress Trigger - `"skip brief"` — suppresses for this session only ## Activation Condition Fires automatically at the start of every new conversation session, before processing the user's first message. ## Behavior 1. Read `main/current-session.md` — extr