codex/skills/liminal/SKILL.md
Use when delimited continuations or defunctionalization are central: shift/reset, prompt/control, prompts, subcontinuations, effect handlers as control operators, CPS translations, answer-type modification, abstract machines, first-orderizing higher-order interpreters, continuation runtimes, or source-backed study/research roadmaps. Do not use for ordinary async/await, generators, monads, compiler optimization, PL theory, or functional-programming questions unless delimited control, continuations, CPS/control translation, or defunctionalization is explicit.
npx skillsauth add tkersey/dotfiles liminalInstall 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.
Act as a source-backed expert on delimited continuations and defunctionalization. Keep those two topics at the center of gravity even when a prompt reaches into adjacent control theory, effect handlers, compiler implementation, typed embeddings, or runtime benchmarking.
Use this skill when the user asks for any of the following:
shift/reset, control/prompt, shift0/reset0, prompts, subcontinuations, prompt tags, or first-class continuations.Do not invoke it for ordinary uses of async/await, generators, monads, compiler optimization, or PL theory unless the user explicitly ties the question to continuations, delimited control, CPS/control translation, or defunctionalization.
Choose the smallest useful response shape before writing.
compactUse for local conceptual questions such as “What is shift/reset?” or “How is async different?”
memoUse for operator comparisons, derivations, implementation choices, project planning, and proof or benchmark design.
Problem FrameConcrete WitnessSemantic CoreTranslation or Representation SketchImplementation TradeoffsProof or Benchmark Next StepsSourcesledgerUse for citation audits, source comparison, or theory-heavy claims where provenance is the point.
Problem FrameClaim LedgerWitness or CounterexampleSource BoundariesOpen GapsSourcesFor study or self-training prompts, rename Concrete Witness to Worked Example and replace Implementation Tradeoffs with Learning Plan. For repo-specific code work, add Repository Application after Implementation Tradeoffs. For source-comparison prompts, expand Sources with short annotations instead of long prose.
Before polishing almost every answer, recover these facts:
Use citations to prove the explanation, not to replace it.
semantics: operator comparison, reduction rules, evaluation contexts, typed control questionstranslation: CPS, answer-type modification, defunctionalization, refunctionalization, abstract machinesimplementation: stack strategy, one-shot versus multi-shot, effect handlers, benchmarking, runtime tradeoffsroadmap: study plans, project ladders, reading orders, proof agendas, research directionsliterature: source comparison, citation audit, claim mapping, reading packetsreferences/witness-programs.mdreferences/foundations.md for formal vocabulary and core reduction schemasreferences/control-families.md for operator families, static versus dynamic extent, typing pressure pointsreferences/defunctionalization.md for the algorithm, typed variants, and evaluator-to-machine correspondencereferences/language-examples.md for canonical ecosystem examplesreferences/implementation-and-evaluation.md for runtime strategy and benchmarkingreferences/research-roadmap.md for study, project, and publication pathsreferences/witness-programs.md for separating examples and observable differencesreferences/claim-map.md for fast claim-to-source routingreferences/sources.md for human-readable primary-source citations and stable linksreferences/sources.yml for machine-readable source IDs, safe surfaces, and freshness flagssemantic, translation, implementation, or ecosystemshift/reset with prompt/control, explain the extra delimiter reinstatement instead of flattening them into one family.references/claim-map.md, then cite references/sources.md.references/sources.yml when generating source packs or validating a claim ledger.scripts/emit_artifact_stub.sh <kind> [language], then tailor the emitted scaffold instead of writing boilerplate from scratch.scripts/emit_source_pack.sh <track> [focus] and merge the output into the memo instead of improvising the bibliography.scripts/emit_witness_pack.sh <topic> [language] and adapt the emitted witness instead of inventing one from scratch.scripts/check_skill.sh.Supported kind values:
derivation-memoevaluator-projectcps-translationdefunc-machinebenchmark-planmechanization-plancitation-memowitness-walkthroughSupported language values:
agnostic (default)racketocamlhaskellscalajavascriptSupported track values:
semanticstranslationimplementationroadmaplanguageSupported topic values:
static-vs-dynamicmulti-promptanswer-typeone-shotmachine-derivationanalogy-boundaryThe scripts print Markdown to stdout only. They are starters, not finished answers.
Use examples/ when a prompt benefits from a concrete witness rather than abstract taxonomy:
examples/agnostic/static-vs-dynamic.trace.mdexamples/agnostic/evaluator-to-machine.trace.mdexamples/racket/shift-reset-vs-control.rktexamples/racket/prompt-tags.rktexamples/ocaml/one-shot-effects.mdexamples/ocaml/delimcc-multiprompt.mdTreat examples as witness scaffolds. Re-check runtime-specific code against current manuals before presenting it as production guidance.
shift/reset and control/prompt are interchangeable without boundaries.async/await, or effect handlers as semantically identical to delimited continuations.references/foundations.mdreferences/control-families.mdreferences/defunctionalization.mdreferences/language-examples.mdreferences/implementation-and-evaluation.mdreferences/research-roadmap.mdreferences/witness-programs.mdreferences/claim-map.mdreferences/sources.mdreferences/sources.ymlscripts/check_skill.sh validates required files, source-ID consistency, script argument behavior, example presence, and golden-test metadata.tests/golden/activation.yml records activation and non-activation cases.tests/golden/output-invariants.yml records expected answer properties for difficult prompts.testing
Use before local patching when bugs, regressions, malformed state, crashes, parser failures, migrations, cache drift, protocol problems, compatibility requests, tolerant readers, fallbacks, coercions, retries, catch-and-continue logic, or local workarounds may broaden accepted invalid state.
testing
Use for bug reports, PR/issue prose, reviewer comments, user diagnoses, generated summaries, memories, retrieved context, public tracker context, claimed root causes, proposed fixes, fake-minimal repro risk, or any investigation where natural-language context could anchor the implementation scope.
development
Use when non-trivial work needs Challenge Escalation, latent-intelligence activation, frame-market selection, doctrine operators, dominant-move selection, ablation/surface-tax judgment, reification, review comment law, negative capability, route receipts, or proof-bearing refusal to mutate.
development
Apply Algebra-Driven Design. Use for ADD, denotational design, combinator models, law-driven architecture, domain algebra, property tests, codebase modeling, event sourcing, workflow design, or agentic skill design. If the canonical bundle is unavailable, use this wrapper as the minimal ADD kernel and report the missing bundle path.