agentsclimarketplace

Creation guard

Skill kenantang/codex-and-claude-skills/collected-academic-research-skills/sources/flonat__claude-research/skills/creation-guard

Use when you need a pre-flight duplicate check before creating new skills or agents.From its SKILL.md

Install
npx -y skills add kenantang/codex-and-claude-skills --skill creation-guard

Assembled from the repository path, not quoted from the project. Check it against their README if it does not work.

2 things to look at

  • no licenseNo license file was found in the repository. Code published without one is not open source by default, so using it at work is a question for whoever answers licensing questions where you are.
  • 0 stars0 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.

SKILL.md

7.4 KB, ~1.7k tokens by cl100k_base, as published. Nobody here has run it

Creation Guard: Pre-Flight Duplicate Check

Prevent duplicate functionality by analysing existing skills and agents before creating new ones. Intercepts creation intent, searches for overlap, and recommends one of 5 actions.

When to Use

Invoke before creating ANY new:

  • Skill (skills/*/SKILL.md)
  • Agent (.claude/agents/*.md)

Trigger phrases:

  • "Create a skill for..."
  • "I want a new skill that..."
  • "Let's add an agent for..."
  • Any intent to create new automation/tooling

Process

Step 1: Identify the Proposal

Extract from the request:

  • Name: Proposed name (kebab-case)
  • Type: skill | agent
  • Purpose: What it does (one sentence)
  • Key Functions: 3-5 main capabilities
  • Keywords: Searchable terms related to functionality

Step 2: Search Existing Artifacts

Run these searches in parallel:

  1. Read skills/shared/skill-index.md — scan the categorised table for potential duplicates by name and purpose
  2. Keyword search — grep skills and agents for each keyword:
Grep for each keyword across:
  - skills/*/SKILL.md (frontmatter + body)
  - .claude/agents/*.md (frontmatter + body)
  1. Agent scan — read frontmatter of each agent to check purpose overlap:
Glob: .claude/agents/*.md
Read first 20 lines of each match

Step 3: Analyse Overlap

For each potentially related artifact, assess:

CriterionQuestion
Functional overlapDoes it do the same thing? (0-100%)
Naming confusionCould names be confused?
Extension potentialCould the proposal extend this instead?
CompositionCould existing artifacts compose to achieve this?

Step 4: Generate Recommendation

Based on analysis, recommend ONE of:

RecommendationCriteriaAction
PROCEED<20% overlap, genuinely new capabilityCreate new artifact
EXTEND50%+ overlap with single existing artifactModify existing instead
COMPOSEMultiple artifacts cover 80%+ combinedCreate thin wrapper or document workflow
ITERATE20-50% overlap, proposal needs refinementRefine proposal to differentiate
BLOCKWould create problematic duplicationDo not create

Step 5: Present and Confirm

Display the analysis and wait for explicit user approval before proceeding.

Output Format

════════════════════════════════════════════════════════════════
CREATION GUARD ANALYSIS
════════════════════════════════════════════════════════════════

PROPOSAL:
  Type: [skill|agent]
  Name: [proposed-name]
  Purpose: [one sentence]

EXISTING ARTIFACTS ANALYSED: [count]

RELATED ARTIFACTS FOUND:

1. [artifact-name] ([type])
   Purpose: [what it does]
   Overlap: [X]% - [explanation]

2. [artifact-name] ([type])
   Purpose: [what it does]
   Overlap: [X]% - [explanation]

RECOMMENDATION: [PROCEED|EXTEND|COMPOSE|ITERATE|BLOCK]

RATIONALE:
[2-3 sentences explaining the recommendation]

SUGGESTED ACTION:
[Specific next step based on recommendation]

════════════════════════════════════════════════════════════════

Recommendation Details

PROCEED

  • Artifact is genuinely new
  • No significant overlap found
  • Clear differentiation from existing tools
  • Go ahead and create

EXTEND

Present extension proposal:

Instead of creating [new-name], extend [existing-name]:

Current capabilities:
- [existing feature 1]
- [existing feature 2]

Proposed additions:
- [new feature 1]
- [new feature 2]

COMPOSE

Present composition approach:

The proposed functionality can be achieved by combining:

1. [artifact-1] — handles [aspect]
2. [artifact-2] — handles [aspect]

Options:
A) Document this workflow (no new code)
B) Create thin orchestration skill
C) Add to existing skill's integration section

ITERATE

Present refinement questions:

Overlap detected with [existing-artifact].

Differentiation needed:
1. [question about scope]
2. [question about use case]
3. [question about implementation]

Please clarify to proceed.

BLOCK

Explain why creation should not proceed:

BLOCKED: Would create problematic duplication.

Existing artifact: [name]
- Already does: [capabilities]
- Your request: [same capabilities]

Alternatives:
1. Use existing: /[skill-name]
2. If missing features, extend the existing artifact
3. If different use case, explain how this differs

Post-Match Action Table

When overlap IS found, use this table to decide the specific action:

SituationAction
Nothing related foundCreate new artifact
Same trigger + same fix as existingUpdate existing (bump version, improve docs)
Same trigger, different root causeCreate new + add cross-links in both
Partial overlap (same domain, different trigger)Add variant subsection to existing
Same domain, different problemCreate new + add "See also" references
Existing is stale or wrongMark deprecated + create replacement

This complements the PROCEED/EXTEND/COMPOSE/ITERATE/BLOCK recommendation above. The recommendation decides whether to create; this table decides how to handle the relationship with existing artifacts.

Self-Check Questions

Before creating ANY new artifact, ask:

  1. Does something similar already exist?
  2. Could this be added to an existing artifact?
  3. Would a user know to look for this vs the existing one?
  4. Am I creating this because it's needed or because it's easier than finding what exists?

Naming Convention Enforcement

When creating a new skill, always name the definition file SKILL.md (uppercase). Never skill.md, Skill.md, or any other casing.

  • The MCP server's skill discovery scans for SKILL.md explicitly
  • Documentation generators and /system-audit use find -name 'SKILL.md'
  • On case-insensitive filesystems (macOS APFS), lowercase files appear to work locally but fail in case-sensitive contexts (Linux CI, Docker, MCP server pattern matching)

Check before writing: If the target directory already contains a skill.md (lowercase), rename it to SKILL.md first.

Anti-Patterns

Anti-PatternProblemInstead
Skip the check"It's obviously new" — famous last wordsAlways run the analysis
Name-only matchingNames differ but functions overlapSearch by purpose and keywords
Create then mergeMerge debt accumulates fastCheck first, create once
Over-splittingTwo skills that always run togetherConsider a single skill with phases
Lowercase skill.mdInvisible to MCP server, audit tools, and case-sensitive systemsAlways use SKILL.md (uppercase)

Integration

This skill is invoked by /learn in Phase 2 to replace the old subset/partial/no-overlap check. When called from /learn, return the recommendation label (PROCEED/EXTEND/COMPOSE/ITERATE/BLOCK) so /learn can branch accordingly.

What ships with it

Read from the repository

Just SKILL.md. No reference files, no scripts.

Keep looking

Skills are one crate of 326,835. Ordering is by how many stacks a row turns up in, so the top of any crate is what has actually been picked rather than what has the most stars.