Competitive Intelligence – The Claude Way

I wanted a way to quickly profile competitors. Not a full product with infrastructure and scheduling. Just a repeatable way to gather intelligence on any company without starting from scratch every conversation.

One conversation with Claude later, I had three working skills: one to profile companies, one to compare them side-by-side, and one to track how they change over time.

Here's exactly how that happened, step by step.

What Skills Actually Are

Skills are instruction files that extend what Claude can do. Think of them as onboarding documents for a new employee who happens to be an AI. You're not teaching Claude new facts. You're teaching Claude your process, your judgment, your way of approaching a problem.

The structure is simple: a folder containing a SKILL.md file (required) plus any scripts, references, or templates you want to include (optional). The SKILL.md has two parts: YAML frontmatter that tells Claude when to use the skill, and markdown instructions that tell Claude how to do the work.

That's it. No code required. No API integration. Just clear instructions in a format Claude understands.

Step 1: Start With a Conversation, Not a Specification

I didn't sit down to “design a skill.” I started with a problem.

“I want to profile companies as competitors. Research their positioning, pricing, product, content strategy, hiring signals. Give me a snapshot I can use.”

Claude and I talked through what that meant. What dimensions matter? What sources would I check? What format would be useful? The conversation surfaced decisions I hadn't consciously made, like always including the date in the filename because profiles are point-in-time snapshots, not permanent truths.

This is the part most people skip. They try to write skill instructions without first having the conversation that reveals what the instructions should say.

Step 2: Let the Conversation Surface Your Process

As we talked, a process emerged. Not because I dictated it, but because Claude asked clarifying questions and I answered them.

“What would you search for first?” “What would you extract from each source?” “What format would be most useful for comparing companies later?”

By the end of the conversation, I had a clear picture of what the skill needed to do:

  1. Gather data across eight dimensions (homepage, pricing, product, blog, careers, news, about, customers)
  2. Analyze findings into categories (positioning, target audience, business model, product focus, content strategy, growth signals, strategic direction)
  3. Output a dated markdown file with a consistent template

None of this was revolutionary. But having it written down meant I'd never have to explain it again.

Step 3: Define the Trigger

The skill's description field is what tells Claude when to use it. This is the most important part of the YAML frontmatter, and most people underwrite it.

Here's what I ended up with for the evaluate-company skill:

---
name: evaluate-company
description: Generate a comprehensive competitive intelligence profile for any company. Use when user asks to research a competitor, evaluate a company, create a competitor profile, or gather intelligence on a business. Triggers on requests like "profile [company]", "evaluate [company]", "research [company] as a competitor", "competitive analysis of [company]", or "what is [company] doing".
---

Notice what's happening here. I'm not just describing what the skill does. I'm listing the actual phrases that should trigger it. “Profile Acme Corp.” “Evaluate this competitor.” “What is Notion doing?” All of those should activate the same skill.

Be generous with trigger phrases. If you can imagine saying it, include it.

Step 4: Write Instructions Claude Can Follow

The body of SKILL.md is where you capture your process. Write it like you're onboarding a smart colleague who's never done this specific task before.

For the evaluate-company skill, I structured it as a three-phase process:

Phase 1: Gather Data

I created a table mapping each dimension to a search pattern and what to extract:

DimensionSearch Query PatternWhat to Extract
Homepage[company] → fetch main siteTagline, hero messaging, primary value prop
Pricing[company] pricingTiers, price points, packaging model, free tier
Blog/Content[company] blogRecent topics, publishing frequency, content themes

This gives Claude a systematic approach rather than hoping it figures out what to search for.

Phase 2: Analyze

I listed the categories I care about: positioning, target audience, business model, product focus, content strategy, growth signals, strategic direction. For each one, I included a clarifying question: “What problem do they claim to solve? For whom? What's their unique angle?”

Phase 3: Output

I provided an exact template with every section I want in the final document. Heading structure, what goes under each heading, even the filename convention ([company-slug]-[YYYY-MM-DD].md).

The more specific you are about output format, the more consistent your results will be.

Step 5: Package and Install

Mind you, all of this is still part of a conversation. I'm not coding the SKILL file at all.

Once I'm ready, I can ask Claude to create the official SKILL.md for me. To do that, you need to head to your account/settings and look in the capabilities section to turn on the skill-building skill. Basically, once you activate that, you can get Claude to make the skills for you.

Once it's finished with the SKILL.md file, you have two options.

Option A: Upload directly. If you have Claude Pro, Max, Team, or Enterprise, go to Settings, find the Skills section, and upload your skill folder as a .zip file.

Option B: Ask Claude to package it. If you're working in a conversation with computer use enabled, you can ask Claude to run the packaging script: scripts/package_skill.py <path/to/skill-folder>. This validates the skill and creates a .skill file you can distribute.

After installation, the skill appears in Claude's available skills. You don't need to mention it. Just say “Profile Notion” and Claude reads the skill, follows your process, and delivers results in your format.

Step 6: Use It, Then Improve It

The first version of any skill is a hypothesis. Use it on real work and notice what's missing.

After running the evaluate-company skill a few times, I added usage notes at the bottom:

  • If Apify is available, use for LinkedIn company posts when web_fetch is insufficient
  • Always include the date in filename, profiles are point-in-time snapshots
  • If a dimension has no data, note “Not found” rather than omitting the section
  • Prioritize accuracy over completeness, don't invent details

These notes came from watching the skill in action and catching edge cases. Every skill gets better with use.

What Changes When You Have Skills

Before: Every competitive analysis started with me re-explaining what I wanted, hoping I remembered to ask for all the dimensions, getting inconsistent formats.

After: “Profile Linear.” Done. Same process, same format, every time.

The real shift isn't efficiency, though that's real. The real shift is that your expertise becomes permanent. You're not just having conversations. You're building institutional knowledge that compounds.

I ended up with three skills from that one conversation: evaluate-company for single profiles, compare-companies for side-by-side analysis, and trend-company for tracking changes over time when I have multiple dated profiles for the same company.

None of them required infrastructure. No databases, no Cloudflare Workers, no scheduling systems. Just clear instructions in a format Claude understands.

That's the pattern. Start with a conversation. Let it surface your process. Write it down in a skill. Use it until it's second nature.

Want to skip these steps and just steal my three skills?

Your expertise deserves to be permanent.