Agent Skillskbanc85/claudia › map-connections

map-connections

GitHub

扫描上下文文件提取实体与关系,构建连接图谱并填充记忆系统。支持全量、增量及指定文件扫描,用于分析人员、项目及背景关联。

plugins/claudia/skills/map-connections/SKILL.md kbanc85/claudia

Trigger Scenarios

who knows who? network graph map my connections extract relationships

Install

npx skills add kbanc85/claudia --skill map-connections -g -y
More Options

Non-standard path

npx skills add https://github.com/kbanc85/claudia/tree/main/plugins/claudia/skills/map-connections -g -y

Use without installing

npx skills use kbanc85/claudia@map-connections

指定 Agent (Claude Code)

npx skills add kbanc85/claudia --skill map-connections -a claude-code -g -y

安装 repo 全部 skill

npx skills add kbanc85/claudia --all -g -y

预览 repo 内 skill

npx skills add kbanc85/claudia --list

SKILL.md

Frontmatter
{
    "name": "map-connections",
    "description": "Scan context files to extract entities and relationships into the memory system. Triggers on \"who knows who?\", \"network graph\", \"map my connections\", \"extract relationships\". See also: `brain` for graph visualization once relationships are extracted.",
    "effort-level": "high",
    "argument-hint": "[--incremental] [file-path]"
}

Map Connections

Scan context files to extract entities, relationships, and build a connection graph. This command populates the memory system with structured relationship data from markdown files.

Usage

  • /map-connections -- Full scan of people/, projects/, context/
  • /map-connections --incremental -- Only scan files modified since last run
  • /map-connections [file-path] -- Scan a specific file

Trigger Words

Use this command when the user says:

  • "map my connections", "build my network", "scan for relationships"
  • "analyze my people files", "who knows who"
  • "populate the graph", "extract entities from files"

Workflow

1. Gather Files

Scan these directories for markdown files:

  • people/ - Relationship files
  • projects/ - Project documentation
  • context/ - User context files

For incremental mode, check file modification times against the last run timestamp (stored in context/.map-connections-last-run).

Read each .md file in people/, projects/, context/
Track: filename, content, modification time

2. Extract Entities from Each File

For each file, extract:

Entity Name: From filename or first heading

  • people/sarah-chen.md -> "Sarah Chen" (type: person)
  • projects/website-redesign.md -> "Website Redesign" (type: project)
  • First # Heading in file overrides filename-based name

Mentioned Entities: Scan file content for:

  • People patterns: Names in "works with [Name]", "client of [Name]", mentions of capitalized names
  • Organizations: Company names, "works at [Org]", "employed by [Org]"
  • Projects: "working on [Project]", project file references

Attributes (Phase 2): Look for structured data:

  • Geography: "based in [City]", "from [City]", city/state mentions
  • Role: "CEO of", "founder of", titles in file
  • Industry: Keywords like "real estate", "finance", "tech"
  • Communities: "member of [Group]", known groups (YPO, EO)

3. Extract Relationships

Identify explicit and implicit relationships. For each relationship, set origin_type honestly based on how you know it. The system automatically caps strength based on origin, so always use strength: 1.0 and let the guards enforce the ceiling.

Extracted Relationships (origin_type: "extracted", ceiling: 0.8) Explicitly stated in the file:

  • "works with [Name]" -> works_with
  • "client of [Name]" -> client_of
  • "reports to [Name]" -> reports_to
  • "invested in [Project]" -> invested_in
  • "manages [Name]" -> manages
  • "partner at [Org]" -> partner_at
  • "advisor to [Name/Org]" -> advisor_to

Inferred Relationships (origin_type: "inferred", ceiling: 0.5) Co-mentioned or contextually implied:

  • Two people mentioned in the same file -> mentioned_with
  • People in the same project file -> collaborates_on
  • Same city + same industry -> likely_connected
  • Same organization -> colleagues
  • Same community group -> community_connection

4. Deduplicate and Resolve

Before creating entities:

  1. Normalize names to canonical form (lowercase, no titles)
  2. Check if entity already exists in memory via claudia memory entities search --project-dir "$PWD"
  3. Merge new information with existing entity data
  4. Track which entities are new vs updated

5. Store in Memory

Use claudia memory batch for efficiency:

claudia memory batch --project-dir "$PWD" <<'EOF'
[
  {"op": "entity", "name": "Sarah Chen", "type": "person", "description": "CEO at Acme Corp"},
  {"op": "entity", "name": "Acme Corp", "type": "organization"},
  {"op": "relate", "source": "Sarah Chen", "target": "Acme Corp", "relationship": "works_at", "strength": 1.0, "origin_type": "extracted"},
  {"op": "relate", "source": "Sarah Chen", "target": "Tom Miller", "relationship": "works_with", "strength": 1.0, "origin_type": "inferred"}
]
EOF

For relationship origin_type:

  • Explicitly stated in the file ("Sarah is CEO of Acme"): origin_type: "extracted"
  • Co-mentioned or contextually implied: origin_type: "inferred"
  • User told you directly: origin_type: "user_stated"

The system automatically caps strength based on origin. You don't need to manually calibrate. Just be honest about how you know, and always use strength: 1.0.

When re-encountering existing relationships, the system strengthens them incrementally (scaled by origin). Repeated evidence builds trust organically.

6. Report Results

Output format:

## Connection Map Results

**Scan completed:** [timestamp]
**Files processed:** [count]

### New Entities ([count])

| Name | Type | Source |
|------|------|--------|
| Sarah Chen | person | people/sarah-chen.md |
| Acme Corp | organization | people/sarah-chen.md |
| Website Redesign | project | projects/website-redesign.md |

### New Relationships ([count])

| Source | Relationship | Target | Origin |
|--------|--------------|--------|--------|
| Sarah Chen | works_at | Acme Corp | extracted |
| Sarah Chen | collaborates_on | Website Redesign | extracted |
| Sarah Chen | mentioned_with | Tom Miller | inferred |

### Inferred Connections ([count])

| Entity A | Entity B | Reason | Origin |
|----------|----------|--------|--------|
| Sarah Chen | Jane Doe | Same city (Palm Beach) + industry (real estate) | inferred |

### Updated Relationships ([count])

| Relationship | Change |
|--------------|--------|
| Sarah Chen -> client_of -> Beta Inc | strengthened (re-encountered, extracted) |

### Summary

- **People:** [count] total ([new] new)
- **Organizations:** [count] total ([new] new)
- **Projects:** [count] total ([new] new)
- **Relationships:** [count] total ([new] new)

---

Relationship Type Reference

Type Description Example
works_with Professional collaboration "Sarah works with Tom on sales"
works_at Employment relationship "Sarah is CEO at Acme"
client_of Client relationship "Acme is a client of ours"
reports_to Reporting hierarchy "Tom reports to Sarah"
manages Management relationship "Sarah manages the team"
invested_in Investment relationship "Fund invested in Acme"
partner_at Partnership "Sarah is partner at Firm"
advisor_to Advisory relationship "Sarah advises Startup"
knows General acquaintance Default for co-mentions
collaborates_on Project collaboration People in same project file
colleagues Same organization Inferred from org membership
community_connection Shared community Same group membership
likely_connected Attribute-based inference Same city + industry

Edge Cases

Ambiguous names:

  • "Sarah" could match multiple Sarahs
  • Use file context to disambiguate
  • If uncertain, don't create relationship

Self-references:

  • Don't create relationships where source = target
  • Filter these during processing

Duplicate relationships:

  • Check for existing relationship before creating
  • Update strength if new confidence is higher

Empty files:

  • Skip files with no extractable content
  • Report as "skipped: [reason]"

Notes

  • This command is idempotent: running multiple times won't create duplicates
  • Incremental mode is faster but may miss cross-file relationships
  • For best results, run full scan periodically, incremental scan daily
  • Save last run timestamp to context/.map-connections-last-run

Version History

  • 80253c0 Current 2026-08-20 06:21

Same Skill Collection

codex/skills/build-team/SKILL.md
codex/skills/claudia-core/SKILL.md
codex/skills/databases/SKILL.md
codex/skills/onboarding/SKILL.md
plugins/claudia/skills/auto-research/SKILL.md
plugins/claudia/skills/brain-monitor/SKILL.md
plugins/claudia/skills/brain/SKILL.md
plugins/claudia/skills/build-team/SKILL.md
plugins/claudia/skills/capture-meeting/SKILL.md
plugins/claudia/skills/claudia-core/SKILL.md
plugins/claudia/skills/client-health/SKILL.md
plugins/claudia/skills/databases/SKILL.md
plugins/claudia/skills/deep-context/SKILL.md
plugins/claudia/skills/diagnose/SKILL.md
plugins/claudia/skills/draft-reply/SKILL.md
plugins/claudia/skills/feedback/SKILL.md
plugins/claudia/skills/file-document/SKILL.md
plugins/claudia/skills/financial-snapshot/SKILL.md
plugins/claudia/skills/fix-duplicates/SKILL.md
plugins/claudia/skills/follow-up-draft/SKILL.md
plugins/claudia/skills/growth-check/SKILL.md
plugins/claudia/skills/inbox-check/SKILL.md
plugins/claudia/skills/ingest-sources/SKILL.md
plugins/claudia/skills/meditate/SKILL.md
plugins/claudia/skills/meeting-prep/SKILL.md
plugins/claudia/skills/memory-audit/SKILL.md
plugins/claudia/skills/memory-health/SKILL.md
plugins/claudia/skills/morning-brief/SKILL.md
plugins/claudia/skills/new-person/SKILL.md
plugins/claudia/skills/new-workspace/SKILL.md
plugins/claudia/skills/onboarding/SKILL.md
plugins/claudia/skills/pipeline-review/SKILL.md
plugins/claudia/skills/research/SKILL.md
plugins/claudia/skills/skill-router/SKILL.md
plugins/claudia/skills/summarize-doc/SKILL.md
plugins/claudia/skills/weekly-review/SKILL.md
plugins/claudia/skills/what-am-i-missing/SKILL.md
template-v2/.claude/skills/auto-research/SKILL.md
template-v2/.claude/skills/client-health/SKILL.md
template-v2/.claude/skills/databases/SKILL.md
template-v2/.claude/skills/deep-context/SKILL.md
template-v2/.claude/skills/feedback/SKILL.md
template-v2/.claude/skills/financial-snapshot/SKILL.md
template-v2/.claude/skills/fix-duplicates/SKILL.md
template-v2/.claude/skills/new-workspace/SKILL.md
template-v2/.claude/skills/pipeline-review/SKILL.md
template-v2/.claude/skills/research/SKILL.md
plugins/claudia/skills/wiki/SKILL.md
template-v2/.claude/skills/wiki/SKILL.md

Metadata

Files
0
Version
80253c0
Hash
758dde55
Indexed
2026-08-20 06:21

inicio - Wiki
Copyright © 2011-2026 iteam. Current version is 2.155.2. UTC+08:00, 2026-08-22 01:09
浙ICP备14020137号-1 $mapa de visitantes$