framework_eng/skills/agent-process/skill-learning/SKILL.md
MUST use AFTER a work cycle with ≥2 iterations (wrote → error → fixed → success). Provides the retrospective procedure and format for recording technique/anti-technique in references/learned-patterns.md or {project}/.context/learned-patterns.md.
npx skillsauth add steelmorgan/1c-agent-based-dev-framework skill-learningInstall 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.
The body was moved out of the
skill-learning-policyrule. The trigger "after a cycle of ≥2 iterations" remains in the rule; here are the retrospective procedure, the recording format, and the criterion for choosing the level/file.
The agent learns from its iterations: what works (techniques) and what breaks (anti-techniques). Knowledge is recorded in
references/learned-patterns.mdof the owning skill.
| Level | File | What it stores |
|---------|------|------------|
| Universal | skill/references/learned-patterns.md | Techniques that work in any 1C configuration |
| Project | {project}/.context/learned-patterns.md | Techniques tied to a specific configuration / project |
Separation criterion: if an entry mentions a specific metadata object, form name, attribute or configuration feature → project-level. If it describes a general platform/framework pattern → universal.
The reading trigger ("before working with the skill, read its lessons") is in the skill-learning-policy rule (always-on). Here is the split by levels:
references/learned-patterns.md in the skill directory — universal techniques;{project}/.context/learned-patterns.md — project techniques.Apply confirmed entries as additional rules, candidate as hints.
After completing a work cycle in which there were ≥2 iterations (wrote → error → fixed → success). If the task is solved on the first attempt, a retrospective is not needed.
Reconstruct the iteration chain — what was done → what failed → root cause → how it was fixed → what passed.
Abstract to a class. Name the CLASS of the error one level above the incident, not the incident itself:
биг_Модуль.Метод:142 crashed because ИдентификаторСтроки was empty";The anti-technique is formulated as a generalized prohibition/check that can be carried over to not-yet-seen special cases. Concrete file:line references go in the source field, NOT in the body of the technique/anti-technique.
Test the abstraction. Ask: "To what other situation, besides the one that produced it, does this anti-technique apply?" No answer → this is an instance, not a class: reformulate it higher or reject the entry.
Formulate the entry (technique and anti-technique are one entry, two sides of one discovery):
status: candidate | confirmed
класс: <named class of error>
приём: <general rule — what to do, verified by success>
антиприём: <general prohibition — what NOT to do, verified by failure>
почему: <what happens when violated>
шаги: <concrete steps/code, if applicable>
источник: <task, iteration, file:line example>
Filter out — NOT a lesson:
Determine the level and the owning skill:
{project}/.context/learned-patterns.md (Russian, without mapping and synchronization);references/learned-patterns.md of the owning skill in the RU source of the framework;Find the RU directory of the universal lesson (using the skill-editing-from-project skill):
.install-session.json → component_map → skill/{owning-skill-name} → ru_path → its directory → references/learned-patterns.md. Write to framework/ (RU), NOT to the installed ENG symlink framework_eng/ — it will be overwritten by synchronization.
Reconciliation cascade (read the target file before writing):
refined;candidate with the same class → promote to confirmed, result = refined;candidate entry, result = new.Append to the target file; if the file does not exist, create it; do not overwrite existing entries. For a universal lesson, after writing, synchronize the ENG mirror via sync_script from .install-session.json (see skill-editing-from-project).
| Requirement | Description |
|------------|----------|
| One level above the incident | The entry is about the CLASS of the error + anti-technique, not a specific incident; the abstraction test is mandatory |
| Do not change the body of the skill | Entries go only into references/learned-patterns.md, not into SKILL.md |
| Reconciliation / update | Read the target file before writing; do not create duplicates, update the existing class; result matched/refined/new |
| RU source for universal | Write the universal lesson into the framework/ (RU) directory of the owning skill via skill-editing-from-project, NOT into framework_eng/; after writing, synchronize to ENG |
| First case = candidate | A single case gets status: candidate |
| Repeat = confirmed | When a similar situation repeats, promote it to confirmed |
depends_on:
development
1C server maintenance webhooks: container restart and external component cache cleanup
development
Interactive DAP debugging of a single BSL procedure
tools
Rules for using RLM tools for project search and navigation in 1C/BSL
development
Creates web applications and routes on Winow (a web server on OneScript and Autumn). Use when working with a web server on OneScript, routing, or Winow controllers.