Find and reduce the time Flisk spends before containers run - service discovery, Tiltfile (Starlark) evaluation, config generation and golden image builds - by timing each phase, narrowing `discovery.paths`, starting one stack or `--only` a few services, and keeping golden images cached. Use when `flisk up` or `tilt up` is slow to start, generated files are large, or discovery takes too long. For memory and container-count limits, use flisk-benchmark; for failures, use flisk-troubleshoot.
Installs into .claude/skills of the current project.
Are you the author of Flisk Starlark Perf?
Add the live security badge to your README. It updates with every re-scan.
[](https://www.skillsdirectory.com/skills/flisk-sh-flisk-starlark-perf)
---
name: flisk-starlark-perf
description: Find and reduce the time Flisk spends before containers run - service discovery, Tiltfile (Starlark) evaluation, config generation and golden image builds - by timing each phase, narrowing `discovery.paths`, starting one stack or `--only` a few services, and keeping golden images cached. Use when `flisk up` or `tilt up` is slow to start, generated files are large, or discovery takes too long. For memory and container-count limits, use flisk-benchmark; for failures, use flisk-troubleshoot.
license: MIT
compatibility: Requires the flisk CLI and a Flisk project.
metadata:
author: flisk-sh
version: "1.0"
---
# Flisk Starlark and startup performance
## Workflow
1. Baseline: run `flisk doctor` once (so slowness is not a broken host), then time a preview and a start:
```bash
time flisk up <stack> --dry-run # discovery and generation, no containers
time flisk up <stack> # adds Tilt and image builds
```
Note which phase is slow: discovery, Tiltfile evaluation, golden build, or service builds (`tilt logs golden-layers-build`, `tilt logs <service>`).
2. Evaluate the generated Tiltfile alone, without starting anything: `tilt alpha tiltfile-result -f .flisk/.flisk-out/Tiltfile`.
3. Do less work per run: `flisk up <stack>` starts one stack; `flisk up <stack> --only <service...>` starts a few services plus what they depend on.
4. Narrow discovery: keep `discovery.paths` in `.flisk/project.json` to the folders that hold `service.json` files (the default is `services/*/*`), and keep large trees such as data or build output out of them.
5. Keep golden images cached; `FLISK_GOLDEN_REBUILD=1 flisk up` forces a full rebuild and is only for a suspected stale image.
6. Trim the service graph: drop `dependsOn` entries a service does not need, and split very large stacks.
7. Measure again with the same commands and report both timings.
## Guardrails
- Do not hand-edit `.autogenerated/` or `.flisk/.flisk-out/` to save time; regenerate with `flisk up` or `flisk config regenerate`.
- Do not disable health checks or validation to gain speed.
- Report measured timings, and say which runs were cold (no images) and which were warm.