Install any skill in seconds. Free to start, no credit card required.
Get Started Free →Mandatory repository-local development guide for LingTai's Go repository — the two binaries lingtai-tui and lingtai-portal plus the install pipeline. Use this before changing code, architecture documents, tests, packaging, capabilities, adapters, or developer documentation in this repository. Routes each task through the exact baseline, the distributed ANATOMY/CONTRACT systems, focused validation, and pull-request safety gates.
.claude/skills/lingtai-ai-lingtai-tui-dev/SKILL.md| Test case | Without → With | Effect | Δ tokens | Δ turns |
|---|---|---|---|---|
| case-13 | ✗→✓ | ▲ Improved | 114% | 0% |
| case-05 | ✗→✓ | ▲ Improved | 86% | 0% |
| case-09 | ✗→✓ | ▲ Improved | 203% | 0% |
| case-10 | ✗→✓ | ▲ Improved | 5% | 0% |
| case-11 | ✗→✓ | ▲ Improved | 47% | 0% |
Read this skill before every development task in this repository. It owns the workflow, not the architecture facts or interface promises. Follow its links instead of copying the root documents into this file. This repository ships the Go side of LingTai: lingtai-tui, lingtai-portal, and install.sh. The Python kernel lives in the sibling lingtai-kernel repository and is launched as a subprocess; this repository never imports it.
change from suggested follow-up work and from unauthorized side effects.
origin/main, or an explicit tagor commit chosen by the maintainer.
worktree is clean and HEAD equals the selected baseline. A directory name or recorded SHA without equality is not enough. This repository's convention is .worktrees/<slug>/ on a fresh branch off origin/main.
Both this repository and its sibling kernel see concurrent branches and stashed WIPs; editing the main checkout has repeatedly lost in-flight work.
See README.md and CLAUDE.md for the public orientation and the Claude Code entry rules that route here.
Use progressive disclosure in this order:
ANATOMY.md, then descend through the nearestchild anatomy (tui/ANATOMY.md, portal/ANATOMY.md, or a per-package anatomy) until cited code answers where the relevant files, connections, composition, and state live.
CONTRACT.md. If the component is governed, readits paired local contract before changing its interface or expected behavior.
place of code; Contract is the normative promise, not a description to weaken when implementation drifts.
troubleshooting. Do not preload unrelated references. The Anatomy/Contract convention is defined by the root ANATOMY.md and CONTRACT.md themselves; the bundled lingtai-tui-anatomy skill is a legacy citation-navigation aid for the existing per-package anatomies and awaits a separate alignment, so prefer the root documents where they differ. The shipped lingtai-dev-guide skill owns the deeper per-topic procedures (setup, gotchas, releasing, PR deliverables). This root skill routes into those; it does not copy them.
The three local systems have different jobs:
Before editing, state the relevant invariant, the intended variation axis, and the explicit non-goals. Prefer one behavior-locked boundary or vertical slice over a directory reshuffle or speculative abstraction.
For every code or architecture-document change, assess both distributed systems:
update the relevant Anatomy in the same PR.
state semantics changed: update the relevant Contract and shared contract tests in the same PR.
churn to simulate compliance.
This repository's two binaries share one on-disk state schema, but only the shared part is a cross-binary obligation. A change to shared state that both binaries consume — a .lingtai/ field, folder layout, or signal semantic read by both, or the shared meta.json migration version — must keep lingtai-tui and lingtai-portal compatible, with the shared migration version space in lockstep. This is compatibility, not mirrored code: binary-specific state and capabilities — portal-only .portal/ port and recordings, TUI-only or kernel-facing behavior — do not require a mirrored implementation in the other binary. Follow the repair direction defined by the roots: verified code is normally the structural truth for Anatomy; Contract is normative for interface and Behavior, so implementation drift is a defect unless a maintainer explicitly authorizes a promise change. Do not create a second graph registry; maintain YAML related_files around the nodes you touch.
Run the narrowest decisive checks first, then the affected broader checks. At a minimum:
bash# Architecture-document structural test (in the TUI module), when either graph changes: cd tui && go test -run TestArchitecture ./... # Go changes: cd tui && go test ./... && go vet ./... cd portal && go test ./... && go vet ./... git diff --check
When either distributed graph changes, also run the anatomy citation scan — the embedded python3 snippet documented in the lingtai-tui-anatomy skill (tui/internal/preset/skills/lingtai-tui-anatomy/SKILL.md, under "scan anatomy citations before commit"). It walks every ANATOMY.md and reports missing or out-of-range file:line citation targets. Run it as documented there (paste the heredoc, or wrap it in a local scratch script); there is no packaged --check subcommand today. The architecture-document smoke test validates the current root entry links; the citation scan validates that citations still point at real code.
Also run package, import, build, adapter, or source-drift checks when the diff crosses those boundaries (the portal additionally needs its web build: cd portal/web && npm ci && npm run build). Inspect every non-zero exit, and never report a timed-out or interrupted suite as passing. Review the final diff against the human instruction and name any untested risk.
Use a pull request; never push directly to main. Before committing, pushing, or opening the PR:
Commit, push, open/close/merge PRs, publish, install, refresh, release, rebuild the running binaries, or change configuration only within the maintainer's explicit authorization for that specific side effect. Opening a PR does not imply permission to merge it.
This directory owns this repository's complete reusable development kit, not only this entry document. Add supporting material when real repeated work justifies it:
scripts/ for deterministic checks, maintenance, or generation;references/ for deep procedures loaded only when needed;assets/ for templates, examples, or fixed resources.Add such a file only after real repeated work justifies it; document it from this SKILL.md; keep it executable or self-contained as appropriate; and reject secrets, generated output, one-off reports, empty directories, placeholders, or speculative wrappers. Do not copy repository rules into support files. Keep one SKILL.md entry, let it route progressively, and validate every script or asset against the workflow that needs it.
When this workflow changes, update this repository-local skill and the README/Anatomy/Contract entry routes together. Change the normative root documents only when their own meaning, schema, or promises change. Keep this file a concise router: detailed architecture belongs in Anatomy/Contract, and tool-specific recipes belong in the narrower manuals they own.
Other measured skills in the registry, with their headline benchmark lift.