Claude Tutorials

How to Install a Claude Skill from authority.md (in 60 seconds)

Step-by-step guide to installing a thinking framework Claude Skill from authority.md: in Claude.ai, Claude Code, and the Claude API. Plus fallback for ChatGPT and Gemini.

By Gareth Hoyle·Updated 6 October 2026·10 min read

You just bought a thinking framework from authority.md. Your email has two attachments: a .zip and a .md. The .zip is a native Claude Skill. Here's how to install it properly, with the exact steps for every surface where Claude runs.

What's in the download?

Unzip the .zip and you'll see a folder structure like this:

warren-buffett/
├── SKILL.md      ← the thinking framework
└── README.md     ← install instructions

SKILL.md follows Anthropic's open Skills specification: YAML frontmatter (with name and description fields that tell Claude when to auto-invoke the skill), followed by the framework itself. README.md is a copy of the install instructions in this guide, tailored to your specific framework.

The plain .md attachment is the same framework content without the Skills wrapper, for any LLM that doesn't support Skills yet.

Which surface should you install on?

SurfaceWhere the Skill livesFormatNotes
Claude.aiYour account's Skills list.zip uploadNeeds Pro, Max, Team, or Enterprise with code execution on; not on Free
Claude Code~/.claude/skills/ or .claude/skills/Unzipped folder on diskWorks on any plan; can be committed to a repo for the whole team
Claude APIYour workspace, via the Skills APIUploaded with client.skills.create()Needs the code execution tool; shared workspace-wide automatically
Microsoft 365 add-insWhatever's enabled in your Claude.ai settingsSame upload as Claude.aiWorks inside Claude for Excel, PowerPoint, Word, and Outlook
ChatGPT, Gemini, agentsWherever you paste itPlain .mdNo auto-invocation, works anywhere a system prompt does

How do you install it in Claude.ai (web, desktop, mobile)?

This is the easiest path for most people, but it needs a paid plan. Custom Skill uploads require Pro, Max, Team, or Enterprise with code execution enabled; they're not available on the Free plan.

Step 1: Open Skills settings

In Claude.ai, click your profile icon (bottom left) and go to Customize. In the sidebar, click Skills.

Step 2: Upload the zip

Click the + button, then Create skill, then Upload a skill. Select the .zip file you downloaded. Don't unzip it first, Claude.ai expects the zipped folder. The Skill is private to your account until you choose to share it (Team and Enterprise plans can share with specific people or publish it organisation-wide).

Step 3: Verify it loaded

After upload, you should see the skill in your list with its name (e.g. warren-buffett-framework) and the description from the SKILL.md frontmatter.

Step 4: Use it

Start any new conversation and ask a question that matches the skill's description. For the Buffett framework, that's any question about:

  • Evaluating an investment
  • Capital allocation decisions
  • Long-term value analysis
  • Whether a business has a durable moat

Claude reads your question, matches it against the skill's description field, and auto-invokes the framework. You'll see the response answered through Buffett's mental models (margin of safety, economic moats, owner-earnings) rather than Claude's default voice.

Any Skill enabled in your Claude.ai settings also becomes available inside Claude for Excel, PowerPoint, Word, and Outlook. Claude applies it automatically when relevant, or type / in the sidebar of the add-in to pick one by hand.

How do you install it in Claude Code?

Claude Code is the terminal-based coding assistant. It loads skills from two locations: personal (all projects) and project-specific.

Personal install (available in every project)

# Create the skills directory if it doesn't exist
mkdir -p ~/.claude/skills

# Unzip the skill into it
unzip warren-buffett.zip -d ~/.claude/skills/

The result: ~/.claude/skills/warren-buffett/SKILL.md exists on disk.

Claude Code now auto-discovers this skill in every project and can invoke it whenever relevant.

Project-specific install (only for this project)

# From your project root
mkdir -p .claude/skills
unzip warren-buffett.zip -d .claude/skills/

Project-level skills only apply inside that project. Useful if you've set up, say, a "founder-decisions" directory where you want Buffett's framework auto-loaded, but don't want it firing in your day job codebase.

Verify and invoke

In Claude Code, list loaded skills:

# In a Claude Code session
/skills

You should see warren-buffett-framework in the list. Invoke directly with /warren-buffett-framework or let Claude auto-invoke based on your question.

How do you install it via the Claude API?

If you're building agents or tools on the Anthropic API, skills work there too, through the dedicated Skills API, with the code execution tool enabled on the Messages call that uses them.

Option 1: Upload the Skill through the Skills API

This is the real mechanism, and the one that gets you genuine auto-invocation server-side:

from anthropic.lib import files_from_dir
import anthropic

client = anthropic.Anthropic()

skill = client.skills.create(
    files=files_from_dir("warren-buffett"),
)

print(f"Created skill: {skill.id}")

Then reference that skill_id in a Messages call, with the code execution tool turned on:

response = client.messages.create(
    model="claude-opus-5-5",
    max_tokens=2000,
    container={
        "skills": [
            {"type": "custom", "skill_id": skill.id, "version": "latest"}
        ]
    },
    tools=[{"type": "code_execution_20250825", "name": "code_execution"}],
    messages=[{
        "role": "user",
        "content": "Should I invest in a SaaS company trading at 40x earnings?"
    }],
)

print(response.content)

Custom Skills uploaded this way are scoped to your whole workspace, not just one conversation, so any API key with workspace access can use them. See Anthropic's Agent Skills documentation for the current model name and parameter details, since both can change between SDK releases.

Option 2: Paste SKILL.md as a system prompt instead

Simpler, but you lose real Skill behaviour (auto-invocation, progressive loading, workspace sharing) and just get the written content as plain instructions:

with open("warren-buffett/SKILL.md", "r") as f:
    framework = f.read()

response = client.messages.create(
    max_tokens=2000,
    system=framework,
    messages=[{
        "role": "user",
        "content": "Should I invest in a SaaS company trading at 40x earnings?"
    }],
)

This works with any current Claude model and doesn't need code execution enabled, which makes it the quicker option for a one-off test.

Investor
Warren Buffett
Value investing, capital allocation, economic moats
$4.99 · View framework →

What's the fallback for ChatGPT, Gemini, or anywhere else?

Claude Skills are Anthropic-specific. The plain .md file in your download works everywhere else: you just lose the auto-invocation feature.

ChatGPT Custom GPTs

ChatGPT's standard Custom Instructions are character-limited, 1,500 characters on the Free plan, 5,000 on paid plans since mid-2026, either way too short for a framework. Use Custom GPTs instead, they accept about 8,000 characters for instructions.

  1. Go to chatgpt.com → Create a GPT
  2. In the Configure tab, paste the .md content into Instructions
  3. Alternatively, upload the .md as a Knowledge file
  4. Save

Every conversation in that Custom GPT now applies the framework.

Gemini

Gemini's nearest equivalent to a Custom GPT is a Gem: open the sidebar on gemini.google.com, click Gems, then New Gem, and paste the .md content into the instructions box before saving it. For a quick one-off instead, paste the content directly into Gemini's system prompt if your interface has one, or lead your first message with it:

Here is a thinking framework to apply throughout this conversation.
Read it carefully, internalise the mental models and decision rules,
then answer using this framework's approach.

[paste .md content here]

My question is:

Agent frameworks (LangChain, CrewAI, etc.)

Load the .md content into the agent's system prompt. The framework becomes part of the agent's "personality": every response is shaped by its mental models, anti-patterns, and decision heuristics.

Mechanics verified October 2026 against the official documentation.

What are the common problems, and how do you fix them?

"The skill uploaded but Claude isn't auto-invoking it"

Claude decides whether to load a skill based on its description field. If Claude doesn't trigger the skill on a question you think it should, one of two things is happening:

  1. The description is too narrow. Our SKILL.md descriptions are written to fire on specific scenarios ("use when evaluating investments, capital allocation, or long-term value"). If your question is about business strategy more broadly, it might not match.
  2. Another skill is winning. If you have multiple overlapping skills loaded, Claude picks the one whose description best matches your question. Try being more specific in your prompt, "Apply Buffett's thinking to this", or invoke manually with /skill-name.

"I uploaded the zip but it says the format is invalid"

Claude.ai expects the zip to contain a folder (not loose files). Our zips always contain a folder named after the slug. If yours doesn't, the zip was re-packaged at some point: email us and we'll resend.

"It worked, but the output isn't as good as I expected"

Two possibilities. First, the framework you bought might not be the best match for what you're doing: try a different persona whose style genuinely fits your question. Second, AI is imperfect; the framework is a strong nudge, not a guarantee of every response being perfect. If a specific framework consistently produces bad output for a use case you care about, email us and we'll look at regenerating it.

"I want to edit the SKILL.md"

You own what you bought. Edit freely. Common edits:

  • Tighten the description field to trigger more narrowly (or broaden it)
  • Add project-specific context at the bottom
  • Remove sections you don't want

After editing, re-zip the folder (keeping the folder structure intact) and re-upload to Claude.ai if you're using the Skills surface.

What should you do next?

If you've installed your first skill and confirmed it auto-invokes, you're done. The framework will apply across every relevant conversation until you remove it.

A few next steps people often take:

  • Install a complementary framework. Buffett for financial questions, Jobs for product decisions, Feynman for explaining concepts. Claude picks the right one per question.
  • Set up project-specific Claude Code skills. Lock in a thinking pattern for a specific codebase or side project.
  • Try the bundle. Four frameworks for $14.99 ($19.96 if bought individually): good for building a stack.

Questions this guide didn't answer? Email us at hello@authority.md. We read every message.

FAQ

Frequently asked questions

Do I need a paid Claude plan to install a custom Skill?

Yes, on claude.ai. Uploading a custom Skill needs Pro, Max, Team, or Enterprise with code execution enabled; it isn't available on the Free plan. Claude Code and the Claude API aren't plan-gated the same way, Claude Code works for any account, and the API just needs the code execution tool turned on.

Will the Skill I upload to Claude.ai also show up in Claude Code or the API?

No. Custom Skills don't sync across surfaces. A Skill uploaded to claude.ai has to be separately uploaded to the Claude API, and Claude Code Skills are filesystem-based and entirely separate from both.

Can my whole team use the same Skill automatically?

On claude.ai, no, each person uploads their own copy; there's no centralized admin push. Through the Claude API, custom Skills are workspace-wide automatically, so any API key on that workspace can use them. In Claude Code, commit the `.claude/skills/` folder to your repo and every contributor gets it.

Does the skill work inside Claude for Excel, Word, PowerPoint, or Outlook?

Yes. Any Skill enabled in your Claude settings is also available inside the Microsoft 365 add-ins. Claude applies it automatically when relevant, or you can type `/` in the sidebar to pick one manually.

Written by Gareth Hoyle. Last updated 6 October 2026. Part of the authority.md guides library.

Keep reading

More guides.