ng-folders

ng-folders is a command for coding agents from FlyFission/nuclear-grade-context-engineering. It costs 0 tokens per session (1,118 once invoked), scanned A, original, MIT.

A command for designing a clear project folder and file layout based on the work being done and how files change together.

In plain words
What is it for?
Use it when starting or reorganizing a repository, service, feature, agent workspace, or step-by-step workflow.
Why use it?
It helps prevent folders from becoming catch-all locations where related work is hard to find.

Command

Part of the nuclear-grade plugin — 24 skills, 28 commands, 5 agents shipped together

Install

Getting it into your agent

One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.

agentmods
npx agentmods add commands/flyfission/nuclear-grade-context-engineering/ng-folders
Clone the repo
git clone --depth 1 https://github.com/FlyFission/nuclear-grade-context-engineering

Or install nuclear-grade, the plugin that ships this one along with the rest of its 24 skills, 28 commands, 5 agents.

Wrote this? Show the measurements

A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.

agentmods badge for ng-folders

README.md
[![agentmods](https://agentmods.dev/badge/commands/flyfission/nuclear-grade-context-engineering/ng-folders.svg)](https://agentmods.dev/commands/flyfission/nuclear-grade-context-engineering/ng-folders)
Your own site
<a href="https://agentmods.dev/commands/flyfission/nuclear-grade-context-engineering/ng-folders"><img src="https://agentmods.dev/badge/commands/flyfission/nuclear-grade-context-engineering/ng-folders.svg" alt="Measured on agentmods" height="20"></a>
Per session 0 Only the description is in the session, so the agent can decide to use it. The body loads when it is invoked.
When invoked 1,118 The whole file, excluding the scripts and references it only reads on demand.
Security scan A 0 findings. Scan, not verified.
Origin original No closer match found in the catalogue.
Token cost

What it costs to keep this loaded

Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.

ModelPer sessionOnce invoked
Fable 5 $0.00000 $0.01118
Opus 5 $0.00000 $0.00559
Sonnet 5 $0.00000 $0.00224
Haiku 4.5 $0.00000 $0.00112

Measured 5d ago against content hash fd12611b77e4, method: parsed. Prices are Anthropic first-party input rates as of 2026-08-30, from the pricing page.

Security

Grade A, and why

ng-folders scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 5d ago.

A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.

Nothing flagged

None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.

commands/ng-folders.md · 79 lines

How it starts

The opening of the file, as written. The whole thing — 79 lines — stays where its author put it; the contents beside it link to each section on GitHub.

ng-folders

Portable command prompt generated from skills/organizing-project-folders/SKILL.md. Edit the skill, then run python tools/ng.py gen-commands; do not edit this file by hand.

Designs a clean folder and file layout as real architecture, building it from a work breakdown or an existing tree, grouping by what changes together and what happens to it, with platform-safe sortable names and a short note per folder. Use when laying out a repo or agent workspace, deciding where a file belongs, or fixing a junk-drawer folder. Do not use for a single obvious file path or renaming inside an already-clean tree.

Use when

  • Laying out a new repo, service, feature, or agent workspace tree.
  • Deciding where a new file or module belongs.
  • A folder has become a junk drawer and no longer maps to the work.
  • Turning a work breakdown into real folders, or reorganizing an existing tree.
  • Designing a step-by-step agent workflow as folders on disk instead of framework code.

Do not use when

  • A single file with an obvious home, or a rename inside an already-clean, conventional tree.
  • A live incident you have to contain first.
  • A layout fully fixed by an outside framework's required structure. Follow that instead.
  • Enforcing ownership, CI gates, or supply-chain trust. Those belong to choosing-what-to-control, checking-release-readiness, and vetting-outside-code-and-models.

Inputs

  • The work breakdown and its dictionary (templates/standard/wbs.md or a wbs.md) when there is one. Otherwise the scope, which you will break down in reverse.
  • The current repo layout and any conventions doc.
  • The mission anchor and any platform or tooling limits.
  • For each piece, what eventually happens to it (keep, temporary, archive, generated).

Prompt text

Build and check a folder/file layout.

Inputs:
- WBS or scope: <wbs.md path, or the deliverable to break down>
- paradigm: <production-codebase | agent-workflow-workspace>
- existing tree to respect: <paths or none>
- naming convention: lowercase, hyphen or underscore (pick one), ISO-8601 dates,
  one dot for the extension, no spaces or special characters

Do this in order:
1. Choose the paradigm. Production codebase: one root per deliverable, plus a
   small approved set of shared parts; the folder tree is the work breakdown
   laid out on disk. Agent workflow workspace: numbered stage folders (01_,
   02_), each with a context file that states its Inputs, Process, and Outputs;
   keep lasting reference material separate from per-run output; let scripts do
   the mechanical work; put a human review gate at each stage boundary.
2. Set the source of truth: derive folders from the work breakdown's outline
   numbers, or, if there is none, reverse-engineer the implied breakdown first.
3. For each proposed folder, answer the checklist: has it earned a folder? Does
   it hold together (one reason to change)? Does little leak out of it? Does it
   map to one part of the breakdown or one over-time rule? Does it have a single
   home? Is it named safely? Is it shallow enough? Is it documented?
4. Name and bound it: enforce the naming convention; ban misc/stuff/tmp/new/old/
   backup/final and a bare utils; cap depth near 8 levels and the path near 255
   characters.
5. Give each non-trivial folder a README or dictionary note, plus a note on what
   happens to it over time.
6. Reconcile with the existing tree; propose the smallest new structure; flag
   conflicts instead of overwriting.

Return: the folder map (work-breakdown outline number -> path, with an over-time
column), the per-folder notes, and a check of the naming, the depth, and the
single source of truth. Do not overwrite a baselined tree; propose it for review.

Read the full file on GitHub · 79 lines

Changes

What this file has done since we first saw it

Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.

  1. 5d ago First seen · 79 lines · 0 tokens per session scan A fd12611b77e4

Subscribe to this mod's changes

ng-folders is a command published in the GitHub repository FlyFission/nuclear-grade-context-engineering (33 stars, last pushed 26d ago), licensed MIT. It costs nothing until one of its globs matches a file; then it loads 1,118 tokens. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-30.