FE

fen-maintainer

Development and maintenance toolkit for the Fen codebase.

Install

mkdir -p .claude/skills/fen-maintainer && curl -L -o skill.zip "https://agentskills.codes/api/skills/download/18095" && unzip -o skill.zip -d .claude/skills/fen-maintainer && rm skill.zip

Installs to .claude/skills/fen-maintainer

Activation

This is the description your AI agent reads to decide when to run this skill — the better it matches your request, the more reliably it fires.

Develop, test, and maintain the Fen repository.
47 charsno explicit “when” trigger
Advanced

Key capabilities

  • Develop Fennel source code
  • Manage launcher and development workflows
  • Maintain documentation and tests
  • Manage extensions for the Fen repository
  • Run focused tests by file, directory, or name
  • Reload source edits during interactive runs

How it works

The skill provides workflows and commands for developing, testing, and maintaining the Fen repository, including source-checkout development and test execution.

Inputs & outputs

You give it
User request for Fen repository maintenance or development
You get back
Test results, reloaded source, or build output

When to use fen-maintainer

  • Run Fen tests
  • Manage extensions
  • Execute launcher development workflow
  • Reload source edits

About this skill

Fen Maintainer

Use this for maintainer work in fen: Fennel source, launcher/dev workflows, docs, tests, extensions, and distribution plumbing.

Workflow

Develop through the single-file runtime plus source overlays:

make dev        # uses FEN_BIN or fen on PATH
make dev-nix    # builds .#fen, then runs scripts/dev/fen-dev

scripts/dev/fen-dev sets FEN_DEV_PATH for packages/{core,util,fen}/src and FEN_EXTENSION_ROOT for extensions/. After editing .fnl, use /reload; do not rebuild generated Lua just to test source edits.

Checks

Run the smallest useful check first:

fennel scripts/test/fennel-check.fnl
make test TESTS=path/to/test.fnl
make test BUSTED_ARGS='--filter=foo'
make test
make check

Useful test targets:

make test-list
make test-shuffle REPEAT=3
FEN_INCLUDE_SMOKE_TESTS=1 make test

TESTS selects files/directories. BUSTED_ARGS is for runner flags such as --filter, --name, --tags, --shuffle, --repeat, and --list. Directory-focused runs skip tests/smoke/ unless FEN_INCLUDE_SMOKE_TESTS=1 is set or a smoke file is passed explicitly.

Use Nix for reproducible/binary validation:

nix build .#fen --no-link
nix flake check

Live-provider smoke when relevant:

FEN_BIN=/path/to/fen make smoke

TUI tests

Fast deterministic TUI tests live under extensions/adapters/presenters/tui/tests/ and stub termbox2 via fen.testing.tui. Use them for viewport logic, input/key state, render rows, cache invalidation, and regressions; they must not open a real terminal.

For whole-frame assertions, install the capture stub:

(install-termbox-stub! {:capture? true :cols N :rows N})

Render with paint.paint-frame! and assert with screen-lines or presented-screen-lines. Reserve make test-pty for opt-in real-PTY integration/perf smoke.

Rules

  • Do not hand-edit or check in generated dist/ trees.
  • Keep Make targets usable without Nix unless the target name says nix.
  • Keep nix build .#fen as the production binary path.
  • Project extensions live in .fen/extensions; user-global extensions live in ${XDG_CONFIG_HOME:-~/.config}/fen/extensions.
  • Update embedded first-party extension manifests and reload/module lists when needed.
  • Preserve hot reload: split state from behavior and avoid captured stale function references.
  • Keep long work cooperative by passing yield! / ?yield-fn through network, subprocess, reload/discovery, and large scans.

Architecture

Before structural work, read CLAUDE.md core parsimony and docs/architecture.md#design-principles. While core-parsimony is open, prefer existing events/register mechanisms, promote helpers to fen.util.* on second use, keep policy/data out of packages/core, and keep main.fnl CLI-entry only.

After module moves, run:

make graphs
sed -n '1,220p' docs/generated/graphs/summary.md

When not to use it

  • When hand-editing or checking in generated `dist/` trees
  • When Make targets are expected to work without Nix for Nix-specific targets
  • When adding first-party extensions without updating the embedded manifest registry

Limitations

  • Cannot hand-edit or check in generated `dist/` trees
  • Make targets with `nix` in their name require Nix
  • Requires updating embedded manifest registry for first-party extensions

How it compares

This skill offers a specialized workflow for Fen repository maintenance, focusing on source-checkout development and efficient testing, unlike general development practices.

Compared to similar skills

fen-maintainer side by side with the closest alternatives in the catalog.

SkillInstallsUpdatedSafetyDifficulty
fen-maintainer (this skill)015dReviewAdvanced
command-development168moReviewIntermediate
skill-forge118moReviewIntermediate
codex-skill124moReviewAdvanced

Try saying

Example prompts that trigger this skill in your AI assistant.

You might also like

command-development

anthropics

This skill should be used when the user asks to "create a slash command", "add a command", "write a custom command", "define command arguments", "use command frontmatter", "organize commands", "create command with file references", "interactive command", "use AskUserQuestion in command", or needs guidance on slash command structure, YAML frontmatter fields, dynamic arguments, bash execution in commands, user interaction patterns, or command development best practices for Claude Code.

16133

skill-forge

WilliamSaysX

Automated skill creation workshop with intelligent source detection, smart path management, and end-to-end workflow automation. This skill should be used when users want to create a new skill or convert external resources (GitHub repositories, online documentation, or local directories) into a skill. Automatically fetches, organizes, and packages skills with proactive cleanup management.

11115

codex-skill

feiskyer

Use when user asks to leverage codex, gpt-5, or gpt-5.1 to implement something (usually implement a plan or feature designed by Claude). Provides non-interactive automation mode for hands-off task execution without approval prompts.

12110

agent-factory

alirezarezvani

Claude Code agent generation system that creates custom agents and sub-agents with enhanced YAML frontmatter, tool access patterns, and MCP integration support following proven production patterns

8109

subagent-driven-development

davila7

Use when executing implementation plans with independent tasks in the current session

1493

peekaboo

openclaw

Capture and automate macOS UI with the Peekaboo CLI.

1486

Search skills

Search the agent skills registry