{"id":"03891277-a425-4784-b726-c110c1cb82dd","shortId":"qyJztc","kind":"skill","title":"prompt-template-wizard","tagline":"Rigorously collects and validates all fields needed to produce a complete, unambiguous prompt template for features and bug fixes. The skill asks targeted questions until the template is fully filled, consistent, and ready to paste into a Codex/GPT-5.2 coding session.","description":"# Prompt Template Wizard (Feature + Bug Fix)\n\n## Goal\nConvert an incomplete request into a complete, low-ambiguity, paste-ready prompt template by:\n1) collecting missing fields via targeted questions,\n2) validating constraints and internal consistency,\n3) outputting a final prompt that is structured and scope-bounded.\n\nThis skill is interactive: keep asking questions until completion criteria are met.\n\n---\n\n## Operating rules (strict)\n- Ask only for information that is missing, conflicting, or required by this spec.\n- Ask clarifying questions only if blocked, except the required testing question in this spec.\n- If something is ambiguous but not blocking, proceed with the simplest valid assumption and list it under “Assumptions”.\n- Do not expand scope. Implement exactly and only what the template needs.\n- Keep outputs compact and structured (section headers + bullets).\n- Questioning strategy: ask as many questions as needed in one message to eliminate ambiguity fast. If any remain unanswered, keep asking in subsequent turns until all required fields are filled and all conflicts resolved.\n- Localization: do not ask localization questions. Always apply the default localization policy.\n\n---\n\n## The schema you must fill (TemplateSpec)\nMaintain a working draft internally as a structured object with these fields.\n\n### A) Header\n- `role`\n- `repo_app` (optional identifier)\n- `task_type` ∈ {Feature, Bug fix, Refactor supporting bug fix} (must be exactly one)\n- `output_rules[]` (concise bullets)\n\n### B) Goal + context\n- `goal_one_liner`\n- `background_bullets[]` (2–6)\n- `current_behavior`\n- `desired_behavior`\n\n### C) Scope control\n- `in_scope[]` (>= 2)\n- `out_of_scope[]` (>= 1)\n\n### D) Definition of done\n- `acceptance_criteria[]` (observable, checkbox-ready)\n- `nonfunctional`:\n  - `performance`\n  - `security_privacy`\n- `telemetry_logging` (optional)\n\n### E) Bug-only block (required if task_type = Bug fix)\n- `repro_steps[]`\n- `actual`\n- `expected`\n- `frequency`\n- `impact`\n- `regression` (yes/no/unknown + since when)\n\n### F) Codebase pointers (required)\n- `relevant_paths[]` (file paths)\n- `related_ids[]` (issues/PRs/links, may be empty if none)\n- `tests_paths[]` (test file paths, may be empty if unknown)\n\n### G) Testing (required, resolved; no option menus in final prompt)\n- `automated_tests` ∈ {Unit, Integration, UI, Snapshot, None}\n- `testing_notes` (optional)\n- `manual_verification[]` (required; at least 2 bullets)\n- `tests_skip_risk_mitigation` (required if automated_tests = None)\n\nImportant: During questioning, you may present choices. In the final prompt output, you must state the resolved decision as a declarative fact (no “choose one or more”).\n\n### H) Constraints\n- `must_not_change[]`\n- `must_use[]`\n- `must_avoid[]`\n\n### I) Localization (defaulted, always present)\n- `localization_policy` (default, required):\n  - “Use the localization system and patterns already implemented in the application. Do not introduce a new i18n approach. If no localization exists, add strings in the minimal way consistent with the codebase and keep future localization straightforward.”\n\n### J) Inputs\n- `snippets_logs_payloads` (free text; may be “none”)\n\n---\n\n## Completion criteria (do not finalize until all pass)\nA TemplateSpec is complete only if:\n1) No required field is empty (including codebase pointers and testing).\n2) task_type is exactly one of the allowed values (no hedging like “feature or bug”).\n3) No contradictions between goal, desired behavior, acceptance criteria, and scope.\n4) Acceptance criteria are testable/observable (avoid subjective language).\n5) Scope is bounded (>=2 in-scope, >=1 out-of-scope).\n6) If Bug fix: repro steps are runnable and expected/actual are concrete.\n7) Testing is explicit:\n   - automated_tests is set\n   - manual_verification has >=2 bullets\n   - if automated_tests = None, risk/mitigation is present\n8) Localization section is present with the default localization policy.\n9) Output rules include: plan-first, minimal diffs, testing adherence, assumptions list, ask-only-if-blocked.\n\n---\n\n## Workflow\n\n### Step 1: Ingest\nMap any user-provided content into TemplateSpec fields. Leave missing fields empty.\n\n### Step 2: Validate and generate questions\nCreate a “Missing/Conflicting” list and ask the questions needed to resolve it.\nPrioritize blockers in this order:\n1) task_type and goal_one_liner\n2) testing (mandatory: automated_tests + manual verification expectations)\n3) current vs desired behavior\n4) acceptance_criteria and definition-of-done thresholds\n5) scope (in/out)\n6) bug repro details (if bug fix)\n7) codebase pointers\n8) constraints\n\nQuestion design:\n- Use multiple-choice for enums (task_type, automated_tests, regression, frequency).\n- Use checkbox-style prompts for scope and acceptance criteria.\n- Ask for a concrete manual verification checklist even if automated tests are “None”.\n\n### Step 3: Update draft\nUpdate TemplateSpec with answers and re-run validation.\n\n### Step 4: Finalize output\nWhen complete, output exactly 3 things:\n1) Final Prompt Template (paste-ready)\n2) TemplateSpec (filled)\n3) Consistency checklist (criteria 1–9)\n\nDo not output the full prompt template before completion.\n\n---\n\n## Output format requirements (while collecting info)\nWhen you are still collecting info, output a single merged section:\n\n### OPEN ITEMS (missing, conflicting, and questions)\n- Start with up to 10 bullets summarizing what is missing or conflicting.\n- Immediately follow with the questions needed to resolve them.\n- Number questions consecutively (no fixed limit).\n- Each question must include:\n  - expected answer type (multiple-choice, short text, bullets, checkbox list)\n  - brief example if useful\n- Continue asking across turns until all required fields are answered and conflicts resolved.\n\nImportant: Always include the testing questions until testing is fully resolved.\n\n---\n\n## Output format requirements (final)\nThe Final Prompt Template must be one block the user can paste, using this structure:\n\nROLE  \nOUTPUT RULES  \nTASK TYPE  \nGOAL  \nCONTEXT  \nSCOPE (IN / OUT)  \nDEFINITION OF DONE  \nBUG DETAILS (only if applicable)  \nCODEBASE POINTERS  \nTESTING  \nCONSTRAINTS  \nLOCALIZATION  \nINPUTS  \nREQUEST\n\nVerbosity: compact bullets, no long narrative paragraphs.\n\n---\n\n## Final Prompt Template (the target shape)\nWhen the TemplateSpec is complete, emit the following template filled with the user’s content:\n\n```text\nROLE\nYou are <role> working in <repo_app if provided>. Implement exactly and only the scope below.\n\nOUTPUT RULES\n1) Plan first, then implement.\n2) Keep diffs minimal and localized. Preserve existing patterns and style.\n3) Tests: follow the TESTING section below exactly. Do not propose additional test types unless blocked by constraints.\n4) Include an Assumptions section in the final response (only assumptions actually used).\n5) Ask clarifying questions only if blocked.\n6) Add intent comments using existing style where needed (REQUIREMENT:, UX:, BUGFIX:).\n\nTASK TYPE\n<Feature | Bug fix | Refactor supporting bug fix>  (exactly one)\n\nGOAL\n<goal_one_liner>\n\nCONTEXT\n- Background:\n  - <background_bullets...>\n- Current behavior:\n  - <current_behavior>\n- Desired behavior:\n  - <desired_behavior>\n\nSCOPE\nIN\n- <in_scope...>\nOUT\n- <out_of_scope...>\n\nDEFINITION OF DONE\nAcceptance criteria (observable)\n- [ ] <acceptance_criteria...>\n\nNon-functional requirements\n- Performance: <performance>\n- Security/privacy: <security_privacy>\n\nTelemetry/logging (optional)\n- <telemetry_logging or “none”>\n\nBUG DETAILS (only if TASK TYPE = Bug fix)\nREPRO STEPS\n1) <repro_steps...>\nACTUAL\n<actual>\nEXPECTED\n<expected>\nFREQUENCY\n<frequency>\nIMPACT\n<impact>\nREGRESSION\n<regression>\n\nCODEBASE POINTERS\n- Relevant files/modules: `<relevant_paths...>`\n- Related issues/PRs: <related_ids or “none”>\n- Tests to update: `<tests_paths...>` (or “unknown”)\n\nTESTING\n- Automated tests: <Unit | Integration | UI | Snapshot | None> (already decided).\n- Notes/constraints: <testing_notes or “none”>\n- Manual verification:\n  - <manual_verification...>\n- Risk/mitigation (required if Automated tests = None): <tests_skip_risk_mitigation>\n\nCONSTRAINTS\nMust not change\n- <must_not_change...>\n\nMust use\n- <must_use...>\n\nMust avoid\n- <must_avoid...>\n\nLOCALIZATION\n- Policy: Use the localization system and patterns already implemented in the application. Do not introduce a new i18n approach. If no localization exists, add strings in the minimal way consistent with the codebase and keep future localization straightforward.\n\nINPUTS\n<snippets_logs_payloads>\n\nREQUEST\nExecute in this order:\n1) Plan (3–8 bullets)\n2) Tests (what you changed/added or why skipped; include test-impact note)\n3) Verification checklist (manual + automated)\n4) Assumptions\n\nApply scope discipline: implement exactly and only the IN scope.\nAssumption policy: ask only if blocked.","tags":["prompt","template","wizard","agent","skills","jawwadfirdousi","agent-skills","ai-agents","ai-tools","automation","developer-tools","prompt-engineering"],"capabilities":["skill","source-jawwadfirdousi","skill-prompt-template-wizard","topic-agent","topic-agent-skills","topic-ai-agents","topic-ai-tools","topic-automation","topic-developer-tools","topic-prompt-engineering","topic-prompt-template","topic-skills","topic-workflow-automation"],"categories":["agent-skills"],"synonyms":[],"warnings":[],"endpointUrl":"https://skills.sh/jawwadfirdousi/agent-skills/prompt-template-wizard","protocol":"skill","transport":"skills-sh","auth":{"type":"none","details":{"cli":"npx skills add jawwadfirdousi/agent-skills","source_repo":"https://github.com/jawwadfirdousi/agent-skills","install_from":"skills.sh"}},"qualityScore":"0.455","qualityRationale":"deterministic score 0.46 from registry signals: · indexed on github topic:agent-skills · 10 github stars · SKILL.md body (8,843 chars)","verified":false,"liveness":"unknown","lastLivenessCheck":null,"agentReviews":{"count":0,"score_avg":null,"cost_usd_avg":null,"success_rate":null,"latency_p50_ms":null,"narrative_summary":null,"summary_updated_at":null},"enrichmentModel":"deterministic:skill-github:v1","enrichmentVersion":1,"enrichedAt":"2026-05-18T19:08:12.597Z","embedding":null,"createdAt":"2026-05-18T13:13:40.442Z","updatedAt":"2026-05-18T19:08:12.597Z","lastSeenAt":"2026-05-18T19:08:12.597Z","tsv":"'1':68,284,491,545,612,650,754,768,959,1074,1171 '10':806 '2':75,269,280,374,502,541,573,628,657,761,964,1176 '3':81,518,665,732,752,764,975,1173,1189 '4':529,670,745,993,1194 '5':537,679,1006 '6':270,550,682,1013 '7':562,689 '8':582,692,1174 '9':592,769 'accept':289,525,530,671,716,1049 'across':850 'actual':315,1004,1075 'add':452,1014,1150 'addit':986 'adher':602 'allow':510 'alreadi':436,1103,1134 'alway':213,424,862 'ambigu':61,138,186 'answer':738,834,857 'app':241 'appli':214,1196 'applic':440,908,1138 'approach':447,1145 'ask':26,98,108,121,175,193,210,606,638,718,849,1007,1208 'ask-only-if-block':605 'assumpt':147,152,603,996,1003,1195,1206 'autom':359,382,566,576,660,704,727,1096,1115,1193 'avoid':420,534,1125 'b':261 'background':267,1038 'behavior':272,274,524,669,1040,1042 'block':126,141,306,609,883,990,1012,1211 'blocker':646 'bound':92,540 'brief':844 'bug':22,49,247,251,304,311,517,552,683,687,904,1028,1032,1064,1070 'bug-on':303 'bugfix':1024 'bullet':172,260,268,375,574,807,841,918,1175 'c':275 'chang':416,1121 'changed/added':1180 'checkbox':293,710,842 'checkbox-readi':292 'checkbox-styl':709 'checklist':724,766,1191 'choic':391,699,838 'choos':408 'clarifi':122,1008 'code':43 'codebas':324,461,498,690,909,1080,1159 'codex/gpt-5.2':42 'collect':6,69,783,789 'comment':1016 'compact':167,917 'complet':15,58,101,477,488,749,778,933 'concis':259 'concret':561,721 'conflict':115,205,799,813,859 'consecut':825 'consist':35,80,458,765,1156 'constraint':77,413,693,912,992,1118 'content':619,943 'context':263,897,1037 'continu':848 'contradict':520 'control':277 'convert':52 'creat':633 'criteria':102,290,478,526,531,672,717,767,1050 'current':271,666,1039 'd':285 'decid':1104 'decis':402 'declar':405 'default':216,423,428,589 'definit':286,675,901,1046 'definition-of-don':674 'design':695 'desir':273,523,668,1041 'detail':685,905,1065 'diff':600,966 'disciplin':1198 'done':288,677,903,1048 'draft':228,734 'e':302 'elimin':185 'emit':934 'empti':336,346,496,626 'enum':701 'even':725 'exact':158,255,506,751,951,982,1034,1200 'exampl':845 'except':127 'execut':1167 'exist':451,971,1018,1149 'expand':155 'expect':316,664,833,1076 'expected/actual':559 'explicit':565 'f':323 'fact':406 'fast':187 'featur':20,48,246,515,1027 'field':10,71,200,236,494,622,625,855 'file':329,342 'files/modules':1083 'fill':34,202,223,763,938 'final':84,357,394,481,746,755,875,877,923,1000 'first':598,961 'fix':23,50,248,252,312,553,688,827,1029,1033,1071 'follow':815,936,977 'format':780,873 'free':472 'frequenc':317,707,1077 'full':774 'fulli':33,870 'function':1054 'futur':464,1162 'g':349 'generat':631 'goal':51,262,264,522,654,896,1036 'h':412 'header':171,238 'hedg':513 'i18n':446,1144 'id':332,1087 'identifi':243 'immedi':814 'impact':318,1078,1187 'implement':157,437,950,963,1135,1199 'import':385,861 'in-scop':542 'in/out':681 'includ':497,595,832,863,994,1184 'incomplet':54 'info':784,790 'inform':111 'ingest':613 'input':468,914,1165 'integr':362,1099 'intent':1015 'interact':96 'intern':79,229 'introduc':443,1141 'issues/prs':1085 'issues/prs/links':333 'item':797 'j':467 'keep':97,165,192,463,965,1161 'languag':536 'least':373 'leav':623 'like':514 'limit':828 'liner':266,656 'list':149,604,636,843 'local':207,211,217,422,426,432,450,465,583,590,913,969,1126,1130,1148,1163 'log':300,470,1061 'long':920 'low':60 'low-ambigu':59 'maintain':225 'mandatori':659 'mani':177 'manual':369,570,662,722,1110,1192 'map':614 'may':334,344,389,474 'menus':355 'merg':794 'messag':183 'met':104 'minim':456,599,967,1154 'miss':70,114,624,798,811 'missing/conflicting':635 'mitig':379 'multipl':698,837 'multiple-choic':697,836 'must':222,253,398,414,417,419,831,880,1119,1122,1124 'narrat':921 'need':11,164,180,641,819,1021 'new':445,1143 'non':1053 'non-funct':1052 'none':338,365,384,476,578,730,1063,1089,1102,1109,1117 'nonfunct':295 'note':367,1107,1188 'notes/constraints':1105 'number':823 'object':233 'observ':291,1051 'one':182,256,265,409,507,655,882,1035 'open':796 'oper':105 'option':242,301,354,368,1059 'order':649,1170 'out-of-scop':546 'output':82,166,257,396,593,747,750,772,779,791,872,892,957 'paragraph':922 'pass':484 'past':39,63,759,887 'paste-readi':62,758 'path':328,330,340,343 'pattern':435,972,1133 'payload':471 'perform':296,1056 'plan':597,960,1172 'plan-first':596 'pointer':325,499,691,910,1081 'polici':218,427,591,1127,1207 'present':390,425,581,586 'preserv':970 'priorit':645 'privaci':298 'proceed':142 'produc':13 'prompt':2,17,45,65,85,358,395,712,756,775,878,924 'prompt-template-wizard':1 'propos':985 'provid':618 'question':28,74,99,123,131,173,178,212,387,632,640,694,801,818,824,830,866,1009 're':741 're-run':740 'readi':37,64,294,760 'refactor':249,1030 'regress':319,706,1079 'relat':331,1084,1086 'relev':327,1082 'remain':190 'repo':240 'repro':313,554,684,1072 'request':55,915,1166 'requir':117,129,199,307,326,351,371,380,429,493,781,854,874,1022,1055,1113 'resolv':206,352,401,643,821,860,871 'respons':1001 'rigor':5 'risk':378 'risk/mitigation':579,1112 'role':239,891,945 'rule':106,258,594,893,958 'run':742 'runnabl':557 'schema':220 'scope':91,156,276,279,283,528,538,544,549,680,714,898,955,1043,1197,1205 'scope-bound':90 'section':170,584,795,980,997 'secur':297 'security/privacy':1057 'session':44 'set':569 'shape':928 'short':839 'simplest':145 'sinc':321 'singl':793 'skill':25,94 'skill-prompt-template-wizard' 'skip':377,1183 'snapshot':364,1101 'snippet':469 'someth':136 'source-jawwadfirdousi' 'spec':120,134 'start':802 'state':399 'step':314,555,611,627,731,744,1073 'still':788 'straightforward':466,1164 'strategi':174 'strict':107 'string':453,1151 'structur':88,169,232,890 'style':711,974,1019 'subject':535 'subsequ':195 'summar':808 'support':250,1031 'system':433,1131 'target':27,73,927 'task':244,309,503,651,702,894,1025,1068 'telemetri':299,1060 'telemetry/logging':1058 'templat':3,18,31,46,66,163,757,776,879,925,937 'templatespec':224,486,621,736,762,931 'test':130,339,341,350,360,366,376,383,501,563,567,577,601,658,661,705,728,865,868,911,976,979,987,1090,1095,1097,1106,1116,1177,1186 'test-impact':1185 'testable/observable':533 'text':473,840,944 'thing':753 'threshold':678 'topic-agent' 'topic-agent-skills' 'topic-ai-agents' 'topic-ai-tools' 'topic-automation' 'topic-developer-tools' 'topic-prompt-engineering' 'topic-prompt-template' 'topic-skills' 'topic-workflow-automation' 'turn':196,851 'type':245,310,504,652,703,835,895,988,1026,1069 'ui':363,1100 'unambigu':16 'unansw':191 'unit':361,1098 'unknown':348,1094 'unless':989 'updat':733,735,1092 'use':418,430,696,708,847,888,1005,1017,1123,1128 'user':617,885,941 'user-provid':616 'ux':1023 'valid':8,76,146,629,743 'valu':511 'verbos':916 'verif':370,571,663,723,1111,1190 'via':72 'vs':667 'way':457,1155 'wizard':4,47 'work':227,948 'workflow':610 'yes/no/unknown':320","prices":[{"id":"7bfe032a-40b9-46c1-930a-72f6f429d023","listingId":"03891277-a425-4784-b726-c110c1cb82dd","amountUsd":"0","unit":"free","nativeCurrency":null,"nativeAmount":null,"chain":null,"payTo":null,"paymentMethod":"skill-free","isPrimary":true,"details":{"org":"jawwadfirdousi","category":"agent-skills","install_from":"skills.sh"},"createdAt":"2026-05-18T13:13:40.442Z"}],"sources":[{"listingId":"03891277-a425-4784-b726-c110c1cb82dd","source":"github","sourceId":"jawwadfirdousi/agent-skills/prompt-template-wizard","sourceUrl":"https://github.com/jawwadfirdousi/agent-skills/tree/main/skills/prompt-template-wizard","isPrimary":false,"firstSeenAt":"2026-05-18T13:13:40.442Z","lastSeenAt":"2026-05-18T19:08:12.597Z"}],"details":{"listingId":"03891277-a425-4784-b726-c110c1cb82dd","quickStartSnippet":null,"exampleRequest":null,"exampleResponse":null,"schema":null,"openapiUrl":null,"agentsTxtUrl":null,"citations":[],"useCases":[],"bestFor":[],"notFor":[],"kindDetails":{"org":"jawwadfirdousi","slug":"prompt-template-wizard","github":{"repo":"jawwadfirdousi/agent-skills","stars":10,"topics":["agent","agent-skills","ai-agents","ai-tools","automation","developer-tools","prompt-engineering","prompt-template","skills","workflow-automation"],"license":null,"html_url":"https://github.com/jawwadfirdousi/agent-skills","pushed_at":"2026-05-05T20:09:54Z","description":"Reusable AI agent skill definitions","skill_md_sha":"c2e38c2401533e5c582d3b8914d470b37b5d8af5","skill_md_path":"skills/prompt-template-wizard/SKILL.md","default_branch":"main","skill_tree_url":"https://github.com/jawwadfirdousi/agent-skills/tree/main/skills/prompt-template-wizard"},"layout":"multi","source":"github","category":"agent-skills","frontmatter":{"name":"prompt-template-wizard","description":"Rigorously collects and validates all fields needed to produce a complete, unambiguous prompt template for features and bug fixes. The skill asks targeted questions until the template is fully filled, consistent, and ready to paste into a Codex/GPT-5.2 coding session."},"skills_sh_url":"https://skills.sh/jawwadfirdousi/agent-skills/prompt-template-wizard"},"updatedAt":"2026-05-18T19:08:12.597Z"}}