ask-question
Draft a technical research question and send to ChatGPT for investigation
Best use case
ask-question is best used when you need a repeatable AI agent workflow instead of a one-off prompt.
Draft a technical research question and send to ChatGPT for investigation
Teams using ask-question should expect a more consistent output, faster repeated execution, less prompt rewriting.
When to use this skill
- You want a reusable workflow that can be run more than once with consistent structure.
When not to use this skill
- You only need a quick one-off answer and do not need a reusable workflow.
- You cannot install or maintain the underlying files, dependencies, or repository context.
Installation
Claude Code / Cursor / Codex
Manual Installation
- Download SKILL.md from GitHub
- Place it in
.claude/skills/ask-question/SKILL.mdinside your project - Restart your AI agent — it will auto-discover the skill
How ask-question Compares
| Feature / Agent | ask-question | Standard Approach |
|---|---|---|
| Platform Support | Not specified | Limited / Varies |
| Context Awareness | High | Baseline |
| Installation Complexity | Unknown | N/A |
Frequently Asked Questions
What does this skill do?
Draft a technical research question and send to ChatGPT for investigation
Where can I find the source code?
You can find the source code on GitHub using the link provided at the top of the page.
SKILL.md Source
Help me draft a technical research question about a problem I've encountered, then send it to ChatGPT for research.
**Arguments:** $ARGUMENTS
- If first word is `draft`: Only write the question file, skip sending to ChatGPT
- Otherwise: Write question, send to ChatGPT, read answer, and discuss
**Key Principle: Curiosity over confidence.** The goal is to get useful research, not to sound smart. Be explicit about what we know vs. what we're guessing. Wrong assumptions waste ChatGPT's reasoning on the wrong problem.
**Process:**
1. **Understand the problem context**
- If topic provided, research it in the current codebase
- Look at recent errors, code changes, or discussions in our conversation
- Identify the specific technical issue (error message, unexpected behavior, architectural question)
2. **Gather environmental context**
- Check language/framework versions (package.json, build.gradle, pom.xml, MODULE.bazel, etc.)
- Identify relevant dependencies and their versions
- Note any monorepo or build system constraints
3. **Create minimal reproduction**
- Extract the specific code that demonstrates the problem
- Remove project-specific details that aren't relevant
- Include configuration files if relevant (application.yml, etc.)
4. **Write the question in a local markdown file**
**File location:** Write to `/tmp/` using pattern `research-{topic-slug}-question.md` (e.g., `research-bazel-caching-question.md`).
**Structure the question with these sections:**
```markdown
# [Descriptive title as a question]
## Keywords
`keyword1` `keyword2` `keyword3` (help ChatGPT understand the domain)
## Question
[Opening paragraph: What you're trying to do and what's going wrong]
### Environment
- Language/framework version
- Relevant library versions
- Build system (if relevant)
- OS/platform (if relevant)
### Code
**[File or component name]:**
```language
// Minimal code example
```
**[Config file if relevant]:**
```yaml
# Relevant configuration
```
### Error/Behavior
```
[Exact error message or description of unexpected behavior]
```
### What We Know (verified facts)
- [Fact 1 - how we verified it]
- [Fact 2 - how we verified it]
### What We're Uncertain About
- [Hypothesis 1 - why we suspect this, confidence level]
- [Hypothesis 2 - why we suspect this, confidence level]
- [Gap in understanding - what we haven't checked yet]
### Specific Questions
1. [Specific question 1]
2. [Specific question 2 - optional]
3. [Specific question 3 - optional]
### Constraints
[Hard constraints that limit solutions: "must use X", "can't change Y", "monorepo requires Z". Only include real constraints, not preferences.]
```
5. **Honesty checklist before finishing**
- [ ] Title is a specific question (not "Problem with X")
- [ ] Code is minimal but complete (can be copy-pasted to reproduce)
- [ ] Error message is exact (not paraphrased)
- [ ] "What We Know" only contains things we actually verified
- [ ] "What We're Uncertain About" honestly captures our gaps
- [ ] No fabricated claims (e.g., "tested on Linux" when we didn't)
- [ ] Confidence levels are calibrated (don't overstate certainty)
- [ ] Questions are specific and answerable
- [ ] No sensitive info (credentials, internal URLs, company names)
- [ ] Constraints are real constraints, not preferences
**Writing style guidelines:**
- Be concise but complete
- Use "we" (collaborative tone with the user)
- Show the problem, don't just describe it
- Explicitly state what you haven't tested or checked
- Include version numbers - they matter!
- If uncertain about something, say so rather than guessing
6. **Send to ChatGPT (unless draft mode)**
If $ARGUMENTS starts with `draft`, skip this step - just tell the user where the file was saved.
Otherwise, send the question to ChatGPT using the ask-question CLI:
```bash
ask-question -f /tmp/research-{topic-slug}-question.md \
-o /tmp/research-{topic-slug}-answer.md \
-t 1200000
```
**Important:** Always use a timeout of at least 20 minutes (`-t 1200000`). ChatGPT's "Extended Thinking" mode can take several minutes for complex questions. Never use a shorter timeout.
After ask-question returns successfully, it will print the answer to stdout, as well as save it to the answer file for future reference. Discuss it with the user. Summarize key insights and recommendations from the response.Related Skills
asking-questions
Guidance for asking clarifying questions when user requests are ambiguous, have multiple valid approaches, or require critical decisions. Use when implementation choices exist that could significantly affect outcomes.
api-documentation-question
Answer API and technical documentation questions. Use when a customer asks about API usage, code implementation, or integration details.
Answering Research Questions
Main orchestration workflow for systematic literature research - search, evaluate, traverse, synthesize
bgo
Automates the complete Blender build-go workflow, from building and packaging your extension/add-on to removing old versions, installing, enabling, and launching Blender for quick testing and iteration.
partner-revenue-desk
Operating model for tracking, attributing, and accelerating partner-sourced revenue.
parallel-data-enrichment
Structured company and entity data enrichment using Parallel AI Task API with core/base processors. Returns typed JSON output. No binary install — requires PARALLEL_API_KEY in .env.local.
parallel-agents
Multi-agent orchestration patterns. Use when multiple independent tasks can run with different domain expertise or when comprehensive analysis requires multiple perspectives.
paper-writing-assistant
Assist in drafting research papers and meeting notes, enforcing academic rigor and formatting.
pandas-data-manipulation-rules
Focuses on pandas-specific rules for data manipulation, including method chaining, data selection using loc/iloc, and groupby operations.
pagent
Guide for using pagent - a PRD-to-code orchestration tool. Use when users ask how to use pagent, run agents, create PRDs, or transform requirements into code.
page-annotator
AI驱动的网页标注工具,支持高亮元素和添加文字批注。智能防重复、自动滚动、碰撞检测。兼容 GitHub 等严格 CSP 网站。适用场景:(1) 标记网页元素进行讲解 (2) 添加文字批注和注释 (3) 代码审查和设计评审 (4) 教学演示和用户引导 (5) Bug 报告和问题标记
package-json-modification-protection
Protects lines with the specific 'Do not touch this line Cursor' comment within package.json.