Now liveThe Skillselion MCP - thousands of ranked skills, loaded into your agent mid-task. No install.Get it →
eyadsibai avatar

Syncing Submodules

  • 52 installs
  • 7 repo stars
  • Updated January 15, 2026
  • eyadsibai/ltk

Helps with ai & agent building tasks.

About

syncing-submodules is a Claude Code skill for ai & agent building. It helps solo builders move faster with AI-assisted development.

  • syncing-submodules
  • AI & Agent Building
  • AI-coding skill

Syncing Submodules by the numbers

  • 52 all-time installs (skills.sh)
  • Ranked #7,086 of 16,546 AI & Agent Building skills by installs in the Skillselion catalog
  • Data as of Jul 30, 2026 (Skillselion catalog sync)
npx skills add https://github.com/eyadsibai/ltk --skill syncing-submodules

Add your badge

Show developers this skill is listed on Skillselion. Paste this into your README.

Listed on Skillselion
Installs52
repo stars7
Last updatedJanuary 15, 2026
Repositoryeyadsibai/ltk

What it does

Helps with ai & agent building tasks.

Files

SKILL.mdMarkdownGitHub ↗

Intelligent Submodule Sync System

This skill provides a sophisticated framework for syncing components from git submodules while ensuring consistency, avoiding duplicates, and maintaining quality.

Core Principles

1. No Duplicates - Same concept should exist only once 2. No Near-Duplicates - Similar concepts should be merged 3. Quality Over Quantity - Better to have fewer excellent components than many mediocre ones 4. Semantic Analysis - Compare meaning, not just names 5. Synthesis Over Copying - Create superior merged versions

---

Phase 1: Deep Discovery

1.1 Scan All Submodules

# Update submodules
git submodule update --remote --merge

# Create inventory
for submodule in submodules/*/; do
  echo "=== $submodule ==="
  find "$submodule" -name "SKILL.md" -o -name "*.md" -path "*/commands/*" -o -name "*.md" -path "*/agents/*"
done

1.2 Extract Component Metadata

For EACH discovered component, extract:

component:
  name: "component-name"
  type: "skill|agent|command|hook"
  source: "submodule-name"
  path: "full/path/to/file"

  # Deep analysis fields
  primary_purpose: "One sentence describing main function"
  keywords: ["keyword1", "keyword2", "keyword3"]
  capabilities: ["capability1", "capability2"]
  target_audience: "who uses this"
  domain: "core|engineering|data|devops|design|product|github"

---

Phase 2: Semantic Similarity Analysis

2.1 Similarity Detection Matrix

For each pair of components (existing + new), calculate similarity:

Similarity TypeWeightDetection Method
Name Similarity15%Levenshtein distance, common prefixes
Keyword Overlap25%Jaccard similarity of extracted keywords
Purpose Overlap30%Semantic comparison of descriptions
Capability Overlap30%Function/feature comparison

2.2 Similarity Thresholds

ScoreClassificationAction
90-100%DuplicateKeep best, discard other
70-89%Near-DuplicateMerge into single component
50-69%RelatedConsider consolidation
30-49%Tangentially RelatedKeep separate, cross-reference
0-29%DistinctAdd if quality threshold met

2.3 Semantic Comparison Checklist

When comparing two similar components:

## Comparison: [Component A] vs [Component B]

### Purpose Analysis
- A's purpose: ___
- B's purpose: ___
- Overlap: ___% | Distinct: ___%

### Content Comparison
| Aspect | Component A | Component B | Better |
|--------|-------------|-------------|--------|
| Completeness | 1-10 | 1-10 | A/B |
| Clarity | 1-10 | 1-10 | A/B |
| Examples | count | count | A/B |
| Edge cases | count | count | A/B |
| Actionability | 1-10 | 1-10 | A/B |

### Unique Features
- Only in A: ___
- Only in B: ___

### Decision: [KEEP_A | KEEP_B | MERGE | KEEP_BOTH]
### Rationale: ___

---

Phase 3: Quality Scoring

3.1 Component Quality Rubric

Score each component 0-100:

CriterionWeightScoring
Completeness20%Covers topic thoroughly
Clarity20%Easy to understand and follow
Actionability15%Provides concrete steps
Examples15%Has good, relevant examples
Edge Cases10%Handles exceptions
Formatting10%Proper markdown, structure
CSO Optimization10%Good trigger phrases in description

3.2 Quality Thresholds

ScoreQuality LevelAction
80-100ExcellentAdd/keep as-is
60-79GoodAdd with minor improvements
40-59MediocreOnly add if fills gap, improve first
0-39PoorDo not add

---

Phase 4: Conflict Resolution

4.1 Same Concept, Different Names

Example: "verification" vs "validation" vs "checking-work"

Resolution Process:

1. Identify all variants 2. Analyze each for unique value 3. Choose canonical name (most intuitive) 4. Merge all content into canonical 5. Ensure description covers ALL trigger phrases

4.2 Same Name, Different Purposes

Example: Two "debug" commands doing different things

Resolution Process:

1. Determine which aligns with ltk's existing conventions 2. Rename the other to be more specific 3. Or merge if they're complementary

4.3 Conflicting Advice

Example: One says "always use X", another says "never use X"

Resolution Process:

1. Identify the CONTEXT for each piece of advice 2. Create nuanced guidance with conditions 3. Add examples for each scenario 4. Document when each applies

4.4 Decision Tree

Is this component new to ltk?
├── YES → Quality score >= 60?
│   ├── YES → Add with ltk conventions
│   └── NO → Skip or improve first
│
└── NO → Similar exists in ltk
    ├── Similarity >= 90% (Duplicate)
    │   └── Compare quality scores → Keep better one
    │
    ├── Similarity 70-89% (Near-Duplicate)
    │   └── Merge: combine best of both
    │
    ├── Similarity 50-69% (Related)
    │   └── Evaluate: consolidate or keep separate?
    │
    └── Similarity < 50% (Distinct enough)
        └── Quality score >= 60? → Add

---

Phase 5: Domain-Specific Placement

5.1 Domain Classification

DomainPluginIndicators
Context/Memory/Agentsltk-core"context", "memory", "agent", "prompt", "LLM"
Code/Testing/Architectureltk-engineering"code", "test", "refactor", "architecture"
Data/ML/Analyticsltk-data"data", "SQL", "ML", "analytics", "database"
Infrastructure/Securityltk-devops"deploy", "k8s", "docker", "security", "CI/CD"
UI/UX/Accessibilityltk-design"design", "UI", "UX", "accessibility", "CSS"
Marketing/Sales/Businessltk-product"marketing", "sales", "SEO", "content", "business"
Git/GitHub/PRsltk-github"git", "PR", "commit", "GitHub", "branch"

5.2 Cross-Domain Components

Some components span domains. Place in PRIMARY domain, cross-reference in others:

# In primary location
---
name: component-name
related:
  - ltk-engineering/skills/related-skill
  - ltk-devops/agents/related-agent
---

---

Phase 6: Merge Strategies

6.1 Skill Merge Template

---
name: merged-skill-name
description: [Combined CSO-optimized description covering ALL trigger phrases]
version: 1.0.0
sources: [source1, source2]  # Attribution
---

# [Skill Title]

[Best introduction from all sources]

## [Section from Source A - if superior]

[Content]

## [Section from Source B - if unique]

[Content]

## [Merged section - combining both]

[Synthesized content taking best from each]

<!--
Merge Notes:
- Took X from source1 because: reason
- Took Y from source2 because: reason
- Combined Z because: reason
-->

6.2 Agent Merge Strategy

---
agent: merged-agent-name
description: |
  [Combined description with all use cases]
  <example>...</example>
  <example>...</example>  # Include examples from ALL sources
model: [keep more capable model]
tools: [union of all tools needed]
color: [consistent with ltk conventions]
sources: [source1, source2]
---

# [Agent Title]

[Synthesized capabilities from all sources]

## Workflow
[Best workflow, enhanced with steps from other sources]

6.3 Command Merge Strategy

Commands should generally NOT be merged - they're distinct actions. Instead:

  • Keep the more complete version
  • Add unique features from other version
  • Ensure no naming conflicts

---

Phase 7: Deduplication Audit

7.1 Pre-Sync Audit

Before syncing, audit EXISTING ltk components:

# Find potential duplicates by keyword analysis
for skill in plugins/*/skills/*/SKILL.md; do
  echo "=== $skill ==="
  grep -i "description:" "$skill"
done | sort | uniq -c | sort -rn

7.2 Duplicate Detection Patterns

PatternLikely Duplicate
Same verb + noun"code review" / "reviewing code"
Synonym usage"validate" / "verify" / "check"
Same domain + action"git commit" / "committing changes"
Acronym vs full"TDD" / "test driven development"

7.3 Post-Sync Verification

After sync, verify no duplicates introduced:

# Check for duplicate skill names
find plugins -name "SKILL.md" -exec basename {} \; | sort | uniq -c | sort -rn | head -20

# Check for duplicate agent names
find plugins/*/agents -name "*.md" -exec basename {} .md \; | sort | uniq -c | sort -rn | head -20

# Check for duplicate command names
find plugins/*/commands -name "*.md" -exec basename {} .md \; | sort | uniq -c | sort -rn | head -20

---

Phase 8: Output Report Format

# Submodule Sync Report

**Date:** YYYY-MM-DD
**Submodules Analyzed:** N
**Components Discovered:** N
**Components Added:** N
**Components Merged:** N
**Duplicates Removed:** N

## Similarity Analysis Summary

| Comparison | Similarity | Decision |
|------------|------------|----------|
| A vs B | 85% | Merged → A |
| C vs D | 95% | Duplicate, kept C |
| E vs F | 45% | Kept both |

## Quality Scores

| Component | Source | Score | Decision |
|-----------|--------|-------|----------|
| skill-x | submodule-1 | 82 | Added |
| agent-y | submodule-2 | 55 | Improved, then added |
| command-z | submodule-3 | 35 | Rejected (low quality) |

## Components Added

| Type | Name | Domain | Source | Notes |
|------|------|--------|--------|-------|
| skill | name | ltk-core | sub1 | New capability |

## Components Merged

| Result | Sources | Merge Strategy |
|--------|---------|----------------|
| skill-a | skill-a1 + skill-a2 | Combined best sections |

## Duplicates Resolved

| Kept | Removed | Reason |
|------|---------|--------|
| A (ltk) | A' (submodule) | ltk version more complete |

## Rejected (Quality)

| Component | Source | Score | Reason |
|-----------|--------|-------|--------|
| skill-x | sub3 | 35 | Poor formatting, incomplete |

## Action Items

- [ ] Review merged component: X
- [ ] Test new command: Y
- [ ] Consider consolidating: Z1 + Z2

---

Remember

1. Always do semantic analysis - Names can be deceiving 2. Quality gates are mandatory - Don't add mediocre content 3. Merge > Add - Prefer enhancing existing over adding similar 4. Attribution matters - Credit sources 5. Test after sync - Verify nothing broke 6. Document decisions - Future you will thank present you

Related skills

This week in AI coding

Five minutes, every Monday - the tools, releases and tactics for developers.

unsubscribe anytime.