Skip to content
Back to skills

2489 Welcome Screen De0a7f4a

ASecurity

The Skene Skills Directory now features a beautiful, branded welcome screen using Charm-inspired libraries for professional terminal UI rendering.

  • 9 stars
  • 0 votes
  • 0 copies
  • 0 views
  • Added October 11, 2026
toolstypescriptgoshellbashnodegitapi

Works with

  • cursor
  • terminal
  • cli
  • api

Security analysis

A92/100
  • mediumInstalls packages at runtime which could introduce malicious dependencies

Pro shows the line behind each finding and how to fix it

Scanned October 11, 2026

npx -y skills add tools-only/X-Skills --skill 2489-welcome_screen_de0a7f4a --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of 2489 Welcome Screen De0a7f4a?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for 2489 Welcome Screen De0a7f4a
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/tools-only-2489-welcome-screen-de0a7f4a/badge)](https://www.skillsdirectory.com/skills/tools-only-2489-welcome-screen-de0a7f4a)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

SKILL.md
# Welcome Screen Implementation

## Overview

The Skene Skills Directory now features a beautiful, branded welcome screen using Charm-inspired libraries for professional terminal UI rendering.

## Features

### 1. **Branded Logo Display**

- ASCII art "S" logo recreated from the Skene brand PDF
- Dot-matrix style for visual appeal
- Responsive: Shows minimal `[S] Skene` logo on narrow terminals (< 60 columns)
- Automatically centered based on terminal width

### 2. **Professional Styling with Boxen**

- Uses `boxen` for professional border drawing
- Rounded corners for modern appearance
- Proper padding and margins
- Width-aware: Never exceeds terminal width

### 3. **Color Highlighting with Chalk**

- `chalk` for ANSI color support
- High contrast white/bright text on dark terminals
- Dimmed secondary text for visual hierarchy
- Color-coded success messages (green), info (cyan), and help text (dim)

### 4. **First-Time Installation Detection**

- Automatically detects first installation
- Shows welcome screen only on initial install
- Checks for existence of manifest files in `~/.claude/skills/` and `~/.cursor/skills/`

### 5. **Enhanced Post-Install Hook**

- Styled boxen message after `npm install`
- Clear next steps for users
- Professional appearance

## Technical Stack

### Dependencies

```json
{
  "chalk": "^5.3.0", // Terminal string styling
  "boxen": "^7.1.1", // Create boxes in terminal
  "terminal-size": "^4.0.0" // Detect terminal dimensions
}
```

### File Structure

```
scripts/
├── skill-converter/
│   ├── logo.ts          # ASCII art logo and responsive logic
│   ├── welcome.ts       # Welcome screen rendering with boxen
│   └── cli.ts           # CLI integration
└── postinstall.js       # NPM post-install hook
```

## Usage Examples

### Help Command

```bash
npx skills-directory help
```

Shows the logo, welcome message, and styled help text.

### First-Time Installation

```bash
npx skills-directory install --target all
```

On first installation, displays:

1. Full ASCII logo (if terminal is wide enough)
2. "Welcome to Skene Skills Directory" box
3. Tagline
4. "Installing for the first time..." message
5. Installation progress
6. Success message with green border

### Post-Install Hook

After `npm install @skene/skills-directory`:

```
╭─────────────────────────────────────────────────╮
│                                                 │
│             Skene Skills Directory              │
│                                                 │
│      800+ AI Skills for Claude and Cursor       │
│                                                 │
│                   Next step:                    │
│   $ npx skills-directory install --target all   │
│                                                 │
╰─────────────────────────────────────────────────╯
```

## API

### `logo.ts`

```typescript
export function getLogo(terminalWidth: number = 80): string;
```

Returns ASCII logo or minimal logo based on terminal width.

### `welcome.ts`

```typescript
export function renderWelcomeScreen(config?: WelcomeScreenConfig): string;
export function renderSuccessMessage(installedCount: number, targets: string[]): string;
export function isFirstInstall(): boolean;
```

- `renderWelcomeScreen()` - Renders the welcome screen with logo
- `renderSuccessMessage()` - Renders styled success message after installation
- `isFirstInstall()` - Checks if this is the first installation

## Cross-Platform Compatibility

The implementation uses:

- **ANSI color codes** (via chalk) - Works on all modern terminals
- **Box-drawing characters** (via boxen) - Unicode support for borders
- **Terminal size detection** - Adapts to any terminal width
- **Node.js built-ins** - No platform-specific dependencies

Tested on:

- ✅ macOS (Terminal.app, iTerm2)
- ✅ Linux (various terminals)
- ✅ Windows (WSL, PowerShell with UTF-8 support)

## Future Enhancements

Potential improvements:

1. **Image-to-ASCII conversion** - Use actual PDF logo image with `image-to-ascii` package
2. **Color themes** - Support light/dark terminal detection
3. **Animation** - Animated logo reveal using `cli-spinners`
4. **Interactive mode** - Use `inquirer` for interactive setup
5. **Update notifications** - Check for new skills/updates

## References

- [Charm.sh](https://charm.sh) - Inspiration for terminal UI design
- [chalk](https://github.com/chalk/chalk) - Terminal string styling
- [boxen](https://github.com/sindresorhus/boxen) - Create boxes in terminal
- [terminal-size](https://github.com/sindresorhus/terminal-size) - Get terminal size

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…

Newsletter

Get the weekly list of safe new skills, and the ones we pulled.