Claude-skill-registry import-docs
Import brownfield documentation from Notion exports, Confluence, GitHub Wiki, or any markdown folder. Automatically classifies files as specs, modules, team docs, or legacy.
install
source · Clone the upstream repo
git clone https://github.com/majiayu000/claude-skill-registry
Claude Code · Install into ~/.claude/skills/
T=$(mktemp -d) && git clone --depth=1 https://github.com/majiayu000/claude-skill-registry "$T" && mkdir -p ~/.claude/skills && cp -r "$T/skills/data/import-docs" ~/.claude/skills/majiayu000-claude-skill-registry-import-docs && rm -rf "$T"
manifest:
skills/data/import-docs/SKILL.mdsource content
Import Brownfield Documentation
Import existing documentation from Notion exports, Confluence, GitHub Wiki, or any markdown folder.
What This Does
- Analyzes markdown files in source directory (recursively)
- Classifies files based on content:
- Specs - Contains "user story", "acceptance criteria", "feature"
- Modules - Contains "module", "component", "architecture"
- Team - Contains "onboarding", "convention", "workflow"
- Legacy - Everything else (no strong match)
- Copies files to appropriate destinations
- Creates migration report with classification details
- Updates config with import history
Usage
/sw:import-docs <source-path> [options]
Options
- Source type:--source=<type>
,notion
,confluence
,wiki
(required)custom
- Target project ID (default: active project)--project=<id>
- Preserve original folder structure--preserve-structure
- Preview classification without importing--dry-run
Examples
Example 1: Notion Export
# Export Notion workspace to /tmp/notion-export/ # Then import: /sw:import-docs /tmp/notion-export/ --source=notion # Result: # 📊 Analysis Results: # Total files: 47 # - Specs: 12 files → specs/ # - Modules: 18 files → modules/ # - Team docs: 5 files → team/ # - Legacy: 12 files → legacy/notion/ # ✅ Import complete!
Example 2: Confluence Export
/sw:import-docs /path/to/confluence/ --source=confluence --project=web-app # Imports to: projects/web-app/specs/, modules/, team/, legacy/confluence/
Example 3: Dry Run (Preview)
/sw:import-docs /tmp/docs/ --source=custom --dry-run # Shows classification without importing files # Use this to preview results before actual import
Example 4: Preserve Structure
/sw:import-docs /path/to/wiki/ --source=wiki --preserve-structure # Preserves original folder structure: # legacy/wiki/engineering/backend/auth.md # legacy/wiki/engineering/frontend/components.md
Supported Sources
Notion
- Export Format: Markdown & CSV
- Steps:
- In Notion: Settings → Export → Export all workspace content
- Choose "Markdown & CSV" format
- Download ZIP file
- Extract to folder (e.g.,
)/tmp/notion-export/ - Run import command
Confluence
- Export Format: HTML or Markdown
- Steps:
- Space tools → Content Tools → Export
- Choose HTML or Markdown
- Extract exported files
- Run import command
GitHub Wiki
- Export Format: Git repository
- Steps:
- Clone wiki:
git clone https://github.com/user/repo.wiki.git - Run import command on cloned directory
- Clone wiki:
Custom (Any Markdown)
- Any folder containing
or.md
files.markdown - Recursive search through subdirectories
Classification Algorithm
Files are classified using keyword analysis:
Specs (70%+ confidence)
- Keywords: "user story", "acceptance criteria", "feature", "requirement"
- Patterns: "As a [user], I want [goal]", "Given-When-Then"
- Example: Feature specs, PRDs, user stories
Modules (70%+ confidence)
- Keywords: "module", "component", "service", "architecture"
- Patterns: API docs, technical design, integration points
- Example: Auth module, payment processing, ML pipeline
Team (70%+ confidence)
- Keywords: "onboarding", "convention", "workflow", "pr process"
- Patterns: Team processes, coding standards, deployment guides
- Example: Onboarding guide, code review checklist
Legacy (<70% confidence)
- No strong match to above categories
- Uncertain classification
- Requires manual review
Destination Folders
Files are imported to:
.specweave/docs/internal/projects/{project}/ ├── specs/ ← Specs (spec keywords) ├── modules/ ← Modules (module keywords) ├── team/ ← Team docs (team keywords) └── legacy/{source}/ ← Legacy (uncertain classification) ├── notion/ ├── confluence/ ├── wiki/ └── custom/
Migration Report
After import, a detailed report is generated:
Location:
.specweave/docs/internal/projects/{project}/legacy/README.md
Contents:
- Import summary (counts per category)
- Classification analysis (with confidence scores)
- List of imported files
- Next steps and recommendations
Configuration Updates
Import history is tracked in
.specweave/config.json:
{ "brownfield": { "importHistory": [{ "source": "notion", "workspace": "acme-corp", "importedAt": "2025-11-06T10:30:00Z", "project": "web-app", "filesImported": 47, "destination": ".specweave/docs/internal/projects/web-app/legacy/notion/" }] } }
After Import
- Review classification - Check migration report
- Move misclassified files - Use file manager or git
- Update spec numbers - Rename to
spec-NNN-name.md - Clean up legacy - Delete obsolete content
- Update references - Fix broken links
When to Use
- Migrating from Notion to SpecWeave
- Consolidating wikis from GitHub, Confluence, etc.
- Onboarding brownfield projects with existing documentation
- Merging multiple doc sources into single SpecWeave instance
Limitations
- Only markdown files (.md, .markdown) supported
- No direct API integration (use exports)
- Classification is heuristic (80%+ accuracy target)
- Manual review recommended for low-confidence files
See Also
- Set up multi-project mode first/sw:init-multiproject- Brownfield Import Guide
- Migration Best Practices
Implementation:
src/cli/commands/import-docs.ts