Agent skill

Code Organization

by usenotra in usenotra/notra

Repo file-organization convention for TypeScript projects. An agent skill from usenotra/notra.

AGPL-3.0Auto-check passedProductivity & Automation

Install Code Organization

skills CLI
$ npx skills add usenotra/notra --skill code-organization -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install usenotra/notra code-organization --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/usenotra/notra.git skills-src && mkdir -p .claude/skills && cp -r skills-src/.agents/skills/code-organization .claude/skills/code-organization && rm -rf skills-src

Use ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.

Claude Code skills documentation · loads skills from .claude/skills/

Facts

Skill name
code-organization
GitHub stars
255
Token cost
~893 tokens
SKILL.md length
362 words
Files
1
Skills in repo
17
Repo updated
First seen
Licence
AGPL-3.0

At a glance

Repo file-organization convention for TypeScript projects. An agent skill from usenotra/notra.

  • Works in 5 steps: One folder per category — types/,… → Group files by domain inside a folder.… → Functions get their own file. A reusable… → …
  • You add a type/interface
  • SKILL.md covers Layout, Rules, Where does it go? and Gotchas
  • Instructions only: no scripts, shell commands, URLs or credentials in SKILL.md

What it does

Code Organization is an agent skill from usenotra/notra. Repo file-organization convention for TypeScript projects. ALWAYS use this when creating new files or deciding where code goes — types, schemas, validation, utility/helper functions, constants, enums, and config literals each belong in their own dedicated folder, not inline next to feature code or dumped in one grab-bag file. Use whenever you add a type/interface, a validation schema, a util/helper, a constant, or are asked where something should live, how to structure the repo, or to organize/refactor file layout.

Its SKILL.md is about 890 tokens, which your agent loads only when the skill is triggered. It is a single SKILL.md file with no bundled scripts.

It sits in Productivity & Automation, covering File organization. It works with TypeScript. The repository describes itself as: Notra is a modern GEO tool that asks ChatGPT, Claude and Gemini the questions your buyers ask. See if you show up, who shows up instead and how to fix it. The licence is AGPL-3.0.

When your agent uses it

  • You add a type/interface
  • A validation schema
  • Are asked where something should live
  • How to structure the repo

Example prompts

  • “/code-organization”

Workflow steps

5 steps, taken from the first numbered list in SKILL.md.

  1. One folder per category — types/, schemas/, utils/, constants/.
  2. Group files by domain inside a folder. All user-related types live in
  3. Functions get their own file. A reusable helper lives in utils/ in a
  4. No barrel files. Do not add index.ts re-export barrels. Import
  5. Types vs schemas are separate concerns. types/ holds pure TypeScript

What it can do on your machine

Read from SKILL.md and the folder at commit 59bbf7d. It shows what the files ask for, not the result of running them.

  • Tool permissions

    Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.

    From allowed-tools in the SKILL.md frontmatter.

  • Runs code

    No scripts in the folder and no shell commands in SKILL.md (its code samples are typescript).

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    No URLs in SKILL.md.

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names no API keys, tokens, secrets or passwords.

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

Code Organization loads about 893 tokens when it runs. Until then it costs about 135 tokens; SKILL.md has 362 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~135
When it runs · the whole SKILL.md, loaded when a task matches
~893

Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.

Safety

Auto-check passed

The automated check found no risky patterns in SKILL.md.

Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.

SKILL.md

The full file from usenotra/notra at commit 59bbf7d, republished under its AGPL-3.0 licence (© usenotra). 362 words, ~893 tokens.

Download SKILL.mdSave it as .claude/skills/code-organization/SKILL.md (or your agent's skills folder).
name
code-organization
description
Repo file-organization convention for TypeScript projects. ALWAYS use this when creating new files or deciding where code goes — types, schemas, validation, utility/helper functions, constants, enums, and config literals each belong in their own dedicated folder, not inline next to feature code or dumped in one grab-bag file. Use whenever you add a type/interface, a validation schema, a util/helper, a constant, or are asked where something should live, how to structure the repo, or to organize/refactor file layout.

code-organization

Where each kind of code goes. Apply this every time you create a file or add a type, schema, helper, or constant. Don't inline them next to feature code and don't pile unrelated things into one file.

Layout

Each category gets its own dedicated folder. Files inside a folder are grouped by domain (e.g. user, post), not by individual symbol.

src/
  types/        type & interface definitions        types/user.ts
  schemas/      validation schemas (zod, yup, etc.) schemas/user.ts
  utils/        helper / utility functions          utils/format.ts
  constants/    constant values, enums, config      constants/routes.ts

Rules

  1. One folder per category — types/, schemas/, utils/, constants/. A new type goes in types/, never inline in the file that uses it or alongside a component.

  2. Group files by domain inside a folder. All user-related types live in types/user.ts; all user-related constants in constants/user.ts. Split a file once it covers clearly separate domains — not per symbol.

  3. Functions get their own file. A reusable helper lives in utils/ in a file named for what it does (utils/format.ts, utils/slugify.ts). Keep one focused concern per file; don't accumulate a utils/index.ts junk drawer.

  4. No barrel files. Do not add index.ts re-export barrels. Import directly from the specific file:

    ts
    import { formatDate } from "@/utils/format";   // ✓
    import { formatDate } from "@/utils";           // ✗ no barrel

    This keeps imports explicit and avoids circular-import and tree-shaking surprises.

  5. Types vs schemas are separate concerns. types/ holds pure TypeScript type/interface declarations. schemas/ holds runtime validation schemas. If a type is derived from a schema, infer it in types/ and import the schema — keep the validator in schemas/.

Show full SKILL.md (143 more words)Show less

Where does it go?

You're adding…FolderExample file
type / interfacetypes/types/user.ts
validation / parse schemaschemas/schemas/user.ts
pure helper functionutils/utils/format.ts
constant, enum, config literalconstants/constants/routes.ts
React component, route, feature codefeature diruser/profile.tsx

Gotchas

  • A one-off type still goes in types/. "It's only used here" is not a reason to inline it — consistency is the point. The next person looks in types/ first.
  • Don't create a barrel to shorten imports. Rule 4 is deliberate; longer import paths are the trade-off, and they're worth it.
  • utils/ is not a dumping ground. If a helper is specific to one feature and never reused, it can live with that feature — utils/ is for genuinely shared helpers.
  • Match the existing folder names in the repo if it already has types/ / lib/ / helpers/. Follow what's there rather than introducing a parallel set of folders.

© usenotra, AGPL-3.0. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

Just SKILL.md in .agents/skills/code-organization of usenotra/notra.

Open the folder on GitHubat commit 59bbf7d

Compare with similar skills

Code Organization next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.

Code Organization compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Code Organization this skillusenotra/notra255—~893Automated safety check: PassAGPL-3.0
Feishu Driveraucvr/Group-Goki1123 repos~587Automated safety check: PassMIT
Boundaries Architectjavierbrea/eslint-plugin-boundaries997—~4.2kAutomated safety check: PassMIT
Zapier SDKzapier/sdk262—~2.9kAutomated safety check: PassMIT
Camofox CLIredf0x1/camofox-browser410—~1.3kAutomated safety check: PassMIT
PikpakBengerthelorf/pikpaktui120—~1.2kAutomated safety check: PassApache-2.0

Similar skills

  • Feishu Drive

    raucvr/Group-Goki

    Feishu cloud storage file management. An agent skill from raucvr/Group-Goki.

    112 GitHub starsUsed in 3 repos~587 tokens
    Productivity & AutomationAuto-check passed
  • Boundaries Architect

    javierbrea/eslint-plugin-boundaries

    Act as a software architect: analyze a repository's folder structure and cross-file import dependencies, detect its architectural pattern, design element/file boundaries with the user, and configure…

    997 GitHub stars~4.2k tokensUpdated 2 days ago
    DevelopmentAuto-check passed
  • Zapier SDK

    zapier/sdk

    Official

    Zapier SDK for TypeScript. An agent skill from zapier/sdk.

    262 GitHub stars~2.9k tokensUpdated 2 mo ago
    Productivity & AutomationAuto-check passed
  • Camofox CLI

    redf0x1/camofox-browser

    CamoFox CLI — 50 commands for anti-detection browser automation from the terminal.

    410 GitHub stars~1.3k tokensUpdated 15 days ago
    Productivity & AutomationAuto-check passed
  • Pikpak

    Bengerthelorf/pikpaktui

    Manage PikPak cloud storage — browse, upload, download, stream, share, and organize files via CLI.

    120 GitHub stars~1.2k tokensUpdated 2 mo ago
    Productivity & AutomationAuto-check passed
  • Code

    trycompai/comp

    A skill your agent uses when writing TypeScript/React code - covers type safety, component patterns, and file organization

    2k GitHub stars~909 tokensUpdated 5 days ago
    DevelopmentAuto-check: warnings

More from usenotra/notra

All 17 skills in this repo
  • Ponytail Help

    usenotra/notra

    Quick-reference card for all ponytail modes, skills, and commands.

    255 GitHub starsUsed in 3 repos~697 tokens
    Auto-check passed
  • Neon Postgres

    usenotra/notra

    Guides and best practices for working with Lakebase Postgres, the database behind Neon.

    255 GitHub stars~4.1k tokensUpdated today
    Auto-check: notes
  • Satori

    usenotra/notra

    Expert guidance for Satori, the library that converts JSX/HTML and CSS into SVG (the engine behind dynamic Open Graph images and social cards).

    255 GitHub stars~3k tokensUpdated today
    Auto-check passed
  • Workos Widgets

    usenotra/notra

    A skill your agent uses when the user is implementing, embedding, or debugging a WorkOS Widget — specifically the User Management, User Profile, Admin Portal SSO Connection, or Admin Portal Domain…

    255 GitHub stars~2k tokensUpdated today
    Auto-check passed
  • Autumn Catalog

    usenotra/notra

    Modeling a user's pricing into an Autumn catalog — deciding the structure (plans, variants, add-ons, licenses, credit systems, pooled balances) before writing config, then filling in the numbers.

    255 GitHub stars~6.1k tokensUpdated today
    Auto-check passed
  • Effect

    usenotra/notra

    Opinionated guide for building production TypeScript applications with Effect v4.

    255 GitHub starsUsed in 1 repo~1.8k tokens
    Auto-check passed

Works with

Questions about Code Organization

What does Code Organization do?

Repo file-organization convention for TypeScript projects. An agent skill from usenotra/notra. Code Organization is an agent skill from usenotra/notra. Repo file-organization convention for TypeScript projects.

When should I use Code Organization?

Code Organization fits situations like: you add a type/interface; A validation schema; are asked where something should live; how to structure the repo.

How do I install Code Organization in Claude Code?

Run `npx skills add usenotra/notra --skill code-organization -a claude-code`. Or copy the skill folder (.agents/skills/code-organization in usenotra/notra) into .claude/skills/code-organization in your project. Claude Code loads it when a task matches its description.

How do I install Code Organization in Codex?

Run `npx skills add usenotra/notra --skill code-organization -a codex`. Or copy the skill folder (.agents/skills/code-organization in usenotra/notra) into .agents/skills/code-organization in your project. Codex loads it when a task matches its description.

Can I use Code Organization in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add usenotra/notra --skill code-organization -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/code-organization, .gemini/skills/code-organization, .github/skills/code-organization and .opencode/skills/code-organization in your project.

What does Code Organization need to run?

SKILL.md names no scripts, command-line tools or credentials: Code Organization is instructions for the agent only.

Does Code Organization access the network?

SKILL.md contains no URLs. Any network use would come from the scripts or tools the agent runs. This is read from the text; nothing was executed.

Is Code Organization safe to install?

Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.

What licence does Code Organization use?

Code Organization is published under the AGPL-3.0 licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Code Organization use?

About 893 tokens (SKILL.md is roughly 3.6k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.

What are the alternatives to Code Organization?

Skills that share tags, products or a category with Code Organization: Feishu Drive (raucvr/Group-Goki, 112 stars), Boundaries Architect (javierbrea/eslint-plugin-boundaries, 997 stars), Zapier SDK (zapier/sdk, 262 stars) and Camofox CLI (redf0x1/camofox-browser, 410 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Code Organization?

usenotra (a GitHub organization) maintains it in usenotra/notra, which has 255 GitHub stars. The repository holds 17 skills in this directory. The repository was last updated on October 7, 2026.

Source: usenotra/notra on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.