NAI OS
Command, subagent, skill — settled last.
Worth settling last, now that the pieces have names, because Claude Code genuinely blurs two of these.
| Lives in | Frontmatter | Invoked by | |
|---|---|---|---|
| Command · 12 here | .claude/commands/ | description, argument-hint | you, typing /nai-tax-theo |
| Subagent · 25 here | .claude/agents/ | name, description, tools | an orchestrator, via the Agent tool |
| Skill · 12 here (Cursor) | .cursor/skills/, plugin packs |
name, description | the Skill tool |
Cursor mirrors each /nai-* command under .cursor/skills/nai-*/SKILL.md
(thin wrappers pointing at .claude/commands/). Claude Code surfaces the same
command files through the Skill tool as well — which is why
nai-tax-theo appears in the available-skills list despite living in
commands/. There is no .claude/skills/ directory here.
Installed packs (Superpowers, GSD, …) are user-level: they travel with the
Claude Code install, not this workspace.
The difference that matters is context. A skill loads
instructions into the context already running. It changes how the current agent behaves,
with no isolation and no tool grant of its own — so it can never be narrower than whatever
is running it. A subagent runs in its own context with
its own tools: grant, and returns only a summary.
That is why tools: exists on agents and not on skills — and it is the whole
basis of the boundary. email-triage cannot send mail because its grant omits
the send tool. A skill could never give you that guarantee, and here it could not even try: none
of the twenty-five agents is granted the Skill tool, so a subagent in this workspace cannot load a
skill at all.