From bd6688bddb0fb8a00c82e5c82a6720b111d9ad47 Mon Sep 17 00:00:00 2001 From: Zhongwei Li Date: Sat, 29 Nov 2025 18:22:06 +0800 Subject: [PATCH] Initial commit --- .claude-plugin/plugin.json | 12 ++++ README.md | 3 + SKILL.md | 111 +++++++++++++++++++++++++++++++++++++ plugin.lock.json | 45 +++++++++++++++ 4 files changed, 171 insertions(+) create mode 100644 .claude-plugin/plugin.json create mode 100644 README.md create mode 100644 SKILL.md create mode 100644 plugin.lock.json diff --git a/.claude-plugin/plugin.json b/.claude-plugin/plugin.json new file mode 100644 index 0000000..20288f4 --- /dev/null +++ b/.claude-plugin/plugin.json @@ -0,0 +1,12 @@ +{ + "name": "directory-tree-viewer", + "description": "Display directory structure as a formatted tree with visual hierarchy. Use when the user needs to visualize a directory structure, analyze folder organization, or share a file tree view. Provides the /tree slash command for viewing any directory with custom depth arguments.", + "version": "1.0.0", + "author": { + "name": "Don Jacobsmeyer", + "email": "hello@donjacobsmeyer.com" + }, + "skills": [ + "./" + ] +} \ No newline at end of file diff --git a/README.md b/README.md new file mode 100644 index 0000000..bdc5854 --- /dev/null +++ b/README.md @@ -0,0 +1,3 @@ +# directory-tree-viewer + +Display directory structure as a formatted tree with visual hierarchy. Use when the user needs to visualize a directory structure, analyze folder organization, or share a file tree view. Provides the /tree slash command for viewing any directory with custom depth arguments. diff --git a/SKILL.md b/SKILL.md new file mode 100644 index 0000000..f4e63d2 --- /dev/null +++ b/SKILL.md @@ -0,0 +1,111 @@ +--- +name: directory-tree-viewer +description: Display directory structure as a formatted tree. Use when the user needs to visualize a directory structure, analyze folder organization, or share a file tree view. Supports custom paths via the /tree command. +allowed-tools: Bash, Read +--- + +# Directory Tree Viewer + +A skill for generating visual representations of directory structures in various formats. Useful for understanding project layout, documenting folder organization, or visualizing file hierarchies. + +## Features + +- Display directory trees with visual formatting +- Support for custom paths via slash command +- Ignore common build/dependency directories by default +- Multiple output formats (text tree, indented, etc.) + +## Prerequisites + +- No special dependencies required +- Works with any directory on the system +- The slash command `/tree` provides convenient path-based access + +## Workflow + +### Basic Usage: Current Working Directory + +When you need to see the structure of the current working directory, use the Bash tool with the `tree` command: + +```bash +tree -L 3 -a +``` + +This displays up to 3 levels of the directory structure with all files (including hidden ones). + +### Advanced Usage: Custom Path via /tree Command + +Use the custom slash command `/tree` with a file path argument to view any directory: + +``` +/tree /path/to/directory +``` + +The slash command accepts optional arguments: +- Path (required): The directory to visualize +- Depth (optional): Number of levels to display (default: 3) + +### Tree Command Options + +Common options when using the `tree` command directly: + +- `-L N`: Limit depth to N levels +- `-a`: Show all files including hidden ones +- `-I 'pattern'`: Ignore files matching pattern +- `-d`: Directories only +- `-h`: Human-readable file sizes + +## Examples + +### Example 1: View Plugin Directory Structure + +Display the structure of the current plugins directory: + +```bash +tree -L 2 plugins/ +``` + +Output shows all plugins and their first-level contents. + +### Example 2: Use /tree Command with Custom Path + +Ask Claude to show the structure of a specific directory: + +> "Show me the structure of the src directory" + +Claude will invoke: `/tree src` + +### Example 3: Deep Directory Exploration + +Explore nested structures with multiple levels: + +```bash +tree -L 5 -I 'node_modules|.git|dist' +``` + +This shows up to 5 levels while excluding common dependency/build directories. + +### Example 4: File-Only Tree + +Display only files without directories: + +```bash +tree -f --dirsfirst +``` + +## Troubleshooting + +**Tree command not available**: The `tree` command may not be installed on all systems. Use `ls -R` as a fallback: + +```bash +ls -R /path/to/directory +``` + +**Too much output**: Reduce depth with `-L 2` or filter with `-I 'pattern'` + +**Permission denied**: Some directories may require elevated permissions. Use `ls -la` instead. + +## See Also + +- [Using Bash for file exploration](https://docs.claude.com/en/docs/claude-code/tools) +- [Glob patterns for file matching](https://docs.claude.com/en/docs/claude-code/tools) diff --git a/plugin.lock.json b/plugin.lock.json new file mode 100644 index 0000000..3d7876d --- /dev/null +++ b/plugin.lock.json @@ -0,0 +1,45 @@ +{ + "$schema": "internal://schemas/plugin.lock.v1.json", + "pluginId": "gh:djacobsmeyer/claude-skills-engineering:plugins/directory-tree-viewer", + "normalized": { + "repo": null, + "ref": "refs/tags/v20251128.0", + "commit": "7e22fd241882e7a7444d88618da8e43722a317bc", + "treeHash": "d6e8db5b89facda358d1e776866f7e363b2ca60816471aed2450086a9283534f", + "generatedAt": "2025-11-28T10:16:27.675813Z", + "toolVersion": "publish_plugins.py@0.2.0" + }, + "origin": { + "remote": "git@github.com:zhongweili/42plugin-data.git", + "branch": "master", + "commit": "aa1497ed0949fd50e99e70d6324a29c5b34f9390", + "repoRoot": "/Users/zhongweili/projects/openmind/42plugin-data" + }, + "manifest": { + "name": "directory-tree-viewer", + "description": "Display directory structure as a formatted tree with visual hierarchy. Use when the user needs to visualize a directory structure, analyze folder organization, or share a file tree view. Provides the /tree slash command for viewing any directory with custom depth arguments.", + "version": "1.0.0" + }, + "content": { + "files": [ + { + "path": "README.md", + "sha256": "429f2db90233fc91133e1a4516840b7d499e34daef0fdf9669c30b2346464c3a" + }, + { + "path": "SKILL.md", + "sha256": "0a36b6339f262c58924a2b0c4bdcda99434976bc8f154e340551a6e0aa8cff8d" + }, + { + "path": ".claude-plugin/plugin.json", + "sha256": "1ac9e6b4dbb9c8f3d67d808bd38abce5a83c41118b708bbdcb9046cf47979763" + } + ], + "dirSha256": "d6e8db5b89facda358d1e776866f7e363b2ca60816471aed2450086a9283534f" + }, + "security": { + "scannedAt": null, + "scannerVersion": null, + "flags": [] + } +} \ No newline at end of file