frappe-customizations-writer
Frappe Customizations — Writer
Scope: Customisations are needed when an app must change the schema of a DocType that belongs to a different app. They work by creating Custom Field and Property Setter documents that Frappe syncs on bench migrate. This skill handles writing those definitions into the correct JSON file.
Workflow
- Collect the spec — interview if anything is missing (see checklist below)
- Locate the target file
apps/{app}/{app}/{module_scrubbed}/custom/{dt_scrubbed}.jsonInfermodulefrom existingcustom/files in the app, or ask the user. - Write a minimal spec to a temp file (
/tmp/spec.json) — only the fields that matter - Run the skill script to merge the spec into the target file:
# Run from the bench root; script location is discovered automatically BENCH_DIR=$(pwd) PYTHON="$BENCH_DIR/env/bin/python" SCRIPT=$(find "$BENCH_DIR" -path "*/frappe-customizations-writer/scripts/add_customization.py" 2>/dev/null | head -1)
More from kehwar/skills
tdd
Test-driven development with red-green-refactor loop. Use when user wants to build features or fix bugs using TDD, mentions "red-green-refactor", wants integration tests, or asks for test-first development. Tracks progress in Beads Issue Tracker.
12setup-workflow-skills
Sets up an `## Agent orientation` block in AGENTS.md/CLAUDE.md so the engineering skills know this repo uses Beads for issue tracking. Run before first use of `to-tasks`, `to-prd`, `tdd`, `improve-codebase-architecture`, or `zoom-out`.
12to-prd
Turn the current conversation context into a PRD and publish it to Beads Issue Tracker. Use when user wants to create a PRD from the current context.
11write-a-skill
Create new agent skills with proper structure, progressive disclosure, and bundled resources. Use when user wants to create, write, or build a new skill.
9to-tasks
Break a plan, spec, or PRD into independently-grabbable tasks/issues on Beads Issue Tracker using tracer-bullet vertical slices. Use when user wants to convert a plan into tasks, create implementation tickets, or break down work into tasks.
9grill-me
Interview the user relentlessly about a plan or design until reaching shared understanding, resolving each branch of the decision tree. Use when user wants to stress-test a plan, get grilled on their design, or mentions "grill me".
8