synthesis-skills-manager
Synthesis Skills Manager
You are an AI agent managing synthesis skills across a three-repo architecture. Skills are executable methodology for AI agents — not configuration files, not packages. This distinction matters for how you handle drift and conflicts.
Architecture
Three skill repositories, each with a different access level:
| Repo | Type | Access | Purpose |
|---|---|---|---|
synthesis-skills |
public | Open source | General-purpose methodology skills |
synthesis-skills-rajiv (or user's private repo) |
private | Owner only | Personal and proprietary skills |
synthesis-skills-mcclatchy (or team shared repo) |
shared | Team members | Cross-project team skills |
Installation targets (in priority order):
~/.claude/skills/— Claude Code~/.agents/skills/— Cross-platform convention~/.cursor/skills/— Cursor (if present)/path/to/project/.claude/skills/— Project-level (shared repo only)
Provenance Tracking
Every installed skill has a .source.json file (gitignored in source repos):
{
"source_repo": "github.com/rajivpant/synthesis-skills",
"source_type": "public",
"source_path": "synthesis-thinking-framework/SKILL.md",
"source_commit": "abc123...",
"installed_at": "2026-03-23T14:30:00Z",
"installed_by": "synthesis-skills-manager"
}
Commands
When the user asks you to manage skills, execute the appropriate command:
install [repo] [skill-name]
Install a skill from a source repo to the target location.
- Read the skill's SKILL.md from the source repo
- Check if a skill with the same name already exists at the target
- If it exists: a. Compare checksums (SHA-256 of SKILL.md content) b. If identical, skip (already up to date) c. If different, perform drift resolution (see below)
- Copy the skill directory to the target
- Write
.source.jsonwith current commit hash and timestamp - Check dependencies (read
depends_onfrom frontmatter, verify each is installed) - Report result
update [repo]
Update all skills from a source repo.
- For each skill in the source repo, run the install flow
- Report: updated, skipped (unchanged), merged (drift resolved)
status
Show the state of all installed skills.
- Scan all target directories for skill directories (contain SKILL.md)
- Group by source_repo (from .source.json)
- For each skill:
- Read
.source.jsonfor provenance - Compare installed SKILL.md checksum against source (if source repo is available locally)
- Report: OK, DRIFT (local changes), MISSING (in source but not installed), ORPHAN (installed but not in any known source)
- Read
- Check all dependencies
- Validate access hierarchy
drift [skill-name]
Show what changed between installed and source versions.
- Read both SKILL.md files
- Show a diff summary (sections added, removed, modified)
- Recommend: accept source, keep local, or merge
merge [skill-name]
Perform synthesis merge when drift is detected.
This is the key differentiator from package managers. Skills are methodology — when the installed copy and source both have legitimate changes, the right answer is synthesis merge, not "pick a version."
Merge protocol:
- Read the source version (from repo)
- Read the installed version (from target)
- Read
.source.jsonto find the common ancestor commit - Identify what changed in each:
- Source changes: new sections, updated instructions, bug fixes
- Local changes: customizations, environment-specific tweaks, improvements
- Synthesize:
- Keep all source structural changes (new sections, reordered steps)
- Keep all local customizations that don't conflict with source intent
- For true conflicts (both changed the same instruction differently), present both versions and ask the user
- Write the merged result to the installed location
- Update
.source.jsonwith new commit hash
What makes this different from git merge: Git merges text. This merges methodology. An AI agent understands that moving a step from section 3 to section 2 is not a conflict with adding a new substep to section 3 — even though a text-based merge would flag it.
Dependency Access Hierarchy
Strict rules — enforced on every install and status check:
| Skill Type | Can Depend On |
|---|---|
| public | public only |
| private | public + private |
| shared | public + shared |
No cross-collection private dependencies. If a private skill needs functionality from a shared skill (or vice versa), the dependency must be promoted to public first.
Checking Dependencies
Read depends_on from SKILL.md frontmatter:
depends_on: ["synthesis-thinking-framework", "synthesis-content-quality"]
For each dependency:
- Check if it's installed in the target directory
- Read its
.source.jsonto get itssource_type - Validate against the hierarchy table
- Report warnings (missing) or violations (hierarchy breach)
Configuration Separation
Skills with user-specific values have a ## Configuration section with a table:
## Configuration
| Setting | Value | Description |
|---------|-------|-------------|
| `daily_plans_path` | `ai-knowledge-{workspace}/projects/_daily-plans/` | Where to save daily plans |
When installing a skill that has a Configuration section:
- Note the configuration table to the user
- If the user has previously configured values for this skill (in a prior installation), preserve them
- Never overwrite Configuration values during update — merge them
Workflow Examples
First-time setup
User: "Install all my synthesis skills"
1. Clone/update synthesis-skills (public) → install 22 skills to ~/.claude/skills/
2. Clone/update synthesis-skills-rajiv (private) → install 13 skills to ~/.claude/skills/
3. For project-level: install synthesis-skills-mcclatchy skills to project .claude/skills/
4. Write .source.json for each
5. Check all dependencies
6. Report summary
Drift detected during update
User: "Update my skills"
1. Pull latest from each repo
2. For synthesis-daily-rituals: installed checksum ≠ source checksum
3. Read both versions
4. Installed has: added clickable link instruction (local improvement)
5. Source has: no changes since last install
6. Decision: local is ahead of source → keep local, update .source.json timestamp
7. Report: "synthesis-daily-rituals: local changes preserved (source unchanged)"
Both sides changed
User: "Update my skills"
1. Pull latest from each repo
2. For synthesis-article-writing: installed checksum ≠ source checksum
3. Source has: new Phase 3 critical review section
4. Installed has: custom anonymization examples added
5. Decision: synthesis merge needed
6. Merge: keep new Phase 3 from source + keep custom examples from local
7. Report: "synthesis-article-writing: merged (source added Phase 3, kept local customizations)"
Error Handling
- Source repo not available locally: Report which repo is missing, suggest cloning it
- Circular dependencies: Detect and report (should never happen with the hierarchy)
- Corrupted .source.json: Regenerate from SKILL.md frontmatter (source_repo, source_type) and current state
- Skill with no frontmatter: Warn — skill doesn't follow the standard. Install anyway but flag for review.
Implementation Notes
This skill is designed to be executed by an AI agent (Claude Code, Cursor, etc.), not as a shell script. The agent reads files, compares content, understands methodology structure, and makes merge decisions that a text-based tool cannot.
The install.sh scripts in each repo serve as bootstrap/fallback installers for environments without an AI agent. They handle the mechanical parts (copy, provenance, checksums) but cannot do synthesis merge — they overwrite on conflict with a drift warning.
More from rajivpant/synthesis-skills
synthesis-fact-checking
Systematic fact-checking process for verifying claims in articles and blog posts, particularly those synthesized from multiple AI deep-research outputs. Use when asked to: fact-check, verify claims, verify sources, check accuracy, citation verification, review factual accuracy, validate references.
17synthesis-thinking-framework
Five-mode thinking methodology (first principles, systems thinking, complexity thinking, analogical thinking, design thinking) with a pre-response protocol for non-trivial problems. Provides the foundational reasoning approach that other synthesis skills build upon.
15synthesis-article-writing
>
14synthesis-codebase-review
Enterprise-scale codebase audit methodology with tiered review system (Essential through Mission-Critical). Use when asked to: codebase review, code audit, code review, review codebase, architecture review, security audit, full code review, enterprise review, codebase health check.
14synthesis-context-lifecycle
Three-tier context architecture for managing AI working memory across long-running projects. Use when asked to: manage context, project context, session management, context lifecycle, working memory, archival, archive sessions, context maintenance, garbage collection for context, tiered context.
14synthesis-code-planning
Structured approach to code generation, implementing features, and writing code. Use when asked to generate code, implement a feature, write code, or tackle a coding task. Analyzes the task, generates multiple approaches with trade-offs, selects the optimal solution, and implements it.
14