ワンクリックで
nela-s-writing
Practical guidance to write valid NELA-S files. Use this skill in new projects created from the starter pack.
Codex または Claude でインストール この Prompt をコピーして Codex、Claude、または他のアシスタントに貼り付けると、Skill ページを確認してインストールできます。
メニュー
Practical guidance to write valid NELA-S files. Use this skill in new projects created from the starter pack.
Codex または Claude でインストール この Prompt をコピーして Codex、Claude、または他のアシスタントに貼り付けると、Skill ページを確認してインストールできます。
Tool specifications and interfaces for the NELA language toolchain. Covers surface language (NELA-S) interpreter, type checking, compiler (NELA-S → NELA-C interaction nets), serialization, legacy code migration, and LLM context optimization. Load when implementing any NELA toolchain component.
Enforces immutable runtime/tooling policy for projects bootstrapped from this starter pack.
Reusable LLM-first header and section metadata standard for NELA-S source files. Defines the section index format, per-section metadata blocks, synchronization rules, and validation workflow. Load when creating or refactoring any .nela file.
Mathematical foundations for NELA language design. Primary theory: Interaction Nets (Lafont 1990) — local graph rewriting, NOT automata theory. Supporting theories: Linear Logic (resource semantics), Dependent Type Theory (verification). Von Neumann CA is historical background only — do not use it to guide language design decisions. Load this skill before designing any NELA language construct, rewrite rule, or type system component.
SOC 職業分類に基づく
| name | nela-s-writing |
| description | Practical guidance to write valid NELA-S files. Use this skill in new projects created from the starter pack. |
| applyTo | **/*.nela |
In scope:
.nela functions.nela sectionsOut of scope:
Every .nela file should start with a section index and use section markers.
Header index pattern:
-- SECTION INDEX FOR LLM NAVIGATION (auto-maintained):
-- SECTION_NAME [start-end] func1 | func2 | func3
Section marker pattern:
-- ── @SECTION_NAME [start-end] ───────────────────────────────────────────────
-- Functions: func1, func2
-- Purpose: one-line responsibility
-- Called_by: caller1, caller2
-- Key_vars: [x, y, acc]
-- Details: optional implementation notes
Header rules:
def blocks.make check-header after structural changes.make fix-header if out of sync.def f lst =
match lst
| [] = []
| h::t = ...
def update state action =
if action == 0 then ...
else if action == 1 then ...
else state
+ addition- subtraction* multiplication/ integer division% modulo== equals< less than<= less than or equal> greater than>= greater than or equalandornot (builtin):: cons (prepend)++ appendnot, unary negation)*, /, %+, -==, <, <=, >, >=)and, or)Use parentheses when in doubt.
head lsttail lstfst pairsnd pairnot bsin xcos xsqrt xfloor xceil xround xabs xord cchr ntake n lstdrop n lstget lst nio_key tokenio_print payload tokenOnly use I/O builtins if the host runtime exposes them.
def name arg1 arg2 = expr
[]
h::t
a ++ b
(a, b)
fst p
snd p
let x = e in body
if cond then a else b
match e
| [] = ...
| h::t = ...
[x <- list | pred]
make check-header
make fix-header
make test