skills/prompt-template-wizard/SKILL.md
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.
npx skillsauth add jawwadfirdousi/agent-skills prompt-template-wizardInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
Convert an incomplete request into a complete, low-ambiguity, paste-ready prompt template by:
This skill is interactive: keep asking questions until completion criteria are met.
Maintain a working draft internally as a structured object with these fields.
rolerepo_app (optional identifier)task_type ∈ {Feature, Bug fix, Refactor supporting bug fix} (must be exactly one)output_rules[] (concise bullets)goal_one_linerbackground_bullets[] (2–6)current_behaviordesired_behaviorin_scope[] (>= 2)out_of_scope[] (>= 1)acceptance_criteria[] (observable, checkbox-ready)nonfunctional:
performancesecurity_privacytelemetry_logging (optional)repro_steps[]actualexpectedfrequencyimpactregression (yes/no/unknown + since when)relevant_paths[] (file paths)related_ids[] (issues/PRs/links, may be empty if none)tests_paths[] (test file paths, may be empty if unknown)automated_tests ∈ {Unit, Integration, UI, Snapshot, None}testing_notes (optional)manual_verification[] (required; at least 2 bullets)tests_skip_risk_mitigation (required if automated_tests = None)Important: 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”).
must_not_change[]must_use[]must_avoid[]localization_policy (default, required):
snippets_logs_payloads (free text; may be “none”)A TemplateSpec is complete only if:
Map any user-provided content into TemplateSpec fields. Leave missing fields empty.
Create a “Missing/Conflicting” list and ask the questions needed to resolve it. Prioritize blockers in this order:
Question design:
Update TemplateSpec with answers and re-run validation.
When complete, output exactly 3 things:
Do not output the full prompt template before completion.
When you are still collecting info, output a single merged section:
Important: Always include the testing questions until testing is fully resolved.
The Final Prompt Template must be one block the user can paste, using this structure:
ROLE
OUTPUT RULES
TASK TYPE
GOAL
CONTEXT
SCOPE (IN / OUT)
DEFINITION OF DONE
BUG DETAILS (only if applicable)
CODEBASE POINTERS
TESTING
CONSTRAINTS
LOCALIZATION
INPUTS
REQUEST
Verbosity: compact bullets, no long narrative paragraphs.
When the TemplateSpec is complete, emit the following template filled with the user’s content:
ROLE
You are <role> working in <repo_app if provided>. Implement exactly and only the scope below.
OUTPUT RULES
1) Plan first, then implement.
2) Keep diffs minimal and localized. Preserve existing patterns and style.
3) Tests: follow the TESTING section below exactly. Do not propose additional test types unless blocked by constraints.
4) Include an Assumptions section in the final response (only assumptions actually used).
5) Ask clarifying questions only if blocked.
6) Add intent comments using existing style where needed (REQUIREMENT:, UX:, BUGFIX:).
TASK TYPE
<Feature | Bug fix | Refactor supporting bug fix> (exactly one)
GOAL
<goal_one_liner>
CONTEXT
- Background:
- <background_bullets...>
- Current behavior:
- <current_behavior>
- Desired behavior:
- <desired_behavior>
SCOPE
IN
- <in_scope...>
OUT
- <out_of_scope...>
DEFINITION OF DONE
Acceptance criteria (observable)
- [ ] <acceptance_criteria...>
Non-functional requirements
- Performance: <performance>
- Security/privacy: <security_privacy>
Telemetry/logging (optional)
- <telemetry_logging or “none”>
BUG DETAILS (only if TASK TYPE = Bug fix)
REPRO STEPS
1) <repro_steps...>
ACTUAL
<actual>
EXPECTED
<expected>
FREQUENCY
<frequency>
IMPACT
<impact>
REGRESSION
<regression>
CODEBASE POINTERS
- Relevant files/modules: `<relevant_paths...>`
- Related issues/PRs: <related_ids or “none”>
- Tests to update: `<tests_paths...>` (or “unknown”)
TESTING
- Automated tests: <Unit | Integration | UI | Snapshot | None> (already decided).
- Notes/constraints: <testing_notes or “none”>
- Manual verification:
- <manual_verification...>
- Risk/mitigation (required if Automated tests = None): <tests_skip_risk_mitigation>
CONSTRAINTS
Must not change
- <must_not_change...>
Must use
- <must_use...>
Must avoid
- <must_avoid...>
LOCALIZATION
- 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.
INPUTS
<snippets_logs_payloads>
REQUEST
Execute in this order:
1) Plan (3–8 bullets)
2) Tests (what you changed/added or why skipped; include test-impact note)
3) Verification checklist (manual + automated)
4) Assumptions
Apply scope discipline: implement exactly and only the IN scope.
Assumption policy: ask only if blocked.
development
Manage Trello boards, lists, and cards via the Trello REST API.
development
create, edit, review, validate, and package high-quality svg graphics, icons, illustrations, diagrams, logos, charts, patterns, and inline svg code. use when the user asks to make a beautiful svg, generate an .svg file, fix or optimize svg markup, convert a visual concept into svg, design an icon system, or verify svg accessibility, safety, path data, viewbox, gradients, masks, filters, and browser-safe rendering.
development
Run Supabase Management API SQL for persistent data tasks such as querying records, applying schema changes, managing policies, and handling storage metadata. Use when requests involve Supabase database CRUD, migrations, or production-like data inspection.
testing
Execute read-only SQL queries against PostgreSQL databases. Use when: (1) querying PostgreSQL data, (2) exploring schemas/tables, (3) running SELECT queries for analysis, (4) checking database contents. Supports multiple database connections with descriptions for auto-selection. Blocks all write operations (INSERT, UPDATE, DELETE, DROP, etc.) for safety.