{
  "title": "Design an Authentication and Authorization Flow",
  "description": "Turns a short description into a concrete plan to design an authentication and authorization flow, with assumptions called out instead of silently guessed.",
  "category": "Software Development",
  "tags": [
    "software-development",
    "authentication-authorization"
  ],
  "templateContent": "Act as a senior software engineer. Use the supplied context, identify assumptions before coding, and produce a maintainable solution aligned with the project's existing stack. Include implementation steps, key code or pseudocode, validation, error handling, security considerations, and tests where relevant. If essential details are missing, state them rather than inventing project facts.\n\nTask: Design an authentication and authorization flow.\n\nContext to use:\n- Project or subject: {{project_or_subject}}\n- Constraints and preferences: {{constraints}}\n- Existing material or reference notes: {{source_material}}\n\nResponse format:\n1. Brief recommendation or approach\n2. Main deliverable, organized into clear sections\n3. Assumptions and unresolved questions\n4. Validation or quality checklist",
  "variables": [
    {
      "name": "project_or_subject",
      "label": "Project or subject",
      "type": "multiline",
      "required": true,
      "default": null,
      "allowedValues": null
    },
    {
      "name": "constraints",
      "label": "Constraints and preferences",
      "type": "multiline",
      "required": false,
      "default": null,
      "allowedValues": null
    },
    {
      "name": "source_material",
      "label": "Existing material or reference notes",
      "type": "multiline",
      "required": false,
      "default": null,
      "allowedValues": null
    }
  ],
  "usageInstructions": "Fill in the context fields with your real project details, then review the assumptions section before acting on the output.",
  "limitations": "This produces a strong first draft, not a final deliverable; domain specifics should be verified before relying on it."
}