{"id":"c4247523-0bcd-4280-b1c1-fa30c6649f59","shortId":"Kq6z6Q","kind":"skill","title":"recallloom","tagline":"Use when a task involves continuing a project, restoring project context, maintaining file-based project memory, updating current-state summaries, or recording meaningful progress across sessions. Works best for long-horizon, file-based projects and supports research writing, pro","description":"# RecallLoom\n\nRecallLoom is a portable context harness for session-based agents.\n\nIt provides a lightweight file model for project continuity across sessions without requiring heavy infrastructure.\n\nThe goal is not to remember everything. The goal is to keep the right project state durable, readable, and recoverable across sessions.\n\n## Package Scope\n\nThis file is the agent-facing entrypoint for the installable `recallloom/` skill package.\n\nInstall and trigger this package through your host agent's normal skill discovery flow.\nRecallLoom itself does not require a custom host-specific launcher inside the package.\nThe package may still ship optional native wrapper templates for supported hosts.\n\nThis installable package is intentionally kept lean.\nHuman-facing repository landing pages and marketing docs may exist upstream, but they are not bundled into the installed skill directory.\n\nFor package inventory, protocol details, and helper-script behavior, rely on the files that ship inside the package itself:\n\n- `managed-assets.json`\n- `package-metadata.json`\n- `references/file-contracts.md`\n- `references/operation-playbooks.md`\n- `references/package-support-policy.md`\n- `references/protocol.md`\n\n## Package Facts\n\n<!-- RecallLoom metadata sync start: package-metadata -->\n- package version: `0.3.5`\n- protocol version: `1.0`\n- supported protocol versions:\n  - `1.0`\n<!-- RecallLoom metadata sync end: package-metadata -->\n\n## Runtime Assumptions\n\n<!-- RecallLoom metadata sync start: runtime-assumptions -->\n- Python 3.10 or newer\n- supported workspace languages:\n  - `en`\n  - `zh-CN`\n- supported bridge targets:\n  - `AGENTS.md`\n  - `CLAUDE.md`\n  - `GEMINI.md`\n  - `.github/copilot-instructions.md`\n<!-- RecallLoom metadata sync end: runtime-assumptions -->\n\n## Package Support Gate\n\nRecallLoom package support is separate from project sidecar protocol compatibility.\n\nHelpers perform a lightweight daily package-support check, scoped by installed package path and cached in the user cache.\nSupport state is not written into project `.recallloom/`.\n\nIf the current package is `readonly_only`, mutating helpers are blocked while diagnostic and read-only helpers remain available.\nIf it is `diagnostic_only`, only diagnostic helpers should continue.\nIf the advisory cannot be refreshed and no usable cache exists, helpers use `unknown_offline` and do not hard-block solely because the network failed.\n\nWhen the gate blocks an action, it returns the shared failure contract with `blocked_reason: package_support_blocked` and a `package_support` object.\nSee `references/package-support-policy.md` for the advisory schema, action levels, cache behavior, and environment overrides.\n\n## Write Protocol Red Lines\n\n- For managed sidecar writes, use the concrete helper scripts. Do not bypass them with blind file replacement, blind patching, or by hand-building sidecar files.\n- Managed sidecar daily-log writes must go through `append_daily_log_entry.py` or the dispatcher `append` command. Do not handwrite `daily-log-entry` markers in managed daily logs during normal operation.\n- For the current package line on protocol `1.0`, daily-log entry counters are file-local: `entry-seq` is the contiguous `1..N` sequence inside one daily log file, and helper-generated canonical `entry-id` is `entry-{entry_seq}`. Do not treat either as a cross-file global counter or globally unique id.\n- Keep `state.json.daily_logs.entry_count` as `entry_count`. Its protocol `1.0` meaning is the number of entry markers in the latest active daily log file, not a global cumulative total, and this package line does not perform an `entry_count` to `latest_file_entry_count` schema migration.\n- If a helper write fails, follow this order: diagnose the failure, fix the cause, retry the helper, then surface or return the helper's blocked failure contract if the helper still cannot complete.\n- Never hand-edit `STORAGE_ROOT/state.json` or `STORAGE_ROOT/config.json` during normal operation. This includes `.recallloom/state.json` and `.recallloom/config.json`.\n- For overwrite-style managed files, use revision-aware helper commits and do not use blind file replacement.\n- The only acceptable manual exception is an explicit damaged-sidecar repair. In that case, repair the daily-log marker and state cursor as one consistency set: `entry-id`, `entry-seq`, `latest_entry_id`, `latest_entry_seq`, and `entry_count` must match the validator canonical interpretation, and `validate_context.py` must be rerun immediately.\n\n## When To Use It\n\nUse RecallLoom when you need to:\n\n- continue an existing project after a pause\n- restore project context from maintained files\n- maintain current-state project memory\n- record meaningful milestone progress\n- reduce context drift across sessions or tools\n\nTypical triggers include:\n\n- continue this project\n- restore project context\n- pick up where we left off\n- rl-init\n- update the project memory\n- record today’s progress\n- prepare a clean next-step handoff inside the maintained project files\n\n## First Attach Behavior\n\nOn first explicit invocation in a project, RecallLoom should not assume the workspace is already initialized.\n\nThe correct flow is:\n\n1. detect whether a valid RecallLoom sidecar already exists\n2. if it exists, continue normally without making initialization into extra ceremony\n3. if it does not exist, explain that the project is not initialized yet and ask whether initialization should be performed\n4. if the user explicitly confirms, or directly says `rl-init`, run the standard initialization action\n5. if the environment cannot provide Python `3.10+`, stop with a blocked runtime result instead of hand-building a sidecar\n\nFor this package, the intended initialization action is:\n\n- initialize the sidecar\n- validate the workspace\n- return the next recommended actions\n\nThis means `rl-init` should be treated as a stable high-level action name, even in hosts that do not expose it as a native slash command.\n\n## Current Action Surface\n\nFor the current package line, the stable operator-facing wrapper targets are:\n\n- `rl-init`\n- `rl-resume`\n- `rl-validate`\n- `rl-status`\n\n`rl-init` is the primary operator-friendly first-attach action name.\nThe others are operator-facing stable action names that can be interpreted by the host agent or mapped into native custom commands when the host supports that surface.\n`rl-bridge` remains the canonical dispatcher/helper action label for bridge work, but this package line does not promise a universal native wrapper or deterministic first-hop routing for that label.\n\nThe dispatcher command surface also includes `quick-summary`, `append`, and `write`.\nUse `quick-summary` for low-latency current-state snapshots, `append --entry-json` for structured milestone logging, and `write --type ... --dry-run` before applying typed managed-file writes.\nThese dispatcher additions are optional for existing `v0.3.4` projects and do not change sidecar protocol `1.0`.\n\n## Initialized-Project Restore Contract\n\nWhen a host or agent sees a generic initialized-project restore request:\n\n1. check for a valid RecallLoom sidecar before broad skill fan-out\n2. if the sidecar is valid, route into the normal RecallLoom fast path\n3. let broader memory or workflow systems participate only when the sidecar is missing, conflicting, clearly insufficient, or the user explicitly asks for deeper review\n\nFor the current package line, `rl-resume` is the single stable operator-facing action name for that initialized-project restore checkpoint.\nNatural-language restore requests are still the primary public path.\nDo not invent a manual sidecar fallback or a host-local restore alias that is not backed by the package contract.\n\n## Public Interaction Rules\n\nRecallLoom should default to user task language, not implementation language.\n\n- Prefer “initialize”, “restore”, “import existing project reality”, “continue”, and “record progress”.\n- Do not lead with helper names, section keys, or the `coldstart` label unless the user is explicitly doing operator/debug work.\n- Keep the first response result-first and action-light: one clear next move is better than exposing routing details.\n- Do not invent a manual sidecar fallback when runtime requirements are missing; surface the blocked state and stop.\n\n## Fast And Deep Paths\n\nRecallLoom should treat fast path as the default interaction mode.\n\n- Fast path: smallest trustworthy source set, shortest interaction, lowest interruption cost.\n- Deep path: only when sources conflict, source coverage is insufficient, risk is too high for a direct recommendation, or the user explicitly asks for deeper review.\n- Host-memory inputs remain opt-in and hint-only; their presence should bias the agent toward explicit review instead of silent promotion.\n\nResume mode selection:\n\n- Use ambient `resume` or `status` when the next agent needs the normal tiered read-plan guidance before deciding what to read.\n- Use `resume --fast` when current-state orientation is enough and the next safe move can be chosen from `state.json` plus `rolling_summary.md`.\n- Use `resume --full` when stable framing, source-of-truth routing, or project-local `update_protocol.md` guidance is needed before action.\n- Keep daily-log evidence on demand through `query_continuity.py`; fast and full resume modes should not expand into daily logs by default.\n\n## Core File Model\n\nRecallLoom uses three primary memory layers:\n\n- `STORAGE_ROOT/context_brief.md`: stable project framing\n- `STORAGE_ROOT/rolling_summary.md`: overwrite-style current-state snapshot\n- `STORAGE_ROOT/daily_logs/YYYY-MM-DD.md`: append-only milestone evidence\n- `STORAGE_ROOT/config.json`: machine-readable workspace settings\n- `STORAGE_ROOT/state.json`: machine-readable sidecar state for concurrency-aware helpers\n- `STORAGE_ROOT/update_protocol.md`: recommended project-local override layer for read and write behavior\n\nFile responsibilities in one sentence:\n\n- `context_brief.md` explains what this project is and how it should be approached.\n- `rolling_summary.md` explains what is true right now.\n- `daily_logs/` explain what happened at milestone level.\n- `config.json` keeps storage and language settings stable.\n- `state.json` tracks workspace revision and helper-visible sidecar state.\n- `update_protocol.md`, when present, can narrow or strengthen the default read/write rules for this specific project.\n\n`STORAGE_ROOT` is one of:\n\n- `PROJECT_ROOT/.recallloom/` (default)\n- `PROJECT_ROOT/recallloom/` (optional visible sidecar)\n\nExactly one valid `STORAGE_ROOT` may exist for a project at a time.\n\nIf both sidecars exist, that is a conflict and tools should stop rather than guess.\n\nSee `references/file-contracts.md` for the detailed contract.\n\nMachine-readable markers, not heading labels, are the normative file contract.\n\nThis allows workspace files to stay localizable without breaking validation or integration.\n\nFor protocol `1.0`, supported workspace languages are limited to `en` and `zh-CN`.\n\n## Minimum Cold-Start Flow\n\n1. Find the project root.\n2. Read `STORAGE_ROOT/config.json`.\n3. Read `STORAGE_ROOT/state.json`.\n4. Read `STORAGE_ROOT/rolling_summary.md`.\n5. If `STORAGE_ROOT/update_protocol.md` exists, surface it before expanding beyond the minimum continuity set.\n6. Read `STORAGE_ROOT/context_brief.md` only when the current task needs framing, scope, source-of-truth, or phase context that the summary does not already cover.\n7. Read the latest active daily log only when milestone evidence, workday judgment, or external-writer reconciliation requires it.\n8. Run a quick freshness check before trusting older context or before a major write.\n\nCold start should restore and judge first.\nIt should not automatically continue `next_step` or execute project work just because continuity files were read.\n\nSee `references/operation-playbooks.md` for the full flow.\n\n## Current Read-Side Helpers\n\nThis package line now has three read-side helper directions worth knowing:\n\n- `preflight_context_check.py`\n  - revision-aware freshness review before formal writes\n  - returns handoff-first digests, suggested read targets, write-tier guidance, and trust/drift state\n- `summarize_continuity_status.py`\n  - ambient continuity status surface using the same freshness baseline\n  - returns the same handoff-first digest family plus shared workday-state and trust/drift guidance for quick orientation\n- `query_continuity.py`\n  - read-only continuity recall surface\n  - returns answer-first recall with `answer`, supporting citations, and a risk/freshness note\n  - also returns hits, token estimate, budget hint, freshness/conflict state, trust/drift state, an output variant label, and override review targets\n  - daily-log citations include explicit `date` values\n  - prefers current-state files over historical daily logs when match strength ties\n  - defaults to the quick freshness path, but can explicitly upgrade to a fuller freshness scan when needed\n  - can explicitly surface freshness conflicts when the workspace has moved beyond the current summary\n  - explicitly surfaces freshness risk via `freshness_risk_level` and `freshness_risk_note`\n  - surfaces `update_protocol.md` as a review target before recall should drive write decisions\n  - keeps `supporting_context_window` bounded instead of expanding every matching excerpt\n\nAll attach-safe continuity text returned through these read-side surfaces is expected to respect the shared attached-text scan rules.\n\n## Minimum Write Rules\n\n- Before choosing a write target, read `STORAGE_ROOT/update_protocol.md` if it exists.\n- Update the rolling summary for current-state changes.\n- Update `context_brief.md` only for high-level framing changes.\n- Update the daily log only for milestone-level events.\n- Do not update context files for trivial reads or minor edits with no durable change.\n\nPractical interpretation:\n\n- `stable_rule`: usually `context_brief.md`\n- `current_state`: usually `rolling_summary.md`\n- New current-state fact or next-step change: usually `rolling_summary.md`\n- High-level mission or phase change: maybe `context_brief.md`\n- `milestone_evidence`: daily log only when a milestone actually happened\n- Deliverable completion or end-of-day milestone: daily log\n\nDefault exits before any write should stay explicit:\n\n- `no_write` is a normal successful result\n- `merge_current_state` updates `rolling_summary.md`\n- `append_milestone` appends to the daily log\n- `confirm` and `blocked` stop automatic writes rather than guessing\n\nRead-side trust notes:\n\n- `sidecar_trust_state` stays in helper JSON, not in protocol `1.0`\n- `continuity_drift_risk_level` is a review signal, not proof that the sidecar is damaged\n- `allowed_operation_level` helps hosts route low-risk read vs review-first vs write-after-preflight flows\n\nProject-local overrides may narrow the default read order, write order, or archive behavior, but they do not replace the core file contract.\n\n## Agent Layered Write Judgment\n\nBefore writing continuity content, the agent should make the layer decision itself.\nHelpers can provide safe write context and static write-tier guidance, but they must not replace agent judgment about what the content means.\n\nUse this quick consistency check before editing managed files:\n\n1. Is there a new durable fact, or is `no_write` the right result?\n2. If writing is needed, is the main content a `stable_rule`, `current_state`, or `milestone_evidence`?\n3. Does the event contain different facts that need a `multi_layer_split`?\n4. Does the target layer already contain the same fact, so the right action is merge instead of duplicate?\n5. Is the layer uncertain enough to `defer` or `confirm` rather than guess?\n\nLayer defaults:\n\n- `stable_rule`: long-lived workflow rules, source-of-truth routing, project boundaries, or recovery facts that should be known before reading current state. Default target: `context_brief.md`.\n- `current_state`: what is true now, including current phase, active risks, active judgments, and next steps. Default target: `rolling_summary.md`.\n- `milestone_evidence`: completed validations, approvals, releases, accepted decisions, or other durable evidence. Default target: daily log.\n- `no_write`, `defer`, and `confirm` are valid outcomes when no durable fact changed, the discussion is unstable, or the boundary needs explicit user approval.\n\nWhen more than one layer is valid, split different facts across layers.\nDo not copy the same sentence into multiple files.\n\nFor the detailed rules, conflict order, self-review template, and anonymized calibration cases, see `references/operation-playbooks.md`.\n\nFor protocol `1.0`, `update_protocol.md` is a human-reviewed override layer.\nPreflight, archive guidance, and thin-bridge guidance should surface it clearly, but helpers do not automatically execute its natural-language rules.\n\nRecallLoom prefers the smallest valid write set, not maximal updating.\n\nWhen deterministic write safety matters, keep the roles separate:\n\n- the agent decides what should change and prepares the content\n- the packaged helper scripts decide whether the write is still safe to apply\n\nFor overwrite-style files, follow the write red lines above; revision-aware helper commits are the normal write path.\n\nRevision-aware write helpers protect against stale writes, but they do not automatically reread `update_protocol.md` on every commit or append.\n\nPreflight checks may keep `context_brief.md` and existing daily logs out of the primary write-target list, but they should still surface them as conditional review targets when framing drift or milestone logging needs to be considered.\n\nWhen generating or maintaining workspace files, prefer the user's workspace language when it is one of the supported protocol `1.0` workspace languages (`en`, `zh-CN`).\n\n## When Not To Update Context\n\nDo not update context files just because:\n\n- you performed a cold start\n- you answered a short question with no durable project change\n- you explored without reaching a stable conclusion\n- you made wording-only edits\n\nThe protocol is designed to reduce noise, not to turn every session into documentation work.\n\n## Profiles\n\nRecallLoom currently provides four profiles:\n\n- `profiles/general-project-continuity.md`\n- `profiles/research-writing.md`\n- `profiles/product-doc-collaboration.md`\n- `profiles/software-project-coordination.md`\n\nProfiles do not replace the core protocol.\nThey are thin guidance layers that refine emphasis, evidence handling, and common drift risks for different project shapes.\n\nDefault rule:\n\n- use `general-project-continuity.md` by default\n- switch to a specialized profile only when the project shape is a high-confidence match\n- if you are unsure, do not guess; stay on the general profile\n\nUse the specialized profiles only when the primary artifact, working style, and likely drift risks clearly line up:\n\n- `research-writing.md`\n  - use when the work is driven by sources, claims, evidence, and long-form analytical writing\n- `product-doc-collaboration.md`\n  - use when the work is driven by PRDs, RFCs, strategy docs, scope decisions, or stakeholder-aligned product writing\n- `software-project-coordination.md`\n  - use when the work is driven by engineering planning, spec-to-implementation coordination, or repo-level software project continuity\n\nUse `general-project-continuity.md` when:\n\n- the project mixes multiple artifact types\n- the project is cross-functional rather than domain-pure\n- no specialized profile is an obvious fit\n- you need a stable fallback that preserves continuity without over-assuming the project shape\n\n## What RecallLoom Does Not Try To Be\n\nRecallLoom does not try to be:\n\n- a general-purpose memory server\n- a full agent execution runtime\n- a replacement for platform-specific instruction files\n- a heavy autonomous coding framework\n\nIt is the project continuity layer, not the whole agent stack.\n\n## Where To Read More\n\n- `references/protocol.md`\n- `references/file-contracts.md`\n- `references/operation-playbooks.md`\n- `references/anti-patterns.md`\n- `references/profiles.md`\n\n## License\n\nThis package is released under Apache License 2.0.","tags":["recallloom","recall","loom","frappucc1no","agent-skills","ai-agents","project-continuity","session-memory"],"capabilities":["skill","source-frappucc1no","skill-recallloom","topic-agent-skills","topic-ai-agents","topic-project-continuity","topic-session-memory"],"categories":["recall-loom"],"synonyms":[],"warnings":[],"endpointUrl":"https://skills.sh/Frappucc1no/recall-loom/recallloom","protocol":"skill","transport":"skills-sh","auth":{"type":"none","details":{"cli":"npx skills add Frappucc1no/recall-loom","source_repo":"https://github.com/Frappucc1no/recall-loom","install_from":"skills.sh"}},"qualityScore":"0.471","qualityRationale":"deterministic score 0.47 from registry signals: · indexed on github topic:agent-skills · 43 github stars · SKILL.md body (20,118 chars)","verified":false,"liveness":"unknown","lastLivenessCheck":null,"agentReviews":{"count":0,"score_avg":null,"cost_usd_avg":null,"success_rate":null,"latency_p50_ms":null,"narrative_summary":null,"summary_updated_at":null},"enrichmentModel":"deterministic:skill-github:v1","enrichmentVersion":1,"enrichedAt":"2026-05-18T18:58:13.940Z","embedding":null,"createdAt":"2026-04-29T13:05:05.577Z","updatedAt":"2026-05-18T18:58:13.940Z","lastSeenAt":"2026-05-18T18:58:13.940Z","tsv":"'0.3.5':209 '1':453,758,1068,1641,2252 '1.0':212,216,437,496,1049,1624,2143,2456,2629 '2':767,1081,1646,2266 '2.0':2944 '3':779,1094,1650,2283 '3.10':220,824 '4':800,1654,2296 '5':817,1658,2315 '6':1672 '7':1698 '8':1718 'accept':604,2383 'across':28,66,92,693,2427 'action':339,363,816,844,856,871,887,926,935,964,1134,1229,1402,2309 'action-light':1228 'activ':507,1702,2367,2369 'actual':2080 'addit':1036 'advisori':310,361 'agent':56,101,118,944,1059,1327,1346,2203,2212,2236,2508,2900,2925 'agent-fac':100 'agents.md':233 'alia':1167 'align':2812 'allow':1611,2159 'alreadi':752,765,1696,2301 'also':993,1854 'ambient':1339,1806 'analyt':2793 'anonym':2449 'answer':1843,1847,2654 'answer-first':1842 'apach':2942 'append':413,998,1013,1451,2112,2114,2571 'append-on':1450 'append_daily_log_entry.py':409 'appli':1028,2529 'approach':1503 'approv':2381,2416 'archiv':2192,2466 'artifact':2768,2844 'ask':794,1115,1306 'assum':748,2875 'assumpt':218 'attach':736,925,1962,1980 'attach-saf':1961 'attached-text':1979 'automat':1743,2123,2481,2564 'autonom':2913 'avail':297 'awar':592,1472,1784,2543,2553 'back':1171 'base':16,38,55 'baselin':1814 'behavior':188,366,737,1486,2193 'best':31 'better':1236 'beyond':1667,1921 'bias':1325 'blind':388,391,599 'block':288,328,337,347,351,557,828,1255,2121 'bound':1953 'boundari':2343,2412 'break':1618 'bridg':231,959,967,2471 'broad':1076 'broader':1096 'budget':1859 'build':397,835 'bundl':173 'bypass':385 'cach':265,269,317,365 'calibr':2450 'cannot':311,564,821 'canon':465,649,962 'case':616,2451 'caus':546 'ceremoni':778 'chang':1046,2006,2015,2040,2060,2069,2405,2512,2662 'check':258,1069,1723,2247,2573 'checkpoint':1142 'choos':1988 'chosen':1377 'citat':1849,1876 'claim':2787 'claude.md':234 'clean':725 'clear':1109,1232,2476,2775 'cn':229,1635,2635 'code':2914 'cold':1638,1733,2651 'cold-start':1637 'coldstart':1210 'command':414,885,950,991 'commit':594,2545,2569 'common':2719 'compat':249 'complet':565,2083,2379 'conclus':2669 'concret':380 'concurr':1471 'concurrency-awar':1470 'condit':2596 'confid':2746 'config.json':1519 'confirm':805,2119,2324,2397 'conflict':1108,1289,1584,1915,2442 'consid':2608 'consist':628,2246 'contain':2287,2302 'content':2210,2241,2274,2516 'context':12,50,676,691,705,1690,1727,1951,2029,2224,2640,2644 'context_brief.md':1492,2008,2046,2071,2357,2576 'contigu':452 'continu':7,65,307,667,700,771,1196,1670,1744,1753,1807,1838,1964,2144,2209,2836,2871,2920 'contract':345,559,1054,1175,1597,1609,2202 'coordin':2829 'copi':2431 'core':1425,2200,2706 'correct':755 'cost':1283 'count':490,493,525,530,644 'counter':442,483 'cover':1697 'coverag':1291 'cross':480,2850 'cross-fil':479 'cross-funct':2849 'cumul':514 'current':21,280,432,682,886,891,1010,1121,1365,1445,1679,1763,1883,1923,2004,2047,2053,2108,2278,2353,2358,2365,2693 'current-st':20,681,1009,1364,1444,1882,2003,2052 'cursor':625 'custom':130,949 'daili':254,403,419,425,439,458,508,620,1405,1421,1511,1703,1874,1888,2018,2074,2090,2117,2391,2579 'daily-log':402,438,619,1404,1873 'daily-log-entri':418 'damag':611,2158 'damaged-sidecar':610 'date':1879 'day':2088 'decid':1356,2509,2521 'decis':1948,2217,2384,2808 'deep':1261,1284 'deeper':1117,1308 'default':1181,1270,1424,1544,1558,1894,2092,2186,2329,2355,2374,2389,2726,2731 'defer':2322,2395 'deliver':2082 'demand':1409 'design':2679 'detail':183,1240,1596,2440 'detect':759 'determinist':981,2499 'diagnos':541 'diagnost':290,301,304 'differ':2288,2425,2723 'digest':1794,1821 'direct':807,1300,1778 'directori':178 'discoveri':122 'discuss':2407 'dispatch':412,990,1035 'dispatcher/helper':963 'doc':165,2806 'document':2689 'domain':2855 'domain-pur':2854 'dri':1025 'drift':692,2145,2601,2720,2773 'drive':1946 'driven':2784,2801,2821 'dry-run':1024 'duplic':2314 'durabl':88,2039,2257,2387,2403,2660 'edit':569,2036,2249,2675 'either':476 'emphasi':2715 'en':226,1631,2632 'end':2086 'end-of-day':2085 'engin':2823 'enough':1369,2320 'entri':421,441,448,467,470,471,492,502,524,529,631,634,637,640,643,1015 'entry-id':466,630 'entry-json':1014 'entry-seq':447,633 'entrypoint':103 'environ':368,820 'estim':1858 'even':873 'event':2025,2286 'everi':1957,2568,2686 'everyth':78 'evid':1407,1454,1708,2073,2282,2378,2388,2716,2788 'exact':1564 'except':606 'excerpt':1959 'execut':1748,2482,2901 'exist':167,318,669,766,770,784,1040,1193,1570,1580,1662,1997,2578 'exit':2093 'expand':1419,1666,1956 'expect':1974 'explain':785,1493,1505,1513 'explicit':609,740,804,1114,1216,1305,1329,1878,1902,1912,1925,2099,2414 'explor':2664 'expos':879,1238 'extern':1713 'external-writ':1712 'extra':777 'face':102,159,898,933,1133 'fact':206,2055,2258,2289,2305,2346,2404,2426 'fail':333,537 'failur':344,543,558 'fallback':1160,1247,2868 'famili':1822 'fan':1079 'fan-out':1078 'fast':1092,1259,1266,1273,1362,1412 'file':15,37,61,97,192,389,399,445,460,481,510,528,588,600,679,734,1032,1426,1487,1608,1613,1754,1885,2030,2201,2251,2437,2534,2614,2645,2910 'file-bas':14,36 'file-loc':444 'find':1642 'first':735,739,924,983,1222,1226,1739,1793,1820,1844,2172 'first-attach':923 'first-hop':982 'fit':2863 'fix':544 'flow':123,756,1640,1762,2178 'follow':538,2535 'form':2792 'formal':1788 'four':2695 'frame':1387,1438,1682,2014,2600 'framework':2915 'fresh':1722,1785,1813,1898,1907,1914,1927,1930,1934 'freshness/conflict':1861 'friend':922 'full':1384,1414,1761,2899 'fuller':1906 'function':2851 'gate':239,336 'gemini.md':235 'general':2758,2894 'general-project-continuity.md':2729,2838 'general-purpos':2893 'generat':464,2610 'generic':1062 'github/copilot-instructions.md':236 'global':482,485,513 'go':407 'goal':73,80 'guess':1591,2127,2327,2754 'guidanc':1354,1398,1801,1830,2230,2467,2472,2711 'hand':396,568,834 'hand-build':395,833 'hand-edit':567 'handl':2717 'handoff':729,1792,1819 'handoff-first':1791,1818 'handwrit':417 'happen':1515,2081 'har':51 'hard':327 'hard-block':326 'head':1603 'heavi':70,2912 'help':2162 'helper':186,250,286,295,305,319,381,463,535,549,555,562,593,1204,1473,1532,1767,1777,2138,2219,2478,2519,2544,2555 'helper-gener':462 'helper-script':185 'helper-vis':1531 'high':869,1297,2012,2064,2745 'high-confid':2744 'high-level':868,2011,2063 'hint':1320,1860 'hint-on':1319 'histor':1887 'hit':1856 'hop':984 'horizon':35 'host':117,132,149,875,943,953,1057,1164,1311,2163 'host-loc':1163 'host-memori':1310 'host-specif':131 'human':158,2461 'human-fac':157 'human-review':2460 'id':468,487,632,638 'immedi':656 'implement':1187,2828 'import':1192 'includ':579,699,994,1877,2364 'infrastructur':71 'init':714,811,861,904,916 'initi':753,775,791,796,815,843,846,1051,1064,1139,1190 'initialized-project':1050,1063,1138 'input':1313 'insid':135,195,456,730 'instal':106,110,151,176,261 'instead':831,1331,1954,2312 'instruct':2909 'insuffici':1110,1293 'integr':1621 'intend':842 'intent':154 'interact':1177,1271,1280 'interpret':650,940,2042 'interrupt':1282 'invent':1156,1243 'inventori':181 'invoc':741 'involv':6 'json':1016,2139 'judg':1738 'judgment':1710,2206,2237,2370 'keep':83,488,1220,1403,1520,1949,2503,2575 'kept':155 'key':1207 'know':1780 'known':2350 'label':965,988,1211,1604,1868 'land':161 'languag':225,1145,1185,1188,1523,1627,2486,2620,2631 'latenc':1008 'latest':506,527,636,639,1701 'launcher':134 'layer':1433,1481,2204,2216,2294,2300,2318,2328,2421,2428,2464,2712,2921 'lead':1202 'lean':156 'left':710 'let':1095 'level':364,870,1518,1932,2013,2024,2065,2147,2161,2833 'licens':2936,2943 'light':1230 'lightweight':60,253 'like':2772 'limit':1629 'line':373,434,519,893,972,1123,1770,2539,2776 'list':2588 'live':2334 'local':446,1165,1396,1479,2181 'localiz':1616 'log':404,420,426,440,459,509,621,1020,1406,1422,1512,1704,1875,1889,2019,2075,2091,2118,2392,2580,2604 'long':34,2333,2791 'long-form':2790 'long-horizon':33 'long-liv':2332 'low':1007,2166 'low-lat':1006 'low-risk':2165 'lowest':1281 'machin':1458,1465,1599 'machine-read':1457,1464,1598 'made':2671 'main':2273 'maintain':13,678,680,732,2612 'major':1731 'make':774,2214 'manag':375,400,424,587,1031,2250 'managed-assets.json':199 'managed-fil':1030 'manual':605,1158,1245 'map':946 'marker':422,503,622,1601 'market':164 'match':646,1891,1958,2747 'matter':2502 'maxim':2496 'may':140,166,1569,2183,2574 'mayb':2070 'mean':497,858,2242 'meaning':26,687 'memori':18,685,718,1097,1312,1432,2896 'merg':2107,2311 'migrat':532 'mileston':688,1019,1453,1517,1707,2023,2072,2079,2089,2113,2281,2377,2603 'milestone-level':2022 'minimum':1636,1669,1984 'minor':2035 'miss':1107,1252 'mission':2066 'mix':2842 'mode':1272,1336,1416 'model':62,1427 'move':1234,1374,1920 'multi':2293 'multipl':2436,2843 'must':406,645,653,2233 'mutat':285 'n':454 'name':872,927,936,1135,1205 'narrow':1540,2184 'nativ':144,883,948,978 'natur':1144,2485 'natural-languag':1143,2484 'need':665,1347,1400,1681,1910,2270,2291,2413,2605,2865 'network':332 'never':566 'new':2051,2256 'newer':222 'next':727,854,1233,1345,1372,1745,2058,2372 'next-step':726,2057 'nois':2682 'normal':120,428,576,772,1090,1349,2104,2548 'normat':1607 'note':1853,1936,2132 'number':500 'object':356 'obvious':2862 'offlin':322 'older':1726 'one':457,627,1231,1490,1554,1565,2420,2624 'oper':429,577,897,921,932,1132,2160 'operator-fac':896,931,1131 'operator-friend':920 'operator/debug':1218 'opt':1316 'opt-in':1315 'option':143,1038,1561 'order':540,2188,2190,2443 'orient':1367,1833 'other':929 'outcom':2400 'output':1866 'over-assum':2873 'overrid':369,1480,1870,2182,2463 'overwrit':585,1442,2532 'overwrite-styl':584,1441,2531 'packag':94,109,114,137,139,152,180,197,205,207,237,241,256,262,281,349,354,433,518,840,892,971,1122,1174,1769,2518,2938 'package-metadata.json':200 'package-support':255 'page':162 'particip':1101 'patch':392 'path':263,1093,1153,1262,1267,1274,1285,1899,2550 'paus':673 'perform':251,522,799,2649 'phase':1689,2068,2366 'pick':706 'plan':1353,2824 'platform':2907 'platform-specif':2906 'plus':1380,1823 'portabl':49 'practic':2041 'prds':2803 'prefer':1189,1881,2489,2615 'preflight':2177,2465,2572 'preflight_context_check.py':1781 'prepar':723,2514 'presenc':1323 'present':1538 'preserv':2870 'primari':919,1151,1431,2584,2767 'pro':44 'product':2813 'product-doc-collaboration.md':2795 'profil':2691,2696,2701,2736,2759,2763,2859 'profiles/general-project-continuity.md':2697 'profiles/product-doc-collaboration.md':2699 'profiles/research-writing.md':2698 'profiles/software-project-coordination.md':2700 'progress':27,689,722,1199 'project':9,11,17,39,64,86,246,276,670,675,684,702,704,717,733,744,788,1042,1052,1065,1140,1194,1395,1437,1478,1496,1550,1556,1559,1573,1644,1749,2180,2342,2661,2724,2740,2835,2841,2847,2877,2919 'project-loc':1394,1477,2179 'promis':975 'promot':1334 'proof':2153 'protect':2556 'protocol':182,210,214,248,371,436,495,1048,1623,2142,2455,2628,2677,2707 'provid':58,822,2221,2694 'public':1152,1176 'pure':2856 'purpos':2895 'python':219,823 'query_continuity.py':1411,1834 'question':2657 'quick':996,1003,1721,1832,1897,2245 'quick-summari':995,1002 'rather':1589,2125,2325,2852 'reach':2666 'read':293,1352,1359,1483,1647,1651,1655,1673,1699,1756,1765,1775,1796,1836,1970,1992,2033,2129,2168,2187,2352,2929 'read-on':292,1835 'read-plan':1351 'read-sid':1764,1774,1969,2128 'read/write':1545 'readabl':89,1459,1466,1600 'readon':283 'realiti':1195 'reason':348 'recal':1839,1845,1944 'recallloom':1,45,46,107,124,240,277,662,745,763,1073,1091,1179,1263,1428,2488,2692,2880,2886 'recallloom/config.json':582 'recallloom/state.json':580 'recommend':855,1301,1476 'reconcili':1715 'record':25,686,719,1198 'recover':91 'recoveri':2345 'red':372,2538 'reduc':690,2681 'references/anti-patterns.md':2934 'references/file-contracts.md':201,1593,2932 'references/operation-playbooks.md':202,1758,2453,2933 'references/package-support-policy.md':203,358 'references/profiles.md':2935 'references/protocol.md':204,2931 'refin':2714 'refresh':313 'releas':2382,2940 'reli':189 'remain':296,960,1314 'rememb':77 'repair':613,617 'replac':390,601,2198,2235,2704,2904 'repo':2832 'repo-level':2831 'repositori':160 'request':1067,1147 'requir':69,128,1250,1716 'reread':2565 'rerun':655 'research':42 'research-writing.md':2778 'respect':1976 'respons':1223,1488 'restor':10,674,703,1053,1066,1141,1146,1166,1191,1736 'result':830,1225,2106,2265 'result-first':1224 'resum':907,1126,1335,1340,1361,1383,1415 'retri':547 'return':341,553,852,1790,1815,1841,1855,1966 'review':1118,1309,1330,1786,1871,1941,2150,2171,2446,2462,2597 'review-first':2170 'revis':591,1529,1783,2542,2552 'revision-awar':590,1782,2541,2551 'rfcs':2804 'right':85,1509,2264,2308 'risk':1294,1928,1931,1935,2146,2167,2368,2721,2774 'risk/freshness':1852 'rl':713,810,860,903,906,909,912,915,958,1125 'rl-bridg':957 'rl-init':712,809,859,902,914 'rl-resum':905,1124 'rl-status':911 'rl-valid':908 'role':2505 'roll':2000 'rolling_summary.md':1381,1504,2050,2062,2111,2376 'root':1552,1568,1645 'root/.recallloom':1557 'root/config.json':574,1456,1649 'root/context_brief.md':1435,1675 'root/daily_logs/yyyy-mm-dd.md':1449 'root/recallloom':1560 'root/rolling_summary.md':1440,1657 'root/state.json':571,1463,1653 'root/update_protocol.md':1475,1661,1994 'rout':985,1087,1239,1392,2164,2341 'rule':1178,1546,1983,1986,2044,2277,2331,2336,2441,2487,2727 'run':812,1026,1719 'runtim':217,829,1249,2902 'safe':1373,1963,2222,2527 'safeti':2501 'say':808 'scan':1908,1982 'schema':362,531 'scope':95,259,1683,2807 'script':187,382,2520 'section':1206 'see':357,1060,1592,1757,2452 'select':1337 'self':2445 'self-review':2444 'sentenc':1491,2434 'separ':244,2506 'seq':449,472,635,641 'sequenc':455 'server':2897 'session':29,54,67,93,694,2687 'session-bas':53 'set':629,1278,1461,1524,1671,2494 'shape':2725,2741,2878 'share':343,1824,1978 'ship':142,194 'short':2656 'shortest':1279 'side':1766,1776,1971,2130 'sidecar':247,376,398,401,612,764,837,848,1047,1074,1084,1105,1159,1246,1467,1534,1563,1579,2133,2156 'signal':2151 'silent':1333 'singl':1129 'skill':108,121,177,1077 'skill-recallloom' 'slash':884 'smallest':1275,2491 'snapshot':1012,1447 'softwar':2834 'software-project-coordination.md':2815 'sole':329 'sourc':1277,1288,1290,1389,1685,2338,2786 'source-frappucc1no' 'source-of-truth':1388,1684,2337 'spec':2826 'spec-to-implement':2825 'special':2735,2762,2858 'specif':133,1549,2908 'split':2295,2424 'stabl':867,895,934,1130,1386,1436,1525,2043,2276,2330,2668,2867 'stack':2926 'stakehold':2811 'stakeholder-align':2810 'stale':2558 'standard':814 'start':1639,1734,2652 'state':22,87,271,624,683,1011,1256,1366,1446,1468,1535,1804,1827,1862,1864,1884,2005,2048,2054,2109,2135,2279,2354,2359 'state.json':1379,1526 'state.json.daily_logs.entry':489 'static':2226 'status':913,1342,1808 'stay':1615,2098,2136,2755 'step':728,1746,2059,2373 'still':141,563,1149,2526,2592 'stop':825,1258,1588,2122 'storag':570,573,1434,1439,1448,1455,1462,1474,1521,1551,1567,1648,1652,1656,1660,1674,1993 'strategi':2805 'strength':1892 'strengthen':1542 'structur':1018 'style':586,1443,2533,2770 'success':2105 'suggest':1795 'summari':23,997,1004,1693,1924,2001 'summarize_continuity_status.py':1805 'support':41,148,213,223,230,238,242,257,270,350,355,954,1625,1848,1950,2627 'surfac':551,888,956,992,1253,1663,1809,1840,1913,1926,1937,1972,2474,2593 'switch':2732 'system':1100 'target':232,900,1797,1872,1942,1991,2299,2356,2375,2390,2587,2598 'task':5,1184,1680 'templat':146,2447 'text':1965,1981 'thin':2470,2710 'thin-bridg':2469 'three':1430,1773 'tie':1893 'tier':1350,1800,2229 'time':1576 'today':720 'token':1857 'tool':696,1586 'topic-agent-skills' 'topic-ai-agents' 'topic-project-continuity' 'topic-session-memory' 'total':515 'toward':1328 'track':1527 'treat':475,864,1265 'tri':2883,2889 'trigger':112,698 'trivial':2032 'true':1508,2362 'trust':1725,2131,2134 'trust/drift':1803,1829,1863 'trustworthi':1276 'truth':1391,1687,2340 'turn':2685 'type':1023,1029,2845 'typic':697 'uncertain':2319 'uniqu':486 'univers':977 'unknown':321 'unless':1212 'unstabl':2409 'unsur':2751 'updat':19,715,1998,2007,2016,2028,2110,2497,2639,2643 'update_protocol.md':1397,1536,1938,2457,2566 'upgrad':1903 'upstream':168 'usabl':316 'use':2,320,378,589,598,659,661,1001,1338,1360,1382,1429,1810,2243,2728,2760,2779,2796,2816,2837 'user':268,803,1113,1183,1214,1304,2415,2617 'usual':2045,2049,2061 'v0.3.4':1041 'valid':648,762,849,910,1072,1086,1566,1619,2380,2399,2423,2492 'validate_context.py':652 'valu':1880 'variant':1867 'version':208,211,215 'via':1929 'visibl':1533,1562 'vs':2169,2173 'whether':760,795,2522 'whole':2924 'window':1952 'without':68,773,1617,2665,2872 'word':2673 'wording-on':2672 'work':30,968,1219,1750,2690,2769,2782,2799,2819 'workday':1709,1826 'workday-st':1825 'workflow':1099,2335 'workspac':224,750,851,1460,1528,1612,1626,1918,2613,2619,2630 'worth':1779 'wrapper':145,899,979 'write':43,370,377,405,536,1000,1022,1033,1485,1732,1789,1799,1947,1985,1990,2096,2101,2124,2175,2189,2205,2208,2223,2228,2262,2268,2394,2493,2500,2524,2537,2549,2554,2559,2586,2794,2814 'write-after-preflight':2174 'write-target':2585 'write-ti':1798,2227 'writer':1714 'written':274 'yet':792 'zh':228,1634,2634 'zh-cn':227,1633,2633","prices":[{"id":"cba2ec32-de9d-480a-a11b-45d64f097195","listingId":"c4247523-0bcd-4280-b1c1-fa30c6649f59","amountUsd":"0","unit":"free","nativeCurrency":null,"nativeAmount":null,"chain":null,"payTo":null,"paymentMethod":"skill-free","isPrimary":true,"details":{"org":"Frappucc1no","category":"recall-loom","install_from":"skills.sh"},"createdAt":"2026-04-29T13:05:05.577Z"}],"sources":[{"listingId":"c4247523-0bcd-4280-b1c1-fa30c6649f59","source":"github","sourceId":"Frappucc1no/recall-loom/recallloom","sourceUrl":"https://github.com/Frappucc1no/recall-loom/tree/main/skills/recallloom","isPrimary":false,"firstSeenAt":"2026-04-29T13:05:05.577Z","lastSeenAt":"2026-05-18T18:58:13.940Z"}],"details":{"listingId":"c4247523-0bcd-4280-b1c1-fa30c6649f59","quickStartSnippet":null,"exampleRequest":null,"exampleResponse":null,"schema":null,"openapiUrl":null,"agentsTxtUrl":null,"citations":[],"useCases":[],"bestFor":[],"notFor":[],"kindDetails":{"org":"Frappucc1no","slug":"recallloom","github":{"repo":"Frappucc1no/recall-loom","stars":43,"topics":["agent-skills","ai-agents","project-continuity","session-memory"],"license":"apache-2.0","html_url":"https://github.com/Frappucc1no/recall-loom","pushed_at":"2026-05-06T12:48:45Z","description":"Portable continuity layer for long-running AI projects across models, agents, and sessions.","skill_md_sha":"c8c3915ca20f10359d810eec8389e7855b315344","skill_md_path":"skills/recallloom/SKILL.md","default_branch":"main","skill_tree_url":"https://github.com/Frappucc1no/recall-loom/tree/main/skills/recallloom"},"layout":"multi","source":"github","category":"recall-loom","frontmatter":{"name":"recallloom","description":"Use when a task involves continuing a project, restoring project context, maintaining file-based project memory, updating current-state summaries, or recording meaningful progress across sessions. Works best for long-horizon, file-based projects and supports research writing, product document collaboration, software project coordination, and broader cross-functional project continuity."},"skills_sh_url":"https://skills.sh/Frappucc1no/recall-loom/recallloom"},"updatedAt":"2026-05-18T18:58:13.940Z"}}