🎯

web-to-markdown

🎯Skill

from otrebu/agents

VibeIndex|
What it does

Converts web pages or URLs into clean, structured Markdown format, preserving content hierarchy and readability.

πŸ“¦

Part of

otrebu/agents(25 items)

web-to-markdown

Installation

Shell ScriptRun shell script
./setup-project.sh ~/path/to/your-project
Shell ScriptRun shell script
./setup-project.sh .
ConfigurationMCP configuration (may be incomplete)
{ "$schema": "https://json.schemastore.org/claude-code-settings.json", "plug...
πŸ“– Extracted from docs: otrebu/agents
4Installs
-
AddedFeb 4, 2026

Skill Details

SKILL.md

Overview

# My Claude Memory

πŸ₯š

A centralized configuration repository for Claude Code featuring:

  • 🎯 Specialized skills organized in plugins for code review, ESLint fixing, git workflows, brainstorming, and more
  • πŸ”Œ Plugin marketplace with modular extensions (meta-work, development-lifecycle, typescript-coding, knowledge-work, basic-skills)
  • πŸ”§ Meta-work tools to create new commands, agents, docs, and plugins following DRY principles
  • πŸ“š Personal coding standards (FP-first style, development workflow, tech stack preferences)
  • 🎀 Custom hooks for enhanced functionality (TTS readback, skill reminders)
  • πŸ“¦ Plugin-based setup using absolute paths for reliable config reuse across projects

All configuration can be referenced from your project .claude folders using the bootstrap script.

Philosophy

This configuration embodies several key principles:

  1. Plugin-First Architecture - Modular, composable extensions over monolithic configs
  2. Absolute Paths - Reference plugins from single source of truth (~/dev/agents)
  3. Skills Over Agents - Reusable skill blocks for common patterns
  4. Documentation as Code - Coding standards travel with config
  5. Meta-Tooling - Tools to create tools (create-command, create-skill, etc.)
  6. DRY Configuration - One place to maintain, many places to reference

Repository Structure

```

.

β”œβ”€β”€ .claude/ # Project config (references plugins via absolute paths)

β”‚ β”œβ”€β”€ settings.json # Simplified plugin-based config

β”‚ └── settings.local.json # Local overrides (not tracked)

β”œβ”€β”€ .claude-plugin/ # Plugin marketplace definition

β”‚ └── marketplace.json # Marketplace configuration

β”œβ”€β”€ plugins/ # All skills organized in plugins

β”‚ β”œβ”€β”€ meta-work/ # Meta-work: commands, skills, plugins, docs

β”‚ β”‚ β”œβ”€β”€ .claude-plugin/ # Plugin manifest

β”‚ β”‚ β”œβ”€β”€ commands/ # /create-command, /create-agent, /create-doc, /create-plugin

β”‚ β”‚ β”œβ”€β”€ skills/ # prompting, claude-permissions, skill-creator, plugin-creator

β”‚ β”‚ └── README.md

β”‚ β”œβ”€β”€ development-lifecycle/ # Dev workflow: git, code review, planning

β”‚ β”‚ β”œβ”€β”€ .claude-plugin/

β”‚ β”‚ β”œβ”€β”€ commands/ # /execute-implementation

β”‚ β”‚ β”œβ”€β”€ agents/ # deep-research, deep-context-gatherer

β”‚ β”‚ β”œβ”€β”€ skills/ # analyze-size, git-commit, code-review, start-feature, finish-feature, fix-eslint, dev-work-summary

β”‚ β”‚ └── README.md

β”‚ β”œβ”€β”€ typescript-coding/ # TypeScript/JavaScript development guidance

β”‚ β”‚ β”œβ”€β”€ .claude-plugin/

β”‚ β”‚ β”œβ”€β”€ skills/

β”‚ β”‚ β”‚ └── typescript-coding/

β”‚ β”‚ β”‚ β”œβ”€β”€ SKILL.md

β”‚ β”‚ β”‚ β”œβ”€β”€ STACK.md # Tech stack overview

β”‚ β”‚ β”‚ β”œβ”€β”€ TOOLING.md # Tool usage patterns

β”‚ β”‚ β”‚ β”œβ”€β”€ TESTING.md # Testing patterns

β”‚ β”‚ β”‚ └── LOGGING.md # Logging strategies

β”‚ β”‚ └── README.md

β”‚ β”œβ”€β”€ knowledge-work/ # Knowledge capture, web research, ideation

β”‚ β”‚ β”œβ”€β”€ .claude-plugin/

β”‚ β”‚ β”œβ”€β”€ skills/ # gemini-research, gh-code-search, brainwriting, readwise-api, scratchpad-fetch, web-to-markdown

β”‚ β”‚ └── README.md

β”‚ └── basic-skills/ # Foundational utilities

β”‚ β”œβ”€β”€ .claude-plugin/

β”‚ β”œβ”€β”€ skills/ # timestamp

β”‚ └── README.md

β”œβ”€β”€ docs/ # Project documentation and coding standards

β”‚ β”œβ”€β”€ CODING_STYLE.md

β”‚ β”œβ”€β”€ DEVELOPMENT_WORKFLOW.md

β”‚ β”œβ”€β”€ roadmap/ # Development roadmap and planning

β”‚ β”‚ └── overview.md

β”‚ β”œβ”€β”€ scratchpad/ # Web fetched content cache

β”‚ └── web-captures/ # Playwright web-to-markdown captures

β”œβ”€β”€ hooks/ # Claude Code hooks

β”‚ β”œβ”€β”€ skill-reminder/ # Contextual skill reminder hook

β”‚ β”‚ └── prompt-hook.ts # UserPromptSubmit hook (TypeScript)

β”‚ └── tts-readback/ # Text-to-speech readback hook

β”‚ β”œβ”€β”€ stop-hook.ts # Hook implementation

β”‚ β”œβ”€β”€ package.json # Dependencies

β”‚ └── README.md # Hook documentation

β”œβ”€β”€ CLAUDE.md # Global Claude instructions

β”œβ”€β”€ settings.json # Claude Code settings

β”œβ”€β”€ setup-project.sh # Automated project bootstrap script

└── README.md

```

Setup: Using This Configuration

Quick Setup (Automated)

Use the provided bootstrap script to set up new projects:

```bash

# Bootstrap a new project

./setup-project.sh ~/path/to/your-project

# Use current directory

./setup-project.sh .

```

The script will:

  • βœ“ Create .claude directory if needed
  • βœ“ Create settings.json with absolute paths to all plugins
  • βœ“ Configure hooks (TTS readback, skill reminder)
  • βœ“ Safe to re-run (won't overwrite existing files)

Manual Setup

If you prefer manual configuration, create .claude/settings.json in your project:

```json

{

"$schema": "https://json.schemastore.org/claude-code-settings.json",

"plugins": [

"/Users/Uberto.Rapizzi/dev/agents/plugins/meta-work",

"/Users/Uberto.Rapizzi/dev/agents/plugins/development-lifecycle",

"/Users/Uberto.Rapizzi/dev/agents/plugins/typescript-coding",

"/Users/Uberto.Rapizzi/dev/agents/plugins/knowledge-work",

"/Users/Uberto.Rapizzi/dev/agents/plugins/basic-skills"

],

"hooks": {

"Stop": [{

"matcher": "",

"hooks": [{

"type": "command",

"command": "/Users/Uberto.Rapizzi/dev/agents/hooks/tts-readback/node_modules/.bin/tsx /Users/Uberto.Rapizzi/dev/agents/hooks/tts-readback/stop-hook.ts",

"timeout": 30

}]

}],

"UserPromptSubmit": [{

"hooks": [{

"type": "command",

"command": "node --experimental-strip-types /Users/Uberto.Rapizzi/dev/agents/hooks/skill-reminder/prompt-hook.ts",

"timeout": 5

}]

}]

}

}

```

Note: The paths above are example absolute paths. Replace /Users/Uberto.Rapizzi/dev/agents with the actual path to your cloned agents directory. The setup-project.sh script automatically resolves these paths for you.

Hook Details:

  • prompt-hook.ts: Uses Node.js native type stripping (Node 22.6+), no build step required
  • stop-hook.ts: Requires tsx for Kokoro.js TTS library compatibility

Verifying Setup

After running setup-project.sh, verify your configuration:

1. Plugin Loading:

```bash

cd /path/to/your-project

claude /skills

# Expected: 19 skills from 5 plugins

# - meta-work (4 skills)

# - development-lifecycle (7 skills)

# - typescript-coding (1 skill)

# - knowledge-work (6 skills)

# - basic-skills (1 skill)

```

2. Commands Available:

```bash

claude /meta-work:create-command --help

# Should show usage info, not "command not found"

```

3. Hooks Configured:

```bash

# Check hooks in your project settings

cat .claude/settings.json | grep -A 5 hooks

# Should show Stop hook (TTS) and UserPromptSubmit hook (skill-reminder)

```

4. Documentation Referenced:

```bash

# Verify CLAUDE.md references global docs

cat .claude/CLAUDE.md 2>/dev/null || cat CLAUDE.md

# Should reference @docs/CODING_STYLE.md and @docs/DEVELOPMENT_WORKFLOW.md

```

Troubleshooting:

  • If skills don't appear: Check plugin paths are absolute, not relative
  • If hooks don't fire: Verify hook script is executable and paths are correct
  • If commands fail: Ensure you're in a project with .claude/settings.json configured

What's Included

Architecture Overview πŸ—οΈ

Skills = Self-contained modules with SKILL.md frontmatter

  • Core skills: /skills (shared across projects)
  • Plugin-scoped: plugins/{name}/skills (domain-specific)
  • Invoke: Skill(name) or Skill(plugin:name)

Commands = Slash commands for direct instructions

  • Format: /command-name [args]
  • Simple operations, no complex reasoning

Agents = Specialized AI reasoning agents

  • Format: @plugin:agent-name
  • Complex multi-step tasks, parallel executio