ask-question

Draft a technical research question and send to ChatGPT for investigation

16 stars

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

$curl -o ~/.claude/skills/ask-question/SKILL.md --create-dirs "https://raw.githubusercontent.com/diegosouzapw/awesome-omni-skill/main/skills/ai-agents/ask-question/SKILL.md"

Manual Installation

  1. Download SKILL.md from GitHub
  2. Place it in .claude/skills/ask-question/SKILL.md inside your project
  3. Restart your AI agent — it will auto-discover the skill

How ask-question Compares

Feature / Agentask-questionStandard Approach
Platform SupportNot specifiedLimited / Varies
Context Awareness High Baseline
Installation ComplexityUnknownN/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

16
from diegosouzapw/awesome-omni-skill

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

16
from diegosouzapw/awesome-omni-skill

Answer API and technical documentation questions. Use when a customer asks about API usage, code implementation, or integration details.

Answering Research Questions

16
from diegosouzapw/awesome-omni-skill

Main orchestration workflow for systematic literature research - search, evaluate, traverse, synthesize

bgo

10
from diegosouzapw/awesome-omni-skill

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.

Coding & Development

partner-revenue-desk

16
from diegosouzapw/awesome-omni-skill

Operating model for tracking, attributing, and accelerating partner-sourced revenue.

parallel-data-enrichment

16
from diegosouzapw/awesome-omni-skill

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

16
from diegosouzapw/awesome-omni-skill

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

16
from diegosouzapw/awesome-omni-skill

Assist in drafting research papers and meeting notes, enforcing academic rigor and formatting.

pandas-data-manipulation-rules

16
from diegosouzapw/awesome-omni-skill

Focuses on pandas-specific rules for data manipulation, including method chaining, data selection using loc/iloc, and groupby operations.

pagent

16
from diegosouzapw/awesome-omni-skill

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

16
from diegosouzapw/awesome-omni-skill

AI驱动的网页标注工具,支持高亮元素和添加文字批注。智能防重复、自动滚动、碰撞检测。兼容 GitHub 等严格 CSP 网站。适用场景:(1) 标记网页元素进行讲解 (2) 添加文字批注和注释 (3) 代码审查和设计评审 (4) 教学演示和用户引导 (5) Bug 报告和问题标记

package-json-modification-protection

16
from diegosouzapw/awesome-omni-skill

Protects lines with the specific 'Do not touch this line Cursor' comment within package.json.