Project Context & .fireskills

The persistent project memory in .fireskills/ and the monitor that tells you when it needs an update.

The .fireskills/ directory is the project's long-term memory. Agents read it before they ask you anything, so decisions rest on committed facts and not on chat history. The directory keeps the name .fireskills/ because the skills' scripts read and write that path.


The files

FileWhat it holdsUpdated by
.fireskills/PROJECT.mdPurpose, history, capabilities and limits of the application.You, and $fireskill-setup
.fireskills/STACK.mdStructural technologies, each with file evidence.$fireskill-aux-stack
.fireskills/RULES.mdRules confirmed by the team.$fireskill-aux-rules
.fireskills/DATABASE.mdTables, columns and relations of the database.$fireskill-aux-database
.fireskills/INTERFACE.mdMap of screens and components (@nuxt/ui v4 and Vue SFC), with source files and consumers.The flow, on every UI task
.fireskills/DESIGNSYSTEM.MDWhere customization lives (packages/tokens) and the rules for using it.You
.fireskills/PACKAGES.mdPackage inventory derived from manifests and lockfiles.$fireskill-documentator
.fireskills/USER-PROFILE.mdYour confirmed knowledge level and the answers already given in setup, so nobody asks twice. Created by the setup.$fireskill-setup
.fireskills/LESSONS.md and lessons.jsonLessons learned; see Governance & decisions. Created by the first lesson add.bun run fireskill lesson …
.fireskills/SPECKIT.mdOnly when the project has .specify/memory/constitution.md (GitHub Spec Kit). Not present in Nuxfire.sync_speckit_context.mjs

Text you write outside the framework's reserved blocks (<!-- specsfy:…:start --> … <!-- specsfy:…:end -->) is never overwritten.


The context monitor

node fireskills/skills/fireskill-setup/scripts/monitor_context.mjs --project . --check

The monitor looks at the files you changed and have not committed yet (git diff, staged and untracked) and prints which context document each change requires. It ignores _docs/, fireskills/, the context files themselves and test files.

If you changed…It asks for
package.json, bun.lock and other manifests/lockfiles.fireskills/STACK.md ($fireskill-aux-stack)
package.json.fireskills/PACKAGES.md ($fireskill-documentator)
a path with db, database, migrations, .sql, or drizzle.config.*.fireskills/DATABASE.md ($fireskill-aux-database)
AGENTS.md, CLAUDE.md, .editorconfig, ESLint/Biome config.fireskills/RULES.md ($fireskill-aux-rules)
source code (.ts, .vue, .js…) under a folder named app, api, components, lib, pages, routes, server or srcreview of .fireskills/PROJECT.md, and a docs/ rebuild ($fireskill-documentator)

Output is Context monitor: CURRENT when nothing is required, or Context monitor: PENDING followed by one line per document. Options: --json, --paths <files…> (check a given list instead of git), --acknowledge-project-no-change and --acknowledge-rules-no-change (record that a review found no impact).

The flow runs the monitor at the start, after each implementation task and before the Delivery Gate. A PENDING line is a blocker for closing the task.


Keep the context alive

You rarely edit these files by hand. When something structural changes, ask the agent for the matching skill:

Use $fireskill-aux-stack para monitorar o stack e atualizar .fireskills/STACK.md sem perder dados existentes.
Use $fireskill-aux-rules para revisar mudanças e registrar regras em .fireskills/RULES.md preservando o conteúdo atual.
Use $fireskill-aux-database para monitorar persistência e atualizar .fireskills/DATABASE.md após mudanças de dados.

They add to the existing text and do not delete rules or rows you already wrote.

Nuxfire Production Kit

Ready to build and launch your SaaS?

Get 100% full source code ownership, zero proprietary wrappers, and architecture engineered for millions of requests on Cloudflare.

© 2026 Nuxfire