Ask a room full of Muse users "how to create Meta Muse skills" and you'll get two completely different answers. Meta's official line is that skills are built-in capabilities, image generation, document drafting, podcast creation, that ship with the agent and update on Meta's schedule. There is no "Install Skill" button, no upload dialog, and no SKILL.md file you can drop into the consumer Muse app.
But that's not the whole story.
If you're a small business owner running weekly ad reports through Muse, or a power user who needs your agent to process inbox triage the same way every Monday morning, you want Muse to behave like it has a custom skill, even if it technically doesn't. This guide shows you exactly how to create Meta Muse skills in practice, using the tools Meta does provide: Goals, chat memory, Custom Connectors, and structured instruction blocks.
How to Create Meta Muse Skills, Understanding What Makes One
Before you can build something that acts like a skill, you need to know what a Muse Skill actually is. Meta's security documentation describes skills as "detailed instructions to Muse, on how to get the most out of each connector." They are Meta-authored recipes for classes of work: running ads, drafting outreach, cleaning up bookkeeping.
The critical distinction is that Muse separates the instruction from the access point.
| Layer | What it is | Who authors it | Can you add your own? |
|---|---|---|---|
| Skill | Instructions for completing a class of task | Meta | Not in the consumer app |
| Connector | Permissioned link between Muse and an external app | Meta (you authorize) | Yes — Custom Connectors supported |
| Goal | Persistent objective you set in the Goals tab | You | Yes |
| Chat instruction | Ad-hoc direction in a conversation thread | You | Yes — per conversation |
As of October 2026, Meta has published no upload path for consumer skills. The September 29, 2026 Muse for Small Business announcement added "a collection of new skills and connectors" but explicitly did not open a custom skill install mechanism. The company's language, "expect more connectors, more skills", refers to Meta-authored additions, not user-defined ones (Meta Help Center: How Muse works with skills).
That's the constraint you're working within. Now here is how to create Meta Muse skills that function as if you authored them.
The jobs those instructions are for are Muse skills for marketing.
How to Create Meta Muse Skills Through Goals and Instructions
The most practical way to create Meta Muse skills is to never use the word "skill" at all. Instead, you build a persistent behavior pattern using three tools Meta ships with every Muse account.
How to Create Meta Muse Skills, Start With the Goals Tab
The most direct way to create Meta Muse skills without uploading files is through the Goals tab. Here's how.
Open the Goals tab in your Muse app or on muse.ai. Write the objective in plain language, with specificity:
"Every Monday at 9 AM, scan my Gmail inbox, flag messages from paying clients, draft a priority list, and ask for approval before sending any replies."
Muse stores this as a persistent directive. It functions like a skill trigger, the agent checks the Goals tab when it plans its next action. The difference from a traditional skill file is that the instruction lives in Meta's cloud alongside your conversation history, not in a local markdown file.
Step 2: Reinforce with chat memory
Tell Muse explicitly what you want in the conversation thread itself. Use the same language each time:
"When I ask for my Monday inbox triage, always group by sender priority, draft replies but never send without my approval, and log what you did in my Activity log."
Muse's persistent memory means it retains context across conversations. Over two to three weeks of consistent use, the behavior becomes the default, functionally indistinguishable from an installed skill.
Step 3: Authorize the right Connectors
A skill-style instruction only works if Muse can reach the services it needs. Go to Settings → Connectors and authorize:
- Gmail, read scope only (don't allow send unless you're ready)
- Google Calendar, read scope for scheduling context
- Meta Business Suite, for ad performance data
| Permission | Recommended setting | Why |
|---|---|---|
| Gmail read | ✅ On | Needed for inbox triage |
| Gmail send | ⚠️ Ask before each send | Prevents accidental replies |
| Calendar read | ✅ On | Enables scheduling awareness |
| Calendar write | ⚠️ Ask before each write | Avoids double-booked events |
| Ad account read | ✅ On | Enables performance reports |
| Ad account write | ❌ Off unless needed | Prevents accidental spend |
This is the combination that makes behavior-driven skills work: a persistent Goal, reinforced memory, and properly gated Connectors. You've now accomplished what most people mean when they search for how to create Meta Muse skills, you just did it through configuration rather than file upload.
Writing "Skill-Style" Instructions That Muse Follows Reliably
Once your Goals and Connectors are in place, the quality of your instructions determines whether Muse executes like a polished skill or degrades into generic behavior. Based on patterns that work consistently across production Muse usage, here is the framework:
The instruction block format:
Task: [one-sentence description of the job]
Trigger: [what should start this — time, event, or manual request]
Approval gate: [what Muse must ask before doing]
Output format: [how you want the result delivered]
Boundaries: [what Muse should NOT do]Worked example, weekly ad performance skill:
| Element | Your instruction |
|---|---|
| Task | Compile a weekly ad performance summary for my Facebook and Instagram business accounts |
| Trigger | Every Monday at 10 AM, or when I say "run the weekly ad review" |
| Approval gate | Draft the report in full, then ask for approval before posting anything to my ad accounts |
| Output format | A table with spend, impressions, CTR, CPA, and ROAS sorted by campaign, with a one-paragraph summary of what changed week-over-week |
| Boundaries | Do not change any ad budgets. Do not create new campaigns. Do not share this report with anyone |
Paste this block into Muse at the top of a new conversation or save it in your notes file for reuse. The specificity of the Approval gate and Boundaries sections is what separates this from a generic prompt, Muse's Sentinel system reads your permission constraints and enforces them at the architecture level, not just the instruction level (Meta Research: How We Built Safety Into Muse).
- Clear trigger conditions prevent Muse from running the workflow at the wrong time.
- Explicit approval gates protect against unwanted writes.
- Output formatting instructions eliminate the "that's not what I asked for" iteration cycle.
- Boundaries are non-negotiable, Muse's approval system cannot override them.
This structure works because it maps to how Muse's internal skill system is designed. Meta's own skills use the same pattern internally: a task definition, a trigger context, approval rules, and boundary conditions. You're writing in the same idiom.
An instruction still cannot operate Ads Manager. That limit is the Muse decision.
How to Create Meta Muse Skills for Recurring Business Workflows
The recurring ad review in this post reads the account and stops. The table it reports into is Muse's approval model.
The Google half of that review, and what stays in the UI, is Muse for Google Ads.
The Custom Connector shortcut
If Muse does not have a built-in Connector for a service you need, ask Muse to create a Custom Connector. Muse will walk you through retrieving the service's API credentials and storing them in its Secure Credentials Store. This is documented in Meta's Help Center as a supported, if advanced, feature.
"If you want to connect to a service not yet available in the Connector list, you can ask Muse to create a Custom Connector. Muse will guide you through the process, which can involve retrieving API information from the service.", Meta Help Center: How Muse works with Connectors
Custom Connectors carry an important caveat: Meta does not review them. The provider's terms and privacy policy govern how your data is used. This is fine for trusted internal tools, but you should treat any Custom Connector the same way you would treat a new browser extension, verify what it can access before granting write permissions.
The skill-in-a-file workaround
For workflows you want to run across different conversations or share with a teammate, save your instruction block as a standalone document:
- Write the instruction block following the format above.
- Save it in Muse's Library tab as a note or artifact.
- When you start a new conversation, paste the block into the chat.
- Reference the block by name in your Goals tab.
This is functionally equivalent to installing a skill file, the instruction loads at conversation start, Muse applies it to the current context, and the behavior is consistent regardless of when or where you open the thread. The difference is that it lives in Muse's Library rather than in a local SKILL.md file on your filesystem.
For a deeper look at how the same principle works on other AI agent platforms, see how to create Claude skills or browse our blog for AI agent workflow guides for more patterns.
Muse Code, Where SKILL.md Files Actually Load
If you are a developer, there is one Meta product where standard SKILL.md files work: Muse Code, Meta's developer agent.
Meta's documentation states that Muse Code discovers skill files from these locations by default:
<repo>/.agents/skills/<skill-id>/SKILL.md~/.agents/skills/~/.claude/skills/(cross-compatibility with Claude skills)- Codex skills directory
This means a skill written in the standard SKILL.md format for an agentic coding workflow runs in Muse Code without any rewriting. The cross-compatibility with ~/.claude/skills/ is particularly useful if you already maintain skill files for Claude Code or similar developer agents.
Muse Code skills focus on programming workflows, code generation, repository analysis, test creation, not personal productivity tasks. If your goal is to build a reusable instruction set for your own daily work, the Goals-based approach in the consumer Muse app is the right path. If you want Muse to automate your development environment, Muse Code with SKILL.md files is the right path.
Meta's broader vision for agent skills is evolving rapidly. The skills infrastructure that powers both consumer Muse and Muse Code shares a common architectural pattern, even though the access points differ. At Metaflow, we build skill libraries that apply the same pattern across Muse, Claude, and ChatGPT agents, so the instruction block you write for Muse's Goals tab can translate directly into a portable skill file on other platforms.
For more on how these patterns apply across platforms, read about building reusable agent workflows.
If you need the file in the agent, not in Muse Code, put it in the skills directory in the Metaflow app..
Frequently Asked Questions
What is the difference between a Muse Skill and a Connector?
A Connector is a permissioned link between Muse and an outside service, it says "Muse can talk to your Shopify store." A Skill is the instruction set for how to use that access, "here is how Muse should analyze your Shopify orders, flag anomalies, and draft a restock list." You authorize Connectors yourself. Skills are authored by Meta. (Meta Help Center: How Muse works with skills)
Does Meta AI use Muse Spark?
Yes. Muse runs on Muse Spark, Meta's most capable model, built specifically for agentic work rather than open-ended chat. Muse Spark 1.3 powers the consumer Muse app, while Muse Spark 1.2 was used for Muse Code, the developer agent. The model gives Muse its ability to plan multi-step tasks, maintain context across long sessions, and reason about when to ask for approval.
Can I share my instruction blocks with others?
You can share an instruction block as plain text, save it as a note, share the document, or paste it into a shared Muse conversation. There is no package manager or skill store for instruction blocks in the consumer app. For developer-oriented skill sharing, the SKILL.md format used by Muse Code and Claude Code is the closest equivalent, and those files can be checked into a shared repository.
Will Meta ever let users install custom skills?
Meta has not announced a custom skill install path for the consumer Muse app. The company has said to "expect more connectors, more skills," but the language consistently refers to Meta-authored additions. Given that Muse Code already reads standard SKILL.md files, the architectural foundation exists, but there is no public timeline or commitment.
What the Workarounds Cost You It is fair to ask: if I have to paste an instruction block instead of installing a file, what am I giving up?
| Capability | Consumer Muse workaround | True skill install |
|---|---|---|
| Version control | Manual — save blocks in Library | File-based, git-trackable |
| Cross-conversation persistence | Manual paste per new thread | Automatic load at conversation init |
| Sharing | Copy-paste text | Package or directory sync |
| Programmatic triggering | Goals tab + manual trigger | Event hooks and scheduled runs |
| Audit trail | Activity log + chat history | File-level change history |
The workaround is not a replacement for a real skill system. But for the vast majority of recurring personal and small-business workflows, inbox triage, weekly reporting, expense review, social content drafting, the instruction-block-and-Goals method delivers reliable, repeatable behavior. Meta's own approval and Sentinel systems enforce the boundaries you set, which is more safety assurance than most third-party skill ecosystems provide.
For teams that need true skill portability across multiple agent platforms, the emerging SKILL.md standard, already supported by Claude, Muse Code, and the developer agent ecosystem, is worth watching. The Metaflow skills directory tracks cross-platform skill patterns as they evolve.
The Bottom Line
You cannot upload a SKILL.md file to the consumer Muse app. But that's not the same as saying you can't create Meta Muse skills that work. The Goals tab, persistent memory, gated Connectors, and structured instruction blocks give you everything you need to teach Muse your recurring workflows, you just do it through configuration and conversation instead of file drops. For developers, Muse Code offers the real skill-file pipeline. For everyone else, the instruction-block method above will cover 90% of what you need, with the benefit of Meta's built-in safety layer on top.
Jobs to hand Metaflow
Paste these into Muse or Grok. The assistant cannot see the account. You run the job in Metaflow.
Stop. You cannot see my ad account. I will run this in Metaflow.
1. Wasted spend: search terms or ads with spend and zero conversions in the last 30 days.
2. Search terms or creative fatigue: group waste into themes I can approve.
3. Budget: where should the next $100 a day go, based on 14-day CPA.
4. Bids: which campaigns are on Target CPA or Target ROAS with too few conversions.
5. Ad copy: list weak ads and draft replacements. Do not publish them.
6. Landing page: for the top ads by spend, does the page match the ad.
7. Performance Max or Advantage+ leakage: how much spend hit brand or junk placements.
8. Conversion tracking: which actions are primary, which fire twice, which had zero conversions in 30 days.
9. Weekly report: spend, conversions, CPA, what moved, and why.
Do not change spend yourself.






