framework_eng/skills/tool-usage/platform-data/xml-generation/forms-toolkit/SKILL.md
Use for analyzing form structure, adding elements, validating, and mapping Title→Name for Vanessa scenarios. Helps work with Form.xml and EPF/ERF through xml-gen form-info/form-edit/form-validate/form-element-mapping/epf-validate.
npx skillsauth add steelmorgan/1c-agent-based-dev-framework forms-toolkitInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
form-info → form-edit → form-validate → form-info
epf-validate — for EPF/ERF
form-element-mapping — Title→Name mapping for Vanessa scenarios
| Trigger | Operation | Reference |
|---------|----------|-----------|
| Understand form structure | form-info | references/info.md |
| Add a field / attribute / command | form-edit | references/edit.md |
| Check Form.xml after changes | form-validate | references/validate.md |
| Writing Vanessa steps (Title→Name) | form-element-mapping | references/element-mapping.md |
| Validate EPF / ERF | epf-validate | references/validate.md (EPF section) |
| Operation | Command | Key parameters |
|----------|---------|-------------------|
| form-info | xml-gen form info "<FormPath>" | --limit N, --offset N |
| form-edit | xml-gen form edit "<FormPath>" --json "<JsonPath>" | JSON: elements / attributes / commands |
| form-validate | xml-gen validate --type form "<FormPath>" | --output json |
| epf-validate | xml-gen validate --type epf "<ObjectPath>" | --output json |
| form-element-mapping | grep on Form.xml / Module.bsl (algorithm) | 4 search steps |
# 1. Examine the structure
xml-gen form info "src/Catalogs/Контрагенты/Forms/ФормаЭлемента/Ext/Form.xml"
# 2. Apply changes (spec.json with elements/attributes)
xml-gen form edit "src/.../Form.xml" --json "spec.json"
# 3. Verify the result
xml-gen validate --type form "src/.../Form.xml"
# EPF validation
xml-gen validate --type epf "src/МояОбработка/"
# Find the programmatic name by the title (for Vanessa)
grep -B5 "Контрагент" path/to/Form.xml | grep "<Name>"
Details for each operation:
testing
MUST use BEFORE making a judgment about the cause of a conflict, a test failure, or an artifact dispute. Defines the end-to-end verification method L1→L6 and the classification of the first broken link.
development
MUST use AFTER a work cycle with ≥2 iterations (wrote → error → fixed → success). Provides the retrospective procedure and the format for recording practice/anti-patterns in references/learned-patterns.md or {project}/.context/learned-patterns.md.
tools
MUST use WHEN you are writing reusable knowledge into RLM (pattern / architectural decision / stable domain fact) OR reading it before a non-trivial task/solution in the domain. Provides the breakdown of native-push vs RLM-pull, tools for writing and reading RLM, H-MEM levels, and hygiene.
testing
MUST use WHEN the task is classified as simple (< 20 lines, 1 file, no new metadata objects, no architectural decisions). Provides a short cycle of 3 steps with a guard on the self path and mandatory verify.