agentleFS
nonlinear-xyznonlinear-xyz/factory-kit/skills/factory-feature-architect/SKILL.md

factory-feature-architect

Skill9 starsChanged 4 months agoMITView on GitHub

Use to turn a vague client ask into a buildable feature spec — scoping, decisions-needed identification, skill routing, risk surfacing. Carries the factory's decision-criteria stack (Mantine vs shadcn, server actions vs tRPC, auth provider, etc.) and routes to the right specialist skills. Outputs a structured spec — not code. The first agent to invoke when a client request lands; outputs become the input to other specialist subagents.

The file

We split this skill into the rules it gives an agent

7 rules. About 0 are common, 5 are distinctive, and 2 are very specific to this project.

  • ≈0

    Common · estimate

    Many files like this have a rule of this kind.

  • ≈5

    Distinctive · estimate

    This author's own choices. Worth a look.

  • 2

    Very specific

    Tied to their project's names, files or tools. Probably skip.

  • Common
  • Distinctive
  • Very specific
  1. Distinctive:

    If it's not one of these, that's the finding — surface it.

    line 20
  2. Very specific:

    If the project's DECISIONS.md exists, defer to it.

    line 36
  3. Distinctive:

    What's the smallest correct change?: If a request implies a redesign of something else, name it and stop — don't sneak it in.

    line 53
  4. Distinctive:

    Don't propose new shared primitives: Check what exists first; if missing, flag for the relevant specialist.

    line 110
  5. Distinctive:

    Don't ask the user follow-up questions: Commit to a reasonable interpretation and flag the assumption.

    line 113
  6. Very specific:

    Don't skip the decisions-needed section: Every spec must declare its decision-criteria choices, even if it defers to DECISIONS.md.

    line 115
  7. Distinctive:

    If the user asks for a single field added to a form, a copy change, or a one-line config tweak, just point at the right specialist directly …

    line 119

≈ “Common” is an estimate: at least 1 in 5 of the 350,495 skill files we read have a rule of the same kind, not the same words. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.

Keep what fits and drop the rest. Your version, ready for your agents.
Files
SKILL.md

Apply the feature-architect specialist workflow. Turn a vague client request into a buildable specification, identify decisions, and route to the right specialist workflow. Do not write code. Load factory-stack end-to-end through the host's skill capability when needed.

How to think (in order)

  1. What is the user actually asking? Restate the request in one sentence. If ambiguous, name the ambiguity and pick the most reasonable interpretation — don't ask follow-up questions; commit and flag.
  2. What's the noun? Map to one of:

    • Entity — has a list, detail, create/edit (e.g. customers, invoices, products)
    • Workflow — process spanning multiple entities (e.g. approval flow, claim verification)
    • Dashboard / report — read-only aggregation
    • Integration — external system in/out (CRM, accounting, ERP)
    • AI / LLM feature — agent, RAG, chat
    • Data pipeline — ingestion, transform, simulation

    If it's not one of these, that's the finding — surface it.

  3. What's the scope? Strict minimum-viable cut. If the user asks for "a customer management page," the cut might be:

    • MVP: list + create + edit, no delete, no bulk ops, no filtering beyond status
    • V2: filtering, search, soft delete
    • V3: bulk actions, custom fields, exports

    Name what's in MVP and what's deferred. Don't sneak V2 features into MVP.

  4. Which decision-criteria choices apply? Reference factory-stack.md. Common ones:

    • Component library: Mantine vs shadcn — pick based on project type + existing decisions
    • API style: server actions vs tRPC — pick based on project pattern
    • Auth provider: Better Auth + orgs / Supabase + RLS / Clerk
    • ORM: Drizzle / Supabase types
    • Storage: structured columns / JSONB envelope

    If the project's DECISIONS.md exists, defer to it. If not, propose values inline.

  5. Which skills / subagents will this need? Route:
    • UI surface → frontend-engineer + factory-frontend.md
    • Forms with sensitive data → frontend-engineer + factory-security.md
    • DB schema or migrations → db-schema-architect (Phase B) + factory-data-layer.md
    • Auth wiring → auth-wiring-specialist (Phase B) + factory-auth.md
    • LLM workflow → llm-workflow-engineer + factory-llm-workflows.md
    • CSV / Python service / pipeline → data-pipeline-engineer + factory-data-pipelines.md
    • Threat-model or AI-code review → security-engineer + factory-security.md
  6. What are the risks? Surface concrete risks, not abstract concerns:
    • Sensitive data → KMS at rest? BAA?
    • Multi-tenant → org keying enforced at middleware + DB?
    • High-volume mutation → rate limit? audit log?
    • AI-code path → read-only-by-default? review queue?
  7. What's the smallest correct change? If a request implies a redesign of something else, name it and stop — don't sneak it in.

Reference: decision-criteria cheat sheet

ChoicePick when…
MantineCRUD-heavy, internal tool, form-table dense
shadcnMarketing site adjacent, design flexibility, Tailwind-first team
Server actionsOne frontend consumer, feature-folder colocation matters
tRPC≥3 entities with cross-feature queries, public API, multiple consumers
Better Auth + orgsDefault; B2B with team/org concept
Supabase Auth + RLSRLS doing real work (multi-role, deeply branched authz)
ClerkConsumer / SSO-heavy, managed UI desired
DrizzleDefault; everywhere unless Supabase auto-types fits
JSONB envelopeEvent/time-series data, schema may evolve, not query-driving
Cloud Run (Python)Numeric libs, compute beyond Vercel timeout, existing Python

Output format

## Restated request
<one sentence>

## Noun + scope
- Noun: <entity / workflow / dashboard / integration / AI / pipeline>
- MVP cut: <bulleted, in scope>
- Deferred: <bulleted, V2+>

## Decisions needed (or made)
- Component lib: <Mantine / shadcn / from DECISIONS.md>
- API style: <server actions / tRPC>
- Auth: <provider>
- Storage: <columns / JSONB>
- Other: <any other decision-criteria items relevant>

## Skill + subagent routing
1. <subagent name> for <what>
2. <subagent name> for <what>
3. ...

## Risks
- <concrete risk> → <mitigation, with skill reference>

## Files likely touched
<bulleted, with paths if you grepped the repo>

## Verification plan
- How to test end-to-end
- What's the success criterion

## Open questions
<things the user should confirm before specialists start>

What you do NOT do

  • Don't write code. Output specs; route to specialists.
  • Don't propose new shared primitives. Check what exists first; if missing, flag for the relevant specialist.
  • Don't invent new entities or audiences. Map to the existing data model.
  • Don't sneak V2 features into MVP scope. Name them and defer.
  • Don't ask the user follow-up questions. Commit to a reasonable interpretation and flag the assumption.
  • Don't apologize, hedge, or pad. Be direct.
  • Don't skip the decisions-needed section. Every spec must declare its decision-criteria choices, even if it defers to DECISIONS.md.

When the request is too small for this framework

If the user asks for a single field added to a form, a copy change, or a one-line config tweak, just point at the right specialist directly — no full scoping framework needed. The framework is for feature-level or larger.

Download now (ZIP)

Does it work?

Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.

No reviews yet

People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.

  • It worked
  • Partly
  • It didn't
What did you use it for? e.g. Reviewing pull requests in a Rails app

Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.

Your trail

Files you open will collect here, so you can find them again.

Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.

Now do this for your own.

Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.