agents/skills/vertical-feature-architect/SKILL.md
Add net-new product, workflow, platform, or developer-experience features as small vertical slices. Use this skill whenever the user asks to build a new feature, add a new page/route/API/workflow/job/eval/operator path, enrich an existing feature with a new user-visible capability, or plan feature architecture before coding. This skill maps the files to change or create, defines the authoritative contract, specifies tests, and gives a QA plan before treating the feature as done.
npx skillsauth add carterdea/dots vertical-feature-architectInstall 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 add net-new capability without scattering partial code across a codebase. The goal is a small end-to-end feature slice with clear ownership, typed contracts, lifecycle behavior, observability where useful, focused tests, and an explicit QA path.
Do not mention this skill name, its origin, or any person in code comments, commit messages, PR descriptions, docs, or user-facing project text. Treat the skill name as an invocation label only.
Do not use this for pure refactors where no new capability is added. Use a refactor-oriented skill instead.
rg and file listings:
Before editing, produce a concise file map. If implementation is straightforward, this can be a short note before edits. If the feature is large or risky, make it a checklist and update it as work progresses.
Use this shape:
path: why it owns part of the featurepath: why a new file is better than expanding an existing filepath: behavior coveredpath or none: when a durable note is usefulpath: why the nearby file is not the ownerCreate a new file when the code has a distinct responsibility and would otherwise bloat a route, component, service, handler, or test file. Prefer changing an existing owner when the new behavior is a natural extension of that owner.
Start with the boundary that makes the feature real.
Common contract owners:
Specify:
Do not make the UI infer facts that the service should serialize. Do not make callers submit trusted facts that the backend, workflow, parser, or integration should derive.
Implement the smallest vertical path that proves the feature architecture:
The tracer bullet should be narrow but real. Avoid broad scaffolding that does not execute.
Lifecycle logic belongs where the lifecycle is controlled.
Examples:
Make terminal states explicit. Bound polling and temporary refresh windows. Preserve no-op behavior when config is missing.
Add audit, provenance, logging, or run metadata when a feature crosses:
Capture facts that help someone reproduce or explain the run:
Keep observability structured and close to the boundary that emits it.
Thin surfaces orchestrate, validate, and render. They do not become second services.
Good signs:
If a route, component, or handler starts accumulating domain rules, extract a neutral primitive or move the decision to the owning module.
Before calling the feature done, specify the tests needed. Add the focused tests unless the user explicitly asked for planning only.
Use this matrix and choose the rows that apply:
Prefer focused tests first. Then run the quiet broad checks the repo provides.
Every net-new feature needs a short QA plan, even if automated tests cover most of it.
Include:
If a dev server or external service is unavailable, state exactly what was skipped and what command or URL should be used later.
When reporting back, include:
For planning-only requests, output the same structure as a proposed plan and do not edit files.
development
Verify a developer's finished Trello ticket on a non-Shopify web app and render a verdict. Dogfood the posted preview (desktop + mobile) against the card's acceptance criteria, then PASS it (approve the PR, move to Ready for Release) or FAIL it (request changes, attach repro, reassign the dev, move to Development). Read-only: never implements, commits, or opens a PR. Use when asked to 'QA this card', 'test before release', or 'sign off on this ticket'. Shopify themes use shopify-trello-qa; building a ticket uses trello-delivery.
development
Verify a developer's finished Shopify theme ticket and render a verdict. Dogfood the posted preview theme and Customizer (desktop + mobile) against the card's acceptance criteria and Figma, then PASS it (approve the PR, move to Ready for Release) or FAIL it (request changes, attach repro, reassign the dev, move to Development). Read-only: never implements, commits, deploys, or opens a PR. Use when asked to 'QA this Shopify card', 'verify the Ready for Testing card', or 'sign off on this theme ticket'. Non-Shopify apps use trello-qa; building a ticket uses shopify-trello-delivery.
development
Survey any codebase as a senior advisor and produce prioritized, self-contained implementation plans for OTHER models/agents to execute. Strictly read-only on source code — never implements, fixes, or refactors anything itself. Use when asked to audit a codebase, find improvement opportunities (bugs, security, performance, test coverage, tech debt, migrations, DX), suggest features or where to take the project next (roadmap, product direction), or generate handoff plans for another agent to implement.
development
Refactor codebases by collapsing orchestration, tightening typed boundaries, deleting broad context leakage, and adding ratchet tests