skills_categorized/knowledge-base/gpt5-consultant/SKILL.md
Use this skill when stuck in circular debugging, when solutions aren't working despite multiple attempts, or when the user expresses frustration with lack of progress. Bring in GPT-5 as a third-party consultant to provide fresh perspective on complex technical problems, architectural decisions, or multi-system debugging issues. Ideal when you've tried multiple approaches without success, when the problem involves obscure edge cases or novel challenges, or when a second expert opinion would help break through an impasse. Gather all context from the conversation so far and present it comprehensively to GPT-5.
npx skillsauth add activer007/ordinary-claude-skills gpt5-consultantInstall 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.
Leverage GPT-5's advanced analytical capabilities for complex technical research and problem-solving.
This skill requires the gpt5-mcp-server to be installed and running locally.
Verify the following tools are available:
mcp__gpt5-server__gpt5_generate (single-shot analysis)mcp__gpt5-server__gpt5_messages (multi-turn conversations)If not available, check your MCP configuration and ensure the server is running.
Recognize the signs you're stuck:
Use GPT-5 for:
Do NOT use GPT-5 for:
When you notice circular debugging or lack of progress, pause and consult GPT-5. Present all context from the conversation so far.
When stuck in a circular debugging situation, gather everything from the conversation:
What to include:
How to organize it:
**Original Goal:**
[What we're trying to accomplish]
**Timeline of Attempts:**
1. First approach: [what we tried] → Result: [why it didn't work]
2. Second approach: [what we tried] → Result: [why it didn't work]
3. [etc.]
**Current Status:**
[Where we are now, what's still broken]
**Technical Details:**
[Code snippets, errors, config - the concrete facts]
**Why We're Stuck:**
[What's confusing, where the circular logic is happening]
Context management:
Craft precise, context-rich queries:
**Problem Context:**
[Brief description of the system and what you're trying to achieve]
**Current Situation:**
[What's happening vs what should happen]
**What You've Tried:**
[Previous attempts and their results]
**Technical Details:**
[Code snippets, error messages, relevant config]
**Specific Questions:**
1. [Concrete question about the problem]
2. [Alternative approaches to consider]
3. [Edge cases or implications to watch for]
Query optimization:
Single-shot analysis (gpt5_generate):
{
input: "Your complete context and question here",
reasoning_effort: "high", // high=architecture/novel, medium=debugging, low=straightforward
instructions: "Optional system instructions"
}
Multi-turn conversation (gpt5_messages):
{
messages: [
{role: "user", content: "Initial context and question"},
{role: "assistant", content: "GPT-5's previous response"},
{role: "user", content: "Follow-up question"}
],
reasoning_effort: "medium"
}
Use messages for:
After receiving GPT-5's response, verify:
Completeness:
Feasibility:
Confidence assessment:
When to iterate:
Ask follow-up questions using gpt5_messages to build on previous context.
Present findings with:
Summary:
Recommendations: Ranked by priority and impact:
Next Steps:
Warnings:
Architectural decisions:
Query: "Should we use event sourcing or CRUD for financial transactions?"
Reasoning effort: high
Follow-up: Ask about specific implementation challenges for chosen approach
Debugging distributed systems:
Query: Include full error logs, system topology, timing diagrams
Reasoning effort: medium
Follow-up: Request specific debugging steps based on diagnosis
Novel technical challenges:
Query: Describe the problem, what makes it novel, what research you've done
Reasoning effort: high
Follow-up: Deep dive on the most promising approach
If GPT-5 is unavailable or returns errors:
Document that GPT-5 was unavailable and note when to retry.
Example 1: Circular debugging (the key use case)
Input: "We've been debugging this Next.js API route for 2 hours and getting nowhere.
Original goal: Fix 500 error on POST /api/users endpoint
Attempts:
1. Added try-catch around Prisma query → Still throwing unhandled promise rejection
2. Changed async/await to .then().catch() → Same error
3. Added error middleware → Error not being caught by middleware
4. Wrapped entire handler in try-catch → Error happens before handler executes
5. User says: 'This makes no sense, we're missing something obvious'
Current status: UnhandledPromiseRejectionWarning persists
Technical details:
- Error: UnhandledPromiseRejectionWarning: PrismaClientValidationError
- Stack trace points to line that IS wrapped in try-catch
- Using Next.js 14 App Router, TypeScript 5.3, Prisma 5.8
- Code:
```typescript
export async function POST(req: Request) {
try {
const body = await req.json();
const user = await prisma.user.create({ data: body });
return Response.json(user);
} catch (error) {
console.error('Caught error:', error); // This never logs
return Response.json({ error: 'Failed' }, { status: 500 });
}
}
Why we're stuck: Try-catch should catch this. Error middleware should catch this. Nothing is catching it. What are we fundamentally misunderstanding about Next.js error handling?"
Reasoning effort: high
**Example 2: TypeScript type inference breaking**
Input: "TypeScript infers the wrong type and I can't figure out why.
Context: Building a generic API client with typed responses. Code works but types are broken:
async function apiCall<T>(endpoint: string): Promise<T> {
const res = await fetch(endpoint);
return res.json(); // TypeScript infers 'any' here, not 'T'
}
const user = await apiCall<User>('/api/user');
// user is typed as 'any', not 'User'
Tried:
Question: Why isn't TypeScript propagating the generic type through the promise chain? What's the proper pattern for typed API clients?"
Reasoning effort: medium
**Example 3: React hook dependency array confusion**
Input: "useEffect running infinitely despite correct dependencies.
Code:
const [filters, setFilters] = useState({ status: 'active', sort: 'name' });
useEffect(() => {
fetchUsers(filters);
}, [filters]); // This causes infinite re-renders
Tried:
Every solution feels hacky. What's the right pattern for object dependencies?"
Reasoning effort: medium
**Example 4: Follow-up iteration**
Messages: [ {role: "user", content: "[Initial question about NextAuth session type errors]"}, {role: "assistant", content: "[GPT-5's recommendation to use module augmentation]"}, {role: "user", content: "You suggested module augmentation for NextAuth types. I added the declaration file but TypeScript still doesn't recognize the custom session properties. Do I need to configure something in next-auth.d.ts or is there a specific import pattern I'm missing?"} ]
Reasoning effort: medium
Input: "Choosing between GraphQL and REST for new API. Context: Mobile app + web dashboard, 50+ endpoints, real-time updates needed. Constraints: Team has REST experience, 3-month timeline. Question: Which approach and why? What are the implementation risks?"
Reasoning effort: high
**Example 3: Follow-up iteration**
Messages: [ {role: "user", content: "[Initial question about microservices architecture]"}, {role: "assistant", content: "[GPT-5's architectural recommendation]"}, {role: "user", content: "You suggested event sourcing for service communication. How would we handle eventual consistency in the user profile service?"} ]
Reasoning effort: medium
tools
Generate typed TypeScript SDKs for AI agents to interact with MCP servers. Converts verbose JSON-RPC curl commands to clean function calls (docs.createDocument() vs curl). Auto-detects MCP tools from server modules, generates TypeScript types and client methods, creates runnable example scripts. Use when: building MCP-enabled applications, need typed programmatic access to MCP tools, want Claude Code to manage apps via scripts, eliminating manual JSON-RPC curl commands, validating MCP inputs/outputs, or creating reusable agent automation.
testing
Generate structured task lists from specs or requirements. IMPORTANT: After completing ANY spec via ExitSpecMode, ALWAYS ask the user: "Would you like me to generate a task list for this spec?" Use when user confirms or explicitly requests task generation from a plan/spec/PRD.
tools
Create compelling story-format summaries using UltraThink to find the best narrative framing. Support multiple formats - 3-part narrative, n-length with inline links, abridged 5-line, or comprehensive via Foundry MCP. USE WHEN user says 'create story explanation', 'narrative summary', 'explain as a story', or wants content in Daniel's conversational first-person voice.
testing
Navigate through the original three-world shamanic technology. Deploy when soul retrieval, power animal guidance, or journey between realms emerges. Deeply respectful of Tungus, Buryat, Yakut, Evenki traditions. Use for consciousness navigation, NOT cultural appropriation.