agentleFS
frostneyfrostney/knips/.agents/skills/native-nostalgia-stack/SKILL.md

native-nostalgia-stack

Skill1 starsChanged 54 days agoMITView on GitHub

Applies the user's FreePascal toolchain and its build, formatting, hook, and test contracts while leaving project-specific mechanics local. Use when scaffolding or working in a FreePascal project that follows this toolchain.

We split this skill into the rules it gives an agent

9 rules. About 0 are common, 4 are distinctive, and 5 are very specific to this project.

  • ≈0

    Common · estimate

    Many files like this have a rule of this kind.

  • ≈4

    Distinctive · estimate

    This author's own choices. Worth a look.

  • 5

    Very specific

    Tied to their project's names, files or tools. Probably skip.

  • Common
  • Distinctive
  • Very specific
  1. Distinctive:

    Use the project-pinned latest stable FPC and Delphi mode unless project docs explicitly choose another mode.

    line 21
  2. Distinctive:

    Keep project-wide compiler directives in one shared include used by every unit.

    line 23
  3. Very specific:

    Put Pascal source under one root (source/ preferred), using namespaced filenames and a flat layout until a namespace becomes unwieldy.

    line 25
  4. Very specific:

    Put all ignored build output under root build/.

    line 28
  5. Distinctive:

    Prefer executable InstantFPC for one-off Pascal scripts.

    line 29
  6. Distinctive:

    Read references/code-style.md when writing or reviewing Pascal source.

    line 32
  7. Very specific:

    every binary lands under build/.

    line 43
  8. Very specific:

    Document the entry point, targets, and flags in docs/build-system.md.

    line 45
  9. Very specific:

    Before relying on tool behavior, inspect root and area AGENTS, confirm fpc -iV against project/CI pins, and verify any touched tool version …

    line 65

≈ “Common” is an estimate: at least 1 in 5 of the 308,232 skill files we read have a rule of the same kind, not the same words. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.

Keep what fits and drop the rest. Your version, ready for your agents.
Files
SKILL.md

Native nostalgia stack

Apply only the contract material to the requested work. Project AGENTS and docs own implementation rules and exact commands; project-structure/SKILL.md owns language-neutral layout and documentation.

Compiler and layout

  • Use the project-pinned latest stable FPC and Delphi mode unless project docs explicitly choose another mode.
  • Keep project-wide compiler directives in one shared include used by every unit.
  • Put Pascal source under one root (source/ preferred), using namespaced filenames and a flat layout until a namespace becomes unwieldy.
  • Co-locate unit tests; keep delivered end-to-end corpora under root tests/.
  • Put all ignored build output under root build/.
  • Prefer executable InstantFPC for one-off Pascal scripts; use an existing task runner or dynamic language only when that is materially simpler.

Read references/code-style.md when writing or reviewing Pascal source.

Build contract

The project chooses the implementation but provides one root entry point:

  • bare invocation performs a clean development build of all binaries;
  • positional names select one or more binary targets;
  • development is the default and a production flag selects release settings;
  • clean is a target and can be combined with a target;
  • every binary lands under build/.

Document the entry point, targets, and flags in docs/build-system.md; read it before changing them.

Formatter and health contracts

One formatter/linter command rewrites Pascal by default and has a non-mutating --check mode that exits non-zero on deviation. Project-specific style lives in the tool and docs/code-style.md, not scattered config.

The codebase-health gate reports located duplication, per-function cyclomatic and cognitive complexity, sortable file health, and complexity-times-churn hotspots. Thresholds and ignores live in one root config; breaches exit non-zero. Document the tool and thresholds in docs/tooling.md.

Hook and completion

Lefthook runs the project's formatter check on staged Pascal and its build-and-test command. Use the exact project entry points, install the hook via the documented quick start, and never bypass it without explicit user direction.

Before relying on tool behavior, inspect root and area AGENTS, confirm fpc -iV against project/CI pins, and verify any touched tool version live. Before handoff, observe the project formatter and build-and-test gates passing and update only the authoritative docs affected by the change.

Download now (ZIP)

Does it work?

Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.

Reviews can't be read right now.

Your trail

Files you open will collect here, so you can find them again.

Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.

Now do this for your own.

Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.