Kanso prompting
Use when rewriting, sharpening, or producing a prompt for Claude or another current frontier model. Sets standing rules for getting better LLM output through better prompts. Loaded by /kanso-task; not directly invoked by the user.From its SKILL.md
npx -y skills add blakecyze/kanso --skill kanso-promptingAssembled from the repository path, not quoted from the project. Check it against their README if it does not work.
One thing to look at
- 2 stars2 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.
SKILL.md
7.1 KB, ~1.5k tokens by cl100k_base, as published. Nobody here has run it
kanso-prompting
Standing rules for prompting current frontier models. These principles apply to any prompt this session produces, including prompts being constructed on the user's behalf.
The single governing principle: a prompt earns its length the same way code does. Every clause must do work. Specificity beats verbosity; clarity beats cleverness; structure beats hope.
The prompting taxonomy
1. Lead with the desired outcome
State what the model should produce, in what shape, for what audience, before any context. Don't bury the ask under preamble.
Bad: I've been working on this codebase for a while and I noticed that the auth module has some issues, particularly around session handling, and I was wondering if maybe you could take a look...
Good: Audit src/auth/session.ts for race conditions in session creation. Report findings as a numbered list with file:line references.
2. Explain the why, not just the what
Reasons let the model generalise correctly to cases you didn't spell out. Without the why, it follows the letter and misses the spirit.
Bad: Never use ellipses.
Good: Never use ellipses — the output will be read aloud by a TTS engine that can't pronounce them.
3. State what to do, not what to avoid
Negative-only instructions trigger the behaviour they warn against and leave a vacuum where positive guidance should be. Replace every "don't" with a "do".
Bad: Don't use markdown.
Good: Write in flowing prose paragraphs.
4. Front-load the full task in turn one
For coding and agentic work, ambiguous first turns produce worse results than a single dense first turn. Specify task, scope, constraints, and definition of done upfront. Don't rely on follow-up turns to recover.
5. Show, don't tell — examples beat description
Two or three concrete examples steer the model more than a paragraph of instruction. Use diverse examples that cover edge cases, not three rewrites of the same shape.
6. Structure complex prompts with tags
When a prompt mixes instructions, context, examples, and input, wrap each in tags: <instructions>, <context>, <examples>, <input>. Cuts the misinterpretation rate on anything non-trivial.
7. Long context: documents first, question last
Put large reference material at the top of the prompt; put the actual question at the bottom. Wrap each document in <document> with <source> and <document_content> subtags. Measured uplift on long-context retrieval.
For analysis over long documents, ask the model to extract grounded quotes before reasoning: First extract relevant passages into <quotes>, then answer using only what's there.
8. Match the prompt's voice to the desired output
Markdown-dense prompts produce markdown-dense replies. Plain-prose prompts produce plain-prose replies. Terse prompts produce terse replies. The prompt is a tone sample whether you intend it or not.
9. Ask for action when you want action
Suggest changes produces suggestions. Make these edits produces edits. Review this and recommend produces a memo. The verb sets the artefact.
10. Build in self-checks for high-stakes output
Before finishing, verify each step against the constraints in <criteria> catches a meaningful fraction of errors in code and reasoning tasks. Cheaper than a second prompt.
11. Chain rather than ask for the moon in one shot
Draft → critique against criteria → refine. Three small prompts beat one large one whenever the steps are inspectable. Use single-shot only when the task is genuinely indivisible.
12. Use the system prompt to set role and stance
Even one sentence (You are a senior reviewer who flags only blocking issues) sharpens tone, scope, and what gets surfaced. Don't waste it on filler.
Current frontier models — what to assume
Prompt scaffolding written for older model generations now degrades output rather than improving it. Assume the following of any current frontier model:
- Instruction following is literal. The model does not silently generalise an instruction from one item to all similar items. If you want it applied broadly, say so explicitly.
- Drop the aggressive language.
CRITICAL,YOU MUST, ALL CAPS, and triple exclamation marks over-trigger and cause worse output, not better. Use normal declarative voice. - Drop the anti-laziness scaffolds. Force-thorough, force-tools, "do not stop until" preambles were workarounds for older models and are now noise.
- Verbosity self-calibrates. Short on simple tasks, long on open-ended ones. If you need a specific length, prompt with a positive example rather than a word count.
- General reasoning instructions beat prescribed step plans.
Think thoroughly before answeringoutperforms a hand-written checklist in most cases. The model's reasoning is often better than what you'd prescribe. - Default voice is direct and not validation-forward. Fewer emoji, less "great question". If you want warmth, ask for it.
- If reasoning is shallow, raise effort before adding prompt scaffolding. The effort parameter does more than re-prompting can.
Perishable facts — checked 2026-07
Everything above is behavioural and ages slowly. The facts below are pinned to specific releases and go stale first — verify against current docs before repeating them:
- Current families: Claude 5 (Fable/Mythos), Opus 4.8, Sonnet 5, Haiku 4.5.
- Assistant-prefill is unavailable on Claude 4.6+ models. Use structured outputs or system-prompt guidance instead.
Anti-patterns
- Vague one-liners (
make it better,clean this up) with no success criteria. - Stacking contradictions (
be thorough but concise,be creative but conservative) and leaving the model to pick. - Negative-only instructions with no positive replacement.
- ALL-CAPS emphasis or
CRITICAL:flags — degrades on current models. - Long document pasted after the question instead of before it.
- Stale Claude 3-era anti-laziness boilerplate copied forward.
- Asking
can you suggestwhen you want edits made. - Treating clarifying turns as a substitute for a precise first turn in agentic workflows — each clarifying turn costs context and momentum.
- Burying the ask under preamble. The first sentence is the highest-leverage sentence.
Positive defaults
- Start with the verb.
Audit,Refactor,Write,Explain. - Name the artefact.
…as a numbered list,…as a single commit message,…as a diff. - Name the audience.
…for a senior reviewer,…for a new contributor. - State the stopping condition.
Stop after the report; do not edit files. - Give two examples when shape matters more than description.
The kanso test for a prompt
Before sending: would another engineer, given only this prompt and no context from your head, produce something close to what you want? If not, the prompt is incomplete. Add the missing piece — don't hope the model fills it.
What ships with it
Read from the repository
Just SKILL.md. No reference files, no scripts.
Gives 0 of the 12 instructions most prompt engineering skills give in ~1.5k tokens
Counted across 542 of the 575 authors here whose files we hold, read 2026-09-06
- Provide few-shot examples for complex tasksin 17 of 542, across 16 files
- Ask clarifying questions if information is ambiguousin 16 of 542, across 14 files
- Output a complete optimized prompt for the userin 15 of 542, across 9 files
- Validate structured outputs against schemasin 15 of 542, across 13 files
- Analyze the draft prompt for intent and gapsin 14 of 542, across 8 files
- Detect project tech stack from local filesin 14 of 542, across 8 files
- Recommend a model based on task scopein 13 of 542, across 7 files
- Present results in the specified output formatin 13 of 542, across 7 files
- Match intent and scope to ECC componentsin 13 of 542, across 7 files
- Ask one question at a timein 13 of 542, across 12 files
- Respond in the same language as the user inputin 12 of 542, across 6 files
- Ask up to three clarification questions if context is missingin 11 of 542, across 5 files
Said here and by no other author read
- Lead with the desired outcome
- Explain the why behind the task
- State what to do instead of what to avoid
- Provide diverse concrete examples
- Use specific verbs to define the artifact
- Chain complex tasks into multiple steps
Grouped from the skills themselves: near-identical wordings counted once, and counted by distinct author, so one author publishing three of these counts once. Length counted with cl100k_base; the agent that loads this file may tokenize it differently.