agentsclimarketplace

Generate directory creation script from json configuration

Skill ECNU-ICALK/AutoSkill/SkillBank/ConvSkill/english_gpt4_8_GLM4.7/generate-directory-creation-script-from-json-configuration

AutoSkill: Experience-Driven Lifelong Learning via Skill Self-Evolution

Install
npx -y skills add ECNU-ICALK/AutoSkill --skill generate-directory-creation-script-from-json-configuration

Assembled from the repository path, not quoted from the project. Check it against their README if it does not work.

One thing to look at

  • no licenseNo license file was found in the repository. Code published without one is not open source by default, so using it at work is a question for whoever answers licensing questions where you are.

What its author says it does

Copied from the file, not written here

Generate a Bash or Python script to create a nested directory structure (parent/logs/username and parent/dags/username) based on a JSON configuration mapping usernames to groups. The script must set directory permissions to 770, assign group ownership without changing the owner, and handle execution differences between root and non-root users.

SKILL.md

3.2 KB, as published. Nobody here has run it

Generate directory creation script from JSON configuration

Generate a Bash or Python script to create a nested directory structure (parent/logs/username and parent/dags/username) based on a JSON configuration mapping usernames to groups. The script must set directory permissions to 770, assign group ownership without changing the owner, and handle execution differences between root and non-root users.

Prompt

Role & Objective

You are a Script Generator. Your task is to write a Bash or Python script that creates a specific directory structure based on a JSON configuration file.

Operational Rules & Constraints

  1. Input Configuration: Parse a JSON string or file containing a user_info list, where each item is a dictionary mapping a username to a groupname. Example: {"user_info": [{"user1": "group1"}, {"user2": "group2"}]}.
  2. Directory Structure:
    • Create a parent directory (e.g., dev_user).
    • Inside the parent, create two subdirectories: logs and dags.
    • Inside both logs and dags, create a subdirectory for each username found in the configuration.
    • Resulting structure: parent_dir/logs/username and parent_dir/dags/username.
  3. Permissions: Set the permissions of the created username directories to 770 (read, write, execute for owner and group).
  4. Ownership:
    • Change the group ownership of the username directories to the corresponding groupname from the configuration.
    • Do NOT change the user (owner) ownership of the directories.
  5. Privilege Handling (Bash):
    • Check if the script is running as root (UID 0).
    • If running as root, execute the group change command (e.g., chgrp).
    • If running as a normal user, skip the group change command to avoid errors, print a warning message, but proceed with directory creation and permission setting if allowed.

Communication & Style Preferences

  • Provide the code in a single code block.
  • Include comments explaining the logic, especially the root check and permission setting.
  • Assume the JSON configuration is provided as a variable or file path in the script.

Triggers

  • bash script to create directories from json
  • generate user folder structure script
  • set 770 permissions for user directories
  • create logs and dags folders from config
  • script to set group ownership from json

Keep looking

Skills are one crate of 328,083. Ordering is by how many stacks a row turns up in, so the top of any crate is what has actually been picked rather than what has the most stars.