OpenClaw file naming: your Markdown files have spaces — and your AI agent is blind

14 min read Expert February 2026

In 2026, companies deploying autonomous agents like OpenClaw all make the same mistake. Not a model error. Not a prompt error. A naming error.

They create files called YouTube Secrets.md, Business Ideas (v2).md, Notes réunion 14 mars.md. With spaces. Parentheses. Accents. Random capitalization. And then they wonder why their agent can't find anything, confuses files, and hallucinates paths that don't exist.

This is exactly the same problem SEO solved 15 years ago with URL slugs. The industry took a decade to understand that /Notre Offre Spéciale!/ is a disaster and /offre-speciale/ is the standard. The same rules apply today inside your workspace — except this time, it's not Google's robots reading your files. It's your AI agents.

And an AI agent with poorly named files is an employee working in an office where every filing cabinet label is written in pencil, backwards, in personal shorthand.

Here's the naming protocol that transforms an amateur OpenClaw into an enterprise intelligence system.

I. Why naming is an architecture problem, not aesthetics

When you name a file YouTube Secrets.md with a space, three things happen in the guts of your workspace.

1. The filesystem fights you

Linux encodes the space as %20 or requires escape quotes. Every bash command, every Python script, every system call has to handle this ambiguity. The agent can do it — but it's wasted compute solving a problem you created.

2. The vector index gets polluted

OpenClaw's vector embeddings engine indexes filenames as semantic tokens. A name like youtube-secrets.md produces two clean tokens: "youtube" and "secrets". A name like YouTube Secrets (draft v2 final).md produces noise: parasitic tokens ("draft", "v2", "final") that pollute the vector space and reduce the precision of all future searches.

FILENAME → TOKEN QUALITY YouTube Secrets (draft v2 final).md → 6 tokens · 3 are noise youtube-secrets.md → 2 tokens · 0 noise Fuzzy search · Low precision Exact match · High precision

3. The agent loses structural inference

This is the crucial point. The agent reasons by structural analogy. If your files follow a consistent convention, it can predict the existence and location of a file before even searching for it. Exactly like an LLM predicts a logical URL on an e-commerce site.

If your convention is business/research/paul-graham-startup-advice.md, the agent can infer that your pricing strategy research lives at business/research/pricing-strategy-saas.md. If your names are anarchic, this inference is impossible.

It's the same mechanic as "Structural Hallucination" in SEO: a model that predicts /collection/chemise-homme-rouge because the pattern /collection/chemise-homme-bleu exists. Except here, you want the prediction to be correct. And for that, the structure must be impeccable.

II. The naming convention: the "internal slug" standard

The rule is simple. Treat every Markdown filename like a URL slug. If you wouldn't put it in a URL, don't put it in a filename.

THE 6 NON-NEGOTIABLE RULES 01 Dashes, not spaces youtube-secrets.md 02 Lowercase only business-priority.md 03 No special chars reunion-14-mars.md 04 Descriptive names paul-graham-advice.md 05 No versioning pricing-strategy.md 06 Consistent extensions .md .txt .csv .json If you wouldn't put it in a URL, don't put it in a filename.
01
Dashes, not spaces.

youtube-secrets.md, never YouTube Secrets.md. The dash is the universal separator for UNIX systems, URLs, and tokenizers. The space is an anomaly that every layer of the system must handle.

02
Lowercase only.

business-priority-list.md, never Business-Priority-List.md. Mixed case introduces ambiguity. Linux is case-sensitive: Notes.md and notes.md are two different files. The agent can confuse them. Lowercase eliminates the problem at the root.

03
No special characters.

No parentheses, no accents, no exclamation marks, no & or #. reunion-equipe-14-mars.md, never Réunion Équipe (14/03).md. Special characters become escape sequences, break scripts, and produce silent errors nobody detects until the day the agent can't find a critical file.

04
Descriptive and atomic names.

Every filename must precisely describe what it contains. paul-graham-startup-customer-research.md is excellent — it's a semantic anchor the embeddings engine can vectorize cleanly. notes-pg.md is a disaster — "pg" means nothing to an AI agent. It's the same logic as UX Writing applied to link anchors: "Learn more" tells the robot nothing. "Download the SEO Guide (PDF - 5MB)" tells it everything. Your filenames are the internal anchors of your workspace.

05
No versioning in the name.

pricing-strategy.md, never pricing-strategy-v2-final-FINAL.md. If you need versions, use Git or a date system inside the file content, not in the name. Versioning in the name creates phantom duplicates in the vector index.

06
Consistent extensions.

.md for structured content (the majority). .txt for ultra-short notes (reminders, errors, lessons). .csv for metrics tracking. .json for temporary structured outputs. .py for scripts. .sh for system operations. Don't mix usages. A sales playbook is a .md, not a .txt.

III. The folder taxonomy: the agent's nervous system

Naming doesn't stop at files. Folders follow the same discipline.

A well-named folder is a semantic namespace. When you ask the agent "Find me our pricing strategy", it should be able to navigate to business/sales/pricing-strategy.md by logical deduction, without scanning the entire workspace.

RECOMMENDED WORKSPACE ARCHITECTURE workspace/ business/ assets/ coding/ coms/ copywriting/ emails/ journal/ metrics/ paid-ads/ playbooks/ reminders/ research/ sales/ Root-level strategic files business-priority-list.md deep-work-options.md mistakes.md names-and-lingos.md No spaces · No uppercase · No accents · Every folder is a semantic namespace Structure your workspace like you structure your website for Google.

Notice: no spaces. No uppercase. No accents. Every folder is a single word or a hyphenated compound. It's a filesystem optimized for machine reading — exactly like an /llms.txt is a website optimized for machine reading. The logic is identical. We spent 30 years structuring the web for Google's robots. Now we structure our workspace for AI agents.

Root-level files — the critical layer

Files directly under business/ (not in a subfolder) are the files the agent consults first. It's the equivalent of your homepage. If a file is there, it's strategic.

01

business-priority-list.md

The compass. The problems and tasks that matter most. The agent refers to it before prioritizing anything.

02

deep-work-options.md

The 7 to 9 high-value tasks that require more than an hour of focused work. Not the urgencies. The important tasks that move the business forward and that nobody ever does because everyone is busy answering emails.

03

mistakes.md

Every mistake made, documented. The agent knows them. It doesn't repeat them. And it can alert a team member who's about to make the same one.

04

names-and-lingos.md

The internal dictionary. "NS" means "New Society". "OC1" is the first OpenClaw agent. Without this file, the agent uses the generic vocabulary from its training and loses the nuances that make your company's culture.

IV. The living research protocol: name so the future can find

Here's the scenario that kills 99% of companies' productivity.

Someone does a search on Perplexity. "How Paul Graham recommends startups talk to their customers." They get an excellent synthesis. They read it. They close the tab. The file is dead. Lost in the history of a chatbot nobody will ever reopen.

Three months later, the same topic comes up in a meeting. Nobody remembers the details. They redo the search. They waste 30 minutes. It's a permanent cycle of waste that companies accept as fate.

The solution in OpenClaw is a one-sentence prompt:

"Research how Paul Graham recommends startups talk to their customers. Save the results in business/research/paul-graham-customer-development.md. Give me a TLDDR here."

The summary in the chat is useful in the moment. But the real value is the file. paul-graham-customer-development.md now exists in the workspace. The vector embeddings engine has indexed it. The next time anyone — human or agent — approaches the topic of "customer development" or "client discovery", this file will automatically surface as context.

And the filename is critical. paul-graham-customer-development.md contains four high-value semantic tokens. If you had named this file recherche-3.md or notes-pg.md, the vector indexing would be deficient. The agent would never make the connection between "customer development" and this file.

It's the same logic as URL SEO. /blog/paul-graham-customer-development/ ranks. /blog/post-3/ doesn't rank. Naming is the optimization.

V. The heartbeat and auto-maintenance: files that live without you

A correctly configured OpenClaw doesn't just store files. It maintains them.

The heartbeat — a heartbeat.md file that executes automatically every 15 minutes — is the process that makes files truly "alive". Without heartbeat, your Markdown files are archives. With heartbeat, they're organisms that evolve.

The minimal heartbeat configuration

heartbeat.md
# HEARTBEAT — runs every 15 minutes 1. Check if an official OpenClaw update exists. If yes: apply it, send changelog to Slack, restart gateway. 2. Scan workspace for naming violations. Flag files with spaces, uppercase, or special chars. 3. Detect files not modified in 90+ days. Candidates for archiving or deletion. 4. Check for duplicate content across .md files. Alert if two files cover the same topic.

The compute economics of heartbeat: Don't use Sonnet for this task. Assign a cheap model — Gemini Flash (free) or MiniMax M2.5 (cheap and powerful). Prefix with openrouter/ so OpenClaw identifies the provider. Sonnet for complex interactions, a lightweight model for routine. It's the principle of optimal compute allocation.

VI. Slack + living files: democratizing enterprise intelligence

When OpenClaw is connected to Slack via a dedicated private channel (#team-openclaw), every team member has access to the entire Markdown knowledge base.

This is where naming discipline pays its highest dividends.

SLACK → AGENT → KNOWLEDGE BASE Slack #team-openclaw OpenClaw Semantic search business/ playbooks/ research/ · sales/ @OC1 show me the onboarding playbook → playbooks/onboarding-new-team-member.md @OC1 mistakes to avoid in client nego? → mistakes.md + sales/ + reminders/

When a developer types @OC1 show me the onboarding playbook, the agent navigates to business/playbooks/ and finds onboarding-new-team-member.md instantly. Because the filename contains the semantic tokens "onboarding", "new", "team", "member". If the file were called playbook-7.md, the agent would have to open every file in the folder to find the right one. That's wasted compute and added latency for your team.

When a salesperson types @OC1 what mistakes to avoid in client negotiation?, the agent cross-references business/mistakes.md with business/sales/ and business/reminders/ to build a contextualized answer. Because the filenames and folder names are semantic anchors that the embeddings engine can link together.

It's an internal search engine powered by your own knowledge, structured by your own conventions, and accessible by natural language to the entire team. But only if the fuel — the files — is clean.

Conclusion

Naming conventions are not a cosmetic detail. They're the invisible infrastructure that determines whether your AI agent is a competent colleague or a lost intern in an open office.

The web took 15 years to standardize URL slugs. Companies adopting AI agents today don't have 15 years. They have 6 months before naming discipline becomes a measurable competitive advantage.

The rule is simple: if you wouldn't put that name in a URL, don't put it in a filename. Dashes. Lowercase. No spaces. No special characters. Descriptive. Atomic.

Open your workspace. Look at your file tree. If you see spaces, uppercase letters, (v2 final) — you have your first task of the day. Rename everything. Your agent will thank you by becoming 10x more effective.

Build your own intelligent workspace

We build autonomous agent systems with structured knowledge bases for businesses.

Talk to an Architect →