🧠 Architecting Claude Code Skills for High-Impact

How to Engineer & Optimize Precision Skills That Actually Fire Reliable Outputs


🔧 makemyskill.com ↗ — refine your skill descriptions · Framework by Ruben Hassid ↗

📂 Browse the skills used in this public-preview repo ↗
📂 trading-assistant-public-preview ↗ — html landing page for trading-assistant


Published by Fortuna × Christopher Wilson | Apr 2026

What Is a Skill?


A **skill** is a structured prompt file in `.claude/skills/` that gives Claude a repeatable, high-quality procedure for a specific task.

Think of it as a saved workflow — not a script, not a rule, but a detailed set of instructions that loads only when needed.

Key facts:

  • Only the 3-line header is read at context start
  • Full body loads only when triggered — saves tokens
  • Works alongside CLAUDE.md and memory
  • Portable open standard — not locked to Claude Code

The File Format

---
name: skill-name
description: >
  TRIGGER when: [specific conditions].
  Do NOT use for: [anti-triggers].
---

# Skill: /skill-name

## Before Starting
## Steps
## Output Format
## After Completing

The description field controls everything.

The 7 Hacks


  1. Debug with description echo
  2. Negative triggers matter more than positive ones
  3. Skills stack with CLAUDE.md and memory
  4. Build from past conversations
  5. Description is everything
  6. Laziness workaround
  7. Skills are portable

Hack #1 — Debug with Description Echo


Ask Claude: "When would you use the [skill-name] skill?"

Claude quotes the description back verbatim.

This instantly reveals:

  • What's too vague (fires on everything)
  • What's too narrow (never fires)
  • Whether the anti-trigger is specific enough

Run this before deploying any skill.

Hack #2 — Negative Triggers First


The Do NOT use for: line prevents skill hijacking.

Write it FIRST. Before the positive triggers.

Bad ❌ Good ✅
"Do NOT use for non-trading tasks" "Do NOT use for: weekly reviews (use /weekly-review), single-trade analysis, or when no fills occurred"

The anti-trigger should be more specific than the positive trigger.

Hack #3 — Skills Stack


Three layers. Don't duplicate across them.

Layer Purpose
CLAUDE.md Context, rules, privacy boundaries
Skills Process — how to do a task
Memory Voice, history, preferences

Skills handle process.
CLAUDE.md handles context and rules.
Memory handles voice and history.

Hack #4 — Build From Past Conversations


"The best skill prompts are reverse-engineered from prompts that already worked."


Don't start from scratch. Find the conversation where Claude did the task well. Pull that prompt. Strip the one-time context. Generalize it.


Your past sessions are the raw material.

Hack #5 — Description Is Everything


Too vague → skill hijacks conversations it shouldn't
Too broad → same problem
Too narrow → skill never fires

Test both failure modes before finalizing:

  1. Try a trigger phrase → does it fire?
  2. Try a neighboring phrase → does it NOT fire?

Use makemyskill.com to refine descriptions — paste the description, the longer the better.

Hack #6 — Laziness Workaround


If Claude cuts corners inside a skill:

Don't edit the skill file.

Add this to the invocation prompt:


"Take your time. Quality over speed. Don't skip steps."


Editing the skill to force quality creates fragility.
The invocation prompt is the right place to adjust intensity.

Hack #7 — Skills Are Portable


The .md skill format is an open standard.

  • Works in Claude Code CLI
  • Works in VSCode extension
  • Designed to transfer across platforms
  • Can be shared with other Claude Code users

Build skills worth sharing.

Skills in This Repo  ·  📂 Click HERE to browse ALL on GitHub ↗

or click on each skill to view indivually

📊 Reviews & Sessions

SkillTrigger
/goodmorning"let's fire up the terminal"
/premarket"what's on deck for today?"
/level-brief"let's check the current levels"
/open-orders"check my live positions"
/prop-firm-status"how's the health of our prop firms?"
/import-trades"load today's fills"
/trade-review"create review for [trade]"
/daily-review"recap today's session"
/weekly-review"wrap up the week"
/pattern-review"how are my habits holding up?"
/monthly-audit"let's review last month"
/goodnight"calling it for today"
🔍 Analysis & Ops

SkillTrigger
/smt-scan"check for divergence"
/tcl-analysis"TCL (trend continuation) eval"
/smog-analysis"SMOG (reversal) evaluation"
/tax-entry"save this for taxes"
/session-sync (global)"sync everything"
/startup (global)"initiate our session together"
/marp-deck (global)"create a deck for"
/create-skill (global)"build a new skill for..."
/summarize (roadmap)"give me the short version"
/explain (roadmap)"break this down"
/capture-agent-trades (roadmap)"log what the bot traded"

The makemyskill.com Workflow


For skills you'll use every day:

  1. Copy just the description section
  2. Paste into makemyskill.com
  3. Describe the skill — the longer the better
  4. Replace your description with the refined version
  5. Re-test with the debug trick

Optional but recommended for: /goodmorning, /trade-review, /premarket

💡 makemyskill.com built by Ruben Hassid and his consulting team

makemyskill.com — Quality Analysis

Skill Value Added Verdict
/premarket Section templates, FCR/SMT defs, Why/Pitfalls per section ✅ Notably stronger — richer templates
/trade-review Data Source Priorities, Common Patterns, Core Principles ✅ Significantly enhanced — key principles
/create-skill Generation Workflow, Checklist, Strong vs Weak examples ✅ Adds workflow structure + examples
/daily-review Extra triggers, Common Scenarios, Checklist ✅ Broader trigger coverage + checklist
/marp-deck Theme rationale, example deck structure ✅ Adds theme reasoning + structure
/goodmorning Why this matters per step, Edge Cases ✅ Adds step rationale + edge cases
/weekly-review Expanded triggers + Key Principles only ⚠️ Marginal — limited additions
/goodnight Trigger phrases only + introduced a typo ⏭️ Skip — degraded quality
/monthly-audit Confirmed solid, cosmetic changes only 💡 Quality signal — already solid
/tcl-analysis Entry checklist, TCL vs. pullback criteria, failure modes ✅ Adds precision — run it
/smog-analysis Reversal confirmation layers, SMT trap scenarios ✅ Adds confirmation depth
/prop-firm-status Trailing drawdown mechanics, tiered floor risk levels, consistency tracking ✅ Significantly enhanced
/smt-scan Trimmed BTC/ETH crypto scope from description ⚠️ Marginal — narrowed scope
/pattern-review Added output spec: frequency counts, P&L impact, mechanical fixes ✅ Stronger output spec
/session-sync No changes to description or body 💡 Already solid — no changes
/import-trades Expanded triggers + validation sections; pipeline details added manually ✅ Significantly enhanced
/level-brief No changes to description or body 💡 Already solid — no changes
/open-orders Quote style change only; cosmetic heading rename ⚠️ Marginal — cosmetic only
/tax-entry Condensed description; heading renamed ⚠️ Marginal — condensed only
/summarize (roadmap) Scope controls, output format options ⚠️ Marginal — simple skill
/explain (roadmap) Audience-level targeting, output structure ⚠️ Marginal — simple skill
/capture-agent-trades (roadmap) Data format examples, reconciliation edge cases ✅ Adds format + edge cases
For better results: Ask makemyskill.com directly — "Improve and refine this skill:" then paste the full skill body, not just the description. The better the input, the less it changes — near zero = your skill is already solid.

The /create-skill Skill


**Use it:** "create a skill for [task]" → Fortuna drafts the full file.

What it does: Writes Do NOT use for: first → positive triggers → steps → checklist → Quick Commands. Runs self-review. Prompts you to test with the echo trick.

Generation workflow:

  1. Describe what the skill should do
  2. Fortuna drafts → test with the echo trick
  3. Paste full body into makemyskill.com — ask it to "improve and refine"
  4. Save to .claude/skills/ · register in MEMORY.md

Deploying to Other Repos


# Copy a skill to a spoke repo
cp .claude/skills/create-skill.md \
   /path/to/spoke-repo/.claude/skills/

Rules:

  • Only copy skills relevant to that repo's workflow
  • Non-trading repos get /create-skill + /startup only
  • .claude/skills/ is public in trading-assistant-public-preview — real examples anyone can study

Scripts in Skills — The Pattern


Add a ## Quick Commands section to every skill.

Why: Saves tokens. Ensures consistency. No re-deriving paths.

## Quick Commands
```bash
# The exact command, flags, and paths — pre-built
pngquant --quality=65-80 --speed=1 ... data/screenshots/*.png
git add smarttrader-ai/reviews/ && git commit -m "..."
git push origin main
` `` ← (remove space)

The skill body handles reasoning. Quick Commands handle execution.

Example: /marp-deck

The /marp-deck skill converts any review doc to slides.

Its ## Quick Commands section:

# Generate HTML — skill deck (public, in setup/)
marp setup/create-skill.marp.md -o setup/create-skill.marp.html

# Generate HTML — coach-share deck (in exports/)
marp smarttrader-ai/exports/YYYY/MM-Mon/[name].marp.md \
     -o smarttrader-ai/exports/YYYY/MM-Mon/[name].marp.html

# Commit
git add setup/*.marp.md setup/*.marp.html && \
  git commit -m "Add [topic] Marp deck [date]"

Public Marp files go in setup/ — gitignored .claude/ stays local.

Specs + Skills — The Two-Layer System

Two agents. Two jobs. Same workflow.

Layer Owner Purpose
Specs (.md in specs/) Augment Intent Living architecture — defines what the workflow is
Skills (.claude/skills/) Claude Code Executable procedures — defines how to run it

Skills without specs drift. Specs without skills stay theoretical.

  • Specs answer: "What should happen and why?"
  • Skills answer: "What do I actually do, step by step?"
Combining these tools means your architectural goals stay in sync with the actual code, preventing the "drift" that often occurs in AI-driven development

Living Specs — The 3C Rule

The 3C Rule (Gemini / Intent convention):

  • Concise — no padding, no vague prose
  • Contextual — why this rule exists, not just what it is
  • Constrained — explicit boundaries; what NOT to do

Bidirectional update model:

Direction Action
Spec changes Update the skill's ## Related Specs pointer
Skill changes Reflect back in the spec (naming, pipeline, format)
Conflict found Spec is source of truth — update the skill to match
When they contradict each other, the spec wins. Update the skill to match.

Keeping Them in Sync — The Pointer Pattern

Add ## Related Specs near the bottom of every skill (before Quick Commands):

## Related Specs
- `specs/FORTUNA_WORKFLOW.md` — canonical pipeline; this skill's steps live in Section X
- `specs/SMARTTRADERAI_EXPORT_SPEC.md` — copy-paste format templates
- `specs/tradezella-automater.spec.md` — full pipeline architecture

What this buys you:

  • Any agent opening the skill immediately knows where the authoritative source lives
  • Spec updates are easy to trace back to the skills they affect
  • Augment Intent and Claude Code stay coordinated across sessions without needing to re-derive context or enabling context engine

Start Building


> Every skill you create saves the next session from re-explaining the same process. >

First skill to build: The one you just explained to Claude.


Go back to that conversation. Find the prompt that worked. That's your skill body.

Produced with 🙏🏼 Fortuna — Wealth Warden | Claude Code CLI

makemyskill.com

Refine your skill descriptions

Framework by Ruben Hassid — thank you 🙏