Skip to content
Back to skills

Ru

BSecurity

Реструктуризация вложенных иерархий папок в плоские, машиночитаемые структуры. На базе Bash с интеллектуальной логикой объединения.

  • 6 stars
  • 0 votes
  • 0 copies
  • 0 views
  • Added September 4, 2026
ai-agentspythongobashgit

Security analysis

B88/100
  • criticalPipes output to a shell interpreter

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

Scanned September 28, 2026

npx -y skills add ellmos-ai/skills --skill ru --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Ru?

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

Security grade badge for Ru
[![Security: B — Skills Directory](https://www.skillsdirectory.com/api/skills/ellmos-ai-skills-def931f3/badge)](https://www.skillsdirectory.com/skills/ellmos-ai-skills-def931f3)

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

Download with Pro
SKILL.md
---
name: folder-flattening
version: 1.0.0
type: tool
author: Lukas Geiger
created: 2026-03-12
updated: 2026-03-12
description: Реструктуризация вложенных иерархий папок в плоские, машиночитаемые структуры. На базе Bash с интеллектуальной логикой объединения.
standalone: true
anthropic_compatible: true
bach_compatible: false
bach_origin: true
category: utilities
tags: [folder, flattening, filesystem, bash, reorganization, cleanup]
language: ru
status: active
dependencies: {'tools': [], 'services': [], 'protocols': [], 'python': []}
provenance: {'origin': 'bach', 'origin_path': 'system/skills/workflows/ordner-flattening.md', 'origin_version': '1.0.0', 'origin_repo': 'github.com/ellmos-ai/bach', 'last_sync_from_origin': '2026-03-12', 'last_sync_to_origin': None, 'local_changes_since_sync': True}
---

<img src="../banner.png" width="100%" alt="folder-flattening banner">

> **Русский** — Официальная русская версия `folder-flattening`.

# Рабочий процесс: Folder Flattening

Цель: Преобразовать вложенные структуры папок в плоскую, машиночитаемую структуру.
Преимущество: Больше никакого ручного перехода по каталогам — поиск через базу данных (`Verzeichnis.db`).
Дубликаты допускаются, если они оправданы тематически.

---

## Обзор фаз

| Фаза | Что происходит | Раздел скрипта |
|-------|-------------|----------------|
| 1 | Сплющивание (Flatten): Перенос всех подпапок на один уровень | `phase_flatten` |
| 2 | Сокращение (Shorten): Усечение длинных путей до последнего сегмента, объединение при конфликтах | `phase_shorten` |
| 3 | Очистка: Устранение множественных подчеркиваний (`___`), удаление концевого `_` | `phase_cleanup_underscores` |
| 4 | Группировка: Перемещение числовых папок, CD-папок и коротких имен в сборные папки | `phase_group_problematic` |
| 5 | Анализ триплетов: Скользящие группы по 3, кратчайшее имя как цель объединения | `phase_tripel_merge` |
| 6 | Объединение по формату медиа: Консолидация папок по типу файлов (шаблон) | `phase_media_merge` |
| 7 | Очистка: Удаление пустых папок | `phase_cleanup_empty` |

---

## Важные правила

### Сопоставление в анализе триплетов
- **Подстрока**: `Education` в `EducationalBrochures` -> объединить в `Education`
- **Множественное число/умлаут**: `Room` = `Rooms`, `Part` = `Parts`, `Book` = `Books`
- **Первое слово**: `Autism ADHD` совпадает с `Autism Career` (одинаковое начало)

### Минимальная длина
- Односложное имя без пробелов: **не менее 8 симво символов** (предотвращает случайное объединение `Hand`, `House`, `Form`)
- С пробелами (например, `ICF Catalog`): **от 3 символов OK**
- Это позволяет сохранить `ICF`, `ASD Women` и т.д.

### Перезапуск после объединения
После каждого объединения список папок перезагружается и перезапускается с целевой папки объединения.
Таким образом, например, `Autism` собирает все расширения перед тем, как двигаться дальше.

---

## Объединение по формату медиа (Система шаблонов)

Фаза 6 использует массив шаблонов `MEDIA_TYPES`. Каждая запись определяет:
- Целевую папку (с префиксом `_`)
- Расширения файлов, относящиеся к этому типу

```bash
MEDIA_TYPES=(
    "_Audio|mp3|m4a|wav|flac|ogg|wma|aac|opus|aiff"
    "_Video|mp4|avi|mkv|mov|wmv|flv|webm|m4v|mpg|mpeg|3gp"
    "_Images|jpg|jpeg|png|gif|bmp|tiff|tif|webp|svg|ico|heic|heif|raw|cr2|nef"
    # Extensible:
    # "_Spreadsheets|xlsx|xls|csv|ods"
    # "_Presentations|pptx|ppt|odp"
    # "_Code|py|js|ts|sh|bat|ps1"
    # "_CAD|dwg|dxf|step|stl"
    # "_3D|obj|fbx|blend|gltf|glb"
    # "_Fonts|ttf|otf|woff|woff2"
)
```

Перемещаются только папки, содержащие **исключительно** файлы одного типа.
Папки с подпапками пропускаются.

### Добавление нового типа медиа

Просто добавьте новую строку в массив `MEDIA_TYPES`:
```bash
"_TargetFolder|ext1|ext2|ext3"
```

---

## Выполнение

```bash
# Complete run:
cd /path/to/target/directory
bash ordner_flattening_komplett.sh

# Or individual phases:
bash ordner_flattening_komplett.sh --phase flatten
bash ordner_flattening_komplett.sh --phase tripel
bash ordner_flattening_komplett.sh --phase media
bash ordner_flattening_komplett.sh --phase cleanup
```

---

## Опытные данные (Сессия 2026-01-26)

- Старт: 206 папок + 252 отдельных файла, ~5600 вложенных подпапок
- После сплющивания: ~2200 папок на одном уровне
- После сокращения и очистки: ~2005 папок
- После группировки (числа, CD): ~2005 -> созданы сборные папки
- После триплетов v1: ~1561 папка
- После триплетов v2 (правило 8 символов): дальнейшее сокращение
- Фаза медиаформатов: Папки аудио/видео/изображений консолидированы

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.