.claude/skills/csv-to-page/SKILL.md
Convert CSV files to Page notes with markdown tables (no truncation)
npx skillsauth add DavidROliverBA/ArchitectKB .claude/skills/csv-to-pageInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
Convert CSV files into Page notes with properly formatted markdown tables.
Key Feature: No content truncation by default - full cell content is preserved regardless of length (PapaParse has no cell size limits; V8 engine supports strings up to 512MB).
Features:
/csv-to-page <csv-path>
/csv-to-page Inbox/data.csv
/csv-to-page Inbox/rfi.csv --split --split-folder "RFI-Responses"
/csv-to-page Inbox/data.csv --truncate 150 # Optional truncation
node scripts/csv-to-markdown.js "<csv-path>" --output-json
Based on the analysis, recommend a mode to the user:
Use AskUserQuestion:
Question: "How should the CSV be processed?"
Header: "CSV Mode"
Options:
1. "Full table (Recommended for simple data)"
Description: "Single markdown table with all content preserved"
2. "Split mode (Recommended for long content)"
Description: "Individual note per row - best for RFIs, surveys, responses"
3. "Truncated summary"
Description: "Compact table with truncated cells for overview"
Recommendations:
Full table mode (default, no truncation):
node scripts/csv-to-markdown.js "<csv-path>" --title "<title>"
Split mode (recommended for long content):
node scripts/csv-to-markdown.js "<csv-path>" --split --split-folder "<folder>" --title "<title>" --id-column 2
Truncated mode (optional):
node scripts/csv-to-markdown.js "<csv-path>" --truncate 150 --title "<title>"
| Option | Description |
| ----------------------- | ---------------------------------------------------- |
| --title <title> | Custom title for the Page note |
| --split | Create individual notes for each row |
| --split-folder <path> | Folder for split notes (e.g., "RFI-Responses") |
| --id-column <n> | Column index for note IDs (0-indexed, default: 0) |
| --truncate <n> | Truncate cells to N characters (disabled by default) |
| --start-row <n> | Start from row N (0-indexed, for skipping metadata) |
| --end-row <n> | End at row N (for partial conversion) |
| --delimiter <char> | Force delimiter if auto-detect fails |
| --dry-run | Preview without creating files |
| --verbose | Show detailed processing info |
After conversion:
Provide user with:
For full table mode:
## CSV Import Complete
**Created**: `Page - <title>.md`
**Statistics**:
- Rows: <count>
- Columns: <count>
- Max cell length: <chars>
- Truncation: None (full content preserved)
**Note**: Obsidian may have display issues with very wide tables.
Consider using Reading View for better rendering.
For split mode:
## CSV Import Complete (Split Mode)
**Summary**: `Page - <title>.md`
**Individual Notes**: <count> notes in `<folder>/`
Each row has been converted to a separate note with:
- Full content preserved (no truncation)
- Proper markdown formatting
- Metadata linking back to source
**Next Steps**:
1. Review individual notes
2. Add project/person links
3. Add relevant tags
Pattern: Questions with very long vendor responses (1000-10000+ chars).
node scripts/csv-to-markdown.js "<file>.csv" --split --split-folder "RFI-Responses" --id-column 2 --start-row 5
Benefits:
Pattern: Clean data with short cells (<500 chars).
node scripts/csv-to-markdown.js "<file>.csv" --title "Data Export - Jan 2026"
Pattern: Multiple tables in one file separated by empty rows.
Approach: Use --start-row and --end-row to extract each section:
# Section 1
node scripts/csv-to-markdown.js data.csv --start-row 0 --end-row 20 --title "Section 1"
# Section 2
node scripts/csv-to-markdown.js data.csv --start-row 25 --end-row 50 --title "Section 2"
For very long content in tables:
<br> tags\|\\Recommendation: Use --split mode for cells >1000 characters.
,) - Default;) - Common in European exports\t) - TSV filesUser: /csv-to-page Inbox/vendor-rfi-responses.csv
tools
--- context: fork --- # /youtube Save a YouTube video as both a Weblink (quick reference) and a detailed Page (full analysis). ## Usage ``` /youtube <url> /youtube <url> <optional title override> ``` ## Examples ``` /youtube https://www.youtube.com/watch?v=0TpON5T-Sw4 /youtube https://youtu.be/abc123 AWS re:Invent Keynote ``` ## Prerequisites This skill uses the MCP Docker YouTube tools: - `mcp__MCP_DOCKER__get_video_info` - Video metadata - `mcp__MCP_DOCKER__get_transcript` - Full trans
data-ai
Create and manage git worktrees for parallel agent sessions
testing
--- context: fork --- # /wipe Generate a context handoff summary, clear the session, and resume in a fresh conversation. Detects environment and provides automated (tmux) or manual workflow. ## Usage ``` /wipe /wipe quick # Minimal handoff, just essentials /wipe detailed # Comprehensive handoff with full context ``` ## Instructions When the user invokes `/wipe`: ### Phase 1: Detect Environment First, check the terminal environment: ```bash echo "Environment Detection:"
data-ai
--- context: fork --- # /weekly-summary Generate comprehensive weekly summary from daily notes, meetings, tasks, and project updates using parallel sub-agents. ## Usage ``` /weekly-summary /weekly-summary --last-week /weekly-summary --from 2026-01-01 --to 2026-01-07 /weekly-summary --output page # Create Page note instead of just outputting ``` ## Instructions This skill uses **5 parallel sub-agents** to gather data concurrently from different vault areas, then synthesizes a comprehensi