Learning objectives
- > Understand what Claude Code skills are and how they work
- > Install skills from public repositories and personal collections
- > Use skills to apply specialized knowledge to journalism tasks
- > Evaluate the quality and trustworthiness of third-party skills
Before you start
Module 2 introduces three ideas that work together: skills encode your expertise as reusable tools, commands run reliable workflows deterministically, and hooks enforce standards automatically. The concepts below explain each one before you build your own.
Key concepts
What are skills?
Skills are markdown files containing instructions, prompts, and context that Claude Code loads on demand. When you invoke a skill (e.g., /source-verification), Claude reads the skill file and applies that knowledge to your conversation. Skills let you encode expertise once and reuse it across projects.
Skill types
A Claude Code skill is a markdown file stored in ~/.claude/commands/. The filename becomes the slash command. Save a file called source-verification.md and Claude Code creates a /source-verification command automatically.
- > A skill file contains a name, a description (so Claude knows when to use it), and the full instructions. When you invoke it with a slash command, Claude loads the file's content into the current session.
- > Skills work alongside your CLAUDE.md — the context file sets persistent project rules, while skills are invoked on demand for specific tasks.
Where skills live
Skills can be stored in several locations:
- > Global:
~/.claude/commands/- Available in all projects - > Project:
.claude/commands/- Available only in that project - > Remote: GitHub repositories that you clone or reference
Skill trust and safety
Skills are just text files with instructions - they can't run arbitrary code. However, they can influence Claude's behavior, so review skills before installing them. Prefer skills from trusted sources, check what instructions they contain, and be cautious of skills that ask Claude to access external services or sensitive data.
EXERCISE
GOAL: Create a journalism verification skill and use it to check a claim from a viral social media post.
01 Open Claude Code
Open your terminal and launch Claude Code:
claude
02 Ask Claude to create the skill
Inside the session, paste this prompt:
Create a global Claude Code skill for source verification. Save it to ~/.claude/commands/source-verification.md. The skill should help a journalist verify claims from social media by: identifying the specific claim, tracing it to a primary source, checking for multiple independent sources, evaluating source credibility, looking for counter-evidence, checking dates for recirculation, and flagging red flags (no attribution, emotional language, missing location/date details). Format responses with a verification status (VERIFIED / UNVERIFIED / FALSE / PARTIALLY TRUE / UNABLE TO VERIFY) and a confidence level, plus recommended next steps for the journalist.
Claude creates the directory if it doesn't exist and saves the skill file. You can ask to see what it wrote, or suggest edits to the skill content before saving.
03 Verify the skill is available
Exit the session (press Ctrl+C twice) and relaunch to pick up the new skill:
claude
Inside the new session, check available commands:
/help
You should see source-verification listed among available commands.
04 Test the skill with a viral claim
Invoke the skill, then paste a claim to verify:
/source-verification
A viral tweet claims that a major US city just banned all plastic bags, effective immediately, with $500 fines for violations. The tweet has 50,000 retweets. Help me verify this before I report on it.
Notice how Claude structures its response according to the skill's format — verification status, confidence level, red flags, and recommended next steps. That structure came from the skill file, not from this individual prompt.
05 Try a real claim
Use the skill on something you've actually seen circulating. Notice what it flags and what it recommends. If the response format isn't quite right for your work, ask Claude to edit the skill file and refine it.
Skills aren't static — they're files you own and can update any time.
Checkpoint
Self-check: Make sure you can answer these before moving on.
- ? What does the filename of a skill file determine, and where does the file need to be saved?
- ? Where should you put a skill that you want available in all projects?
- ? Why should you review third-party skills before installing them?
- ? What command invokes a skill named "source-verification"?
Resources
- [DOCS] Claude Code documentation - Official guide to skills and commands
- [ORG] International Fact-Checking Network - Standards and resources for verification
- [GUIDE] First Draft: verifying online information — the essentials
- [GUIDE] Bellingcat online investigations toolkit — open-source investigation techniques
Troubleshooting
Skill doesn't appear in /help
Make sure the file is in the correct directory (~/.claude/commands/) and has the .md extension. The filename becomes the command name.
Skill doesn't seem to affect Claude's responses
Remember to invoke the skill with the slash command (e.g., /source-verification) before asking your question. The skill context is loaded when you invoke it.
"Permission denied" when creating files
Make sure the ~/.claude/commands/ directory exists and you have write permission. Run mkdir -p ~/.claude/commands to create it.
Skill is too generic or not helpful
Skills work best when they're specific. Edit the skill file to add more detailed instructions, examples, or checklists relevant to your work.