27 October 2026

دليل · Guide9 min read

ابنِ مساعدك الشخصي على Claude Code بأربع قطع: المهارات والذاكرة والصوت والموزّعBuild Your Own Assistant on Claude Code in Four Parts: Skills, Memory, Voice and a Router

Build a personal assistant on Claude Code: skills that run on one command, memory in local files, a voice that hears you, and a router that sends each request to the right model.

Who this guide is for

Claude Code users who want it to work for them every day.

Key terms

skill
A SKILL.md file holding a task written down once. Run it with a command like /morning-brief, or Claude runs it when your request matches its description.
vault
An Obsidian notes folder on your computer. Plain Markdown files that Claude can read and write.
CLAUDE.md
A file in the folder that tells Claude where everything is: where to look and where to save its work.
router
A small step before the model that decides whether a request needs a big model, a fast cheap one, or no model at all.

The steps

  1. Step 1

    Find the skills in your own work

    Start from what you do every day, not from a new tool. Open Claude Code in your work folder and ask it what you repeat.

    The rule is simple: anything you did by hand twice becomes a skill.

    PromptFind your skills
    From my work in this folder over the last 30 days, which tasks do I repeat? Suggest 5 clear skills, each with a short name, what it does, and when I run it.

    Tip: Start with three skills. One skill used daily beats ten nobody touches.

  2. Step 2

    Write your first skill

    Each skill is a folder with a SKILL.md inside. Personal skills live in ~/.claude/skills/<name>/SKILL.md and work in every project.

    At the top, write a clear description, because Claude reads it to decide when to use the skill. Below it, write the instructions.

    code.claude.com
    Claude Code docs at the Create your first skill section
    Official docs: your first skill (the page is now titled Extend Claude with skills)Source: code.claude.com
    PromptMake the skill
    Create a skill called [morning-brief] in ~/.claude/skills. Description: [a morning brief from my notes and calendar]. Instructions: [read raw/ and today's note, write 5 points]. Save the result in outputs/.

    Tip: Claude Code picks up skill edits in the same session. No restart needed.

  3. Step 3

    Set up the memory in Obsidian

    Obsidian is free and keeps your notes as Markdown files on your computer. Make a vault with three folders: raw/ for everything you capture, wiki/ for organised notes, outputs/ for what Claude produces.

    Then write a CLAUDE.md at the root that explains this layout. That is the map Claude follows.

    PromptWrite the map
    Write a CLAUDE.md for my folder. It has raw/ (everything I capture), wiki/ (organised notes) and outputs/ (what you produce). Tell me where you look first, where you save any report, and never edit anything in raw/.
  4. Step 4

    Add the voice: it hears you and answers

    faster-whisper turns your speech into text on your computer, and it is open source. Kokoro turns the reply into speech and runs locally once its model files are downloaded.

    Note: Whisper understands Arabic, but Kokoro has no Arabic voice yet. For a spoken Arabic reply you need another speech tool.

    PromptThe voice script
    Write a Python script that records from the mic until I stop, transcribes with faster-whisper on CPU (int8), and sends the text to claude -p. List the install steps before the code.
  5. Step 5

    Put a router in front of the model

    Not every request needs Opus. "Open my morning brief" needs no model at all, just a keyword match. "What's the news today?" is fine on Haiku. "Make me a report" is where full Claude Code runs.

    Start with simple rules: fixed keywords first, then a light model, and the big one only for real work.

    PromptBuild the router
    Write a route(text) function with three tiers: 1) if the text has a word from [the list], open the file directly with no model. 2) A short question goes to Haiku. 3) Any request with make, write or analyse goes to claude -p. Return the tier name with every answer.

    Tip: Print the tier with every answer in week one so you see where the router gets it wrong.

  6. Step 6

    Run a skill without a chat

    claude -p runs Claude Code without the interface: you send a request, it does it and prints the result. That is what lets a button or a voice command run a whole skill.

    When you run it from a fixed script, add --allowedTools with only the tools it needs.

    code.claude.com
    Claude Code docs at the Auto-approve tools section
    Official docs: the --allowedTools optionSource: code.claude.com
    PromptThe run command
    claude -p "/morning-brief" --allowedTools "Read,Write"
  7. Step 7

    Ask for the UI, and keep sensitive actions behind your approval

    The last part: a page with a button per skill and a place to read outputs/. Ask Claude Code to build it.

    Start with skills that only read and summarise. Any skill that sends email, pays or publishes should ask for your approval before it acts.

    PromptMake the UI
    Build a simple local web page: one button per skill in ~/.claude/skills, each button runs claude -p "/<skill name>" and shows the result, with the latest files in outputs/ listed below. No login, localhost only.

Ready prompts to copy

PromptWeekly skill review
Review my skills in ~/.claude/skills and the outputs/ folder from this week. Which skill never ran? Which one needs changes? Suggest one new skill from something I repeated.

The takeaway

An assistant is not a tool you download. It is your own skills, written down once, and Claude runs them.

Most value

Start building with me now

We sit together, break down your problem, and I build the AI solution with you step by step

60minutes
  • A private session with you
  • Real building during the session
  • Results you take with you when we finish
Book a build session

100% free

A free consultation about your problem

Start

The full path

Access to every guide (49), starting from 29 AED