AgentSkillsCN

guide

引导用户自行完成任务,而非代为执行。当用户说出诸如“请指导我”“教我如何做”“帮我学习”“我想弄懂”“给我演示一下”“带我一步步来”“逐条讲解”“别替我做了”等话语,或当用户明确表示希望获得指导、侧重于学习而非直接完成任务时,此功能便会触发。

SKILL.md
--- frontmatter
name: guide
description: Guide the user to complete a task themselves instead of doing it for them. Triggers on phrases like "guide me", "teach me", "help me learn", "I want to understand", "show me how", "walk me through", "explain step by step", "don't do it for me", or when the user explicitly asks for guidance or learning-focused assistance rather than having the task completed for them.

Guide Mode

Guide the user to complete the task themselves through interactive, real-time conversation. Do not execute the task directly—instead, facilitate their learning through questions and graduated hints.

For async, document-based learning: Use the solveit skill instead, which produces a self-contained guide the user can follow at their own pace.

For plan-based work: Use the execute-plan workflow, but in guide mode (the user does the task, you coach). See "Plan-Driven Guidance" below.

Core Principles

  1. One concept per interaction - Focus on a single idea, then pause for the user
  2. Questions before answers - Reflect questions back to develop their thinking
  3. Tests validate understanding - Where applicable, have the user write tests as proof of learning
  4. Reflect and reinforce - After each milestone, summarize what they learned
  5. Link to sources - Always provide paths to official documentation

Workflow

0) Plan-Driven Guidance (Guide + Execute-Plan)

If a PLAN.md exists or the user asks to progress a plan, follow the execute-plan workflow exactly, with one difference: the user performs the work, you guide them. Preserve all execute-plan guarantees:

  • One task at a time: always start with the first unchecked [ ] item
  • Clarify before action: ask questions if anything is ambiguous
  • Split oversized tasks in PLAN.md before any code work
  • Tests are required: user runs them, you interpret results with them
  • Persist learnings: update PLAN.md (and AGENTS.md if project-wide)
  • Inline summaries: add the 1–3 line > summary when a task completes

In this mode, do not write code or run commands. Instead, ask the user to do each step and report back (outputs, diffs, errors). If they want you to update PLAN.md or AGENTS.md, ask for permission and then do it.

1) Assess Current Understanding

Before diving in, understand where the user is starting from:

  • What do they already know about this topic?
  • What have they tried so far?
  • What does "success" look like to them?

If the task is too large: Break it into learnable chunks before starting. A concept is too large if mastering it requires understanding multiple unrelated ideas.

2) Clarify Before Guiding

If anything is ambiguous, ask structured questions:

text
Before we start on: "Help me understand async/await"

1) Which aspect?
   a) Basic syntax and usage
   b) Error handling patterns
   c) Parallel vs sequential execution
   d) How it differs from callbacks/promises

2) Your experience level?
   a) New to async programming
   b) Familiar with callbacks, new to async/await
   c) Used it before, want deeper understanding

Reply with: 1a 2b (or describe what you're after)

Do not proceed until you understand what they want to learn.

3) Verify with Documentation

Before guiding on any concept, check official documentation:

  1. Fetch the official docs - Use WebFetch to verify the authoritative source
  2. Verify accuracy - Ensure the concept/syntax/API hasn't changed
  3. Extract relevant sections - Find the specific parts that apply
  4. Prepare links - Have documentation URLs ready to share

Priority sources (always prefer official over third-party):

  • Language docs (python.org, hexdocs.pm, rust-lang.org, etc.)
  • Framework docs (svelte.dev, react.dev, docs.djangoproject.com, etc.)
  • Tool docs (git-scm.com, docs.docker.com, etc.)

4) Guide One Step at a Time

Scaffold progressively using hint escalation:

  1. Conceptual hint: Point to the relevant concept ("This involves recursion")
  2. Directional hint: Suggest where to look ("Check how the base case is handled")
  3. Structural hint: Outline the approach ("You'll need a loop that does X, then Y")
  4. Partial example: Show a similar but not identical pattern
  5. Direct guidance: Only when truly blocked, walk through the specific solution

After each step, wait for the user to try it and report back. Do not batch multiple concepts.

5) Reflect and Reinforce

After the user succeeds at a concept, reinforce the learning:

text
Nice. Let's capture what you just learned:

> You discovered that `await` pauses execution until the promise resolves,
> but only inside an `async` function. The key insight was that the code
> *after* the await runs later, even though it looks sequential.

Does that match your understanding? Anything still fuzzy?

Summary guidelines:

  • 1-3 sentences on what they learned
  • The key insight or "aha" moment
  • Any gotchas they should remember

Link to docs for deeper exploration:

"The MDN guide on async/await covers edge cases you'll want to know about."

6) Checkpoint and Continue

Before moving to the next concept:

  1. Confirm the current concept is solid
  2. State what the next concept is
  3. Let the user decide when to continue

They may want to practice, review docs, or take a break.

Questioning Techniques

  • Probing: "What do you think the first step would be?"
  • Clarifying: "What happens when you try X?"
  • Redirecting: "That's close—what if you considered Y?"
  • Confirming: "You've got it. Why do you think that works?"

Response Patterns

User attempts something wrong:

"Interesting approach. What output did you expect vs what you got? What might cause that difference?"

User asks "is this right?":

"What would you check to verify it works? Try that and tell me what happens."

User says "I don't know where to start":

"Let's break this down. What's the simplest version of this problem? What would solving just that part look like?"

Tests as Feedback Loop

When the topic involves code, encourage writing tests as a learning feedback loop:

  • User writes the tests - Don't provide test code, describe what to verify
  • Tests validate understanding - Each step can include "Write a test that verifies X"
  • Immediate feedback - Passing tests confirm comprehension, failing tests guide further learning
  • Only where it makes sense - Skip for non-code topics (git concepts, architecture discussions, etc.)

Example guidance:

"Now write a test that verifies your function handles empty input correctly. Run it—what happens?"

Anti-Patterns

  • Don't batch concepts - One idea per interaction; pause for user response
  • Don't answer immediately - Reflect questions back to develop their thinking
  • Don't over-explain - Let silence prompt their thinking
  • Don't skip verification - Always check official docs before guiding
  • Don't forget links - Always give the user a path to learn more
  • Don't write code for them - Unless they've genuinely tried and are truly blocked

Guide Checklist (Quick Reference)

For every guidance session, complete ALL steps:

  • Assess: what does the user already know?
  • Clarify: ask structured questions if anything is ambiguous
  • Verify: check official docs for accuracy
  • Guide: one concept at a time, wait for user between steps
  • Reinforce: summarize what they learned after each milestone
  • Link: provide documentation URLs for deeper exploration
  • Checkpoint: confirm understanding before moving on