skills/vertical-codebase/SKILL.md
Guide agents to organize code by functionality instead of technical file type. Use when adding features, refactoring project structure, reviewing architecture, colocating related code, or deciding where components, hooks, types, utilities, tests, styles, and API code should live.
npx skillsauth add da1z/agent-things vertical-codebaseInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
Use this skill to keep code organized around what it does, not what kind of file it is.
Code that changes together should live together.
Prefer verticals such as src/widgets/, src/dashboard/, src/auth/, or src/design-system/ over horizontal buckets such as src/components/, src/hooks/, src/types/, and src/utils/.
A vertical may contain components, hooks, query options, API clients, types, constants, styles, tests, fixtures, and local utilities. The grouping is based on functionality, domain language, route ownership, or product ownership.
Use these signals, in order:
/dashboard starts in src/dashboard/.src/widgets/.Do not choose a location only because a file is technically a component, hook, type, or utility.
Shared code should usually become a named vertical, not a dumping ground.
Good shared verticals have a clear concept and public interface, such as design-system, page-filters, routing, auth, or analytics.
Avoid vague buckets like:
utilshelperscommonsharedtypesIf a shared folder already exists, add to it only when the concept is genuinely generic. Otherwise, create or use a more specific vertical.
Colocation increases cohesion, but boundaries keep coupling under control.
For each vertical:
index.ts, package exports, or the repo's existing public API pattern.When reorganizing existing horizontal code:
Do not reorganize the whole project just to make the tree look pure. Vertical structure should reduce cognitive load for real changes.
Use this checklist when reviewing or planning changes:
When unsure, start vertical and small. It is easier to extract a clearly named shared vertical later than to recover meaning from scattered horizontal folders.
development
Build high-converting landing pages with a simple 6-section framework. Use for landing page guidance.
development
How to access Hono framework documentation.
development
Save team knowledge notes into ./knowledge/ with date-prefixed filenames. Every solved problem, discovered pattern, or key decision becomes searchable knowledge that makes future work easier. Use when the user wants to capture gotchas, errors, build issues, solutions, patterns, or decisions for future reference.
development
Maintainer-only workflow for handling GitHub Secret Scanning alerts on OpenClaw. Use when Codex needs to triage, redact, clean up, and resolve secret leakage found in issue comments, issue bodies, PR comments, or other GitHub content.