بنقرة واحدة
find-duplicates
Find similar/duplicate issues using semantic search with pgvector
التثبيت باستخدام Codex أو Claude انسخ هذا Prompt والصقه في Codex أو Claude أو مساعد آخر ليراجع صفحة Skill ويثبّتها لك.
القائمة
Find similar/duplicate issues using semantic search with pgvector
التثبيت باستخدام Codex أو Claude انسخ هذا Prompt والصقه في Codex أو Claude أو مساعد آخر ليراجع صفحة Skill ويثبّتها لك.
استنادا إلى تصنيف SOC المهني
Generate a sprint retrospective with KPI dashboard and action decision records
Generate a risk register PM block with probability, impact, and mitigation strategies
Generate downloadable Markdown or HTML files (reports, summaries, styled docs)
Conversational skill creator — build, test, and refine skills in chat
Generate a lightweight Architecture Decision Record as a Decision block
Creates a structured note from a homepage chat conversation
| name | find-duplicates |
| description | Find similar/duplicate issues using semantic search with pgvector |
| feature_module | issues |
Detect potential duplicate issues using semantic similarity search with pgvector embeddings.
Use this skill when:
/find-duplicates)Example:
New issue: "Users cannot log in with email addresses"
AI finds duplicates:
- "Login fails for email users" (similarity: 0.92, RECOMMENDED duplicate)
- "Email authentication broken" (similarity: 0.88, RECOMMENDED duplicate)
- "User auth not working" (similarity: 0.65, ALTERNATIVE - may be related)
Generate Embedding
embeddings column (pgvector)Semantic Search
Score Similarity
Provide Context
{
"duplicates": [
{
"issue_id": "issue-abc123",
"title": "Login fails for email users",
"similarity": 0.92,
"confidence": "RECOMMENDED",
"status": "open",
"created_at": "2024-01-15T10:00:00Z",
"rationale": "Very high semantic similarity (0.92), same symptoms described",
"url": "/issues/issue-abc123"
},
{
"issue_id": "issue-def456",
"title": "Email authentication broken",
"similarity": 0.88,
"confidence": "RECOMMENDED",
"status": "in_progress",
"created_at": "2024-01-20T14:30:00Z",
"rationale": "High similarity, currently being worked on",
"url": "/issues/issue-def456"
},
{
"issue_id": "issue-ghi789",
"title": "User auth not working",
"similarity": 0.65,
"confidence": "ALTERNATIVE",
"status": "closed",
"created_at": "2023-12-10T09:15:00Z",
"rationale": "Moderate similarity, may be related but different root cause",
"url": "/issues/issue-ghi789"
}
],
"summary": "Found 3 potential duplicates (2 RECOMMENDED)",
"suggestion": "Review issue-abc123 before creating new issue"
}
Input:
{
"title": "Fix login error for email users",
"description": "When users try to log in with email, they get validation error"
}
Output:
{
"duplicates": [
{
"issue_id": "issue-123",
"title": "Login fails for email addresses",
"similarity": 0.94,
"confidence": "RECOMMENDED",
"status": "open",
"rationale": "Nearly identical issue, same email validation problem",
"suggestion": "Close as duplicate of issue-123"
}
],
"summary": "Found 1 RECOMMENDED duplicate",
"action": "BLOCK_CREATION"
}
Input:
{
"title": "Add OAuth login support",
"description": "Users want to log in with Google/GitHub"
}
Output:
{
"duplicates": [
{
"issue_id": "issue-456",
"title": "Implement social login",
"similarity": 0.78,
"confidence": "DEFAULT",
"status": "closed",
"rationale": "Similar goal (social login) but was for Facebook only",
"suggestion": "Reference issue-456 for implementation pattern"
}
],
"summary": "Found 1 related issue (not duplicate)",
"action": "WARN_USER"
}
Input:
{
"title": "Implement real-time notifications",
"description": "Add WebSocket support for live updates"
}
Output:
{
"duplicates": [],
"summary": "No duplicates found",
"action": "ALLOW_CREATION"
}
| Similarity Score | Confidence | Action | Interpretation |
|---|---|---|---|
| 0.90 - 1.00 | RECOMMENDED | Block creation, suggest duplicate | Nearly identical |
| 0.85 - 0.90 | RECOMMENDED | Warn user, allow override | Very similar |
| 0.70 - 0.85 | DEFAULT | Show for reference | Likely related |
| 0.60 - 0.70 | ALTERNATIVE | Show as context | Possibly related |
| < 0.60 | - | Don't show | Not related |
import openai
# Generate embedding
embedding = openai.embeddings.create(
model="text-embedding-3-large",
input=f"{issue.title}\n\n{issue.description}",
dimensions=3072,
)
# Store in database
issue.embedding = embedding.data[0].embedding
-- pgvector cosine similarity search
SELECT
id,
title,
description,
status,
created_at,
1 - (embedding <=> :query_embedding) AS similarity
FROM issues
WHERE
project_id = :project_id
AND status != 'archived'
AND id != :excluding_issue_id
ORDER BY embedding <=> :query_embedding
LIMIT 10;
semantic_search tool with pgvectorbackend/src/pilot_space/ai/agents/duplicate_detector_agent_sdk.pyissues.embedding column (pgvector)