@ckelsoe/prompt-architect 3.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.claude-plugin/marketplace.json +20 -0
- package/.claude-plugin/plugin.json +18 -0
- package/CHANGELOG.md +264 -0
- package/LICENSE +21 -0
- package/MIGRATION.md +66 -0
- package/README.md +1184 -0
- package/adapters/README.md +267 -0
- package/adapters/for-cursor.mdc +138 -0
- package/adapters/for-gemini-cli.md +70 -0
- package/adapters/for-github-copilot.md +141 -0
- package/adapters/for-openai-codex-cli.md +158 -0
- package/adapters/for-windsurf.md +136 -0
- package/adapters/system-prompt.md +243 -0
- package/package.json +135 -0
- package/scripts/install.js +490 -0
- package/scripts/test.js +213 -0
- package/scripts/validate-skill.js +350 -0
- package/skills/prompt-architect/SKILL.md +331 -0
- package/skills/prompt-architect/assets/templates/ape_template.txt +5 -0
- package/skills/prompt-architect/assets/templates/bab_template.txt +15 -0
- package/skills/prompt-architect/assets/templates/broke_template.txt +15 -0
- package/skills/prompt-architect/assets/templates/cai-critique-revise_template.txt +18 -0
- package/skills/prompt-architect/assets/templates/care_template.txt +16 -0
- package/skills/prompt-architect/assets/templates/chain-of-density_template.txt +46 -0
- package/skills/prompt-architect/assets/templates/chain-of-thought_template.txt +49 -0
- package/skills/prompt-architect/assets/templates/co-star_template.txt +17 -0
- package/skills/prompt-architect/assets/templates/crispe_template.txt +14 -0
- package/skills/prompt-architect/assets/templates/ctf_template.txt +15 -0
- package/skills/prompt-architect/assets/templates/devils-advocate_template.txt +25 -0
- package/skills/prompt-architect/assets/templates/hybrid_template.txt +101 -0
- package/skills/prompt-architect/assets/templates/least-to-most_template.txt +16 -0
- package/skills/prompt-architect/assets/templates/plan-and-solve_template.txt +7 -0
- package/skills/prompt-architect/assets/templates/pre-mortem_template.txt +27 -0
- package/skills/prompt-architect/assets/templates/race_template.txt +19 -0
- package/skills/prompt-architect/assets/templates/rcot_template.txt +31 -0
- package/skills/prompt-architect/assets/templates/react_template.txt +27 -0
- package/skills/prompt-architect/assets/templates/reverse-role_template.txt +11 -0
- package/skills/prompt-architect/assets/templates/rise-ie_template.txt +23 -0
- package/skills/prompt-architect/assets/templates/rise-ix_template.txt +28 -0
- package/skills/prompt-architect/assets/templates/risen_template.txt +21 -0
- package/skills/prompt-architect/assets/templates/rpef_template.txt +26 -0
- package/skills/prompt-architect/assets/templates/rtf_template.txt +13 -0
- package/skills/prompt-architect/assets/templates/self-refine_template.txt +16 -0
- package/skills/prompt-architect/assets/templates/skeleton-of-thought_template.txt +15 -0
- package/skills/prompt-architect/assets/templates/step-back_template.txt +10 -0
- package/skills/prompt-architect/assets/templates/tidd-ec_template.txt +45 -0
- package/skills/prompt-architect/assets/templates/tree-of-thought_template.txt +30 -0
- package/skills/prompt-architect/references/frameworks/ape.md +200 -0
- package/skills/prompt-architect/references/frameworks/bab.md +242 -0
- package/skills/prompt-architect/references/frameworks/broke.md +242 -0
- package/skills/prompt-architect/references/frameworks/cai-critique-revise.md +230 -0
- package/skills/prompt-architect/references/frameworks/care.md +235 -0
- package/skills/prompt-architect/references/frameworks/chain-of-density.md +479 -0
- package/skills/prompt-architect/references/frameworks/chain-of-thought.md +424 -0
- package/skills/prompt-architect/references/frameworks/co-star.md +256 -0
- package/skills/prompt-architect/references/frameworks/crispe.md +253 -0
- package/skills/prompt-architect/references/frameworks/ctf.md +207 -0
- package/skills/prompt-architect/references/frameworks/devils-advocate.md +206 -0
- package/skills/prompt-architect/references/frameworks/least-to-most.md +226 -0
- package/skills/prompt-architect/references/frameworks/plan-and-solve.md +210 -0
- package/skills/prompt-architect/references/frameworks/pre-mortem.md +197 -0
- package/skills/prompt-architect/references/frameworks/race.md +243 -0
- package/skills/prompt-architect/references/frameworks/rcot.md +203 -0
- package/skills/prompt-architect/references/frameworks/react.md +304 -0
- package/skills/prompt-architect/references/frameworks/reverse-role.md +189 -0
- package/skills/prompt-architect/references/frameworks/rise.md +555 -0
- package/skills/prompt-architect/references/frameworks/risen.md +297 -0
- package/skills/prompt-architect/references/frameworks/rpef.md +195 -0
- package/skills/prompt-architect/references/frameworks/rtf.md +358 -0
- package/skills/prompt-architect/references/frameworks/self-refine.md +205 -0
- package/skills/prompt-architect/references/frameworks/skeleton-of-thought.md +186 -0
- package/skills/prompt-architect/references/frameworks/step-back.md +206 -0
- package/skills/prompt-architect/references/frameworks/tidd-ec.md +470 -0
- package/skills/prompt-architect/references/frameworks/tree-of-thought.md +260 -0
- package/skills/prompt-architect/scripts/framework_analyzer.py +807 -0
- package/skills/prompt-architect/scripts/prompt_evaluator.py +336 -0
|
@@ -0,0 +1,304 @@
|
|
|
1
|
+
# ReAct Framework
|
|
2
|
+
|
|
3
|
+
## Overview
|
|
4
|
+
|
|
5
|
+
ReAct (Reasoning + Acting) is an agentic prompting framework that interleaves reasoning steps with concrete actions. Rather than reasoning once and then acting, ReAct prompts the model to alternate between: thinking about what to do next (Thought), taking a specific action (Action), and observing the result (Observation) — in a cycle until the goal is reached.
|
|
6
|
+
|
|
7
|
+
ReAct is the framework of choice when the task requires using tools, querying external sources, writing and executing code, or navigating a multi-step process where each step's result informs the next.
|
|
8
|
+
|
|
9
|
+
**Research basis:** Introduced in "ReAct: Synergizing Reasoning and Acting in Language Models" (Yao et al., 2022).
|
|
10
|
+
|
|
11
|
+
## Components
|
|
12
|
+
|
|
13
|
+
### Goal
|
|
14
|
+
**Purpose:** Define what needs to be achieved — the end state the agent should reach.
|
|
15
|
+
|
|
16
|
+
### Tools / Resources Available
|
|
17
|
+
**Purpose:** List what the agent can use to accomplish the goal. This tells the model what actions are possible.
|
|
18
|
+
|
|
19
|
+
**Common tool types:**
|
|
20
|
+
- Search / web lookup
|
|
21
|
+
- Code execution
|
|
22
|
+
- File read/write
|
|
23
|
+
- API calls
|
|
24
|
+
- Calculator / computation
|
|
25
|
+
- Database queries
|
|
26
|
+
|
|
27
|
+
### ReAct Cycle
|
|
28
|
+
**Purpose:** The repeating Thought → Action → Observation loop.
|
|
29
|
+
|
|
30
|
+
- **Thought:** Reason about the current state and what to do next
|
|
31
|
+
- **Action:** Take a specific, concrete action using an available tool
|
|
32
|
+
- **Observation:** Record the result of the action
|
|
33
|
+
- *(Repeat until goal is reached)*
|
|
34
|
+
|
|
35
|
+
### Final Answer
|
|
36
|
+
**Purpose:** Once the goal is achieved, provide the answer or deliverable.
|
|
37
|
+
|
|
38
|
+
## Template Structure
|
|
39
|
+
|
|
40
|
+
```
|
|
41
|
+
GOAL:
|
|
42
|
+
[What needs to be achieved — the end state]
|
|
43
|
+
|
|
44
|
+
AVAILABLE TOOLS:
|
|
45
|
+
- [Tool 1]: [What it does]
|
|
46
|
+
- [Tool 2]: [What it does]
|
|
47
|
+
- [Tool 3]: [What it does]
|
|
48
|
+
|
|
49
|
+
CONSTRAINTS:
|
|
50
|
+
- [Any rules, limits, or guardrails on actions]
|
|
51
|
+
|
|
52
|
+
APPROACH:
|
|
53
|
+
Use the Thought → Action → Observation cycle:
|
|
54
|
+
|
|
55
|
+
Thought: [Reason about current state and next step]
|
|
56
|
+
Action: [Tool name] — [specific query or operation]
|
|
57
|
+
Observation: [Result of the action]
|
|
58
|
+
|
|
59
|
+
Thought: [Reason about observation and what to do next]
|
|
60
|
+
Action: [Tool name] — [next operation]
|
|
61
|
+
Observation: [Result]
|
|
62
|
+
|
|
63
|
+
[Continue until goal is reached]
|
|
64
|
+
|
|
65
|
+
Final Answer: [Deliver the result]
|
|
66
|
+
```
|
|
67
|
+
|
|
68
|
+
## Complete Examples
|
|
69
|
+
|
|
70
|
+
### Example 1: Research Task (Agentic)
|
|
71
|
+
|
|
72
|
+
**Before ReAct:**
|
|
73
|
+
"Find out which JavaScript framework is most popular right now."
|
|
74
|
+
|
|
75
|
+
**After ReAct:**
|
|
76
|
+
```
|
|
77
|
+
GOAL:
|
|
78
|
+
Determine which JavaScript frontend framework has the highest current adoption
|
|
79
|
+
and provide a brief evidence-based recommendation for a new project.
|
|
80
|
+
|
|
81
|
+
AVAILABLE TOOLS:
|
|
82
|
+
- web_search: Search for current information
|
|
83
|
+
- fetch_page: Retrieve content from a specific URL
|
|
84
|
+
|
|
85
|
+
CONSTRAINTS:
|
|
86
|
+
- Use at least 2 independent sources
|
|
87
|
+
- Prioritize data from the last 12 months
|
|
88
|
+
- Do not rely on a single survey
|
|
89
|
+
|
|
90
|
+
APPROACH:
|
|
91
|
+
Thought: I need current data on JS framework popularity. I'll start with
|
|
92
|
+
the Stack Overflow Developer Survey and npm download stats.
|
|
93
|
+
|
|
94
|
+
Action: web_search — "JavaScript framework popularity 2024 Stack Overflow survey"
|
|
95
|
+
Observation: [Search results]
|
|
96
|
+
|
|
97
|
+
Thought: Found Stack Overflow survey data. Let me also check npm trends for
|
|
98
|
+
download numbers to corroborate.
|
|
99
|
+
|
|
100
|
+
Action: web_search — "React vs Vue vs Angular npm downloads 2024"
|
|
101
|
+
Observation: [Search results]
|
|
102
|
+
|
|
103
|
+
Thought: I have data from two sources. Let me synthesize the findings.
|
|
104
|
+
|
|
105
|
+
Final Answer: Based on [sources], React leads in adoption at X%, followed by...
|
|
106
|
+
```
|
|
107
|
+
|
|
108
|
+
### Example 2: Debugging with Tool Use
|
|
109
|
+
|
|
110
|
+
**Before ReAct:**
|
|
111
|
+
"Debug why the tests are failing."
|
|
112
|
+
|
|
113
|
+
**After ReAct:**
|
|
114
|
+
```
|
|
115
|
+
GOAL:
|
|
116
|
+
Identify and fix the root cause of the failing unit tests in the auth module.
|
|
117
|
+
All 3 tests in auth.test.js are failing after the refactor.
|
|
118
|
+
|
|
119
|
+
AVAILABLE TOOLS:
|
|
120
|
+
- read_file: Read any file in the codebase
|
|
121
|
+
- run_tests: Execute test suite and return output
|
|
122
|
+
- search_code: Search codebase for patterns
|
|
123
|
+
|
|
124
|
+
CONSTRAINTS:
|
|
125
|
+
- Fix the root cause, not the symptoms
|
|
126
|
+
- Do not change test code unless tests themselves are wrong
|
|
127
|
+
- Verify fix by running tests again after changes
|
|
128
|
+
|
|
129
|
+
APPROACH:
|
|
130
|
+
Thought: I need to understand what the tests expect before I look at the implementation.
|
|
131
|
+
|
|
132
|
+
Action: read_file — auth.test.js
|
|
133
|
+
Observation: [File contents]
|
|
134
|
+
|
|
135
|
+
Thought: Tests are calling `auth.validateToken(token)` but based on the refactor
|
|
136
|
+
PR description, the function was renamed. Let me check the new implementation.
|
|
137
|
+
|
|
138
|
+
Action: read_file — auth.js
|
|
139
|
+
Observation: [File contents]
|
|
140
|
+
|
|
141
|
+
Thought: Confirmed — function was renamed to `auth.verifyToken()`. Tests use old name.
|
|
142
|
+
Let me check if this was an intentional API change or a mistake.
|
|
143
|
+
|
|
144
|
+
Action: search_code — "validateToken"
|
|
145
|
+
Observation: [All usages across codebase]
|
|
146
|
+
|
|
147
|
+
Thought: validateToken is used in 3 other places too. This is a breaking rename.
|
|
148
|
+
The tests are correct — the implementation changed names without updating callers.
|
|
149
|
+
I'll restore the original name in the implementation and add an alias if needed.
|
|
150
|
+
|
|
151
|
+
[Apply fix]
|
|
152
|
+
|
|
153
|
+
Action: run_tests — auth.test.js
|
|
154
|
+
Observation: All 3 tests passing.
|
|
155
|
+
|
|
156
|
+
Final Answer: Root cause was function rename in auth.js that broke all callers.
|
|
157
|
+
Restored original function name and added `verifyToken` as an alias for forward
|
|
158
|
+
compatibility.
|
|
159
|
+
```
|
|
160
|
+
|
|
161
|
+
### Example 3: Data Investigation
|
|
162
|
+
|
|
163
|
+
**Before ReAct:**
|
|
164
|
+
"Why are sales down this month?"
|
|
165
|
+
|
|
166
|
+
**After ReAct:**
|
|
167
|
+
```
|
|
168
|
+
GOAL:
|
|
169
|
+
Identify the primary factor(s) driving the 23% month-over-month decline in
|
|
170
|
+
sales this quarter. Provide a ranked list of likely causes with supporting data.
|
|
171
|
+
|
|
172
|
+
AVAILABLE TOOLS:
|
|
173
|
+
- query_database: Run SQL queries against the sales database
|
|
174
|
+
- fetch_analytics: Pull data from the analytics dashboard
|
|
175
|
+
- read_file: Read exported reports and CSV files
|
|
176
|
+
|
|
177
|
+
CONSTRAINTS:
|
|
178
|
+
- Base conclusions on data, not assumptions
|
|
179
|
+
- Consider at least 3 potential causes before concluding
|
|
180
|
+
- If data is insufficient to conclude, state what additional data is needed
|
|
181
|
+
|
|
182
|
+
APPROACH:
|
|
183
|
+
Thought: 23% decline is significant. I should check whether it's volume (fewer
|
|
184
|
+
orders), value (smaller orders), or both. Also check if it's across all segments
|
|
185
|
+
or concentrated.
|
|
186
|
+
|
|
187
|
+
Action: query_database — "SELECT COUNT(*), AVG(order_value), segment FROM orders
|
|
188
|
+
WHERE month = current AND month = previous GROUP BY segment"
|
|
189
|
+
Observation: [Query results]
|
|
190
|
+
|
|
191
|
+
Thought: Volume is down 18% but average order value is down only 5%. The decline
|
|
192
|
+
is concentrated in the Enterprise segment. Let me check acquisition vs. churn.
|
|
193
|
+
|
|
194
|
+
Action: query_database — "SELECT new_customers, churned_customers, segment FROM
|
|
195
|
+
customer_events WHERE period = last_30_days"
|
|
196
|
+
Observation: [Query results]
|
|
197
|
+
|
|
198
|
+
Thought: Enterprise churn is 3x normal. Let me check if there's a product or
|
|
199
|
+
pricing event that coincides.
|
|
200
|
+
|
|
201
|
+
[Continue investigation...]
|
|
202
|
+
|
|
203
|
+
Final Answer: Primary driver is Enterprise churn (elevated 3x), concentrated
|
|
204
|
+
in accounts that received the new pricing email on [date]. Secondary factor is
|
|
205
|
+
reduced trial-to-paid conversion, down 12%.
|
|
206
|
+
```
|
|
207
|
+
|
|
208
|
+
## Best Use Cases
|
|
209
|
+
|
|
210
|
+
1. **Agentic / Tool-Use Tasks**
|
|
211
|
+
- Tasks where the model needs to use tools iteratively
|
|
212
|
+
- Research with multiple lookups
|
|
213
|
+
- Debugging with read-test-fix cycles
|
|
214
|
+
|
|
215
|
+
2. **Multi-Step Investigation**
|
|
216
|
+
- Data investigation where each finding informs the next query
|
|
217
|
+
- Root cause analysis
|
|
218
|
+
- Audit tasks
|
|
219
|
+
|
|
220
|
+
3. **Autonomous Task Execution**
|
|
221
|
+
- Tasks that should complete without human intervention per step
|
|
222
|
+
- Workflows that use Claude Code's tool ecosystem
|
|
223
|
+
|
|
224
|
+
4. **When the Path Is Unknown**
|
|
225
|
+
- Tasks where you can't specify every step upfront
|
|
226
|
+
- Exploratory analysis
|
|
227
|
+
- Open-ended problem-solving with tools
|
|
228
|
+
|
|
229
|
+
## Selection Criteria
|
|
230
|
+
|
|
231
|
+
**Choose ReAct when:**
|
|
232
|
+
- ✅ Tools or external resources will be used
|
|
233
|
+
- ✅ Each step's result determines the next step
|
|
234
|
+
- ✅ The path to solution is not fully known upfront
|
|
235
|
+
- ✅ Reasoning should be shown alongside actions
|
|
236
|
+
- ✅ Task is agentic in nature
|
|
237
|
+
|
|
238
|
+
**Avoid ReAct when:**
|
|
239
|
+
- ❌ Task has a fixed, known sequence of steps → use RISEN
|
|
240
|
+
- ❌ No tools needed, just reasoning → use Chain of Thought
|
|
241
|
+
- ❌ Creative or writing task → use CO-STAR or BAB
|
|
242
|
+
- ❌ Simple, well-defined → use RTF, APE, or CTF
|
|
243
|
+
|
|
244
|
+
## ReAct vs. Chain of Thought vs. RISEN
|
|
245
|
+
|
|
246
|
+
| | Chain of Thought | RISEN | ReAct |
|
|
247
|
+
|---|---|---|---|
|
|
248
|
+
| Structure | Linear reasoning steps | Defined methodology | Thought-Action-Observation cycles |
|
|
249
|
+
| Tool use | No | No | Yes |
|
|
250
|
+
| Path known upfront? | Yes | Yes | No (emergent) |
|
|
251
|
+
| Best for | Complex reasoning | Multi-step procedures | Agentic tool use |
|
|
252
|
+
|
|
253
|
+
## Writing Good ReAct Prompts
|
|
254
|
+
|
|
255
|
+
### Goals Should Be Outcome-Focused
|
|
256
|
+
```
|
|
257
|
+
✅ "Identify the root cause of the auth failures and produce a fix"
|
|
258
|
+
❌ "Look at the auth code"
|
|
259
|
+
```
|
|
260
|
+
|
|
261
|
+
### Tools Should Be Named and Described
|
|
262
|
+
```
|
|
263
|
+
✅ - run_tests: Execute the test suite and return pass/fail results with error output
|
|
264
|
+
❌ - testing tool
|
|
265
|
+
```
|
|
266
|
+
|
|
267
|
+
### Constraints Prevent Loops
|
|
268
|
+
```
|
|
269
|
+
✅ "If you cannot confirm a hypothesis after 3 tool calls, state it as unconfirmed and move on"
|
|
270
|
+
❌ (no constraints — model may loop indefinitely)
|
|
271
|
+
```
|
|
272
|
+
|
|
273
|
+
### Include a Stop Condition
|
|
274
|
+
```
|
|
275
|
+
✅ "Stop when: the fix is confirmed by passing tests OR you've determined the fix requires information not available to you"
|
|
276
|
+
```
|
|
277
|
+
|
|
278
|
+
## Common Mistakes
|
|
279
|
+
|
|
280
|
+
1. **Specifying Every Step**
|
|
281
|
+
- If you know all the steps, use RISEN instead
|
|
282
|
+
- ReAct is for when the path is emergent
|
|
283
|
+
|
|
284
|
+
2. **No Tool List**
|
|
285
|
+
- Without knowing what tools are available, the model invents them
|
|
286
|
+
- Always list available tools explicitly
|
|
287
|
+
|
|
288
|
+
3. **No Constraints**
|
|
289
|
+
- Unconstrained ReAct can loop or over-explore
|
|
290
|
+
- Add max iterations or a stop condition
|
|
291
|
+
|
|
292
|
+
4. **Using ReAct for Static Tasks**
|
|
293
|
+
- If no tools are needed, Chain of Thought is simpler and more effective
|
|
294
|
+
|
|
295
|
+
## Quick Reference
|
|
296
|
+
|
|
297
|
+
| Component | Focus | Key Question |
|
|
298
|
+
|-----------|-------|--------------|
|
|
299
|
+
| Goal | End state | "What does success look like?" |
|
|
300
|
+
| Tools | Available actions | "What can the agent do?" |
|
|
301
|
+
| Thought | Reasoning | "What should I do next and why?" |
|
|
302
|
+
| Action | Tool use | "What specific action to take?" |
|
|
303
|
+
| Observation | Result | "What happened?" |
|
|
304
|
+
| Final Answer | Deliverable | "Goal achieved — what's the answer?" |
|
|
@@ -0,0 +1,189 @@
|
|
|
1
|
+
# Reverse Role Prompting (AI-Led Interview)
|
|
2
|
+
|
|
3
|
+
## Overview
|
|
4
|
+
|
|
5
|
+
Reverse Role Prompting flips the traditional prompting dynamic: instead of you constructing a detailed prompt, you provide a minimal intent statement and the AI interviews you — asking targeted clarifying questions — until it has enough information to execute the task well. This is the framework for when you know what you want but struggle to articulate all the details needed for a good prompt.
|
|
6
|
+
|
|
7
|
+
**Research basis:** Widely circulated as "reverse prompting" in practitioner communities (2023–2024). Formalized academically as **FATA** (First Ask Then Answer), arXiv 2508.08308, August 2025 — showing ~40% improvement over standard prompting. Related to **Socratic Prompting** (Chang et al., arXiv 2303.08769, EMNLP 2023/NAACL 2024).
|
|
8
|
+
|
|
9
|
+
## When to Use
|
|
10
|
+
|
|
11
|
+
- You know roughly what you need but struggle to write a detailed prompt
|
|
12
|
+
- The task is complex and requirements aren't fully defined upfront
|
|
13
|
+
- You want the AI to surface considerations you haven't thought of
|
|
14
|
+
- You're a non-expert user in an unfamiliar domain
|
|
15
|
+
- You want the AI to generate the full prompt for you from the interview
|
|
16
|
+
|
|
17
|
+
## Components
|
|
18
|
+
|
|
19
|
+
### Intent Statement
|
|
20
|
+
**Purpose:** Your minimal starting point — what you want to achieve in 1-2 sentences. Intentionally brief; the AI will fill in the gaps through questions.
|
|
21
|
+
|
|
22
|
+
### Interview Trigger
|
|
23
|
+
**Purpose:** The instruction that activates the AI-led interview mode.
|
|
24
|
+
|
|
25
|
+
**Core triggers:**
|
|
26
|
+
- Minimal: *"Before responding, ask me all the questions you need to give me the best possible answer."*
|
|
27
|
+
- Structured: *"Interview me with sequential questions to understand my context, constraints, and goals. Only [start the task] once confident you have enough information."*
|
|
28
|
+
- Expert mode: *"You are an expert in [X]. Before beginning, conduct a discovery interview to understand my specific situation. Ask one question at a time."*
|
|
29
|
+
|
|
30
|
+
### Domain Scope
|
|
31
|
+
**Purpose:** Optionally specify the domain of expertise the AI should bring to the interview. This shapes the quality and relevance of its questions.
|
|
32
|
+
|
|
33
|
+
### Interview Mode
|
|
34
|
+
**Purpose:** Single-batch (FATA: all questions at once) vs. conversational (one question at a time). FATA is faster; conversational is more natural.
|
|
35
|
+
|
|
36
|
+
### Synthesis Instruction (optional)
|
|
37
|
+
**Purpose:** After the interview, instruct the AI to either (a) execute the task directly, or (b) first produce a written prompt you can reuse.
|
|
38
|
+
|
|
39
|
+
## Template Structure
|
|
40
|
+
|
|
41
|
+
### Minimal Version
|
|
42
|
+
```
|
|
43
|
+
[Your 1-2 sentence intent statement]
|
|
44
|
+
|
|
45
|
+
Before responding, ask me all the questions you need to give me the
|
|
46
|
+
best possible answer. Then, once I've answered, [execute the task / generate the full prompt].
|
|
47
|
+
```
|
|
48
|
+
|
|
49
|
+
### Structured Expert Version
|
|
50
|
+
```
|
|
51
|
+
You are an expert [domain] consultant.
|
|
52
|
+
|
|
53
|
+
My goal: [1-2 sentence intent]
|
|
54
|
+
|
|
55
|
+
Before you begin, interview me to understand my specific context,
|
|
56
|
+
constraints, goals, and any relevant background. Ask your questions
|
|
57
|
+
[one at a time / all at once]. Only proceed with [the task] once you
|
|
58
|
+
are confident you have everything you need.
|
|
59
|
+
|
|
60
|
+
After the interview: [execute directly / write a full structured prompt I can reuse]
|
|
61
|
+
```
|
|
62
|
+
|
|
63
|
+
### Two-Stage Version (Interview → Prompt Generation)
|
|
64
|
+
```
|
|
65
|
+
STAGE 1 — INTERVIEW:
|
|
66
|
+
You are an expert prompt engineer and [domain expert].
|
|
67
|
+
I want to [intent]. Before doing anything, interview me to gather all
|
|
68
|
+
the information needed to create an excellent prompt for this task.
|
|
69
|
+
Ask me [5-10] targeted questions covering: [specific dimensions relevant to task].
|
|
70
|
+
|
|
71
|
+
STAGE 2 — PROMPT GENERATION:
|
|
72
|
+
After I answer, synthesize my responses into a well-structured prompt
|
|
73
|
+
using the most appropriate framework (CO-STAR / RISEN / RACE / etc.).
|
|
74
|
+
Show me the prompt before executing it.
|
|
75
|
+
```
|
|
76
|
+
|
|
77
|
+
## Complete Examples
|
|
78
|
+
|
|
79
|
+
### Example 1: Minimal Trigger
|
|
80
|
+
|
|
81
|
+
**User intent:**
|
|
82
|
+
```
|
|
83
|
+
I want to create a training program for new customer success managers.
|
|
84
|
+
Before responding, ask me all the questions you need to give me the
|
|
85
|
+
best possible answer.
|
|
86
|
+
```
|
|
87
|
+
|
|
88
|
+
**AI interview questions (FATA style):**
|
|
89
|
+
```
|
|
90
|
+
1. What is the typical background of your CSM hires? (e.g., sales background,
|
|
91
|
+
support, fresh graduates, industry-specific experience)
|
|
92
|
+
2. What does "trained" look like — what should a new CSM be able to do
|
|
93
|
+
independently after completing the program?
|
|
94
|
+
3. How long is the onboarding period, and how much of it is dedicated to
|
|
95
|
+
structured training vs. on-the-job learning?
|
|
96
|
+
4. What are the 2-3 biggest mistakes or gaps you currently see in new CSMs
|
|
97
|
+
within their first 90 days?
|
|
98
|
+
5. Do you have existing training materials, playbooks, or product documentation
|
|
99
|
+
I should build around?
|
|
100
|
+
6. What format should the program take? (e.g., written modules, video, live
|
|
101
|
+
sessions, shadowing, quizzes)
|
|
102
|
+
7. Who else is involved in training — manager, buddy, product team?
|
|
103
|
+
```
|
|
104
|
+
|
|
105
|
+
### Example 2: Expert Domain Interview
|
|
106
|
+
|
|
107
|
+
```
|
|
108
|
+
You are an expert in B2B SaaS pricing strategy.
|
|
109
|
+
|
|
110
|
+
My goal: Help me design a pricing model for our new product launch.
|
|
111
|
+
|
|
112
|
+
Before advising, interview me to understand our specific situation.
|
|
113
|
+
Ask one question at a time. Cover: business model, customer segments,
|
|
114
|
+
competitive landscape, current revenue, and any pricing constraints.
|
|
115
|
+
Only advise once you have a full picture.
|
|
116
|
+
```
|
|
117
|
+
|
|
118
|
+
### Example 3: Two-Stage Prompt Builder
|
|
119
|
+
|
|
120
|
+
```
|
|
121
|
+
STAGE 1 — INTERVIEW:
|
|
122
|
+
You are an expert prompt engineer and technical writer.
|
|
123
|
+
|
|
124
|
+
I want to create documentation for a developer API. Before writing
|
|
125
|
+
anything, interview me with 6-8 targeted questions covering: the API's
|
|
126
|
+
purpose, target developer audience, existing documentation (if any),
|
|
127
|
+
format preferences, code example requirements, and any constraints.
|
|
128
|
+
|
|
129
|
+
STAGE 2 — PROMPT GENERATION:
|
|
130
|
+
After I answer all questions, write a complete structured prompt using
|
|
131
|
+
the RISEN or CO-STAR framework that I can use to generate the full
|
|
132
|
+
documentation. Show me the prompt and confirm before executing.
|
|
133
|
+
```
|
|
134
|
+
|
|
135
|
+
## Best Use Cases
|
|
136
|
+
|
|
137
|
+
1. **Complex Tasks with Fuzzy Requirements**
|
|
138
|
+
- Strategy development
|
|
139
|
+
- Training program design
|
|
140
|
+
- Product planning
|
|
141
|
+
|
|
142
|
+
2. **Non-Expert Users**
|
|
143
|
+
- Domain unfamiliar → AI surfaces the right questions
|
|
144
|
+
- Removes the burden of knowing what details to provide
|
|
145
|
+
|
|
146
|
+
3. **Discovery and Scoping**
|
|
147
|
+
- Project kickoffs
|
|
148
|
+
- Requirements gathering
|
|
149
|
+
- Consulting-style engagements
|
|
150
|
+
|
|
151
|
+
4. **Prompt Engineering Assistance**
|
|
152
|
+
- Let the AI build the full prompt from an interview
|
|
153
|
+
- Combine with any other framework as a pre-step
|
|
154
|
+
|
|
155
|
+
5. **Two-Stage Workflows**
|
|
156
|
+
- Stage 1: Interview → Stage 2: Execute with synthesized context
|
|
157
|
+
|
|
158
|
+
## Selection Criteria
|
|
159
|
+
|
|
160
|
+
**Choose Reverse Role Prompting when:**
|
|
161
|
+
- ✅ Requirements are unclear or underdeveloped
|
|
162
|
+
- ✅ You're not sure what details the AI needs
|
|
163
|
+
- ✅ You want the AI to surface considerations you haven't thought of
|
|
164
|
+
- ✅ Task is complex enough to warrant a scoping conversation
|
|
165
|
+
- ✅ You want a reusable prompt generated from the interview
|
|
166
|
+
|
|
167
|
+
**Avoid when:**
|
|
168
|
+
- ❌ Requirements are clear → write the prompt directly, or use RPEF to recover one
|
|
169
|
+
- ❌ Simple, well-defined task → use APE, RTF, or CTF
|
|
170
|
+
- ❌ Time-sensitive → the interview adds a turn
|
|
171
|
+
|
|
172
|
+
## FATA vs. Conversational Interview
|
|
173
|
+
|
|
174
|
+
| | FATA (All Questions at Once) | Conversational (One at a Time) |
|
|
175
|
+
|---|---|---|
|
|
176
|
+
| Speed | Faster (one extra turn) | Slower (one turn per question) |
|
|
177
|
+
| Feel | Clinical, structured | Natural, adaptive |
|
|
178
|
+
| Depth | Fixed set upfront | Each answer shapes next question |
|
|
179
|
+
| Best for | Clear domain, standard questions | Complex tasks with branching requirements |
|
|
180
|
+
|
|
181
|
+
## Quick Reference
|
|
182
|
+
|
|
183
|
+
| Component | Purpose |
|
|
184
|
+
|-----------|---------|
|
|
185
|
+
| Intent Statement | Minimal starting point (1-2 sentences) |
|
|
186
|
+
| Interview Trigger | Activates the AI-led questioning mode |
|
|
187
|
+
| Domain Scope | Expert lens for the interview |
|
|
188
|
+
| Interview Mode | Batch (FATA) vs. conversational |
|
|
189
|
+
| Synthesis | Execute directly or generate a reusable prompt |
|