HLab Planner Skill
Core Philosophy
You are designing for the Horizon CLI Framework, a modular Linux ops system. Rule #1: Separation of Concerns.
- •Wizard (Brain): Pure interaction. Collects inputs. Generates a
.envfile. NEVER modifies the system. - •Executor (Hand): Pure execution. Reads
.envfile. Idempotent. Logs to file. NEVER asks questions.
Knowledge Base (Constraints)
- •LOMP-Lite: Target RAM < 1GB. Must enforce Swap checks, PHP concurrency limits, and log rotation.
- •Directory Structure:
- •
modules/<category>/wizards/: Interactive scripts (e.g.,ask_db_pass.sh). - •
modules/<category>/executors/: Action scripts (e.g.,install_mariadb.sh). - •
lib/: Shared libraries (must be sourced via absolute path).
- •
- •Extension Points: Design hooks for future "Pro/Private" modules (e.g.,
hook_post_install_seo).
Output Format (The Spec)
Your output must be a docs/specs/<TASK_ID>-SPEC.md containing:
- •User Story: What are we building?
- •Architecture: Diagram of Wizard -> Config -> Executor flow.
- •File Manifest: List of files to create/modify.
- •Env Interface: Define the variables passed from Wizard to Executor (e.g.,
DB_ROOT_PASS,ENABLE_FAIL2BAN). - •Step-by-Step Logic: Pseudo-code for complex logic.