Competitive Feature Matrix Builder
This skill reads a folder of competitor notes (md or txt files) and produces a comparative feature matrix with a gap analysis and recommendations. No web access or API required — fully file-based, designed for Cowork.
Input:
- Folder path containing competitor notes (one file per competitor recommended; md or txt format)
- Optional: a file named
your-product.md or own-product.md for self-comparison
Output:
- Markdown response with three sections: Feature Matrix (table), Gap Analysis, and Recommendations
Language Detection
Detect the user's language from their message:
- If Russian (or contains Cyrillic): respond in Russian
- If English (or other Latin-script language): respond in English
- If ambiguous: respond in the language of the trigger phrase used
Instructions
Step 1: Validate Input
Check that the user provided a folder path.
- If no path given: stop and respond: "Provide the path to a folder containing competitor notes in md or txt format."
Scan the folder for md and txt files.
- If folder is empty or does not exist: stop and respond: "No files found at the provided path. Provide a folder path containing competitor notes in md or txt format."
- Report the number of files found: "Found N files: [list filenames]."
Check if any file is named your-product.md or own-product.md.
- If found: include as "Your Product" column in the matrix.
- If not found: proceed without self-comparison column; add a closing note: "Add a file named
your-product.md to enable self-comparison and gap analysis."
Step 2: Extract Competitor Names and Features
For each file (excluding your-product.md/own-product.md if present):
- Competitor name: Use the first-level heading (# Name) if present; otherwise use the filename without extension (e.g.,
salesforce-notes.md → "Salesforce").
- Feature extraction: Scan the file for product features, capabilities, and attributes using these signals:
- Explicit feature lists (bullet points, numbered lists, tables)
- Sentences with action verbs: "supports", "offers", "includes", "has", "provides", "enables"
- Comparison language: "unlike X, they have…", "also includes…", "unique to them…"
- Section headings describing product areas (e.g., "Integrations", "Analytics", "Pricing")
For your-product.md/own-product.md (if present):
- Apply the same extraction logic.
- Label column as "Your Product" in the matrix.
If a file contains no extractable product features (e.g., meeting notes, financial data, contact list):
- Skip the file and log: "Skipped [filename] — no product features found."
- If all files are skipped: stop and respond: "No product features could be extracted from the provided files. Ensure your notes describe competitor product capabilities, features, or attributes."
Step 3: Normalize the Feature List
Compile all extracted features into a single master list.
Deduplicate and normalize:
- Group features that describe the same capability under different names (e.g., "REST API", "API access", "API integration" → group as "API / Integrations").
- Use the most descriptive name for the grouped row.
- Keep a footnote listing original terms grouped together (append after the matrix).
Sort features: group by product area if discernible (e.g., "Core Features", "Integrations", "Analytics", "Pricing/Packaging"), then alphabetically within groups.
Step 4: Build the Feature Matrix
Create a markdown table:
- Rows: one per normalized feature
- Columns: one per competitor + "Your Product" (if present)
For each cell, assign a symbol:
- ✓ — feature explicitly mentioned as present
- ✗ — feature explicitly mentioned as absent or not supported
- ? — not mentioned in the notes (unknown)
Add a legend line below the table:
*Legend: ✓ = confirmed present, ✗ = confirmed absent, ? = not mentioned in notes*
Edge Cases:
- If only one competitor file is present: build a single-column matrix; add note: "Gap analysis requires 2+ competitors — only the feature list is generated here."
- If files contain mostly unstructured prose (no lists or headings): extract features from paragraph context; flag: "Features extracted from unstructured text — review for accuracy before sharing."
Step 5: Gap Analysis
Identify gaps in Your Product (only if your-product.md was provided):
- Feature gaps = features where 2+ competitors have ✓ and Your Product has ✗ or ?
- Sort by number of competitors with the feature (descending = highest priority first)
- Assign priority: High (all competitors have it), Medium (majority), Low (minority but 2+)
Identify unique competitor differentiators:
- Features that only one competitor has (✓ in exactly one column) — these are niche signals to monitor, not immediate gaps
Identify your differentiators (only if your-product.md was provided):
- Features where Your Product has ✓ and all competitors have ✗ or ? — these are unique advantages
If no your-product.md: list features present in 2+ competitors as "Common features across the competitive landscape" (ordered by coverage breadth).
Step 6: Recommendations
Write 2–4 short recommendation bullets based on the gap analysis:
- High-priority gaps: suggest evaluating for next roadmap cycle
- Watch-list items: suggest monitoring for adoption trends
- Differentiators: suggest protecting and amplifying
Keep recommendations specific to feature names found — do not generate generic advice.
Step 7: Output
Assemble and output the full response in three sections: Feature Matrix → Gap Analysis → Recommendations.
Add an opening line: "Processed N files: [competitor list]. Matrix covers M features."
Negative Cases
- Empty folder or invalid path: Stop with message: "No files found at the provided path. Provide a folder path containing competitor notes in md or txt format."
- All files non-feature content: Stop with message: "No product features could be extracted from the provided files."
- Single file, no your-product.md: Build feature list only; note gap analysis is not possible with one competitor.
Output Format
Processed N files: Competitor A, Competitor B, Competitor C. Matrix covers M features.
## Feature Matrix
| Feature | Competitor A | Competitor B | Competitor C | Your Product |
|---------|:---:|:---:|:---:|:---:|
| API / Integrations | ✓ | ✓ | ✗ | ✓ |
| Mobile App | ✓ | ✗ | ✓ | ✗ |
| Analytics Dashboard | ? | ✓ | ✓ | ✗ |
*Legend: ✓ = confirmed present, ✗ = confirmed absent, ? = not mentioned in notes*
---
## Gap Analysis
**Gaps in Your Product (features 2+ competitors have that you don't):**
| Feature | Competitors With It | Priority |
|---------|---------------------|---------|
| Mobile App | Competitor A, Competitor C | High |
| Analytics Dashboard | Competitor B, Competitor C | Medium |
**Unique Competitor Differentiators (only one competitor has):**
- [Feature X]: only Competitor B — monitor for broader adoption
**Your Differentiators:**
- [Feature Y]: unique to your product — protect and amplify
---
## Recommendations
1. **High priority:** Mobile App — 2/3 competitors have it. Evaluate for next planning cycle.
2. **Medium priority:** Analytics Dashboard — 2/3 competitors have it. Gather user demand signal before committing.
3. **Watch:** [Feature X] — niche differentiator for Competitor B; track if others adopt it.
1---2name: competitive-feature-matrix-builder3description: Build a comparative feature matrix and gap analysis from a folder of competitor notes (md/txt). Works fully offline — no web access needed. Use when preparing roadmap reviews, competitive analysis sessions, or feature prioritization. Triggers: 'build feature matrix', 'competitive feature matrix', 'compare competitors from notes', 'составь feature matrix', 'матрица фич конкурентов'.4---56# Competitive Feature Matrix Builder78This skill reads a folder of competitor notes (md or txt files) and produces a comparative feature matrix with a gap analysis and recommendations. No web access or API required — fully file-based, designed for Cowork.910**Input:**11- Folder path containing competitor notes (one file per competitor recommended; md or txt format)12- Optional: a file named `your-product.md` or `own-product.md` for self-comparison1314**Output:**15- Markdown response with three sections: Feature Matrix (table), Gap Analysis, and Recommendations1617---1819## Language Detection2021Detect the user's language from their message:22- If Russian (or contains Cyrillic): respond in Russian23- If English (or other Latin-script language): respond in English24- If ambiguous: respond in the language of the trigger phrase used2526---2728## Instructions2930### Step 1: Validate Input31321. Check that the user provided a folder path.33 - If no path given: stop and respond: "Provide the path to a folder containing competitor notes in md or txt format."34352. Scan the folder for md and txt files.36 - If folder is empty or does not exist: stop and respond: "No files found at the provided path. Provide a folder path containing competitor notes in md or txt format."37 - Report the number of files found: "Found N files: [list filenames]."38393. Check if any file is named `your-product.md` or `own-product.md`.40 - If found: include as "Your Product" column in the matrix.41 - If not found: proceed without self-comparison column; add a closing note: "Add a file named `your-product.md` to enable self-comparison and gap analysis."4243### Step 2: Extract Competitor Names and Features44451. For each file (excluding `your-product.md`/`own-product.md` if present):46 - **Competitor name:** Use the first-level heading (# Name) if present; otherwise use the filename without extension (e.g., `salesforce-notes.md` → "Salesforce").47 - **Feature extraction:** Scan the file for product features, capabilities, and attributes using these signals:48 - Explicit feature lists (bullet points, numbered lists, tables)49 - Sentences with action verbs: "supports", "offers", "includes", "has", "provides", "enables"50 - Comparison language: "unlike X, they have…", "also includes…", "unique to them…"51 - Section headings describing product areas (e.g., "Integrations", "Analytics", "Pricing")52532. For `your-product.md`/`own-product.md` (if present):54 - Apply the same extraction logic.55 - Label column as "Your Product" in the matrix.56573. If a file contains no extractable product features (e.g., meeting notes, financial data, contact list):58 - Skip the file and log: "Skipped [filename] — no product features found."59 - If all files are skipped: stop and respond: "No product features could be extracted from the provided files. Ensure your notes describe competitor product capabilities, features, or attributes."6061### Step 3: Normalize the Feature List62631. Compile all extracted features into a single master list.64652. Deduplicate and normalize:66 - Group features that describe the same capability under different names (e.g., "REST API", "API access", "API integration" → group as "API / Integrations").67 - Use the most descriptive name for the grouped row.68 - Keep a footnote listing original terms grouped together (append after the matrix).69703. Sort features: group by product area if discernible (e.g., "Core Features", "Integrations", "Analytics", "Pricing/Packaging"), then alphabetically within groups.7172### Step 4: Build the Feature Matrix73741. Create a markdown table:75 - Rows: one per normalized feature76 - Columns: one per competitor + "Your Product" (if present)77782. For each cell, assign a symbol:79 - **✓** — feature explicitly mentioned as present80 - **✗** — feature explicitly mentioned as absent or not supported81 - **?** — not mentioned in the notes (unknown)82833. Add a legend line below the table:84 `*Legend: ✓ = confirmed present, ✗ = confirmed absent, ? = not mentioned in notes*`8586**Edge Cases:**87- If only one competitor file is present: build a single-column matrix; add note: "Gap analysis requires 2+ competitors — only the feature list is generated here."88- If files contain mostly unstructured prose (no lists or headings): extract features from paragraph context; flag: "Features extracted from unstructured text — review for accuracy before sharing."8990### Step 5: Gap Analysis91921. Identify **gaps in Your Product** (only if `your-product.md` was provided):93 - Feature gaps = features where 2+ competitors have ✓ and Your Product has ✗ or ?94 - Sort by number of competitors with the feature (descending = highest priority first)95 - Assign priority: High (all competitors have it), Medium (majority), Low (minority but 2+)96972. Identify **unique competitor differentiators**:98 - Features that only one competitor has (✓ in exactly one column) — these are niche signals to monitor, not immediate gaps991003. Identify **your differentiators** (only if `your-product.md` was provided):101 - Features where Your Product has ✓ and all competitors have ✗ or ? — these are unique advantages1021034. If no `your-product.md`: list features present in 2+ competitors as "Common features across the competitive landscape" (ordered by coverage breadth).104105### Step 6: Recommendations1061071. Write 2–4 short recommendation bullets based on the gap analysis:108 - High-priority gaps: suggest evaluating for next roadmap cycle109 - Watch-list items: suggest monitoring for adoption trends110 - Differentiators: suggest protecting and amplifying1111122. Keep recommendations specific to feature names found — do not generate generic advice.113114### Step 7: Output115116Assemble and output the full response in three sections: Feature Matrix → Gap Analysis → Recommendations.117118Add an opening line: "Processed N files: [competitor list]. Matrix covers M features."119120---121122## Negative Cases123124- **Empty folder or invalid path:** Stop with message: "No files found at the provided path. Provide a folder path containing competitor notes in md or txt format."125- **All files non-feature content:** Stop with message: "No product features could be extracted from the provided files."126- **Single file, no your-product.md:** Build feature list only; note gap analysis is not possible with one competitor.127128---129130## Output Format131132```133Processed N files: Competitor A, Competitor B, Competitor C. Matrix covers M features.134135## Feature Matrix136137| Feature | Competitor A | Competitor B | Competitor C | Your Product |138|---------|:---:|:---:|:---:|:---:|139| API / Integrations | ✓ | ✓ | ✗ | ✓ |140| Mobile App | ✓ | ✗ | ✓ | ✗ |141| Analytics Dashboard | ? | ✓ | ✓ | ✗ |142143*Legend: ✓ = confirmed present, ✗ = confirmed absent, ? = not mentioned in notes*144145---146147## Gap Analysis148149**Gaps in Your Product (features 2+ competitors have that you don't):**150151| Feature | Competitors With It | Priority |152|---------|---------------------|---------|153| Mobile App | Competitor A, Competitor C | High |154| Analytics Dashboard | Competitor B, Competitor C | Medium |155156**Unique Competitor Differentiators (only one competitor has):**157- [Feature X]: only Competitor B — monitor for broader adoption158159**Your Differentiators:**160- [Feature Y]: unique to your product — protect and amplify161162---163164## Recommendations1651661. **High priority:** Mobile App — 2/3 competitors have it. Evaluate for next planning cycle.1672. **Medium priority:** Analytics Dashboard — 2/3 competitors have it. Gather user demand signal before committing.1683. **Watch:** [Feature X] — niche differentiator for Competitor B; track if others adopt it.169```