create-or-update-sample-topic
Skill29 starsChanged 6 months agoMITView on GitHub
Preconditions: triage produced actionable-new-topic or actionable-fix. You have read samples/AGENTS.md. This skill is the execution layer. samples/AGENTS.md defines what good looks like; this file defines the steps to get there. File-scope rules: - Do not rename or delete existing files or folders. - Confine the diff to one topic folder (or the new topic folder). Security rules: - No secrets, no internal URLs. Schema rules: - Do not invent unsupported top-level YAML keys or action kinds. Verify any unfamiliar key/kind…
We split this skill into the rules it gives an agent
13 rules. About 0 are common, 9 are distinctive, and 4 are very specific to this project.
≈0
Common · estimate
Many files like this have a rule of this kind.
≈9
Distinctive · estimate
This author's own choices. Worth a look.
4
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Very specific: line 11
Read its topic.yaml end-to-end and at least one of its *.xml files.
- Distinctive: line 25
Do not rename or delete existing files or folders.
- Distinctive: line 29
No secrets, no internal URLs.
- Distinctive: line 32
Do not invent unsupported top-level YAML keys or action kinds.
- Distinctive: line 49
If any step lacks information, stop and ask.
- Distinctive: line 53
Read the topic file before editing.
- Very specific: line 56
Do not rename or remove existing inputs.
- Distinctive: line 58
Do not reformat unrelated YAML/XML.
- Very specific: line 66
Trace the
actionslist: before editing — walk the path the bug takes and record it. - Distinctive: line 67
Make the minimal safe change: No surrounding cleanup.
- Very specific: line 80
Stop if no suitable neighbor exists (e.g., first topic in a new area).
- Distinctive: line 81
Stop if the change would require touching more than one topic folder.
- Distinctive: line 82
Stop if any required information from the new-topic checklist or bug-fix list is missing.
≈ “Common” is an estimate: at least 1 in 5 of the 308,232 skill files we read have a rule of the same kind, not the same words. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.
Files
Skill: Create or update a sample topic
Preconditions: triage produced actionable-new-topic or actionable-fix. You have read samples/AGENTS.md.
This skill is the execution layer. samples/AGENTS.md defines what good looks like; this file defines the steps to get there.
Procedure
- Read a neighbor first.
- Pick the sibling topic that is most similar in content and within the same sub-grouping.
- Read its
topic.yamlend-to-end and at least one of its*.xmlfiles. - Note its top-level YAML keys, XML root element, and file layout. This is your shape reference. Record the path — you will cite it in the PR.
Pick exactly one path from the table below and follow only that section. Do not read the other sections.
Triage label Issue is a bug fix? Go to actionable-new-topicn/a New topic checklist actionable-fixyes Bug-fix tracing actionable-fixno Modify-topic rules Hard rules (always). Apply every rule in every group:
File-scope rules:
- Do not rename or delete existing files or folders.
- Confine the diff to one topic folder (or the new topic folder).
Security rules:
- No secrets, no internal URLs.
Schema rules:
- Do not invent unsupported top-level YAML keys or action kinds. Verify any unfamiliar key/kind appears in a sibling topic; if not, stop and ask.
New topic checklist
Walk through every step before writing YAML:
- Archetype — UI, system, or lifecycle/shared (see AGENTS.md).
- Persona / scope — employee, manager, admin, support.
- Read-only vs mutation — mutations require confirmation card + cancel path.
- Trigger style —
triggerQueries(deterministic) and/ormodelDescription(LLM-routed). Trigger phrases must include the object/action. - Inputs and source — for each input, decide source: LLM (
AutomaticTaskInputwithentity+description), caller (ManualTaskInput),Global.*,Env.*, orSystem.*. Mark required-but-not-inferable inputsshouldPromptUser: true. - Outputs — populate
outputType.propertiesif the topic returns data. - Downstream calls — list child topics (
BeginDialog), flows (InvokeFlowAction), and any sibling XML/template-config dependencies in the topic folder. - Five UX states — success-with-data, success-with-no-data, validation failure, downstream error, user cancel. Each must have an explicit branch.
- Author by mirroring the nearest sibling — same top-level keys, same XML root element, same file layout.
- Validate via
validate-sample-topicbefore preparing the PR.
If any step lacks information, stop and ask.
Modify-topic rules
- Read the topic file before editing.
- Make the smallest safe change. No opportunistic refactors.
- Preserve action
id:values, action ordering, andConditionGroupbranches not targeted by the change. - Do not rename or remove existing
inputs. Do not rename or retype existinginputType/outputTypeproperties — add new properties instead. - New variables go under
Topic.*unless cross-topic persistence requiresGlobal.*or environment config requiresEnv.*. - Do not reformat unrelated YAML/XML.
Bug-fix tracing
Required from the issue: current behavior, expected behavior, repro/transcript if available, target topic path. If any is missing, stop and ask.
When fixing:
- Trace the
actionslist before editing — walk the path the bug takes and record it. The trace goes into the PR description. - Make the minimal safe change. No surrounding cleanup.
- Schema/parsing bugs — confirm the upstream response shape before changing a
ParseValueschema. - Power Fx bugs — prefer adding an
IsBlankorIsBlankOrErrorguard over rewriting the expression. - Missing-branch bugs — add or update an explicit
ConditionGroupbranch rather than restructuring.
Outputs
- A working tree ready for
validate-sample-topic. - The neighbor reference path, for the PR body.
- For bug fixes, the
actionstrace, for the PR body.
Stop conditions
- Stop if no suitable neighbor exists (e.g., first topic in a new area). Post a comment on the triggering GitHub issue or PR that names the missing neighbor and tags the repository maintainers listed in
CODEOWNERS, then wait for their reply before continuing. - Stop if the change would require touching more than one topic folder.
- Stop if any required information from the new-topic checklist or bug-fix list is missing.
In this repository42 other files it gives its agents.
- dev-specs/ess-nextgen-migration-toolkit/AGENTS.mdAGENTS.md
- samples/AGENTS.mdAGENTS.md
- solutions/ess-maker-skills/scripts/flightcheck/AGENTS.mdAGENTS.md
- tests/AGENTS.mdAGENTS.md
- tools/ess-nextgen-migration-toolkit/AGENTS.mdAGENTS.md
- dev-specs/ess-nextgen-migration-toolkit/CLAUDE.mdCLAUDE.md
- tools/ess-nextgen-migration-toolkit/CLAUDE.mdCLAUDE.md
- .github/copilot-instructions.mdCopilot instructions
- solutions/ess-maker-skills/.github/copilot-instructions.mdCopilot instructions
- prepare-sample-prSkill
- triage-sample-issueSkill
- validate-sample-topicSkill
- analyticsSkill
- backup-template-configsSkill
- cleanupSkill
- connectSkill
- workdaySkill
- createSkill
- deleteSkill
- dispatcherSkill
- generateSkill
- reviewSkill
- runSkill
- updateSkill
- validateSkill
- flightcheckSkill
- foundation-setupSkill
- landing-page-configSkill
- restore-template-configsSkill
- create-eval-drivenSkill
- createSkill
- deleteSkill
- reviewSkill
- testSkill
- update-eval-drivenSkill
- updateSkill
- troubleshootSkill
- createSkill
- deleteSkill
- testSkill
- updateSkill
- ESS-Diagnostics-SkillsSkill
Does it work?
Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.
Reviews can't be read right now.
Your trail
Files you open will collect here, so you can find them again.
Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.
Now do this for your own.
Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.

