UNPKG

@stackmemoryai/stackmemory

Version:

Project-scoped memory for AI coding tools. Durable context across sessions with MCP integration, frames, smart retrieval, Claude Code skills, and automatic hooks.

274 lines 10.7 kB
{ "$schema": "./skill-rules.schema.json", "version": "2.0", "config": { "minConfidenceScore": 3, "showMatchReasons": true, "maxSkillsToShow": 5 }, "scoring": { "keyword": 2, "keywordPattern": 3, "pathPattern": 4, "directoryMatch": 5, "intentPattern": 4, "contentPattern": 3, "contextPattern": 2 }, "directoryMappings": { "src/core": "frame-management", "src/cli": "cli-commands", "src/integrations/linear": "linear-integration", "src/integrations/mcp": "mcp-server", "src/features/tui": "terminal-ui", "src/core/context": "context-bridge", "src/core/storage": "storage-tiers", "src/core/tasks": "task-management", ".claude": "claude-integration", ".github/workflows": "github-actions", "scripts": "build-scripts", "docs": "documentation" }, "skills": { "frame-management": { "description": "Frame stack and context management patterns", "priority": 9, "triggers": { "keywords": ["frame", "stack", "context", "framemanager", "push", "pop"], "keywordPatterns": ["\\bframe\\b", "\\bstack\\b", "context(?:Bridge)?"], "pathPatterns": ["**/frame-*.ts", "**/context/*.ts", "**/stack-*.ts"], "intentPatterns": [ "(?:manage|handle).*(?:frame|context)", "(?:push|pop).*(?:frame|stack)" ], "contentPatterns": ["FrameManager", "pushFrame", "popFrame", "getContext"] }, "relatedSkills": ["context-bridge", "storage-tiers"] }, "linear-integration": { "description": "Linear API integration and task sync", "priority": 8, "triggers": { "keywords": ["linear", "issue", "sync", "task sync", "oauth"], "keywordPatterns": ["\\blinear\\b", "\\bissue\\b", "sync.*task"], "pathPatterns": ["**/linear/**", "**/linear-*.ts"], "intentPatterns": [ "(?:sync|update).*(?:linear|issue)", "(?:linear).*(?:task|issue|sync)" ], "contentPatterns": ["LinearClient", "syncIssue", "createIssue"] } }, "mcp-server": { "description": "Model Context Protocol server implementation", "priority": 8, "triggers": { "keywords": ["mcp", "tool", "server", "protocol", "claude code"], "keywordPatterns": ["\\bmcp\\b", "model.context", "claude.code"], "pathPatterns": ["**/mcp/**", "**/mcp-*.ts", "**/tools/**"], "intentPatterns": [ "(?:implement|create).*(?:mcp|tool)", "(?:mcp).*(?:server|tool|protocol)" ], "contentPatterns": ["MCPServer", "registerTool", "@tool", "toolCall"] }, "relatedSkills": ["claude-integration"] }, "testing-patterns": { "description": "Jest testing and test infrastructure", "priority": 7, "triggers": { "keywords": ["test", "jest", "spec", "mock", "fixture"], "keywordPatterns": ["\\btest\\b", "\\bspec\\b", "\\bjest\\b"], "pathPatterns": ["**/*.test.ts", "**/*.spec.ts", "**/__tests__/**"], "intentPatterns": [ "(?:write|add|fix).*(?:test|spec)", "(?:test).*(?:coverage|suite)" ], "contentPatterns": ["describe\\(", "it\\(", "expect\\(", "jest\\.mock"] } }, "cli-commands": { "description": "CLI command implementation and structure", "priority": 7, "triggers": { "keywords": ["cli", "command", "yargs", "terminal", "console"], "keywordPatterns": ["\\bcli\\b", "\\bcommand\\b", "\\byargs\\b"], "pathPatterns": ["**/cli/**", "**/commands/**", "**/cli-*.ts"], "intentPatterns": [ "(?:add|create).*(?:command|cli)", "(?:cli).*(?:command|option|argument)" ], "contentPatterns": ["yargs", "command\\(", "option\\(", "argv"] } }, "storage-tiers": { "description": "3-tier storage system (Redis/Railway/GCS)", "priority": 7, "triggers": { "keywords": ["storage", "redis", "railway", "bucket", "tier", "cache"], "keywordPatterns": ["\\bstorage\\b", "\\btier\\b", "\\bredis\\b"], "pathPatterns": ["**/storage/**", "**/railway-*.ts", "**/redis-*.ts"], "intentPatterns": [ "(?:implement|configure).*(?:storage|tier)", "(?:migrate).*(?:data|storage)" ], "contentPatterns": ["RailwayOptimizedStorage", "StorageTier", "Redis"] } }, "context-bridge": { "description": "Cross-session context synchronization", "priority": 8, "triggers": { "keywords": ["bridge", "sync", "session", "shared context", "handoff"], "keywordPatterns": ["context.*bridge", "shared.*context", "handoff"], "pathPatterns": ["**/context-bridge*.ts", "**/shared-context/**"], "intentPatterns": [ "(?:sync|share).*(?:context|session)", "(?:handoff).*(?:session|context)" ], "contentPatterns": ["ContextBridge", "SharedContext", "syncContext"] }, "relatedSkills": ["frame-management"] }, "task-management": { "description": "Task creation, tracking, and persistence", "priority": 7, "triggers": { "keywords": ["task", "todo", "progress", "tracking", "pebbles"], "keywordPatterns": ["\\btask\\b", "\\btodo\\b", "pebbles"], "pathPatterns": ["**/tasks/**", "**/task-*.ts", "**/pebbles-*.ts"], "intentPatterns": [ "(?:create|manage).*(?:task|todo)", "(?:track).*(?:progress|task)" ], "contentPatterns": ["TaskManager", "createTask", "updateTask", "PebblesTaskStore"] } }, "terminal-ui": { "description": "Terminal UI with Ink and React", "priority": 6, "triggers": { "keywords": ["tui", "terminal", "ink", "dashboard", "monitor"], "keywordPatterns": ["\\btui\\b", "\\bink\\b", "terminal.*ui"], "pathPatterns": ["**/tui/**", "**/terminal-*.tsx", "**/dashboard/**"], "intentPatterns": [ "(?:create|build).*(?:tui|terminal)", "(?:dashboard|monitor).*(?:ui|interface)" ], "contentPatterns": ["ink", "Text", "Box", "useInput"] } }, "claude-integration": { "description": "Claude Code integration and hooks", "priority": 8, "triggers": { "keywords": ["claude", "hook", "skill", "auto-trigger", "clear survival"], "keywordPatterns": ["claude.*(?:code|hook)", "skill.*eval"], "pathPatterns": [".claude/**", "**/claude-*.ts", "**/hooks/**"], "intentPatterns": [ "(?:integrate|setup).*(?:claude)", "(?:hook|trigger).*(?:claude|skill)" ], "contentPatterns": ["UserPromptSubmit", "PreToolUse", "PostToolUse", "skill-eval"] }, "relatedSkills": ["mcp-server"] }, "build-scripts": { "description": "Build, deployment, and utility scripts", "priority": 5, "triggers": { "keywords": ["script", "build", "deploy", "npm", "package"], "keywordPatterns": ["\\bscript\\b", "\\bbuild\\b", "npm.*run"], "pathPatterns": ["scripts/**", "**/*.sh", "**/build/**"], "intentPatterns": [ "(?:create|write).*(?:script)", "(?:build|deploy).*(?:project)" ], "contentPatterns": ["#!/bin/bash", "npm run", "NODE_ENV"] } }, "documentation": { "description": "Documentation and API reference", "priority": 4, "triggers": { "keywords": ["docs", "documentation", "readme", "api", "reference"], "keywordPatterns": ["\\bdoc(?:s)?\\b", "readme", "api.*reference"], "pathPatterns": ["docs/**", "**/*.md", "**/README*"], "intentPatterns": [ "(?:write|update).*(?:doc|documentation)", "(?:document).*(?:api|feature)" ] } }, "github-actions": { "description": "CI/CD workflows and GitHub Actions", "priority": 6, "triggers": { "keywords": ["workflow", "action", "ci", "cd", "pipeline"], "keywordPatterns": ["github.*action", "ci.*cd", "\\bworkflow\\b"], "pathPatterns": [".github/workflows/**", ".github/**/*.yml"], "intentPatterns": [ "(?:create|setup).*(?:workflow|pipeline)", "(?:ci|cd).*(?:setup|configure)" ], "contentPatterns": ["runs-on:", "uses:", "steps:"] } }, "code-quality": { "description": "Code review and quality checks", "priority": 8, "triggers": { "keywords": ["review", "lint", "quality", "eslint", "prettier"], "keywordPatterns": ["code.*review", "\\blint\\b", "quality.*check"], "intentPatterns": [ "(?:review|check).*(?:code|quality)", "(?:fix).*(?:lint|formatting)" ] } }, "performance-optimization": { "description": "Performance analysis and optimization", "priority": 7, "triggers": { "keywords": ["performance", "optimize", "slow", "bottleneck", "profile"], "keywordPatterns": ["\\bperf\\b", "optimiz", "bottleneck"], "intentPatterns": [ "(?:optimize|improve).*(?:performance|speed)", "(?:debug|fix).*(?:slow|performance)" ], "contentPatterns": ["performance\\.now", "console\\.time", "profiler"] } }, "spec-generator": { "description": "Iterative spec document generation (one-pager, dev-spec, prompt-plan, agents)", "priority": 8, "triggers": { "keywords": ["spec", "one-pager", "dev-spec", "prompt-plan", "agents.md", "scaffold"], "keywordPatterns": ["\\bspec\\b", "one.pager", "dev.spec", "prompt.plan"], "pathPatterns": ["docs/specs/**", "**/AGENTS.md", "**/ONE_PAGER.md", "**/PROMPT_PLAN.md"], "intentPatterns": [ "(?:generate|create).*(?:spec|one-pager|dev-spec)", "(?:spec).*(?:generate|validate|update|list)" ], "contentPatterns": ["SpecGeneratorSkill", "ONE_PAGER", "DEV_SPEC", "PROMPT_PLAN"] }, "relatedSkills": ["linear-task-runner"] }, "linear-task-runner": { "description": "Execute Linear tasks via RLM orchestrator", "priority": 8, "triggers": { "keywords": ["linear-run", "run task", "execute task", "task runner", "ralph linear"], "keywordPatterns": ["linear.run", "run.*task", "task.*runner"], "pathPatterns": ["**/linear-task-runner.ts"], "intentPatterns": [ "(?:run|execute).*(?:linear|task)", "(?:linear).*(?:run|execute|next|all)" ], "contentPatterns": ["LinearTaskRunner", "runNext", "runAll", "runTask"] }, "relatedSkills": ["spec-generator", "linear-integration"] } } }