feat(mindmap-markmap-viewer): interactive offline mind maps from Markdown#82
Open
Jaderson-bit wants to merge 178 commits into
Open
feat(mindmap-markmap-viewer): interactive offline mind maps from Markdown#82Jaderson-bit wants to merge 178 commits into
Jaderson-bit wants to merge 178 commits into
Conversation
…ents ## New Skill: continue-claude-work (v1.1.0) - Recover actionable context from local `.claude` session artifacts - Compact-boundary-aware extraction (reads Claude's own compaction summaries) - Subagent workflow recovery (reports completed vs interrupted subagents) - Session end reason detection (clean exit, interrupted, error cascade, abandoned) - Size-adaptive strategy for small/large sessions - Noise filtering (skips 37-53% of session lines) - Self-session exclusion, stale index fallback, MEMORY.md integration - Bundled Python script (no external dependencies) - Security scan passed, argument-hint added ## Skill Updates - **skill-creator** (v1.5.0): Complete rewrite with evaluation framework - Added agents/ (analyzer, comparator, grader) - Added eval-viewer/ (generate_review.py, viewer.html) - Added scripts/ (run_eval, aggregate_benchmark, improve_description, run_loop) - Added references/schemas.md (eval/benchmark schemas) - Expanded SKILL.md with inline vs fork guidance, progressive disclosure patterns - Enhanced package_skill.py and quick_validate.py - **transcript-fixer** (v1.2.0): CLI improvements and test coverage - Enhanced argument_parser.py and commands.py - Added correction_service.py improvements - Added test_correction_service.py - **tunnel-doctor** (v1.4.0): Quick diagnostic script - Added scripts/quick_diagnose.py - Enhanced SKILL.md with 5-layer conflict model - **pdf-creator** (v1.1.0): Auto DYLD_LIBRARY_PATH + rendering fixes - Auto-detect and set DYLD_LIBRARY_PATH for weasyprint - Fixed list rendering and CSS improvements - **github-contributor** (v1.0.3): Enhanced project evaluation - Added evidence-loop, redaction, and merge-ready PR guidance ## Documentation - Updated marketplace.json (v1.38.0, 42 skills) - Updated CHANGELOG.md with v1.38.0 entry - Updated CLAUDE.md (skill count, marketplace version, daymade#42 description) - Updated README.md (badges, skill section daymade#42, use case, requirements) - Updated README.zh-CN.md (badges, skill section daymade#42, use case, requirements) - Fixed absolute paths in continue-claude-work/references/file_structure.md ## Validation - All skills passed quick_validate.py - continue-claude-work passed security_scan.py - marketplace.json validated (valid JSON) - Cross-checked version consistency across all docs
- Add _ensure_list_spacing() to handle lists without blank lines before them - Modify _md_to_html() to preprocess markdown content via stdin - Add automated test suite (scripts/tests/test_list_rendering.py) - Fix: Lists without preceding blank lines now render correctly - Original markdown files remain unmodified (preprocessing in memory only) Root cause: Pandoc requires blank lines before lists per CommonMark spec. Without preprocessing, lists following paragraphs render as plain text. Tested scenarios: ✅ Lists with blank lines (normal case) ✅ Lists without blank lines (critical fix) ✅ Ordered lists without blank lines ✅ Original file integrity preserved Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
…on workflow - Add 10-point high-quality PR formula based on real-world success cases - Add investigation phase workflow (post to issue before PR) - Add git history tracing techniques (git log, git blame) - Add evidence-loop pattern (reproduce → trace → link → post) - Add high-quality PR case study reference - Update PR checklist with investigation steps - Emphasize separation of concerns (detailed analysis in issue, fix summary in PR) Key principles: - Deep investigation before coding - Minimal, surgical fixes - Professional communication - No internal/irrelevant details in PR Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
…ripts New scripts: - fix_transcript_timestamps.py: Repair malformed timestamps (HH:MM:SS format) - split_transcript_sections.py: Split transcript by keywords and rebase timestamps - Automated tests for both scripts Features: - Timestamp validation and repair (handle missing colons, invalid ranges) - Section splitting with custom names - Rebase timestamps to 00:00:00 for each section - Preserve speaker format and content integrity - In-place editing with backup Documentation updates: - Add usage examples to SKILL.md - Clarify dictionary iteration workflow (save stable patterns only) - Update workflow guides with new script references - Add script parameter documentation Use cases: - Fix ASR output with broken timestamps - Split long meetings into focused sections - Prepare sections for independent processing Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Add skill to fix broken line wrapping in Claude Code exported .txt files. Reconstructs tables, paragraphs, paths, and tool calls that were hard-wrapped at fixed column widths. Features: - State-machine parser with next-line look-ahead - Handles 10 content types (user prompts, Claude responses, tables, tool calls, etc.) - Pangu spacing for CJK/ASCII mixed text - 53 automated validation checks - Safety: never modifies original files, verifies marker counts Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Adds dependency detection before skill creation starts, preventing mid-workflow failures (e.g., gitleaks missing at packaging, PyYAML missing at validation). Documents correct script invocation via python3 -m syntax and auto-installation commands. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
…losure Move verbose sections to references/ files, keeping concise pointers in CLAUDE.md. Zero content loss — all documentation preserved in reference files that Claude loads on demand. Moved to references/: - plugin-architecture.md (296 lines) — architecture docs - plugin-troubleshooting.md (441 lines) — installation debugging - new-skill-guide.md (241 lines) — detailed templates/checklists - promotion-policy.md (60 lines) — third-party request policy - youtube-downloader/references/internal-sop.md — yt-dlp SOP Also fixed: Available Skills daymade#36-42 indentation, deduplicated 4x versioning sections into one, removed stale notes. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
- add scrapling-skill with validated CLI workflow, diagnostics, packaging, and docs integration - fix skill-creator package_skill.py so direct script invocation works from repo root - fix continue-claude-work extract_resume_context.py typing compatibility for local python3 - bump marketplace to 1.39.0 and updated skill versions
Replace real Zhipu GLM API key with fake placeholder in mask_secret() and SecretStr docstring examples. The real key was exposed in this PUBLIC repo. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
…ndings transcript-fixer: - Add common_words.py safety system (blocks common Chinese words from dictionary) - Add --audit command to scan existing dictionary for risky rules - Add --force flag to override safety checks explicitly - Fix substring corruption (产线数据→产线束据, 现金流→现现金流) - Unified position-aware replacement with _already_corrected() check - 69 tests covering all production false positive scenarios tunnel-doctor: - Add Step 5A: Tailscale SSH proxy silent failure on WSL - Add Step 5B: App Store vs Standalone Tailscale on macOS - Add Go net/http NO_PROXY CIDR incompatibility warning - Add utun interface identification (MTU 1280=Tailscale, 4064=Shadowrocket) - Fix "Four→Five Conflict Layers" inconsistency in reference doc - Add complete working Shadowrocket config reference Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Claude IS the AI — when running inside Claude Code, use Claude's own language understanding for Stage 2 corrections instead of calling an external API. No API key needed by default. New capabilities in native mode: - Intelligent paragraph breaks at logical topic transitions - Filler word reduction (excessive repetition removal) - Interactive review with confidence-level tables - Context-aware judgment using full document context API mode (GLM) remains available for batch/automation use cases. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
…AskUserQuestion New skill: asr-transcribe-to-text (v1.0.0) - Transcribe audio/video via configurable ASR endpoint (Qwen3-ASR default) - Persistent config in CLAUDE_PLUGIN_DATA (endpoint, model, proxy bypass) - Single-request-first strategy (empirically proven: 55min in one request) - Fallback overlap-merge script for very long audio (18min chunks, 2min overlap) - AskUserQuestion at config init, health check failure, and output verification skill-creator optimization (v1.5.1 → v1.6.0) - Add AskUserQuestion best practices section (Re-ground/Simplify/Recommend/Options) - Inject structured decision points at 8 key workflow stages - Inspired by gstack's atomic question pattern Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
- Rename skill to better reflect its purpose (document-to-markdown conversion) - Update SKILL.md name, description, and trigger keywords - Add benchmark reference (2026-03-22) - Update marketplace.json entry (name, skills path, version 2.0.0) Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
…gnosis Real-world findings from debugging docker build failures on macOS with OrbStack + Shadowrocket: - Add docker pull vs docker build vs docker run proxy path distinction table - Add 2G-1: --network host workaround for OrbStack transparent proxy broken by TUN - Rewrite 2G-2: use host.internal (not 127.0.0.1) for OrbStack Docker proxy - Add 2G-4: container healthcheck failure from lowercase http_proxy env var leak - Add 3 new symptom entries to Step 1 diagnostic index - Add smoking gun diagnosis: wget showing "127.0.0.1: Connection refused" Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
… full rename cleanup - Add CJK bold spacing fix: insert spaces around **bold** spans containing CJK characters for correct rendering (handles emoji adjacency, already-spaced) - Add JSON pretty-print: auto-format JSON code blocks with 2-space indent - Add 31 unit tests covering all post-processing functions - Fix pandoc simple table detection (1-space column gaps) - Fix image path double-nesting when --assets-dir ends with 'media' - Rename all markdown-tools references across 15 files (README, QUICKSTART, marketplace.json, CLAUDE.md, meeting-minutes-taker, GitHub templates) - Add 5-tool benchmark report (Docling/MarkItDown/Pandoc/Mammoth/ours) Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
… to 2.1.0 Sync description with actual capabilities: CJK bold spacing, JSON pretty-print, simple table support, 31 tests, benchmark score. Add cjk/chinese keywords. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
…kill draft - pdf-creator v1.2.0: theme system (default/warm-terra), dual backend (weasyprint/chrome auto-detect), argparse CLI, extracted CSS to themes/ - terraform-skill: operational traps from real deployments (provisioner timing, DNS duplication, multi-env isolation, pre-deploy validation) - asr-transcribe-to-text: add security scan marker Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
…iew Team - Correct source accessibility: distinguish circular verification (forbidden) from exclusive information advantage (encouraged) - Add Counter-Review Team with 5 specialized agents (claim-validator, source-diversity-checker, recency-validator, contradiction-finder, counter-review-coordinator) - Add Enterprise Research Mode: 6-dimension data collection framework with SWOT, competitive barrier, and risk matrix analysis - Update version to 2.4.0 - Add comprehensive reference docs: - source_accessibility_policy.md - V6_1_improvements.md - counter_review_team_guide.md - enterprise_analysis_frameworks.md - enterprise_quality_checklist.md - enterprise_research_methodology.md - quality_gates.md - report_template_v6.md - research_notes_format.md - subagent_prompt.md Based on "深度推理" case study methodology lessons learned. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
…ample Replace \"深度推理(上海)科技有限公司\" with \"字节跳动子公司\" as the case study example to avoid exposing user's own company info. Also update .gitignore to exclude: - deep-research-output/ (contains sensitive research data) - recovered_deep_research/ - .opencli/ - douban-skill/ (work-in-progress) Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
…dology New skill: douban-skill - Full export of Douban (豆瓣) book/movie/music/game collections via Frodo API - RSS incremental sync for daily updates - Python stdlib only, zero dependencies, cross-platform (macOS/Windows/Linux) - Documented 7 failed approaches (PoW anti-scraping) and why Frodo API is the only working solution - Pre-flight user validation, KeyboardInterrupt handling, pagination bug fix skill-creator enhancements: - Add development methodology reference (8-phase process with prior art research, counter review, and real failure case studies) - Sync upstream changes: improve_description.py now uses `claude -p` instead of Anthropic SDK (no ANTHROPIC_API_KEY needed), remove stale "extended thinking" ref - Add "Updating an existing skill" guidance to Claude.ai and Cowork sections - Restore test case heuristic guidance for objective vs subjective skills README updates: - Document fork advantages vs upstream with quality comparison table (65 vs 42) - Bilingual (EN + ZH-CN) with consistent content Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
…UDE.md) Prevents sensitive data (user paths, phone numbers, personal IDs) from entering git history. Born from redacting 6 historical commits. - .gitleaks.toml: custom rules for absolute paths, phone numbers, usernames - .githooks/pre-commit: dual-layer scan (gitleaks + regex fallback) - CLAUDE.md: updated Privacy section documenting the defense system Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
…nciple, add date handling rules
- SKILL.md length driven by information density, not line count
- Factual dates (release dates, "last verified") should be kept — they help readers judge freshness
- Conditional date logic ("before X use old API") should be avoided
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
… recovery Previously, recover_content.py saved all files flat in the output directory, causing files with the same name (e.g., src/utils.py and tests/utils.py) to overwrite each other. Now the script preserves the original directory structure, creating subdirectories as needed within the output directory. - Bump version: 1.0.0 → 1.0.1 Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Replace hardcoded user paths that triggered gitleaks PII detection: - /Users/username/ → ~/ - /Users/user/ → ~/ - -Users-username- → -Users-<username>- (normalized paths) Also fix the sed example to use <home> placeholder instead of regex pattern that would match actual usernames. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Update SKILL.md and workflow_examples.md to reflect the new behavior of recover_content.py which now preserves original directory structure: - SKILL.md: Add 'preserving the original directory structure' note - SKILL.md: Update verification examples to use find command and show subdirectory paths (e.g., ./recovered_content/src/components/) - workflow_examples.md: Update diff example to account for nested paths Version bump: 1.0.1 → 1.0.2 Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
asr-transcribe-to-text: - Add local MLX transcription path (macOS Apple Silicon, 15-27x realtime) - Add bundled script transcribe_local_mlx.py with max_tokens=200000 - Add local_mlx_guide.md with benchmarks and truncation trap docs - Auto-detect platform and recommend local vs remote mode - Fix audio extraction format (MP3 → WAV 16kHz mono PCM) - Add Step 5: recommend transcript-fixer after transcription transcript-fixer: - Optimize SKILL.md from 289 → 153 lines (best practices compliance) - Move FALSE_POSITIVE_RISKS (40 lines) to references/false_positive_guide.md - Move Example Session to references/example_session.md - Improve description for better triggering (226 → 580 chars) - Add handoff to meeting-minutes-taker skill-creator: - Add "Pipeline Handoff" pattern to Skill Writing Guide - Add pipeline check reminder in Step 4 (Edit the Skill) Pipeline handoffs added to 8 skills forming 6 chains: - youtube-downloader → asr-transcribe-to-text → transcript-fixer → meeting-minutes-taker → pdf/ppt-creator - deep-research → fact-checker → pdf/ppt-creator - doc-to-markdown → docs-cleaner / fact-checker - claude-code-history-files-finder → continue-claude-work Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
SKILL.md: rewritten following Anthropic best practices - Concise (233 lines, down from 347) - Critical VHS parser limitations section (base64 workaround) - Advanced patterns: self-bootstrap, output filtering, frame verification - Better description for skill triggering New files: - references/advanced_patterns.md: production patterns from dbskill project - assets/templates/self-bootstrap.tape: self-cleaning demo template auto_generate_demo.py: new flags - --bootstrap: hidden setup commands (self-cleaning state) - --filter: regex pattern to filter noisy output - --speed: post-processing speed multiplier (gifsicle) Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
…, add date_range Live test (doc-governance follow-up) found connected_entities took an entity_categories param that does NOT exist on the co-mentions/entities endpoint (OpenAPI spec confirmed) — passing it was silently ignored, so 'category filtering' returned all 6 groups. Removed it. Replaced with date_range -> query.filters.timestamp (ANSI date-time, which the spec DOES support) — live-tested, returns the co-mention graph for the window. Results are already grouped by category; read the group you want. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
…rget L3->L4 Doc-governance pass: the endpoint coverage table in rest_ext.py's module docstring still marked analyst_ratings/price_target as L3, contradicting the method docstrings + verified_api_signatures.md already bumped to L4 (live-tested 2026-05-31). Synced the table. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
…point table Doc-governance root-cause fix: the module-docstring 'covered endpoints' table copied verified_api_signatures.md (endpoint list + verification levels) and had drifted twice this session — it listed only the original 7 endpoints (missing the 12 added) and separately needed the L3->L4 fix. Replaced the copied table with a one-line coverage overview pointing to verified_api_signatures.md as the single source for the full list / signatures / L3-L4 levels. Removes the copy that caused the drift. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Automated repository environment configuration, fault diagnosis, and repair for non-technical users. Includes SessionStart hook initialization, counter-review workflows, and git history sanitization. New files: - auto-repo-setup/SKILL.md - auto-repo-setup/scripts/check_env.py - auto-repo-setup/scripts/init_session_start_hook.py - auto-repo-setup/scripts/sanitize_history.sh - auto-repo-setup/references/git_safety.md - auto-repo-setup/references/pii_guard.md - auto-repo-setup/references/onboarding_template.md Updated: - .claude-plugin/marketplace.json (bump to v1.60.0) - CHANGELOG.md - CLAUDE.md (skill count 53→54) - README.md (skill count 52→53, add skill description) Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Merged by Claude Code at user request.
…er-safety fix(macos-cleaner): harden deletion safety checks
…alid
Codex's strict YAML parser rejected two unquoted plain-scalar descriptions
that Claude Code's lenient frontmatter parser accepted:
- tunnel-doctor: ': ' inside literal ssh output ("debug2: resolving",
"debug1: connect") triggered a ScannerError. Wrapped the description in
single quotes so the ssh strings stay verbatim.
- benchmark-due-diligence: ' #' in "Product Hunt daymade#1" silently truncated the
parsed description at parse time. Reordered to "daymade#1 on Product Hunt"
(no keyword loss, stays unquoted).
Bump tunnel-doctor 1.5.1 -> 1.5.2, benchmark-due-diligence 1.0.0 -> 1.0.1.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
…matter YAML - warm-terra-menu theme: warm-terra variant for 2-column long-text module menus. Full-column wrap removes first-column overflow; a Menlo unicode-range keeps CJK inline-code from rendering blank in Preview/Adobe. - pdf-creator SKILL.md frontmatter: "**Scope: markdown -> PDF only.**" -> "**Scope - markdown -> PDF only.**" (the ': ' broke strict YAML / codex). Bump daymade-docs 1.0.2 -> 1.1.0 (MINOR, new theme). CHANGELOG [Unreleased] also records the tunnel-doctor/benchmark YAML fixes from 111fb8d. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
…to batch strategy Four hard rules for parallel batch ASR fixing across many files: - hardcode the file list into the script (Workflow args silently drops non-ASCII/bracket/path strings) - scope each agent to one file, forbid cross-file grep -r/sed (prevents out-of-batch edits) - git diff verify after: --name-only catches strays, grep deleted lines for invariants (speaker labels untouched) - false-positive filter on aggregated dict suggestions (~80 raw → ~18 safe non-word mappings) Bump daymade-audio 1.1.0 → 1.2.0. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Compress preload-heavy skill descriptions while keeping every trigger keyword, symptom phrase, and error code; move mechanism/enumeration detail into the body. Also drop bare generic trigger words from douban-skill (export/backup/sync/collection) that pulled in unrelated tasks. Descriptions are preloaded for trigger selection, so this trims always-on context (~30%) and sharpens trigger distinctiveness without removing any capability. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Renders a terminal CLI program's colored output to a PNG so the rendered result (contrast, alignment, background blocks, ANSI colors) can be seen and judged visually instead of guessing from raw escape codes / hex values. Bundles render_ansi.sh (freeze with headless-Chrome fallback) + ansi2html.py (stdlib ANSI→HTML, preserves truecolor background blocks). Register in the daymade-claude-code suite (1.0.0 -> 1.1.0) and set the marketplace release version to 1.61.0. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
# Conflicts: # .claude-plugin/marketplace.json # CHANGELOG.md
Convert a PDF into a single self-contained, readable HTML file that preserves images, charts and reading order, with optional parallel translation into another language. Distilled from a real PDF-to-other-language HTML session. Bundles three scripts (structured extraction with decorative-image detection, data-driven HTML build with font-size heading inference and base64-inlined images, adaptive headless-Chrome visual verification) and two references (Dynamic-Workflow parallel translation with fidelity rules; failure-cases / do-not-attempt). Registered under daymade-docs (1.1.0 -> 1.2.0). Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
…lace-dev SSOT - marketplace-dev cache_and_source_patterns.md: add "Why plugin boundaries matter" section (toggle granularity, baoyu-skills failure case, false-green trap) — the single WHY+HOW SSOT for packaging - skill-creator: drop the misplaced packaging-architecture reference; Step 8 now points to marketplace-dev's SSOT (auto-install + read) instead of restating rules - skill-reviewer: remove marketplace_template.json (it shipped the reject-by-validator anti-patterns source:"./" + skills:["./"]); point to marketplace-dev instead - README / README.zh-CN: drop 4 now-broken references to the deleted template Plugin packaging belongs to the marketplace-dev domain; this collapses 3 divergent copies (one actively wrong) into one authoritative source. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Sync the human-facing skill lists with the manifest for the newly added pdf-to-html skill (marketplace.json + CLAUDE.md already carry it). Pre-existing README drift (8 other skills missing from the English list, 1 from the zh-CN list) is intentionally left untouched — that is a separate backlog, not introduced by this change. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
- CLAUDE.md Available Skills list completed to the authoritative 61 (added marketplace-dev, asr-transcribe-to-text, bigdata-skill, gangtise-copilot, llm-wiki-setup, benchmark-due-diligence, pdf-to-html, terminal-screenshot; removed the wechat-article-scraper ghost entry) - README.md / README.zh-CN.md badges + descriptions synced to 61; version aligned to 1.62.0; added terminal-screenshot section - CHANGELOG v1.62.0 entry - new check_doc_skill_lists.py drift guard (marketplace.json vs the 3 doc lists) Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Added rich sections for skills present in marketplace.json but missing from the README skill lists: asr-transcribe-to-text, marketplace-dev, skill-creator, feishu-doc-scraper, bigdata-skill, gangtise-copilot, llm-wiki-setup, benchmark-due-diligence (+ auto-repo-setup in zh-CN). check_doc_skill_lists.py now reports all three docs in sync with the authoritative 61. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
- Add the new doc-drift guard to the publish checklist in both CLAUDE.md and references/new-skill-guide.md, beside check_marketplace.sh, so future skill additions run it and the three doc lists cannot silently drift again. - CHANGELOG [1.62.0]: drop the now-stale Known gaps note (README sections were backfilled in this same release, commit dd59e88) and record the completed work. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
…asurement contamination + reverse-path trap tunnel-doctor: add "TUN Measurement Contamination" section — raw probes lie under a global TUN proxy (nc -z 0.00s, ping, foreign ip-api show the exit not the home IP); trust time_appconnect / in-region geo / config-decode+GUI instead. Added matching trigger phrases. debugging-network-issues: add cognitive Trap 12 "Reverse-path / directional asymmetry" (A->B healthy != B->A; an external probe only proves a node's return direction, missing the user's failing outbound direction); synced the SKILL.md trap list; fixed a stale "All nine traps" count. Synced marketplace.json (metadata 1.60.0 + both plugin descriptions), CHANGELOG, README x2, CLAUDE.md. Content generalized/anonymized from a private incident; no private identifiers, gitleaks + dedup scan clean. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
…ues v1.1.0 onto the v1.62 / 61-skill base Resolved 3 conflicts (kept remote as the base, re-applied my changes on top — no remote work lost): - tunnel-doctor/SKILL.md: kept remote's strict-YAML multiline description and appended my TUN-measurement trigger phrase; the body "TUN Measurement Contamination" section auto-merged cleanly. - marketplace.json: tunnel-doctor 1.5.2 -> 1.6.0, debugging-network-issues 1.0.1 -> 1.1.0, metadata 1.62.0 -> 1.63.0; re-applied both plugin-description additions (TUN / reverse-path). - CHANGELOG.md: kept remote structure (warm-terra-menu + strict-YAML Fixed block + 1.62.0/1.60.1/1.60.0 history), re-added my two [Unreleased] Added entries. All other files (CLAUDE.md, README.md, README.zh-CN.md, debugging-network-issues SKILL.md + cognitive-traps.md) auto-merged cleanly: remote's 61-skill backfill and my edits coexist. Note: a pre-existing drift on origin/main (llm-wiki-setup is registered in marketplace.json but its SKILL.md is absent on the remote) is unrelated to this change and left untouched for separate handling.
…s/examples) (daymade#81) Co-create a personal investment-research LLM Wiki by interviewing the user, not handing a template. Marketplace entry + docs were already backfilled (da9796f); this commits the skill directory itself. - interview.md: critique-the-strawman elicitation kept at concept level, operational craft deliberately left out - templates: CLAUDE-skeleton (mechanism layer) + empty vault scaffold + lint-vault.py + pre-commit - scripts: init_vault.py - examples: investment-research-CLAUDE.md marked do-not-copy Co-authored-by: Claude Opus 4.8 <noreply@anthropic.com>
…down One self-contained HTML (markmap.js + d3 vendored, pinned, inlined; zero CDN) with white-on-dark rendering, zoom/expand toolbar, SVG/PNG export, expand-by-level, and accent-insensitive context-preserving search (match + ancestors + descendants). Python stdlib only; 41-check dep-free regression suite; hardened via 12-finding adversarial review. Marketplace entry + README (daymade#64) + README.zh-CN (daymade#64) + CLAUDE.md (daymade#62) + CHANGELOG; drift guard check_doc_skill_lists.py passes (62 in sync). Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
There was a problem hiding this comment.
Pull request overview
Note
Copilot was unable to run its full agentic suite in this review.
Adds a new mindmap-markmap-viewer skill that renders Markdown outlines as offline, self-contained markmap HTML (white-on-dark) with expand-level controls, context-preserving search, and export tooling, and then wires it into the marketplace/docs.
Changes:
- Introduces
render_markmap.pywith offline HTML generation (inlined vendored libs), frontmatter manipulation, and search/filtering. - Adds a stdlib-only regression suite plus internal references/docs for the skill.
- Registers the new skill across marketplace metadata and repo-level READMEs/changelog (skill count bumped to 62).
Reviewed changes
Copilot reviewed 13 out of 20 changed files in this pull request and generated 7 comments.
Show a summary per file
| File | Description |
|---|---|
| mindmap-markmap-viewer/scripts/render_markmap.py | Core implementation: offline HTML renderer, frontmatter edits, presets, search/filter logic |
| mindmap-markmap-viewer/evals/test_render_markmap.py | Dependency-free regression suite covering escaping/frontmatter/search edge cases |
| mindmap-markmap-viewer/evals/evals.json | Adds evaluation prompts/expectations for the new skill |
| mindmap-markmap-viewer/references/internals.md | Internal design notes and rationale for non-obvious implementation decisions |
| mindmap-markmap-viewer/references/lessons.md | Documents real-world failure modes and the fixes locked down by tests |
| mindmap-markmap-viewer/assets/vendor/README.md | Documents pinned vendored library versions and refresh steps |
| mindmap-markmap-viewer/assets/example.md | Provides an example outline with markmap frontmatter |
| mindmap-markmap-viewer/SKILL.md | Skill usage guide and triggering guidance for Claude Code |
| mindmap-markmap-viewer/README.md | Skill-level README for standalone repo usage/demo/testing |
| .claude-plugin/marketplace.json | Registers the new skill in the marketplace plugin manifest |
| CHANGELOG.md | Announces the new skill release entry |
| CLAUDE.md | Updates repo overview + adds the new skill to the enumerated list |
| README.md | Updates skills count badge + adds marketplace catalog entry for the new skill |
| README.zh-CN.md | Updates skills count badge + adds Chinese catalog entry for the new skill |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
Comment on lines
+187
to
+188
| def build_html(src: str, height: int = 850, background: str = "#0e1117", | ||
| vendor: str = None, toolbar: bool = True, inline: bool = True) -> str: |
Comment on lines
+229
to
+230
| f" html, body {{ margin:0; padding:0; background: {background}; }}\n" | ||
| f" #markmap {{ width:100%; height:{height - 12}px; display:block; }}\n" |
| f"{head_css}\n" | ||
| "<style>\n" | ||
| f" html, body {{ margin:0; padding:0; background: {background}; }}\n" | ||
| f" #markmap {{ width:100%; height:{height - 12}px; display:block; }}\n" |
Comment on lines
+459
to
+477
| for line in body.split("\n"): | ||
| if not line.strip(): | ||
| continue | ||
| if line.startswith("#"): # heading: level = number of leading '#' | ||
| rank = len(line) - len(line.lstrip("#")) | ||
| text = line.lstrip("#").strip() | ||
| last_h = rank | ||
| kinds.append("h") | ||
| levels.append(rank) | ||
| else: # list item: level relative to the last heading + indentation | ||
| m = _BULLET.match(line) | ||
| if not m: | ||
| continue | ||
| indent = len(m.group(1).expandtabs(2)) // 2 | ||
| text = m.group(2) | ||
| kinds.append("b") | ||
| levels.append(last_h + 1 + indent) | ||
| lines.append(line) | ||
| matched.append(q in _norm(text)) |
Comment on lines
+103
to
+106
| function buildExportSvg() { | ||
| var bb = svg.querySelector("g").getBBox(); // laid-out tree, local coords | ||
| var pad = 20; | ||
| var x = Math.floor(bb.x - pad), y = Math.floor(bb.y - pad); |
Comment on lines
+74
to
+80
| if (!M || !M.Markmap || !M.Transformer) { | ||
| document.body.insertAdjacentHTML("beforeend", | ||
| '<p style="color:#ff8a8a;font-family:system-ui,sans-serif;padding:1rem">' + | ||
| "Could not load the markmap libraries. Keep the <code>vendor/</code> folder " + | ||
| "next to this HTML file so the map can open offline.</p>"); | ||
| return; | ||
| } |
Comment on lines
+54
to
+55
| check("inline default: it's actually self-contained (libs + toolbar CSS embedded)", | ||
| len(inline_doc) > 200000 and "mm-toolbar" in inline_doc and "<style>" in inline_doc) |
Same zero-install prompt added to the source repo README, verified working in the Claude app. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
…ction Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
915a8c6 to
9c9615e
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
New skill: mindmap-markmap-viewer
Turns Markdown outlines, notes, docs, or plans into an interactive mind map — one self-contained HTML file that opens offline anywhere (markmap.js + d3 vendored, pinned exact, and inlined into the page; zero CDN, zero network requests).
▶ Live demo · Source repo
What it adds beyond plain markmap-cli
.htmlsurvives being moved, e-mailed, or opened with no network; CDN-based output breaks in all those cases.<text>and<foreignObject>labels.file://).apply_presets— fills sane frontmatter (branch colors, wrap width, expand level sized by node count) without overriding author values.Quality evidence
quick_validate.py(skill-creator): "Skill is valid!"evals/test_render_markmap.py) — every check labeled with the bug it locks down; all pass.references/lessons.md).check_doc_skill_lists.py(your drift guard): 62 skills, all doc lists in sync with this PR.Checklist (CONTRIBUTING)
SKILL.mdwith valid YAML frontmatter (name,descriptionwith activation triggers — no:/#strict-YAML traps)references/internals.md+references/lessons.mdscripts/(shebang, stdlib-only),references/,assets/organization; vendored libs documented with versions + licenses inassets/vendor/README.mdmarketplace.jsonentry appended +README.md(13 plugins fail Claude Code path-escape validator due to skills: ["./"] #64) +README.zh-CN.md(13 plugins fail Claude Code path-escape validator due to skills: ["./"] #64) +CLAUDE.md([FEATURE] repo-compass #62) +CHANGELOG.md[Unreleased]Note: file count includes the pinned vendored markmap/d3 bundle (~650 KB) — that's the price of the offline single-file guarantee, and versions are pinned exact with provenance documented.
🤖 Generated with Claude Code