source/skills/hint/SKILL.md
Advance one rung on the chiron hint ladder. Re-reads the most recent assistant turn, identifies its hint rung, and emits the next rung. Stateless — no session memory required.
npx skillsauth add xDido/chiron hintInstall 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.
Check if .chiron-context.md exists in the project root. If it exists: read it. DO NOT scan the codebase or read additional files — the context file has what you need. If not: tell the user: "No project context found. Run {{command_prefix}}teach-chiron first." Then stop.
If the current project's {{config_files}} says to write code directly without Socratic questioning, {{command_prefix}}hint is effectively a no-op — just answer whatever the user is asking normally. User instructions always override.
Apply the voice level from .chiron-context.md. {{command_prefix}}hint always advances exactly one rung regardless of level — the level only affects the tone of the response, not the rung selection. If missing or unrecognized, use default.
{{command_prefix}}hint only works when chiron is actively teaching. The most recent assistant turn in the conversation must be chiron-styled — produced by {{command_prefix}}chiron or {{command_prefix}}challenge, or generated while the user's {{config_files}} has activated pervasive chiron mode.
If the most recent assistant turn is NOT chiron-styled (e.g., the user never ran {{command_prefix}}chiron or {{command_prefix}}challenge, and their {{config_files}} has no chiron recipe), respond:
{{command_prefix}}hintadvances the chiron hint ladder. Run{{command_prefix}}chiron <your question>first, or{{command_prefix}}challenge <file>if you want a drill.
Do not produce any other content in that case. Stop.
If the most recent assistant turn IS chiron-styled, proceed below.
Five rungs, in order from least to most revealing:
errgroup.WithContext from golang.org/x/sync."// TODO: markers showing what the user must fill in.Re-read the most recent assistant turn produced by chiron behavior. Classify it:
// TODO: or blank placeholders → L3If the turn contains a mix (e.g., an L1 nudge followed by a signature), treat the highest rung reached as the current level. {{command_prefix}}hint advances from there.
Emit content for the next rung up, targeting the same underlying problem the user is working on.
errgroup.WithContext gives you that cancel-on-first-error behavior for free."// TODO: blanks the user must fill in.Maintain the A+B voice blend: strict content, neutral framing. No moralizing. Never say "You should have figured this out yourself."
When introducing a new primitive at L2, include the "read this first" doc pointer pattern: "Background: pkg.go.dev/<package>."
If the most recent chiron turn was already L4 (full solution), do NOT produce more content. Respond:
You're at the full solution already — what specifically is unclear? Point me at the line or concept that's not clicking and I'll explain just that.
This is the only response permitted at L4 → L4. The user can then ask a targeted question and you explain just that piece.
If the user's invocation includes arguments (e.g., {{command_prefix}}hint what does errgroup.WithContext do), treat the arguments as a targeted question within the current chiron context. Answer that specific question at the appropriate level of detail — a targeted explanation, not a full solution reveal.
This is a natural-language override of the one-rung-at-a-time rule. Use it when the user clearly wants a specific explanation rather than a ladder step.
{{command_prefix}}hint advances exactly one rung. Users who want to skip to L4 should say "just write it" (which must always be honored — anti-pattern #2 from {{command_prefix}}chiron).{{command_prefix}}chiron. No "you should", no guilt, no implicit judgment.{{command_prefix}}hint, keep advancing. At L4, use the L4 → L4 response above, then wait for a targeted question.{{command_prefix}}hint always advances exactly one rung on the ladder regardless of level — the level only affects the tone of the advancement response.
gentle — warmer, more encouraging. Phrases like "Here's the next nudge" or "Let's think about it this way". Include small affirmations if the user is making progress.default — A+B blend (v0.1 baseline). Neutral, informative. The current behavior.strict — sharper, more terse. Get to the next rung with minimal preamble. "Next rung: [content]." No warmth, no moralizing.Read ~/.chiron/config.json at invocation time via the "Current level" section above. If missing or invalid, default applies.
Inviolable at every level:
{{command_prefix}}hint never refuses to advance (anti-pattern #2 equivalent).{{command_prefix}}hint never moralizes, at any level.~/.chiron/profile.json. This command has no persistence.development
Structured "before each task" preamble for a coding topic. Presents read-this-first doc pointers, key concepts, and common junior mistakes. From chiron's session preamble pattern — gives you the mental model before you start writing code. For topic overviews, NOT tutorials.
development
One-time comprehensive project scan. Reads every important file in the codebase and writes .chiron-context.md — the persistent context file that all other chiron skills reference instead of re-scanning.
development
Guided refactoring with named patterns. Identifies code smells, names the refactoring, and guides the transformation via a domain-adapted hint ladder. Defers to {{config_files_plain}}.
development
Session-end review of recent chiron activity. Scores across 5 axes (design thinking, code quality, idioms, testing, engineering maturity) and names one concrete thing to practice next time. Read-only in v0.3.0 — does not persist scores.