From halyard
Route questions to human experts via Slack and capture answers as organizational knowledge. Use when stuck, blocked, need human input, facing ambiguity, making design decisions with multiple valid approaches, need domain expertise not in the codebase, want to check with someone, or need verification before significant effort. Triggers on 'ask someone', 'get help', 'need an expert', 'check with the team', 'I'm stuck', 'get a second opinion', 'who should I ask'. Always summarize helpful answers to build organizational knowledge.
How this skill is triggered — by the user, by Claude, or both
Slash command
/halyard:ask-for-helpThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
Use the halyard MCP tools to get human input when you're blocked, need clarification, or face decisions that require human judgment. **ALWAYS summarize helpful answers** to build a knowledge base.
Use the halyard MCP tools to get human input when you're blocked, need clarification, or face decisions that require human judgment. ALWAYS summarize helpful answers to build a knowledge base.
Before routing to a human, search for existing answers. Experts get frustrated when asked questions that were already answered in a previous session, and work summaries from past sessions are searchable too.
mcp__plugin_halyard_ask-expert__search_knowledge(
query: "describe your question topic"
)
If the search returns a relevant answer, use it directly and skip the expert workflow. If not, proceed to the workflow below.
Every interaction should follow this pattern:
0. mcp__plugin_halyard_ask-expert__search_knowledge(...) → Check if this was already answered
1. mcp__plugin_halyard_ask-expert__list_team() → Find the right expert
2. mcp__plugin_halyard_ask-expert__ask_expert(...) → Send your question (returns immediately)
3. mcp__plugin_halyard_ask-expert__check_response(...) → REQUIRED: Wait for the response
4. mcp__plugin_halyard_ask-expert__summarize_conversation → CRITICAL: Capture what you learned
OR mcp__plugin_halyard_ask-expert__close_conversation → (with summary parameter)
Steps 3 and 4 are critical—mcp__plugin_halyard_ask-expert__ask_expert returns immediately after notifying the expert, so you MUST call mcp__plugin_halyard_ask-expert__check_response to get their reply. Without summarization, the knowledge is lost and experts get asked the same questions repeatedly.
Ask for help when:
Do not ask for help when:
Semantic search across past expert Q&A and work summaries from previous sessions. Always try this before asking an expert — the answer may already exist.
mcp__plugin_halyard_ask-expert__search_knowledge(
query: "how do we handle authentication?"
)
Parameters:
| Parameter | Description |
|---|---|
query | Natural language search query (required) |
type | Filter by type: "WORK_OUTPUT", "DECISION", "PROCESS", "CONTEXT" |
author | Filter by author — use "me" for your own entries |
since | Time filter: "today", "yesterday", "this week", "7d", "30d", or an ISO date |
limit | Max results to return |
Use this to:
mcp__plugin_halyard_ask-expert__summarize_work are searchable hereBefore asking, check who's available:
mcp__plugin_halyard_ask-expert__list_team()
mcp__plugin_halyard_ask-expert__list_team(role: "designer")
mcp__plugin_halyard_ask-expert__list_team(skill: "security")
mcp__plugin_halyard_ask-expert__list_team(available_only: true)
mcp__plugin_halyard_ask-expert__list_team(query: "who knows about deployment?")
Send a question to an expert by role or skill:
mcp__plugin_halyard_ask-expert__ask_expert(
prompt: "Your question here",
role: "designer" // or use skill: "ui-design"
)
Parameters:
| Parameter | Description |
|---|---|
prompt | The question or request (required) |
role | Expert role: "designer", "architect", "pm", "engineer" |
skill | Expert skill: "ui-design", "security", "database", "typescript" |
options | Optional array of choices for the expert to pick from |
force_human | If true, skip knowledge base auto-resolution and always route to a human |
With options (when you want a specific choice):
mcp__plugin_halyard_ask-expert__ask_expert(
prompt: "Should we use server-side or client-side validation for this form?",
role: "architect",
options: [
{ label: "Server-side only", value: "server" },
{ label: "Client-side only", value: "client" },
{ label: "Both", value: "both" }
]
)
mcp__plugin_halyard_ask-expert__ask_expert returns immediately after notifying the expert. You MUST call mcp__plugin_halyard_ask-expert__check_response to wait for their reply:
mcp__plugin_halyard_ask-expert__check_response(
conversation_id: "conversation-id-from-ask-expert",
wait: true // Wait up to 55 seconds for response
)
If no response yet, call again to continue waiting.
Retrieve the complete message history for a conversation:
mcp__plugin_halyard_ask-expert__get_conversation(
conversation_id: "conversation-id"
)
Send a follow-up message in an existing conversation to ask clarifying questions or provide additional context:
mcp__plugin_halyard_ask-expert__reply_to_expert(
conversation_id: "conversation-id",
message: "Thanks — one follow-up: should we also handle token revocation?"
)
Always call this after receiving a helpful response. This builds organizational knowledge so experts don't get asked the same questions repeatedly.
mcp__plugin_halyard_ask-expert__summarize_conversation(
conversation_id: "conversation-id",
question: "Should we use JWT or session auth for the mobile app? Our existing mobile SDK expects Bearer tokens.",
answer: "Use JWT with refresh tokens because mobile clients need stateless auth and we already have JWT infrastructure in the API."
)
Parameters:
| Parameter | Description |
|---|---|
conversation_id | The conversation ID from ask_expert (required) |
question | The question or context that was asked (required) |
answer | The answer, decision, or guidance from the expert (required) |
source_provider | Source system: "github", "slack", "linear", "claude", "codex", "notion" |
source_url | Link to the source context (e.g., the PR that prompted this question) |
Write effective summaries:
View a user's expertise areas and activity, or your own:
mcp__plugin_halyard_ask-expert__get_user_profile()
mcp__plugin_halyard_ask-expert__get_user_profile(user_id: "user-id")
mcp__plugin_halyard_ask-expert__get_user_profile(since: "this week")
Without since, shows accumulated expertise. With since, shows time-scoped activity.
Close a conversation without capturing knowledge (not recommended):
mcp__plugin_halyard_ask-expert__close_conversation(
conversation_id: "conversation-id"
)
Note: Prefer using mcp__plugin_halyard_ask-expert__summarize_conversation instead, which both captures knowledge and closes the conversation.
Be specific and provide context:
# Bad
"How should I do authentication?"
# Good
"We're adding user authentication to the API. The app uses Fastify
and Prisma. Should we use JWT tokens with refresh tokens, or
session-based auth with cookies? The app will have both web and
mobile clients."
Include what you've already considered:
"I need to add file upload to the form. I'm considering:
1. Direct upload to S3 with presigned URLs
2. Upload through our API server
The files are user avatars (small images). Which approach
fits our architecture better?"
State the decision you need:
"The sidebar component can either use CSS transitions or
Framer Motion for animations. Our existing components use
both patterns. Which should I use for consistency?"
// 1. Find an expert
mcp__plugin_halyard_ask-expert__list_team(skill: "ui-design")
// 2. Ask your question (returns immediately)
mcp__plugin_halyard_ask-expert__ask_expert(
prompt: "The design shows cards with hover states. Should I use
CSS transitions or Framer Motion? We use both in the codebase.",
skill: "ui-design"
)
// Returns immediately: { status: "pending", conversation_id: "conv_abc123" }
// 3. Wait for response (REQUIRED - ask_expert doesn't wait)
mcp__plugin_halyard_ask-expert__check_response(
conversation_id: "conv_abc123",
wait: true
)
// Expert responds: "Use CSS transitions for simple hover states.
// Framer Motion is for complex animations like page transitions."
// 4. ALWAYS summarize the knowledge gained
mcp__plugin_halyard_ask-expert__summarize_conversation(
conversation_id: "conv_abc123",
question: "CSS transitions vs Framer Motion for card hover states?",
answer: "Use CSS transitions for simple hover effects. Framer Motion should be reserved for complex animations like page transitions and multi-step sequences. Guideline: Simple state changes = CSS, complex/sequenced animations = Framer Motion."
)
mcp__plugin_halyard_ask-expert__search_knowledge before asking an expert; answers from past conversations and work summaries from previous sessions are all searchablenpx claudepluginhub halyard-labs/claude-plugin-marketplace --plugin halyardCreates, edits, and optimizes skills for Claude Code, including drafting, evaluating with test prompts, iterating on performance, and improving skill descriptions for better triggering accuracy.