internal-app-standards
Skill0 starsChanged 2 months agoMITView on GitHub
Standardize, design, generate, refactor, and review enterprise internal web systems built through AI coding. Use when Codex needs technical stack selection, engineering design, architecture review, production-readiness review, or implementation guidance for internal admin tools and business systems using React.js + Ant Design frontend, TypeScript backend, PostgreSQL database, Kubernetes deployment, monorepo engineering structure, database migrations, deploy scripts, and company engineering standards.
In this repository42 other files it gives its agents.
- ai-pr-redteamSkill
- ai-servicesSkill
- build-work-memorySkill
- ceo-calendar-inviteSkill
- ceo-document-reviewSkill
- ceo-email-classifierSkill
- ceo-feedback-iterationSkill
- ceo-feedback-processingSkill
- ceo-mail-reviewSkill
- ceo-meeting-workSkill
- ceo-message-triageSkill
- ceo-minutes-syncSkill
- ceo-personnel-communicationSkill
- ceo-wechatSkill
- ceo-work-trackingSkill
- codex-model-capacity-retrySkill
- daily-frontier-tech-discoverySkill
- dengbao-code-auditSkill
- dingtalk-browser-exportSkill
- dingtalk-knowledge-organizeSkill
- dingtalk-minutes-access-requestSkill
- dingtalk-oa-approvalSkill
- dingtang-okr-reviewSkill
- fundflow-investor-meetingSkill
- fxiaoke-crm-cliSkill
- ocrSkill
- pm-data-adaptation-assistantSkill
- project-delivery-document-collectionSkill
- qa-generated-test-caseSkill
- senior-technical-product-evaluationSkill
- spec-intakeSkill
- sso-oidc-onboardingSkill
- stardust-interviewSkill
- production-devops-sreSkill
- stardust-ttsSkill
- startask-io-contract-auditSkill
- task-managementSkill
- transcribeSkill
- veyra-timesheetSkill
- vibe-coding-rescueSkill
- vibe-codingSkill
- video-transcribeSkill
The file
We split this skill into the rules it gives an agent
12 rules. About 0 are common, 10 are distinctive, and 2 are very specific to this project.
≈0
Common · estimate
Many files like this have a rule of this kind.
≈10
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
- Distinctive: line 8
Use this skill to keep AI-coded internal systems consistent enough to run in production.
- Distinctive: line 12
Use these defaults for new internal systems unless the user explicitly overrides them or an existing repository has a stronger established …
- Distinctive: line 25
Prefer the standard stack unless the existing repository has a coherent, production-proven standard or the user explicitly accepts an …
- Distinctive: line 27
Treat stack changes as architecture decisions.
- Distinctive: line 52
Use the report as input, not as a substitute for reading the code.
- Very specific: line 58
Do not introduce Vue, Angular, Next.js, Express-only services, MongoDB, MySQL, serverless-only deployment, or ad hoc shell deployment for …
- Very specific: line 59
Do not build demo-style internal UIs.
- Distinctive: line 60
Do not put business logic in React components, NestJS controllers, SQL strings scattered through handlers, or deployment scripts.
- Distinctive: line 61
Do not add Redis, queues, search engines, GraphQL, microservices, micro-frontends, or workflow engines without a concrete scaling, …
- Distinctive: line 62
Do not hardcode secrets, database URLs, tokens, personal accounts, or environment-specific hostnames.
- Distinctive: line 63
Do not change database schema without a migration and rollback/compatibility notes.
- Distinctive: line 64
Do not mark a system production-ready without auth/RBAC assumptions, observability, resource limits, probes, deploy/rollback instructions, …
≈ “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.
Files
Internal App Standards
Use this skill to keep AI-coded internal systems consistent enough to run in production. Prefer concise, enforceable engineering decisions over broad architecture essays.
Default Stack
Use these defaults for new internal systems unless the user explicitly overrides them or an existing repository has a stronger established standard:
- Language/runtime: TypeScript across frontend and backend on a current Node.js LTS runtime.
- Monorepo:
pnpmworkspaces with shared TypeScript config and workspace scripts. - Frontend: React.js + TypeScript + Vite + Ant Design, React Router, and TanStack Query for server state.
- Backend: TypeScript + NestJS with feature modules, dependency injection, boundary validation, structured errors, and health checks.
- API contract: REST JSON by default, typed request/response contracts, and OpenAPI when consumed outside the owning team.
- Database: PostgreSQL as the system of record, migration-first schema management, and committed migrations.
- Data access: Prisma by default for new systems; preserve the existing repository's data layer when standardizing unless there is an explicit migration plan.
- Deployment: Docker images + Kubernetes manifests using Kustomize-style
baseand environment overlays.
Decision Policy
- Prefer the standard stack unless the existing repository has a coherent, production-proven standard or the user explicitly accepts an exception.
- For new systems, start with a modular monolith. Split services, micro-frontends, queues, caches, search clusters, or GraphQL only when the business workflow needs them.
- Treat stack changes as architecture decisions. State the standard option, the selected exception, why it is needed, what it costs, and how it will be operated.
- Favor boring, owned, observable technology over novel libraries, generated demos, or one-off scaffolds.
Workflow
- Classify the task:
- New system: produce the technology selection, engineering design, standard structure, core modules, DB migrations, Docker/K8s files, and scripts.
- Existing system: inspect first, identify stack deviations, then migrate incrementally without breaking working behavior.
- Review only: read the diff and nearby code, then judge against the release gate.
- Inspect the repository before changing it. Read package manifests, directory layout, DB migrations/schema, Dockerfiles, K8s manifests, CI scripts, and representative frontend/backend modules.
- Load only the reference files needed for the current task:
references/technology-selection.mdfor default stack choices, acceptable exceptions, and decision-record expectations.references/engineering-design.mdfor new-system design, large feature design, architecture boundaries, API/data/workflow design, and rollout planning.references/stack-standard.mdfor repo layout, boundaries, contracts, and shared engineering rules.references/frontend-standard.mdfor React + Ant Design UI implementation.references/backend-db-standard.mdfor TypeScript backend and PostgreSQL design.references/deployment-standard.mdfor Docker, Kubernetes, deploy scripts, and release safety.references/review-gate.mdfor code review and production-readiness decisions.
- For new systems or large changes, write a concise engineering design before implementing. Include stack decisions, module boundaries, API contracts, data model, auth/RBAC, migration strategy, deployment path, tests, and operational risks.
For existing repositories, run:
python3 <skill-directory>/scripts/check_internal_app.py <repo-path>Use the report as input, not as a substitute for reading the code.
- Implement or review with small, coherent changes. Keep unrelated refactors out of scope.
- Finish with the exact validation performed and any remaining production risks.
Hard Rules
- Do not introduce Vue, Angular, Next.js, Express-only services, MongoDB, MySQL, serverless-only deployment, or ad hoc shell deployment for new systems unless the user explicitly asks.
- Do not build demo-style internal UIs. Internal tools should be dense, calm, table/form/detail oriented, and usable for repeated operational work.
- Do not put business logic in React components, NestJS controllers, SQL strings scattered through handlers, or deployment scripts.
- Do not add Redis, queues, search engines, GraphQL, microservices, micro-frontends, or workflow engines without a concrete scaling, integration, or ownership reason.
- Do not hardcode secrets, database URLs, tokens, personal accounts, or environment-specific hostnames.
- Do not change database schema without a migration and rollback/compatibility notes.
- Do not mark a system production-ready without auth/RBAC assumptions, observability, resource limits, probes, deploy/rollback instructions, and critical-path tests.
Expected Output
For design or generation tasks, output:
- Standard repo structure.
- Technology selection summary and exceptions.
- Engineering design with module boundaries and workflow design.
- Frontend page/module design.
- Backend module and API design.
- PostgreSQL schema and migration plan.
- Docker/K8s/deploy script plan.
- Key risks and validation plan.
For review tasks, output:
- Findings first, ordered by severity:
BLOCKER,HIGH,MEDIUM,LOW. - File and line references when available.
- Production decision:
pass,pass with follow-ups, orblock. - Tests and checks actually run.
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
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.

