recollect
Resolve vague recall into recognized context through AI-guided contextual scan and user-validated recognition.
What this skill does
# Anamnesis Protocol
Resolve vague recall into recognized context through AI-guided contextual scan and user-validated recognition. Type: `(RecallAmbiguous, AI, RECOGNIZE, VagueRecall) → RecalledContext`.
## Definition
**Anamnesis** (ἀνάμνησις): A dialogical act of resolving vague recall into recognized context, where AI detects empty intention, scans hypomnesis and memory stores with contextual awareness, presents narrative candidates for Socratic recognition, and facilitates guided recall orientation when initial candidates do not match — grounded in user-constituted identification rather than keyword retrieval.
```
── FLOW ──
Anamnesis(V) → Detect(V) →
not-empty_intention(V): skip → deactivate
empty_intention(V): Classify(V, Σ) → InputType → Dispatch(InputType) → Track ∈ {entropy, salience, hybrid} →
Scan_{Track}(Store, trace(V)) → Rank(C[]) →
|C[]| = 0 ∧ attempts = 0: Probe(V, Σ) → Qs(probe) → Stop → H → enrich(V, H) → re-scan
|C[]| = 0 ∧ attempts > 0: NullMatch → inform(V, Σ) → deactivate
|C[]| > 0: backtrace_parent(c) ∀ c ∈ C[] : fork_marker(c) → parent_pointer, parent_cwd -- deterministic: a fork candidate's parent is recoverable from its own record, not inferred (mechanism in TOOL GROUNDING; ≠ user-described Reorient)
Qc(C[top], evidence, framing) → Stop → R →
Recognize(c): recall_complete(c) → emit(ClueVector_prose(c)) → converge -- fork: emitted pointer = parent (or, when the parent record is absent, non-resumable + recoverable artifacts)
Refine: Probe(V, Σ) → Qs(probe) → Stop → H → enrich(V, H) → re-scan
Reorient(d): rebind(V, d, Σ) → Phase 1 -- orthogonal dimension shift
── MORPHISM ──
VagueRecall
→ detect(empty_intention) -- recognize vague recall state
→ classify(input_type) -- InputType ∈ {StructuredIdentifier, NaturalRecall, Mixed}
→ dispatch(input_type) -- Track ∈ {entropy, salience, hybrid}
→ scan(Store, Track, recall_trace) -- track-specific scan (see STORE TOPOLOGY)
→ rank(candidates, recall_trace) -- order by relevance
→ backtrace_parent(candidate) -- when fork_marker: deterministic parent identification → parent_pointer, parent_cwd (recovered from the candidate's own record; ≠ user-described Reorient)
→ present(candidate, Socratic) -- Socratic candidate presentation
→ recognize(candidate, user) -- synthesis of identification (Husserl CM §§38-39)
→ emit(ClueVector_prose) -- NL rendering to session text
→ RecalledContext
requires: empty_intention(V) -- phenomenological trigger
deficit: RecallAmbiguous -- activation precondition (Layer 1/2)
preserves: Store -- SSOT ⊕ INDEX are read-only; V is enriched/rebound during protocol
invariant: Recognition over Retrieval
── TYPES ──
V = VagueRecall { trace: RecallTrace, enrichments: List(Hint), input_type: InputType }
RecallTrace = { keywords: Set(String), temporal: Optional(String),
associations: Set(String), identifiers: Set(IdentifierTuple) }
Hint = String -- user recall context from Socratic probe
InputType ∈ {StructuredIdentifier, NaturalRecall, Mixed} -- classified from V + Σ
Track ∈ {entropy, salience, hybrid} -- dispatched from InputType
Source = String -- opaque: store location identifier (substrate-agnostic)
IdentifierTuple = { literal: String, source: Source, source_namespace: String, precision: ℝ[0,1] } -- entropy-track anchor
-- source_namespace determines which claim kinds it can authorize (via the registry); a literal anchors ranking only when its namespace authorizes the recall trace's claim kind
-- claim_kind is NOT a tuple field — it is determined by source_namespace at scan time, so the writer materializes only source_namespace (the extractor's namespace), not a per-literal claim_kind
MarkerProfile = { coinage: Set(Token), actor: Set(Entity),
temporal: Set(TimeRef), emotional: Set(Marker),
cognitive: Set(Marker), singularity: Set(Event) } -- salience-track profile
Store = SSOT ⊕ INDEX -- see ── STORE TOPOLOGY ── block
Scan = (Store, Track, RecallTrace) → List(Candidate)
Candidate = { session_id: Optional(SessionId),
cwd: Optional(String),
topic: String,
keywords: Set(String),
fingerprint: Prose,
cross_refs: List(Anchor),
confidence: ∈ {low, medium, high},
fork_marker: Bool, -- true ⇒ the id is a sidechain/fork with no top-level SSOT (SidechainNoSSOT); its own id is not a valid resume handle. Invariants: fork_marker = false ⇒ parent_pointer = Null ∧ parent_cwd = Null ; parent_pointer = Null ⇒ parent_cwd = Null (parent_cwd requires parent_pointer; parent_pointer present with parent_cwd = Null is valid — parent identified but its cwd is unknown)
parent_pointer: Optional(SessionId), -- orchestrating parent session for a fork candidate, read directly from the fork's own record; the resumable handle when the parent's top-level SSOT still exists (Null ⇒ parent record absent → non-resumable)
parent_cwd: Optional(String), -- parent session's working directory, paired with parent_pointer to build the parent resume handle (Null ⇒ parent record absent, OR parent identified but its cwd metadata is unknown — parent transcript predates cwd capture)
resumption_hint: Optional(String) }
Anchor = String -- opaque: memory path, URL, session ID, doc path
Prose = String -- source-agnostic NL description
Rank = List(Candidate) → List(Candidate)
Probe = (V, Σ) → List(SocraticQuestion)
SocraticQuestion = { dimension: ∈ {temporal, associative, contextual}, question: String }
R = Recognition ∈ {Recognize(Candidate), Refine, Reorient(description)}
H = Hint -- answer from Socratic probe gate (Qs)
ClueVector_prose = String
RecalledContext = session text containing ClueVector_prose
-- recall establishes IDENTITY (this WAS discussed/decided), not current-reality FIDELITY (it still HOLDS). Store-currency (the INDEX entry is fresh) ⊂ fidelity-to-current-reality: a recalled decision may be superseded, a recalled path renamed, a recalled convention revised. RecalledContext describes a PAST state; downstream consumers re-verify against current state before commit rather than treating it as confirmed current context.
NullMatch = predicate; canonical definition in ── CONVERGENCE ──
Phase ∈ {0, 1, 2, 3}
── V-BINDING ──
bind(V) = explicit_arg ∪ colocated_expr ∪ prev_user_turn
Priority: explicit_arg > colocated_expr > prev_user_turn
/recollect "text" → V.trace = extract_trace("text", Σ)
"recall... topic" → V.trace = extract_trace(text before trigger, Σ)
/recollect (alone) → V.trace = extract_trace(previous user message, Σ)
Edge cases:
- Multiple vague references: bind to first, note others
- Re-invoke after NullMatch: fresh V, no carryover
- Composition (/recollect * /inquire): V from Anamnesis, Aitesis receives ClueVector_prose via session text
── PHASE TRANSITIONS ──
Phase 0: V → Detect(V) → empty_intention(V)? -- trigger (silent)
→ Classify(V, Σ) → InputType → Track -- dispatch (silent)
Phase 1: V → Scan_{Track}(Store, trace(V)) → Rank(C[]) → C[ranked] -- track-dispatched scan + rank [Tool]
backtrace_parent(c) ∀ c ∈ C[ranked] : fork_marker(c) → parent_pointer, parent_cwd -- fork (SidechainNoSSOT): parent recovered deterministically from the candidate's own record [ToolRelated in General
modeling-omnistudio-epc-catalog
IncludedSalesforce Industries CME EPC product-modeling skill for Product2-based catalog creation. Use when creating EPC products, configuring product attributes, building offer bundles with Product Child Items, or reviewing EPC DataPack JSON metadata for product catalog changes. TRIGGER when: user creates or updates Product2 EPC records, AttributeAssignment payloads, AttributeMetadata/AttributeDefaultValues, Offer bundles, or ProductChildItem relationships. DO NOT TRIGGER when: designing OmniScripts/FlexCards/Integration Procedures (use building-omnistudio-omniscript, building-omnistudio-flexcard, or building-omnistudio-integration-procedure), implementing Apex business logic (use generating-apex), or troubleshooting deployment pipelines (use deploying-metadata).
relationship-science-coach
IncludedUse this skill for direct, practical adult relationship coaching: couples conflict, repair, trust, marriage, dating, flirting, attachment patterns, emotional connection, sex, desire differences, eroticism, kink negotiation, affection, love languages, breakups, and long-term passion. Draw on Gottman, EFT and Hold Me Tight, attachment science, modern sex research, Perel, Nagoski, Kerner, Schnarch, Love and Stosny, and flexible love-language tools. Be concrete and low-hedge. Redirect only for imminent danger, abuse, coercive control, minors, non-consent, self-harm, stalking, or medical/legal/psychiatric decisions.
building-sf-integrations
IncludedSalesforce integration architecture and runtime plumbing with 120-point scoring. Use this skill to set up Named Credentials, External Credentials, External Services, REST/SOAP callout patterns, Platform Events, and Change Data Capture. TRIGGER when: user sets up Named Credentials, External Services, REST/SOAP callouts, Platform Events, CDC, or touches .namedCredential-meta.xml files. DO NOT TRIGGER when: Connected App/OAuth config (use configuring-connected-apps), Apex-only logic (use generating-apex), or data import/export (use handling-sf-data).
venue-templates
IncludedAccess comprehensive LaTeX templates, formatting requirements, and submission guidelines for major scientific publication venues (Nature, Science, PLOS, IEEE, ACM), academic conferences (NeurIPS, ICML, CVPR, CHI), research posters, and grant proposals (NSF, NIH, DOE, DARPA). This skill should be used when preparing manuscripts for journal submission, conference papers, research posters, or grant proposals and need venue-specific formatting requirements and templates.
let-fate-decide
IncludedDraws the 12 Houses of the Zodiac Tarot spread to inject entropy into planning when prompts are vague, ambiguous, or casually delegated. Interprets the spread to guide next steps. Use when the user says 'let fate decide', 'YOLO', 'whatever', 'idk', or other nonchalant phrases, makes Yu-Gi-Oh references, or when you are about to arbitrarily pick between multiple reasonable approaches. Prefer over ask-questions-if-underspecified when the user's tone is casual or playful rather than precision-seeking.
net-ops
IncludedCross-platform network troubleshooting (Windows, macOS, Linux) via local or remote shell. Use for: DNS broken, can't resolve hostnames, nslookup/dig works but apps fail, NRPT, WFP, scutil, /etc/resolver, systemd-resolved, /etc/resolv.conf, NetworkManager, VPN DNS leak residue (ProtonVPN/Mullvad/WireGuard/AnyConnect), AV/firewall blocking DNS or DoH, Tailscale DNS interaction, intermittent connectivity, remote diagnostics over SSH.