Productionize App With Services
Use this skill when a working prototype needs a specific, user-selected set of product services. Productization is not a checklist of everything a mature SaaS might contain.
Use this skill to coordinate several named product-service gaps. For one narrow capability, use ordinary implementation or the corresponding narrower skill.
Counterweight: earn every service
- Start from users, callers, incidents, and operating constraints. Name the concrete need before adding a service or control.
- Prefer the repository's existing stack and provider capabilities. Do not introduce Postgres, hand-rolled auth, PostHog, OpenAPI, API keys, feature flags, audit logs, admin UI, dashboards, or a public agent guide by default.
- Add the smallest service that closes the named gap. Avoid building extension points, bulk APIs, role systems, or management surfaces for hypothetical consumers.
- Use one authoritative identity and action path where practical, but do not create a shared action layer merely to satisfy the pattern.
- Prefer deletion, configuration, or a provider-native feature over a new subsystem.
- Do not treat security, observability, auditability, API access, and agent friendliness as inseparable. Select only the requested dimensions.
- Do not create synthetic users, records, migrations, PRs, deployments, or audit microsites solely to prove productization machinery.
- Production mutation, commits, external services, and subagents require the active request to include them or clearly authorize them.
- Stop when the selected product need is met and proportionally verified; report deferred dimensions without implementing them.
Stack selection
Prefer the repo's existing stack and managed provider capabilities. When a selected capability requires a choice, compare the smallest viable options against current scale, ownership, portability, cost, and migration burden. Do not introduce a preferred database, auth model, analytics vendor, schema library, or documentation format without evidence from the task.
Operating Principles
- Ground everything in repo facts before planning: current scripts, deployment topology, database schema, auth model, API routes, frontend state model, tests, recent commits, and dirty worktree.
- Preserve working product behavior unless the user explicitly asks for breaking changes.
- Keep existing UI and API architecture unless a selected caller exposes a concrete mismatch.
- Consolidate a product action only when it is already duplicated across meaningful callers.
- Add user or admin visibility only for state someone must actually operate.
- Make agent-facing surfaces only for named agent consumers.
Workflow
1. Discover The Product Boundary
Run a non-mutating discovery pass:
- Current git status and only the entrypoints, data, providers, tests, and operations relevant to the selected services.
- Named users, operators, or programmatic callers and the workflows they need.
- Existing framework or provider capabilities that may already satisfy the need.
- Product behavior and compatibility that must remain intact.
Read only the relevant sections of product-principles.md for capabilities the user selected.
2. Select Productization Slices
Write a plan the user can modify before or during execution. Include:
- Product goal, explicit non-goals, assumptions, and risk posture.
- Current-state findings with file/schema references.
- Requested workstreams and explicit non-goals; omit unrelated maturity dimensions.
- A concurrency map only when the user requested parallel work.
- API plan only when named programmatic clients require one.
- Proportional validation for the selected slices.
- Rollback and compatibility plan for migrations, env changes, provider changes, and user-visible workflow changes.
The plan should be complete, but not frozen. Update it as facts change.
3. Build The Safety Net
Before broad edits:
- Run focused existing checks or record why they cannot run.
- Add a characterization test only when fragile behavior cannot otherwise be preserved confidently.
- Add runtime schemas only at changed untrusted boundaries.
- Add health checks only when deployment or operations are selected slices and existing signals are insufficient.
- Capture screenshots only for changed visual behavior.
4. Execute Only Selected Slices
Implement only the selected capabilities. Typical slices are a data or permission contract, one shared operation used by named callers, its required UI or API adapter, and focused verification. Security, observability, audit, admin UX, documentation, and deployment are separate slices only when explicitly in scope.
For detailed execution rules and worker prompts, read execution-playbook.md.
5. Coordinate Large Work When Requested
Use subagents only when explicitly requested and the selected slices are independent.
Do not let multiple workers edit the same hot files. Keep one integration owner responsible for proportional verification and any explicitly requested merge or deploy.
6. Validate Proportionally
At the end of each slice:
- Run narrow tests for touched code.
- Add focused tests when they prove a plausible defect in a changed contract.
- Expand to broad checks only when shared boundaries or repository policy require them.
- Run e2e/browser/screenshot checks for changed user/admin flows.
- Deploy only when the active request includes deployment.
- If deployment is explicitly requested and smoke data materially reduces risk, use clearly temporary records and clean them up.
- Check only logs or dashboards relevant to selected and deployed capabilities.
7. Report The Result
Summarize selected capabilities, evidence, deletions, remaining risks, and deliberately omitted maturity dimensions. Create a static review microsite only when explicitly requested; then read audit-microsite.md.
Quality Bar
A successful run satisfies the named users or operators, reuses existing product and provider capabilities, introduces no hypothetical services, keeps one clear source of truth, and provides proportional verification.
1---2name: productionize-app-with-services3description: Productize a working prototype by adding a bounded set of explicitly requested operational or product services. Use only when the user asks for a broad productization pass or names product-service gaps such as permissions, API access, audit history, admin operations, or production operability as the primary task. Do not trigger for ordinary feature work, a single service integration, generic "make this production ready" phrasing without concrete scope, or routine security, observability, testing, and release tasks covered by narrower skills.4---56# Productionize App With Services78Use this skill when a working prototype needs a specific, user-selected set of product services. Productization is not a checklist of everything a mature SaaS might contain.910Use this skill to coordinate several named product-service gaps. For one narrow capability, use ordinary implementation or the corresponding narrower skill.1112## Counterweight: earn every service1314- Start from users, callers, incidents, and operating constraints. Name the concrete need before adding a service or control.15- Prefer the repository's existing stack and provider capabilities. Do not introduce Postgres, hand-rolled auth, PostHog, OpenAPI, API keys, feature flags, audit logs, admin UI, dashboards, or a public agent guide by default.16- Add the smallest service that closes the named gap. Avoid building extension points, bulk APIs, role systems, or management surfaces for hypothetical consumers.17- Use one authoritative identity and action path where practical, but do not create a shared action layer merely to satisfy the pattern.18- Prefer deletion, configuration, or a provider-native feature over a new subsystem.19- Do not treat security, observability, auditability, API access, and agent friendliness as inseparable. Select only the requested dimensions.20- Do not create synthetic users, records, migrations, PRs, deployments, or audit microsites solely to prove productization machinery.21- Production mutation, commits, external services, and subagents require the active request to include them or clearly authorize them.22- Stop when the selected product need is met and proportionally verified; report deferred dimensions without implementing them.2324## Stack selection2526Prefer the repo's existing stack and managed provider capabilities. When a selected capability requires a choice, compare the smallest viable options against current scale, ownership, portability, cost, and migration burden. Do not introduce a preferred database, auth model, analytics vendor, schema library, or documentation format without evidence from the task.2728## Operating Principles2930- Ground everything in repo facts before planning: current scripts, deployment topology, database schema, auth model, API routes, frontend state model, tests, recent commits, and dirty worktree.31- Preserve working product behavior unless the user explicitly asks for breaking changes.32- Keep existing UI and API architecture unless a selected caller exposes a concrete mismatch.33- Consolidate a product action only when it is already duplicated across meaningful callers.34- Add user or admin visibility only for state someone must actually operate.35- Make agent-facing surfaces only for named agent consumers.3637## Workflow3839### 1. Discover The Product Boundary4041Run a non-mutating discovery pass:4243- Current git status and only the entrypoints, data, providers, tests, and operations relevant to the selected services.44- Named users, operators, or programmatic callers and the workflows they need.45- Existing framework or provider capabilities that may already satisfy the need.46- Product behavior and compatibility that must remain intact.4748Read only the relevant sections of [product-principles.md](references/product-principles.md) for capabilities the user selected.4950### 2. Select Productization Slices5152Write a plan the user can modify before or during execution. Include:5354- Product goal, explicit non-goals, assumptions, and risk posture.55- Current-state findings with file/schema references.56- Requested workstreams and explicit non-goals; omit unrelated maturity dimensions.57- A concurrency map only when the user requested parallel work.58- API plan only when named programmatic clients require one.59- Proportional validation for the selected slices.60- Rollback and compatibility plan for migrations, env changes, provider changes, and user-visible workflow changes.6162The plan should be complete, but not frozen. Update it as facts change.6364### 3. Build The Safety Net6566Before broad edits:6768- Run focused existing checks or record why they cannot run.69- Add a characterization test only when fragile behavior cannot otherwise be preserved confidently.70- Add runtime schemas only at changed untrusted boundaries.71- Add health checks only when deployment or operations are selected slices and existing signals are insufficient.72- Capture screenshots only for changed visual behavior.7374### 4. Execute Only Selected Slices7576Implement only the selected capabilities. Typical slices are a data or permission contract, one shared operation used by named callers, its required UI or API adapter, and focused verification. Security, observability, audit, admin UX, documentation, and deployment are separate slices only when explicitly in scope.7778For detailed execution rules and worker prompts, read [execution-playbook.md](references/execution-playbook.md).7980### 5. Coordinate Large Work When Requested8182Use subagents only when explicitly requested and the selected slices are independent.8384Do not let multiple workers edit the same hot files. Keep one integration owner responsible for proportional verification and any explicitly requested merge or deploy.8586### 6. Validate Proportionally8788At the end of each slice:8990- Run narrow tests for touched code.91- Add focused tests when they prove a plausible defect in a changed contract.92- Expand to broad checks only when shared boundaries or repository policy require them.93- Run e2e/browser/screenshot checks for changed user/admin flows.94- Deploy only when the active request includes deployment.95- If deployment is explicitly requested and smoke data materially reduces risk, use clearly temporary records and clean them up.96- Check only logs or dashboards relevant to selected and deployed capabilities.9798### 7. Report The Result99100Summarize selected capabilities, evidence, deletions, remaining risks, and deliberately omitted maturity dimensions. Create a static review microsite only when explicitly requested; then read [audit-microsite.md](references/audit-microsite.md).101102## Quality Bar103104A successful run satisfies the named users or operators, reuses existing product and provider capabilities, introduces no hypothetical services, keeps one clear source of truth, and provides proportional verification.