The floors
Twenty roles, eleven populated, nine deliberate shells.
Where the twenty came from
The tree began as a clone of knowledge-work-plugins. Nine empty role directories were
added, a few unwanted plugins were removed, and 20 remained. The 20 are the role options
in the claude.ai user-settings dropdown for a user in an organization.
The same roles appear on academy.claude.com and in knowledge-work-plugins, but a few
names are not byte-for-byte matches.
Populated and shell
Eleven floors carry plugin content. Nine are shells and are meant to stay that way until a role earns content.
A shell floor still keeps a mailroom, and that is not decoration. Git does not track an empty directory. A floor with no files is absent from the commit and absent at origin, and the push still reports success. The mailroom is what makes a shell floor real enough to survive a push.
The manifest
manifest.jsonl holds one row per floor and is a cache of the disk, never a record kept
beside it. When the two disagree, the disk is right.
{"slug":"floor-data","role":"data","file_count":20,"populated":true,"mailroom_rows":1}
| Field | What |
|---|---|
slug |
The directory name, floor- prefix included |
role |
The slug without its prefix |
file_count |
Content files. Excludes the mailroom log |
populated |
True when the floor carries content |
mailroom_rows |
Rows in the floor's mailroom. Never 0 |