一键导入
ai-memory-setup
Detect, resolve, and manage the Alex_ACT_Memory shared memory bus. Fires on bootstrap, session start (announcements), and feedback writes.
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
菜单
Detect, resolve, and manage the Alex_ACT_Memory shared memory bus. Fires on bootstrap, session start (announcements), and feedback writes.
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
基于 SOC 职业分类
Generate current-brand Alex SVG banners with the canonical x-loop and navy/emerald/teal/cyan palette. Use for READMEs, plans, notes, and release artifacts.
Greeting-triggered self-check — recognise greetings, check Edition version against the upstream tag, scan AI-Memory announcements, and report inside the greeting reply
Use VS Code 1.127+ browser tools (open_browser_page, screenshot_page, click_element, navigate_page, run_playwright_code) to reach content plain fetch_webpage can't hit (bot-protected sites, JavaScript-rendered pages, interactive gates) and to validate visual/design output via screenshot-driven review.
Convert Word documents (.docx) to clean Markdown with image extraction and pandoc cleanup
Convert HTML documents to clean Markdown via pandoc
Convert Markdown to RFC 5322 email (.eml) with inline CSS and CID images
| name | ai-memory-setup |
| description | Detect, resolve, and manage the Alex_ACT_Memory shared memory bus. Fires on bootstrap, session start (announcements), and feedback writes. |
| lastReviewed | "2026-07-11T00:00:00.000Z" |
Alex_ACT_Memory is a local-first repo (sibling clone at ../Alex_ACT_Memory) where ACT heirs exchange feedback, announcements, knowledge, and optional encrypted profile data. A remote is optional and sharing is the user's decision. This skill covers resolution, bootstrapping, and ongoing read/write operations.
resolveMemoryBus(repoRoot) is read-only by default: it returns the existing
../Alex_ACT_Memory sibling or null. It does not pull, clone, or scaffold.
Explicit setup callers may pass { mutate: true }, enabling this sequence:
git cloneThe mutation gate preserves user control. Session checks do not create a remote, clone, scaffold, or pull merely because Memory was mentioned.
../Alex_ACT_Memory/
README.md
announcements/ # Fleet-wide release notes and guidance
README.md
feedback/ # Heir friction reports
README.md
knowledge/ # Shared knowledge packages
index.json
README.md
profile/ # Protected encrypted profiles
<username>/user-profile.encrypted.json
insights/ # Analytical insights
docs/
MIGRATION.md # OneDrive → git migration guide
On session start, resolve the existing sibling via resolveMemoryBus(repoRoot). If found:
announcements/ for unread filesIf the sibling is absent: note silently, do not prompt or create it.
Handled only when bootstrap setup enables Memory. bootstrap-heir.cjs calls
resolveMemoryBus(targetAbs, { mutate: SETUP_MEMORY }); cloning or scaffolding
therefore occurs only when the setup flag is true.
To manually resolve:
node .github/scripts/_registry.cjs --resolve .
When the heir observes friction worth surfacing:
feedback/YYYY-MM-DD-<heir-id>-<short-slug>.mdcross-project-isolation.instructions.mdOn session start (triggered by greeting-checkin.instructions.md):
announcements/ (skip README.md)User profiles live at profile/<username>/user-profile.encrypted.json. Read on demand via readProfile(memoryRoot, { projectRoot }); write locally via writeProfile(memoryRoot, profile, { projectRoot }). Both resolve ALEX_ACT_MEMORY_PASSWORD from the process environment, an explicit file, the authorized project's local .env, then the sibling Memory clone's local .env.
Every .env must be ignored and untracked in the repository that owns it. Edition verifies ignore status before reading. Project values override Memory values. Missing authorization returns no profile; wrong passwords or tampering fail closed. Profile functions never commit or push. The user decides whether to synchronize the encrypted envelope.
Explicit workflows may call readMemorySecret(memoryRoot, variableName, { projectRoot }) for one exact variable. The API never enumerates or imports Memory .env, mutates process.env, prints values, or runs during greeting. Use project-local overrides, VS Code SecretStorage, or an enterprise secret manager when all heirs on the machine should not share a secret.
_registry.cjs)| Function | Purpose |
|---|---|
resolveMemoryBus(repoRoot?, options?) | Returns the sibling or null by default; { mutate: true } enables pull/clone/scaffold |
scaffoldMemoryRepo(memoryPath) | Creates minimal folder structure + git init |
readMemorySecret(memoryRoot, variableName, options?) | Returns one exact named local secret using process/explicit/project/Memory precedence |
readProfile(memoryRoot, options?) | Decrypts an authorized profile on demand, or returns null when absent/unavailable |
writeProfile(memoryRoot, profile, options?) | Writes an encrypted envelope locally and atomically; never commits or pushes |
node .github/scripts/_registry.cjs --resolve [dir] # Resolve memory bus
node .github/scripts/_registry.cjs --profile [dir] # Check authorized profile availability without printing content
Users upgrading from Edition <3.0.0 need a one-time migration:
Alex_ACT_Memory as a sibling: git clone https://github.com/fabioc-aloha/Alex_ACT_Memory.git ../Alex_ACT_Memory<cloud-drive>/AI-Memory/ to the new repoai_memory_root and ai_memory_exclude from cognitive-config.json../Alex_ACT_Memory/docs/MIGRATION.md| Anti-pattern | Correction |
|---|---|
| Hardcoding an absolute path to memory | Use read-only resolveMemoryBus(); opt into mutation only during explicit setup |
| Writing feedback without stripping project context | Always apply cross-project-isolation before writing |
| Reading feedback as a heir | Feedback is for the Supervisor; heirs read announcements only |
Calling scaffoldMemoryRepo directly | Use resolveMemoryBus(..., { mutate: true }) during explicit setup |
| Expecting OneDrive/iCloud/Dropbox discovery | Removed in Edition 3.0.0; memory bus is git-only now |
| Assuming Memory must have a remote | Local-only is valid; configuring or sharing a remote belongs to the user |
| Keeping secrets in tracked files or copying them across heirs | Use exact-name lookup from an ignored project or Memory .env, SecretStorage, or an enterprise secret manager |
Importing every Memory .env variable | Request one exact variable for one explicit operation |
| Automatically loading a profile on greeting | Decrypt only when an authorized workflow explicitly needs it |
scaffoldMemoryRepo produces repos that can't later accept a remote and sync_registry.cjs exports change and this skill references obsolete functions