--- name: using-ltk description: Use when starting any conversation - establishes how to find and use skills, requiring Skill tool invocation before ANY response including clarifying questions --- # Using ltk Skills **EXTREMELY IMPORTANT:** If you think there is even a 1% chance a skill might apply to what you are doing, you ABSOLUTELY MUST invoke the skill. IF A SKILL APPLIES TO YOUR TASK, YOU DO NOT HAVE A CHOICE. YOU MUST USE IT. This is not negotiable. This is not optional. You cannot rationalize your way out of this. ## How to Access Skills **In Claude Code:** Use the `Skill` tool. When you invoke a skill, its content is loaded and presented to you - follow it directly. Never use the Read tool on skill files. **In other environments:** Check your platform's documentation for how skills are loaded. # Using Skills ## The Rule **Invoke relevant or requested skills BEFORE any response or action.** Even a 1% chance a skill might apply means that you should invoke the skill to check. If an invoked skill turns out to be wrong for the situation, you don't need to use it. ## Flow 1. User message received 2. Might any skill apply? (even 1% chance) 3. YES -> Invoke Skill tool, announce "Using [skill] for [purpose]" 4. If skill has checklist -> Create TodoWrite todo per item 5. Follow skill exactly 6. Then respond (including clarifications) ## Red Flags These thoughts mean STOP - you're rationalizing: | Thought | Reality | |---------|---------| | "This is just a simple question" | Questions are tasks. Check for skills. | | "I need more context first" | Skill check comes BEFORE clarifying questions. | | "Let me explore the codebase first" | Skills tell you HOW to explore. Check first. | | "I can check git/files quickly" | Files lack conversation context. Check for skills. | | "Let me gather information first" | Skills tell you HOW to gather information. | | "This doesn't need a formal skill" | If a skill exists, use it. | | "I remember this skill" | Skills evolve. Read current version. | | "This doesn't count as a task" | Action = task. Check for skills. | | "The skill is overkill" | Simple things become complex. Use it. | | "I'll just do this one thing first" | Check BEFORE doing anything. | | "This feels productive" | Undisciplined action wastes time. Skills prevent this. | | "I know what that means" | Knowing the concept != using the skill. Invoke it. | ## Skill Priority When multiple skills could apply, use this order: 1. **Process skills first** (brainstorming, debugging) - these determine HOW to approach the task 2. **Implementation skills second** (language-specific, framework-specific) - these guide execution "Let's build X" -> brainstorming/planning first, then implementation skills. "Fix this bug" -> systematic-debugging first, then domain-specific skills. ## Skill Types **Rigid** (TDD, debugging, verification): Follow exactly. Don't adapt away discipline. **Flexible** (patterns, guides): Adapt principles to context. The skill itself tells you which. ## Core ltk Skills These are the foundational skills you should know about: | Skill | When to Use | |-------|-------------| | `verification-before-completion` | Before ANY completion claim, commit, or PR | | `systematic-debugging` | When encountering bugs, test failures, unexpected behavior | | `test-driven-development` | When implementing any feature or bugfix | | `writing-plans` | When planning implementation of features | | `executing-plans` | When executing a written plan | ## User Instructions Instructions say WHAT, not HOW. "Add X" or "Fix Y" doesn't mean skip workflows.