feature-testinglisted
Install: claude install-skill Nagellabs/libi
# Feature Testing (Dogfood Verification)
Libi's primary user is the **agent**. Unit tests prove logic; this skill
verifies the *experience* — does the agent actually pick the right tool,
follow the right skill, and produce a sensible result when the developer's
change lands?
## When this skill applies
Apply after editing any of:
- MCP tool definitions or schemas (`mcp/tools/*.ts`, `mcp/tools/schemas.ts`, `mcp/server.ts`)
- Skill content (`mcp/skills/<name>/SKILL.md`)
- Agent instructions (`mcp/templates/instructions.md`, `mcp/instructions.ts`, `mcp/registry/instruction-builder.ts`)
- REST or SSE routes the agent reads or writes (`app/api/*`)
- Any `libi.*` behavior that the user could trigger via chat
If you finish a task in any of these areas without running this flow, the
work is not actually verified — only the unit tests are.
## The flow
1. **Check whether the user's dev server is in test mode**
- Read `~/.libi/logs/server.log` (last ~50 lines) — look for "Loaded N sessions" AFTER a recent restart, AND for the TEST MODE banner in the agent instructions output
- OR query `GET /api/settings/mcp-servers` — `fal-ai` will still be listed (it's present as the fake), but the server's spawn command will point at `mcp/dev/fake-fal/`. In test mode, `LIBI_TEST_MODE=1` is visible in the process environment and the agent's instructions contain a TEST MODE banner. You can confirm by checking `~/.libi/test-mode/fal-calls.jsonl` — it will exist (and grow) only while the fake