[{"data":1,"prerenderedAt":799},["ShallowReactive",2],{"navigation:en":3,"\u002Fdocs\u002Ffireskills\u002Fgetting-started\u002Fstep-specify:en":311},[4],{"title":5,"path":6,"stem":7,"children":8,"icon":10},"Nuxfire Docs","\u002Fdocs","docs\u002F0.index",[9,11,152],{"title":5,"path":6,"stem":7,"icon":10},"i-lucide-layout-grid",{"title":12,"path":13,"stem":14,"children":15,"icon":151},"SaaS Starter Kit","\u002Fdocs\u002Fsaas-starter-kit","docs\u002F1.saas-starter-kit\u002F0.index",[16,19,63,129],{"title":17,"path":13,"stem":14,"icon":18},"What is the SaaS Starter Kit?","i-lucide-info",{"title":20,"icon":21,"hide":22,"path":23,"stem":24,"children":25,"page":62},"Getting Started","i-lucide-play",true,"\u002Fdocs\u002Fsaas-starter-kit\u002Fgetting-started","docs\u002F1.saas-starter-kit\u002F1.getting-started",[26,30,34,38,42,46,50,54,58],{"title":27,"path":28,"stem":29},"Quick Start","\u002Fdocs\u002Fsaas-starter-kit\u002Fgetting-started\u002Fquick-start","docs\u002F1.saas-starter-kit\u002F1.getting-started\u002F0.quick-start",{"title":31,"path":32,"stem":33},"Installation","\u002Fdocs\u002Fsaas-starter-kit\u002Fgetting-started\u002Finstallation","docs\u002F1.saas-starter-kit\u002F1.getting-started\u002F1.installation",{"title":35,"path":36,"stem":37},"Cloudflare Access","\u002Fdocs\u002Fsaas-starter-kit\u002Fgetting-started\u002Fcloudflare-access","docs\u002F1.saas-starter-kit\u002F1.getting-started\u002F2.cloudflare-access",{"title":39,"path":40,"stem":41},"Configuration","\u002Fdocs\u002Fsaas-starter-kit\u002Fgetting-started\u002Fconfiguration","docs\u002F1.saas-starter-kit\u002F1.getting-started\u002F3.configuration",{"title":43,"path":44,"stem":45},"Secrets","\u002Fdocs\u002Fsaas-starter-kit\u002Fgetting-started\u002Fsecrets","docs\u002F1.saas-starter-kit\u002F1.getting-started\u002F4.secrets",{"title":47,"path":48,"stem":49},"Environment Variables","\u002Fdocs\u002Fsaas-starter-kit\u002Fgetting-started\u002Fenvironment-variables","docs\u002F1.saas-starter-kit\u002F1.getting-started\u002F5.environment-variables",{"title":51,"path":52,"stem":53},"Deploy","\u002Fdocs\u002Fsaas-starter-kit\u002Fgetting-started\u002Fdeploy","docs\u002F1.saas-starter-kit\u002F1.getting-started\u002F6.deploy",{"title":55,"path":56,"stem":57},"Local Development","\u002Fdocs\u002Fsaas-starter-kit\u002Fgetting-started\u002Flocal-development","docs\u002F1.saas-starter-kit\u002F1.getting-started\u002F7.local-development",{"title":59,"path":60,"stem":61},"Project Structure","\u002Fdocs\u002Fsaas-starter-kit\u002Fgetting-started\u002Fproject-structure","docs\u002F1.saas-starter-kit\u002F1.getting-started\u002F8.project-structure",false,{"title":64,"icon":65,"hide":22,"path":66,"stem":67,"children":68,"page":62},"Features","i-lucide-box","\u002Fdocs\u002Fsaas-starter-kit\u002Ffeatures","docs\u002F1.saas-starter-kit\u002F2.features",[69,73,77,81,85,89,93,97,101,105,109,113,117,121,125],{"title":70,"path":71,"stem":72},"Authentication","\u002Fdocs\u002Fsaas-starter-kit\u002Ffeatures\u002Fauth","docs\u002F1.saas-starter-kit\u002F2.features\u002F1.auth",{"title":74,"path":75,"stem":76},"Rate Limiting","\u002Fdocs\u002Fsaas-starter-kit\u002Ffeatures\u002Frate-limiting","docs\u002F1.saas-starter-kit\u002F2.features\u002F10.rate-limiting",{"title":78,"path":79,"stem":80},"WebSockets","\u002Fdocs\u002Fsaas-starter-kit\u002Ffeatures\u002Fwebsockets","docs\u002F1.saas-starter-kit\u002F2.features\u002F11.websockets",{"title":82,"path":83,"stem":84},"Blog","\u002Fdocs\u002Fsaas-starter-kit\u002Ffeatures\u002Fblog","docs\u002F1.saas-starter-kit\u002F2.features\u002F14.blog",{"title":86,"path":87,"stem":88},"Documentation","\u002Fdocs\u002Fsaas-starter-kit\u002Ffeatures\u002Fdocumentation","docs\u002F1.saas-starter-kit\u002F2.features\u002F15.documentation",{"title":90,"path":91,"stem":92},"Analytics","\u002Fdocs\u002Fsaas-starter-kit\u002Ffeatures\u002Fanalytics","docs\u002F1.saas-starter-kit\u002F2.features\u002F16.analytics",{"title":94,"path":95,"stem":96},"Platform Admin Console","\u002Fdocs\u002Fsaas-starter-kit\u002Ffeatures\u002Fplatform-admin","docs\u002F1.saas-starter-kit\u002F2.features\u002F17.platform-admin",{"title":98,"path":99,"stem":100},"Database","\u002Fdocs\u002Fsaas-starter-kit\u002Ffeatures\u002Fdatabase","docs\u002F1.saas-starter-kit\u002F2.features\u002F2.database",{"title":102,"path":103,"stem":104},"Payments & Billing","\u002Fdocs\u002Fsaas-starter-kit\u002Ffeatures\u002Fpayments","docs\u002F1.saas-starter-kit\u002F2.features\u002F3.payments",{"title":106,"path":107,"stem":108},"Emails","\u002Fdocs\u002Fsaas-starter-kit\u002Ffeatures\u002Femails","docs\u002F1.saas-starter-kit\u002F2.features\u002F4.emails",{"title":110,"path":111,"stem":112},"Notifications","\u002Fdocs\u002Fsaas-starter-kit\u002Ffeatures\u002Fnotifications","docs\u002F1.saas-starter-kit\u002F2.features\u002F5.notifications",{"title":114,"path":115,"stem":116},"Role-Based Access Control","\u002Fdocs\u002Fsaas-starter-kit\u002Ffeatures\u002Frbac","docs\u002F1.saas-starter-kit\u002F2.features\u002F6.rbac",{"title":118,"path":119,"stem":120},"Async Jobs","\u002Fdocs\u002Fsaas-starter-kit\u002Ffeatures\u002Fasync-jobs","docs\u002F1.saas-starter-kit\u002F2.features\u002F7.async-jobs",{"title":122,"path":123,"stem":124},"Storage","\u002Fdocs\u002Fsaas-starter-kit\u002Ffeatures\u002Fstorage","docs\u002F1.saas-starter-kit\u002F2.features\u002F8.storage",{"title":126,"path":127,"stem":128},"Internationalization","\u002Fdocs\u002Fsaas-starter-kit\u002Ffeatures\u002Finternationalization","docs\u002F1.saas-starter-kit\u002F2.features\u002F9.internationalization",{"title":130,"icon":131,"path":132,"stem":133,"children":134,"page":62},"Concepts","i-lucide-graduation-cap","\u002Fdocs\u002Fsaas-starter-kit\u002Fconcepts","docs\u002F1.saas-starter-kit\u002F3.concepts",[135,139,143,147],{"title":136,"path":137,"stem":138},"Technology Stack","\u002Fdocs\u002Fsaas-starter-kit\u002Fconcepts\u002Ftech-stack","docs\u002F1.saas-starter-kit\u002F3.concepts\u002F0.tech-stack",{"title":140,"path":141,"stem":142},"SST.dev","\u002Fdocs\u002Fsaas-starter-kit\u002Fconcepts\u002Fsst","docs\u002F1.saas-starter-kit\u002F3.concepts\u002F1.sst",{"title":144,"path":145,"stem":146},"NuxtHub","\u002Fdocs\u002Fsaas-starter-kit\u002Fconcepts\u002Fnuxt-hub","docs\u002F1.saas-starter-kit\u002F3.concepts\u002F2.nuxt-hub",{"title":148,"path":149,"stem":150},"Design System & Branding","\u002Fdocs\u002Fsaas-starter-kit\u002Fconcepts\u002Fdesign-system","docs\u002F1.saas-starter-kit\u002F3.concepts\u002F3.design-system","i-lucide-zap",{"title":153,"path":154,"stem":155,"children":156,"icon":159},"Fireskills","\u002Fdocs\u002Ffireskills","docs\u002F2.fireskills\u002F0.index",[157,160,219,249,275,293],{"title":158,"path":154,"stem":155,"icon":159},"What is Fireskills?","i-lucide-flame",{"title":20,"icon":21,"hide":22,"path":161,"stem":162,"children":163,"page":62},"\u002Fdocs\u002Ffireskills\u002Fgetting-started","docs\u002F2.fireskills\u002F1.getting-started",[164,167,171,175,179,183,187,191,195,199,203,207,211,215],{"title":27,"path":165,"stem":166},"\u002Fdocs\u002Ffireskills\u002Fgetting-started\u002Fquick-start","docs\u002F2.fireskills\u002F1.getting-started\u002F00.quick-start",{"title":168,"path":169,"stem":170},"Workflow & Governance","\u002Fdocs\u002Ffireskills\u002Fgetting-started\u002Fworkflow","docs\u002F2.fireskills\u002F1.getting-started\u002F01.workflow",{"title":172,"path":173,"stem":174},"Project Context","\u002Fdocs\u002Ffireskills\u002Fgetting-started\u002Fproject-context","docs\u002F2.fireskills\u002F1.getting-started\u002F02.project-context",{"title":176,"path":177,"stem":178},"Step 0: Setup","\u002Fdocs\u002Ffireskills\u002Fgetting-started\u002Fstep-setup","docs\u002F2.fireskills\u002F1.getting-started\u002F03.step-setup",{"title":180,"path":181,"stem":182},"Step 1: Inbox","\u002Fdocs\u002Ffireskills\u002Fgetting-started\u002Fstep-inbox","docs\u002F2.fireskills\u002F1.getting-started\u002F04.step-inbox",{"title":184,"path":185,"stem":186},"Step 2: Backlog","\u002Fdocs\u002Ffireskills\u002Fgetting-started\u002Fstep-backlog","docs\u002F2.fireskills\u002F1.getting-started\u002F05.step-backlog",{"title":188,"path":189,"stem":190},"Step 3: Specify","\u002Fdocs\u002Ffireskills\u002Fgetting-started\u002Fstep-specify","docs\u002F2.fireskills\u002F1.getting-started\u002F06.step-specify",{"title":192,"path":193,"stem":194},"Step 4: Validate","\u002Fdocs\u002Ffireskills\u002Fgetting-started\u002Fstep-validate","docs\u002F2.fireskills\u002F1.getting-started\u002F07.step-validate",{"title":196,"path":197,"stem":198},"Step 5: Tasks","\u002Fdocs\u002Ffireskills\u002Fgetting-started\u002Fstep-tasks","docs\u002F2.fireskills\u002F1.getting-started\u002F08.step-tasks",{"title":200,"path":201,"stem":202},"Step 6: TDD\u002FBDD","\u002Fdocs\u002Ffireskills\u002Fgetting-started\u002Fstep-tdd-bdd","docs\u002F2.fireskills\u002F1.getting-started\u002F09.step-tdd-bdd",{"title":204,"path":205,"stem":206},"Step 7: Implement","\u002Fdocs\u002Ffireskills\u002Fgetting-started\u002Fstep-implement","docs\u002F2.fireskills\u002F1.getting-started\u002F10.step-implement",{"title":208,"path":209,"stem":210},"Step 8: Documentator","\u002Fdocs\u002Ffireskills\u002Fgetting-started\u002Fstep-documentator","docs\u002F2.fireskills\u002F1.getting-started\u002F11.step-documentator",{"title":212,"path":213,"stem":214},"Late Changes","\u002Fdocs\u002Ffireskills\u002Fgetting-started\u002Flate-changes","docs\u002F2.fireskills\u002F1.getting-started\u002F12.late-changes",{"title":216,"path":217,"stem":218},"Other Entry Points","\u002Fdocs\u002Ffireskills\u002Fgetting-started\u002Fother-entry-points","docs\u002F2.fireskills\u002F1.getting-started\u002F13.other-entry-points",{"title":220,"icon":221,"hide":22,"path":222,"stem":223,"children":224,"page":62},"Methodology","i-lucide-git-branch","\u002Fdocs\u002Ffireskills\u002Fmethodology","docs\u002F2.fireskills\u002F2.methodology",[225,229,233,237,241,245],{"title":226,"path":227,"stem":228},"The Three Acts","\u002Fdocs\u002Ffireskills\u002Fmethodology\u002Fthree-acts","docs\u002F2.fireskills\u002F2.methodology\u002F0.three-acts",{"title":230,"path":231,"stem":232},"The Three Gates","\u002Fdocs\u002Ffireskills\u002Fmethodology\u002Fthree-gates","docs\u002F2.fireskills\u002F2.methodology\u002F1.three-gates",{"title":234,"path":235,"stem":236},"The Canonical Spec","\u002Fdocs\u002Ffireskills\u002Fmethodology\u002Fcanonical-spec","docs\u002F2.fireskills\u002F2.methodology\u002F2.canonical-spec",{"title":238,"path":239,"stem":240},"Lifecycle States","\u002Fdocs\u002Ffireskills\u002Fmethodology\u002Flifecycle-states","docs\u002F2.fireskills\u002F2.methodology\u002F3.lifecycle-states",{"title":242,"path":243,"stem":244},"Effort Scale","\u002Fdocs\u002Ffireskills\u002Fmethodology\u002Feffort-scale","docs\u002F2.fireskills\u002F2.methodology\u002F4.effort-scale",{"title":246,"path":247,"stem":248},"Milestones & Governance","\u002Fdocs\u002Ffireskills\u002Fmethodology\u002Fgovernance-and-milestones","docs\u002F2.fireskills\u002F2.methodology\u002F5.governance-and-milestones",{"title":250,"icon":251,"hide":22,"path":252,"stem":253,"children":254,"page":62},"Skills","i-lucide-layers","\u002Fdocs\u002Ffireskills\u002Fskills","docs\u002F2.fireskills\u002F3.skills",[255,259,263,267,271],{"title":256,"path":257,"stem":258},"Catalog","\u002Fdocs\u002Ffireskills\u002Fskills\u002Fcatalog","docs\u002F2.fireskills\u002F3.skills\u002F0.catalog",{"title":260,"path":261,"stem":262},"Act I: Define","\u002Fdocs\u002Ffireskills\u002Fskills\u002Fact-1-define","docs\u002F2.fireskills\u002F3.skills\u002F1.act-1-define",{"title":264,"path":265,"stem":266},"Act II: Design & Prove","\u002Fdocs\u002Ffireskills\u002Fskills\u002Fact-2-design-prove","docs\u002F2.fireskills\u002F3.skills\u002F2.act-2-design-prove",{"title":268,"path":269,"stem":270},"Act III: Deliver","\u002Fdocs\u002Ffireskills\u002Fskills\u002Fact-3-deliver","docs\u002F2.fireskills\u002F3.skills\u002F3.act-3-deliver",{"title":272,"path":273,"stem":274},"Governance & Decisions","\u002Fdocs\u002Ffireskills\u002Fskills\u002Fgovernance-and-decisions","docs\u002F2.fireskills\u002F3.skills\u002F4.governance-and-decisions",{"title":276,"icon":277,"hide":22,"path":278,"stem":279,"children":280,"page":62},"Specialists","i-lucide-sparkles","\u002Fdocs\u002Ffireskills\u002Fspecialists","docs\u002F2.fireskills\u002F4.specialists",[281,285,289],{"title":282,"path":283,"stem":284},"Overview","\u002Fdocs\u002Ffireskills\u002Fspecialists\u002Foverview","docs\u002F2.fireskills\u002F4.specialists\u002F0.overview",{"title":286,"path":287,"stem":288},"Nuxfire Stack","\u002Fdocs\u002Ffireskills\u002Fspecialists\u002Fnuxfire-stack","docs\u002F2.fireskills\u002F4.specialists\u002F1.nuxfire-stack",{"title":290,"path":291,"stem":292},"Engineering Specialists","\u002Fdocs\u002Ffireskills\u002Fspecialists\u002Fengineering-specialists","docs\u002F2.fireskills\u002F4.specialists\u002F2.engineering-specialists",{"title":294,"icon":295,"hide":22,"path":296,"stem":297,"children":298,"page":62},"CLI & Tooling","i-lucide-terminal","\u002Fdocs\u002Ffireskills\u002Fcli","docs\u002F2.fireskills\u002F5.cli",[299,303,307],{"title":300,"path":301,"stem":302},"CLI Overview","\u002Fdocs\u002Ffireskills\u002Fcli\u002Foverview","docs\u002F2.fireskills\u002F5.cli\u002F0.overview",{"title":304,"path":305,"stem":306},"Commands","\u002Fdocs\u002Ffireskills\u002Fcli\u002Fcommands","docs\u002F2.fireskills\u002F5.cli\u002F1.commands",{"title":308,"path":309,"stem":310},"Safety Scripts","\u002Fdocs\u002Ffireskills\u002Fcli\u002Fgovernance-scripts","docs\u002F2.fireskills\u002F5.cli\u002F2.governance-scripts",{"id":312,"title":188,"body":313,"description":793,"extension":794,"meta":795,"navigation":796,"path":189,"seo":797,"stem":190,"__hash__":798},"docs\u002Fdocs\u002F2.fireskills\u002F1.getting-started\u002F06.step-specify.md",{"type":314,"value":315,"toc":784},"minimark",[316,339,344,347,351,361,364,368,543,547,643,654,658,702,706,709,748,771,775,780],[317,318,319,323,324,328,329,332,333,323,336],"p",{},[320,321,322],"strong",{},"Skill:"," ",[325,326,327],"code",{},"fireskill-03-specify"," · ",[320,330,331],{},"Asks questions:"," only when the brief is not enough (it hands back to the backlog) · ",[320,334,335],{},"Creates:",[325,337,338],{},"specs\u002Fdraft\u002F\u003CNNNN>-\u003Cslug>\u002Fspec.md",[340,341,343],"h2",{"id":342},"when-to-use-it","When to use it",[317,345,346],{},"The brief from Step 2 is ready, or you already know exactly what you want and want to write the spec straight away.",[340,348,350],{"id":349},"what-to-type","What to type",[352,353,359],"pre",{"className":354,"code":356,"language":357,"meta":358},[355],"language-text","Use $fireskill-03-specify para iniciar uma spec numerada no diretório atual e consolidar seus requisitos. Orquestre transições automáticas com anúncio, execução e retomada na mesma conversa.\n","text","",[325,360,356],{"__ignoreMap":358},[317,362,363],{},"Add the backlog item or a short description below it.",[340,365,367],{"id":366},"what-the-agent-does","What the agent does",[369,370,371,382,389,409,437,455,462,526],"ol",{},[372,373,374,375,378,379,381],"li",{},"Runs ",[325,376,377],{},"fireskills\u002Fskills\u002Ffireskill-03-specify\u002Fscripts\u002Finiciar_spec.mjs --title \"\u003Cname>\"",". The script allocates the next number and creates only ",[325,380,338],{}," from the template.",[372,383,384,385,388],{},"Reads the inbox capture, the backlog item, your request, and real files of the repository that reveal constraints. If it cannot identify problem, actor and result, it goes back to ",[325,386,387],{},"$fireskill-02-backlog"," and resumes afterwards.",[372,390,391,392,395,396,395,399,395,402,395,405,408],{},"Fills the template. It keeps the header table, the three acts and the 18 sections, numbers new items without reusing IDs (",[325,393,394],{},"US-001",", ",[325,397,398],{},"FR-001",[325,400,401],{},"NFR-001",[325,403,404],{},"AC-001",[325,406,407],{},"DEC-001","), and writes every requirement as a verifiable behavior.",[372,410,411,412,418,419,395,422,425,426,429,430,432,433,436],{},"Defines ",[320,413,414,415],{},"at least three distinct ",[325,416,417],{},"AC"," for the whole feature and for each ",[325,420,421],{},"US",[325,423,424],{},"FR"," and ",[325,427,428],{},"NFR",". An ",[325,431,417],{}," only counts when it declares the ID in its ",[325,434,435],{},"**Cobre**"," line.",[372,438,439,440,443,444,447,448,395,451,454],{},"For a delivery with a screen (",[325,441,442],{},"Interface para pessoas: Sim","), fills section 10 with stack, screens, information flow, menus, forms and actions, composition, the Vue and ",[325,445,446],{},"@nuxt\u002Fui"," components, states and accessibility. A CRUD described only as API and database is not accepted. It loads ",[325,449,450],{},"$fireskill-specialist-ux-design",[325,452,453],{},"-ui-design"," and the interface specialist of the stack.",[372,456,457,458,461],{},"If a source outside the repository was consulted, stores the allowed evidence in ",[325,459,460],{},"research\u002F"," and indexes it in the spec.",[372,463,464,465,468,469],{},"Self-checks while in ",[325,466,467],{},"Draft",":",[352,470,474],{"className":471,"code":472,"language":473,"meta":358,"style":358},"language-bash shiki shiki-themes material-theme-lighter github-light github-dark monokai","node fireskills\u002Fskills\u002Ffireskill-04-validate\u002Fscripts\u002Fvalidate_spec.mjs specs\u002Fdraft\u002F\u003CNNNN>-\u003Cslug>\u002Fspec.md --allow-draft\n","bash",[325,475,476],{"__ignoreMap":358},[477,478,481,485,489,492,496,499,503,506,509,511,514,517,519,522],"span",{"class":479,"line":480},"line",1,[477,482,484],{"class":483},"sR7ES","node",[477,486,488],{"class":487},"sLACW"," fireskills\u002Fskills\u002Ffireskill-04-validate\u002Fscripts\u002Fvalidate_spec.mjs",[477,490,491],{"class":487}," specs\u002Fdraft\u002F",[477,493,495],{"class":494},"sGXK2","\u003C",[477,497,498],{"class":487},"NNN",[477,500,502],{"class":501},"ss--_","N",[477,504,505],{"class":494},">",[477,507,508],{"class":487},"-",[477,510,495],{"class":494},[477,512,513],{"class":487},"slu",[477,515,516],{"class":501},"g",[477,518,505],{"class":494},[477,520,521],{"class":487},"\u002Fspec.md",[477,523,525],{"class":524},"sFhLe"," --allow-draft\n",[372,527,528,529,531,532,531,534,531,536,538,539,542],{},"Reports the path, status, counts of ",[325,530,421],{},"\u002F",[325,533,424],{},[325,535,428],{},[325,537,417],{},", assumptions, and hands off to ",[325,540,541],{},"$fireskill-04-validate",".",[340,544,546],{"id":545},"the-spec-header-real-output","The spec header (real output)",[352,548,552],{"className":549,"code":550,"language":551,"meta":358,"style":358},"language-markdown shiki shiki-themes material-theme-lighter github-light github-dark monokai","# Especificação integrada: Convite de membros por e-mail\n\n| Campo | Valor |\n| --- | --- |\n| Formato | Specsfy\u002F2.0 |\n| ID | SPEC-0001 |\n| Slug | 0001-convite-de-membros-por-e-mail |\n| Status | Draft |\n| Effort | 1 |\n| Effort updated at | 2026-09-18 |\n| Effort rationale | Estimativa inicial; revisar durante a descoberta. |\n| Definition Gate | Pending |\n| Plan Gate | Pending |\n| Delivery Gate | Pending |\n| Interface para pessoas | A definir |\n","markdown",[325,553,554,559,565,571,577,583,589,595,601,607,613,619,625,631,637],{"__ignoreMap":358},[477,555,556],{"class":479,"line":480},[477,557,558],{},"# Especificação integrada: Convite de membros por e-mail\n",[477,560,562],{"class":479,"line":561},2,[477,563,564],{"emptyLinePlaceholder":22},"\n",[477,566,568],{"class":479,"line":567},3,[477,569,570],{},"| Campo | Valor |\n",[477,572,574],{"class":479,"line":573},4,[477,575,576],{},"| --- | --- |\n",[477,578,580],{"class":479,"line":579},5,[477,581,582],{},"| Formato | Specsfy\u002F2.0 |\n",[477,584,586],{"class":479,"line":585},6,[477,587,588],{},"| ID | SPEC-0001 |\n",[477,590,592],{"class":479,"line":591},7,[477,593,594],{},"| Slug | 0001-convite-de-membros-por-e-mail |\n",[477,596,598],{"class":479,"line":597},8,[477,599,600],{},"| Status | Draft |\n",[477,602,604],{"class":479,"line":603},9,[477,605,606],{},"| Effort | 1 |\n",[477,608,610],{"class":479,"line":609},10,[477,611,612],{},"| Effort updated at | 2026-09-18 |\n",[477,614,616],{"class":479,"line":615},11,[477,617,618],{},"| Effort rationale | Estimativa inicial; revisar durante a descoberta. |\n",[477,620,622],{"class":479,"line":621},12,[477,623,624],{},"| Definition Gate | Pending |\n",[477,626,628],{"class":479,"line":627},13,[477,629,630],{},"| Plan Gate | Pending |\n",[477,632,634],{"class":479,"line":633},14,[477,635,636],{},"| Delivery Gate | Pending |\n",[477,638,640],{"class":479,"line":639},15,[477,641,642],{},"| Interface para pessoas | A definir |\n",[317,644,645,646,649,650,653],{},"The header must stay a two-column table (",[325,647,648],{},"Campo"," \u002F ",[325,651,652],{},"Valor","). The slug equals the directory name.",[340,655,657],{"id":656},"the-18-sections","The 18 sections",[659,660,661,674],"table",{},[662,663,664],"thead",{},[665,666,667,671],"tr",{},[668,669,670],"th",{},"Act",[668,672,673],{},"Sections",[675,676,677,686,694],"tbody",{},[665,678,679,683],{},[680,681,682],"td",{},"I — Definir",[680,684,685],{},"1 Problema e resultado · 2 Research e esclarecimentos · 3 Escopo e atores · 4 Princípios e restrições · 5 Histórias de usuário · 6 Cenários BDD de aceite · 7 Requisitos",[665,687,688,691],{},[680,689,690],{},"II — Projetar e provar",[680,692,693],{},"8 Plano técnico · 9 Modelo de dados · 10 Interfaces e contratos · 11 Estratégia TDD · 12 Plano de testes e rastreabilidade · 13 Validações · 14 Tarefas · 15 Ordem de execução",[665,695,696,699],{},[680,697,698],{},"III — Entregar e validar",[680,700,701],{},"16 Dependências, riscos e suposições · 17 Decisões · 18 Definition of Done",[340,703,705],{"id":704},"effort","Effort",[317,707,708],{},"Give the spec a difficulty score from 1 to 10 (reasoning and execution needed, not time):",[352,710,712],{"className":471,"code":711,"language":473,"meta":358,"style":358},"bun run fireskill effort 0001 4 --reason \"tabela + e-mail + mutation tRPC\"\n",[325,713,714],{"__ignoreMap":358},[477,715,716,719,722,725,728,732,735,738,742,745],{"class":479,"line":480},[477,717,718],{"class":483},"bun",[477,720,721],{"class":487}," run",[477,723,724],{"class":487}," fireskill",[477,726,727],{"class":487}," effort",[477,729,731],{"class":730},"sYThS"," 0001",[477,733,734],{"class":730}," 4",[477,736,737],{"class":524}," --reason",[477,739,741],{"class":740},"siCPE"," \"",[477,743,744],{"class":487},"tabela + e-mail + mutation tRPC",[477,746,747],{"class":740},"\"\n",[317,749,750,751,754,755,758,759,762,763,766,767,542],{},"Output: ",[325,752,753],{},"0001-convite-de-membros-por-e-mail\tEffort 4\u002F10",". The identifier is the spec number (",[325,756,757],{},"0001",") or the full ",[325,760,761],{},"\u003CNNNN>-\u003Cslug>","; an unknown number fails with ",[325,764,765],{},"spec not found",". See ",[768,769,770],"a",{"href":243},"Effort scale",[340,772,774],{"id":773},"next","Next",[317,776,777,778,542],{},"Automatic: ",[768,779,192],{"href":193},[781,782,783],"style",{},"html pre.shiki code .sR7ES, html code.shiki .sR7ES{--shiki-light:#E2931D;--shiki-default:#6F42C1;--shiki-dark:#B392F0;--shiki-sepia:#A6E22E}html pre.shiki code .sLACW, html code.shiki .sLACW{--shiki-light:#91B859;--shiki-default:#032F62;--shiki-dark:#9ECBFF;--shiki-sepia:#E6DB74}html pre.shiki code .sGXK2, html code.shiki .sGXK2{--shiki-light:#39ADB5;--shiki-default:#D73A49;--shiki-dark:#F97583;--shiki-sepia:#F92672}html pre.shiki code .ss--_, html code.shiki .ss--_{--shiki-light:#90A4AE;--shiki-default:#24292E;--shiki-dark:#E1E4E8;--shiki-sepia:#F8F8F2}html pre.shiki code .sFhLe, html code.shiki .sFhLe{--shiki-light:#91B859;--shiki-default:#005CC5;--shiki-dark:#79B8FF;--shiki-sepia:#AE81FF}html .light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html.light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html.dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html .sepia .shiki span {color: var(--shiki-sepia);background: var(--shiki-sepia-bg);font-style: var(--shiki-sepia-font-style);font-weight: var(--shiki-sepia-font-weight);text-decoration: var(--shiki-sepia-text-decoration);}html.sepia .shiki span {color: var(--shiki-sepia);background: var(--shiki-sepia-bg);font-style: var(--shiki-sepia-font-style);font-weight: var(--shiki-sepia-font-weight);text-decoration: var(--shiki-sepia-text-decoration);}html pre.shiki code .sYThS, html code.shiki .sYThS{--shiki-light:#F76D47;--shiki-default:#005CC5;--shiki-dark:#79B8FF;--shiki-sepia:#AE81FF}html pre.shiki code .siCPE, html code.shiki .siCPE{--shiki-light:#39ADB5;--shiki-default:#032F62;--shiki-dark:#9ECBFF;--shiki-sepia:#E6DB74}",{"title":358,"searchDepth":561,"depth":561,"links":785},[786,787,788,789,790,791,792],{"id":342,"depth":561,"text":343},{"id":349,"depth":561,"text":350},{"id":366,"depth":561,"text":367},{"id":545,"depth":561,"text":546},{"id":656,"depth":561,"text":657},{"id":704,"depth":561,"text":705},{"id":773,"depth":561,"text":774},"Write the normative spec.md: requirements, Gherkin scenarios, technical plan, data model and interface contract.","md",{},{"title":188},{"title":188,"description":793},"q5ly-0R6qnoR2A8x8xGZ0dhXY3k_OxWCFwpDKf71_RE",1790707494136]