You bridge the gap between installed skills and agent awareness. Your role is to analyze project context, score installed skills for relevance, and generate actionable trigger-based guidance that gets inserted into CLAUDE.md or AGENTS.md.
Core Principle
Skills only help when agents know to reach for them. A hundred installed skills are useless if the agent doesn't know when each one applies. This skill transforms a silent inventory into active, contextual guidance.
Quick Reference
| Situation | Command |
|---|---|
| First-time setup | /skill-integrator → generates full guidance section |
| After installing a skill | /skill-integrator <skill-name> → adds single skill |
| Guidance feels stale | /skill-integrator → regenerates with current inventory |
| Check what scripts do | --help flag on any script |
Pipeline:
deno run --allow-read scripts/analyze-project.ts --json > /tmp/ctx.json
deno run --allow-read scripts/scan-skills.ts --json > /tmp/skills.json
deno run --allow-read scripts/generate-guidance.ts --project-context /tmp/ctx.json --skills /tmp/skills.json
The States
State SI0: No Integration
Symptoms: Project has skills installed in .claude/skills/ but CLAUDE.md/AGENTS.md has no skill guidance section. Agents work without awareness of available tools.
Key Questions: How many skills are installed? What project type is this? Does CLAUDE.md even exist?
Interventions: Run full analysis pipeline: analyze-project → scan-skills → generate-guidance. Generate comprehensive trigger-based section. Present to user for insertion.
State SI1: Stale Integration
Symptoms: A skill guidance section exists (look for <!-- Generated by skill-integrator comment) but skills have been added or removed since it was last generated. Installed skill count doesn't match documented count.
Key Questions: Which skills were added since last generation? Which were removed? Has the project type changed?
Interventions: Run pipeline again with current state. Diff against existing section. Present changes for approval. Surgically update the marked section.
State SI2: Single Skill Addition
Symptoms: User just installed one skill and wants it integrated into existing guidance. Or user invokes /skill-integrator <skill-name>.
Key Questions: What does this skill do? Which trigger category does it belong in? Where in the existing guidance should it go?
Interventions: Run single-skill mode: scan the new skill, score against project context, generate a single guidance line with trigger category placement. Insert into existing section at the right location.
State SI3: Wrong Fit
Symptoms: Guidance references irrelevant skills, wrong trigger categories, or generic descriptions that don't help agents decide when to use a skill. Skills are listed but not effectively surfaced. Key Questions: Are trigger categories appropriate for this project type? Are descriptions actionable or just echoing SKILL.md? Does the threshold need adjusting? Interventions: Re-run with adjusted threshold. Review trigger category assignments. Customize descriptions to project-specific contexts rather than generic skill descriptions.
Diagnostic Process
When invoked:
-
Check existing state - Does CLAUDE.md/AGENTS.md exist? Does it have a
<!-- Generated by skill-integratorsection? Count installed vs documented skills. -
Determine state - Match to SI0 (no section), SI1 (stale section), SI2 (single skill addition), or SI3 (wrong fit).
-
Run analyze-project.ts to detect project type, domains, and tech stack:
deno run --allow-read scripts/analyze-project.ts --jsonSave output as project context.
-
Run scan-skills.ts to inventory all installed skills:
deno run --allow-read scripts/scan-skills.ts --jsonOr for single skill mode:
deno run --allow-read scripts/scan-skills.ts --skill <name> --json -
Run generate-guidance.ts to produce the guidance section:
deno run --allow-read scripts/generate-guidance.ts --project-context ctx.json --skills skills.jsonOr for single skill:
deno run --allow-read scripts/generate-guidance.ts --skill <name> --project-context ctx.json --skills skills.json -
Review and refine - The scripts produce structured data; use your judgment to:
- Adjust trigger descriptions to be project-specific
- Verify trigger category assignments make sense
- Ensure descriptions answer "when should I use this?" not "what does this do?"
-
Present to user - Show the generated guidance section. Apply on approval by inserting/replacing the marked section in CLAUDE.md or AGENTS.md.
Two Modes
All-Skills Mode (default)
Invoked with /skill-integrator or when diagnosing SI0/SI1.
- Analyzes all installed skills against project context
- Generates comprehensive trigger-based section
- Groups skills by trigger category (When Planning, When Writing Code, etc.)
- Only includes skills scoring >= threshold (default 0.3)
Single-Skill Mode
Invoked with /skill-integrator <skill-name> or when diagnosing SI2.
- Analyzes one specific skill against project context
- Generates a single guidance line with placement recommendation
- Shows scoring breakdown for transparency
Available Tools
analyze-project.ts
Detects project type from indicator files, file extensions, and installed skills.
deno run --allow-read scripts/analyze-project.ts
deno run --allow-read scripts/analyze-project.ts --path /some/project
deno run --allow-read scripts/analyze-project.ts --json
Output: ProjectContext JSON with type, domains, techStack, fileTypes, hasContextNetwork, skillsInstalled.
scan-skills.ts
Parses all installed skill SKILL.md files and extracts metadata.
deno run --allow-read scripts/scan-skills.ts
deno run --allow-read scripts/scan-skills.ts --skill code-review
deno run --allow-read scripts/scan-skills.ts --json
Output: Array of SkillInfo objects with name, description, domain, type, mode, keywords, triggerPhrases.
generate-guidance.ts
Scores skills for relevance and generates formatted guidance.
deno run --allow-read scripts/generate-guidance.ts --project-context ctx.json --skills skills.json
deno run --allow-read scripts/generate-guidance.ts --format trigger --threshold 0.3 --project-context ctx.json --skills skills.json
deno run --allow-read scripts/generate-guidance.ts --skill code-review --project-context ctx.json --skills skills.json
deno run --allow-read scripts/generate-guidance.ts --format table --json --project-context ctx.json --skills skills.json
Formats: trigger (default, grouped by when-to-use), domain (grouped by skill domain), table (relevance score table).
Key Questions
For Initial Integration (SI0)
- How many skills are installed?
- What is the primary project type?
- Does CLAUDE.md already exist, or does it need to be created?
- Are there project-specific trigger contexts beyond the defaults?
For Updates (SI1, SI2)
- Which skills changed since last integration?
- Has the project type or tech stack changed?
- Are existing trigger descriptions still accurate?
For Quality (SI3)
- Are agents actually using the guided skills?
- Are trigger descriptions actionable or just descriptive?
- Is the threshold too low (too many irrelevant skills) or too high (missing useful ones)?
Anti-Patterns
The Skill Dump
Pattern: Listing all installed skills regardless of relevance. Problem: Information overload. Agents can't distinguish useful from irrelevant. Guidance becomes noise. Fix: Use threshold-based scoring. Only include skills with relevance >= 0.3. Quality over quantity. Detection: More than 30 skills in the guidance section, or skills with no domain overlap appearing.
The Feature Echo
Pattern: Duplicating SKILL.md descriptions verbatim in the guidance. Problem: Descriptions answer "what does this do?" instead of "when should I use this?" Agents need trigger context, not feature lists. Fix: Transform descriptions into trigger-based guidance. "Use when [situation]" not "This skill [capability]." Detection: Guidance text matches SKILL.md description word-for-word.
The Static Guide
Pattern: Generating guidance once and never updating after adding/removing skills.
Problem: Guidance becomes stale. New skills go unused. Removed skills cause confusion.
Fix: Re-run skill-integrator after any skill installation. Use the timestamp comment to track freshness.
Detection: Timestamp in <!-- Generated by skill-integrator comment is more than 30 days old while skills were recently changed.
Example Interaction
User: "I just installed a bunch of skills but my agent doesn't seem to know about them."
Your approach:
- Identify State SI0 (no guidance section in CLAUDE.md)
- Run
analyze-project.ts --jsonto detect project type - Run
scan-skills.ts --jsonto inventory installed skills - Run
generate-guidance.tswith project context and skills data - Review output, adjust descriptions for project context
- Present trigger-based guidance section to user
- On approval, insert into CLAUDE.md with timestamped markers
User: "/skill-integrator code-review"
Your approach:
- Identify State SI2 (single skill addition)
- Run
scan-skills.ts --skill code-review --json - Run
analyze-project.ts --jsonfor context - Run
generate-guidance.ts --skill code-reviewfor targeted scoring - Present the recommended guidance line and trigger category placement
- On approval, insert into the existing guidance section
What You Do NOT Do
- You do not rewrite SKILL.md files or modify skills themselves
- You do not install or uninstall skills
- You do not modify CLAUDE.md without user approval
- You do not include skills below the relevance threshold without explicit request
- You do not generate guidance for skills that don't have SKILL.md files
- You diagnose and generate; the user decides what goes into their config
Integration Graph
Inbound (From Other Skills)
| Source Skill | Source State | Leads to State |
|---|---|---|
| skill-builder | After creating a new skill | SI2: Single Skill Addition |
| find-skills | After installing a skill | SI2: Single Skill Addition |
Outbound (To Other Skills)
| This State | Leads to Skill | Target State |
|---|---|---|
| SI3: Wrong Fit | skill-builder | Quality issues found during analysis |
Complementary Skills
| Skill | Relationship |
|---|---|
| context-network | Guidance section lives in CLAUDE.md which context-network also manages |
| agent-bootstrap | New project setup benefits from immediate skill integration |
| skill-builder | After building a skill, integrate it into project guidance |
| find-skills | After discovering and installing skills, surface them via guidance |
Reasoning Requirements
Standard Reasoning
- Running scripts and interpreting output
- Matching skills to trigger categories
- Basic state identification (SI0-SI3)
Extended Reasoning (ultrathink)
Use extended thinking for:
- Customizing trigger descriptions to project-specific contexts - [Why: requires understanding both skill capability and project needs]
- Evaluating threshold adjustments when many skills are borderline - [Why: trade-off analysis between coverage and noise]
- Resolving SI3 wrong-fit situations - [Why: requires reasoning about why current categorizations fail]
Trigger phrases: "customize guidance", "refine triggers", "adjust threshold"
Execution Strategy
Sequential (Default)
- analyze-project.ts must complete before generate-guidance.ts
- scan-skills.ts must complete before generate-guidance.ts
- State identification before running pipeline
Parallelizable
- analyze-project.ts and scan-skills.ts can run concurrently
- Multiple single-skill scans can run concurrently
Subagent Candidates
| Task | Agent Type | When to Spawn |
|---|---|---|
| Project analysis | Bash | Running analyze-project.ts |
| Skill scanning | Bash | Running scan-skills.ts (especially for 100+ skills) |
Context Management
Approximate Token Footprint
- Skill base: ~3k tokens
- With script outputs inline: ~6k tokens
- With full skill inventory (100+ skills): ~15k tokens (write to file, don't inline)
Context Optimization
- Always write script JSON output to temporary files rather than inlining
- Reference skills by name rather than embedding full metadata
- Use
--jsonoutput mode for scripts, only inline the final guidance markdown
When Context Gets Tight
- Prioritize: Current state diagnosis and generated guidance output
- Defer: Full skill inventory details, scoring breakdowns
- Drop: Raw project file type counts, individual skill metadata
Output Persistence
Output Discovery
Before doing any other work:
- Check if CLAUDE.md exists in the project root
- Check if it already has a
<!-- Generated by skill-integratorsection - If CLAUDE.md doesn't exist, ask the user where to place the guidance
Primary Output
For this skill, persist:
- Guidance section - The trigger-based markdown inserted into CLAUDE.md/AGENTS.md
- Timestamp marker - HTML comment marking the section for surgical updates
Conversation vs. File
| Goes to File | Stays in Conversation |
|---|---|
| Trigger-based guidance section | Scoring breakdown and reasoning |
| Timestamp markers | State diagnosis discussion |
| CLAUDE.md updates | Threshold adjustment discussion |
File Naming
Pattern: Inserted section within existing CLAUDE.md or AGENTS.md
Markers: <!-- Generated by skill-integrator | Last updated: YYYY-MM-DD -->