agentleFS
MicrosoftKnown publishermicrosoft/Employee-Self-Service-Agent-Developer-Kit/.github/agents/skills/create-or-update-sample-topic/SKILL.md

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
  1. Very specific:

    Read its topic.yaml end-to-end and at least one of its *.xml files.

    line 11
  2. Distinctive:

    Do not rename or delete existing files or folders.

    line 25
  3. Distinctive:

    No secrets, no internal URLs.

    line 29
  4. Distinctive:

    Do not invent unsupported top-level YAML keys or action kinds.

    line 32
  5. Distinctive:

    If any step lacks information, stop and ask.

    line 49
  6. Distinctive:

    Read the topic file before editing.

    line 53
  7. Very specific:

    Do not rename or remove existing inputs.

    line 56
  8. Distinctive:

    Do not reformat unrelated YAML/XML.

    line 58
  9. Very specific:

    Trace the actions list: before editing — walk the path the bug takes and record it.

    line 66
  10. Distinctive:

    Make the minimal safe change: No surrounding cleanup.

    line 67
  11. Very specific:

    Stop if no suitable neighbor exists (e.g., first topic in a new area).

    line 80
  12. Distinctive:

    Stop if the change would require touching more than one topic folder.

    line 81
  13. Distinctive:

    Stop if any required information from the new-topic checklist or bug-fix list is missing.

    line 82

≈ “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.

Keep what fits and drop the rest. Your version, ready for your agents.
Files
SKILL.md

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

  1. Read a neighbor first.
    • Pick the sibling topic that is most similar in content and within the same sub-grouping.
    • Read its topic.yaml end-to-end and at least one of its *.xml files.
    • 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.
  2. Pick exactly one path from the table below and follow only that section. Do not read the other sections.

    Triage labelIssue is a bug fix?Go to
    actionable-new-topicn/aNew topic checklist
    actionable-fixyesBug-fix tracing
    actionable-fixnoModify-topic rules
  3. 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:

  1. Archetype — UI, system, or lifecycle/shared (see AGENTS.md).
  2. Persona / scope — employee, manager, admin, support.
  3. Read-only vs mutation — mutations require confirmation card + cancel path.
  4. Trigger style — triggerQueries (deterministic) and/or modelDescription (LLM-routed). Trigger phrases must include the object/action.
  5. Inputs and source — for each input, decide source: LLM (AutomaticTaskInput with entity + description), caller (ManualTaskInput), Global.*, Env.*, or System.*. Mark required-but-not-inferable inputs shouldPromptUser: true.
  6. Outputs — populate outputType.properties if the topic returns data.
  7. Downstream calls — list child topics (BeginDialog), flows (InvokeFlowAction), and any sibling XML/template-config dependencies in the topic folder.
  8. Five UX states — success-with-data, success-with-no-data, validation failure, downstream error, user cancel. Each must have an explicit branch.
  9. Author by mirroring the nearest sibling — same top-level keys, same XML root element, same file layout.
  10. Validate via validate-sample-topic before 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, and ConditionGroup branches not targeted by the change.
  • Do not rename or remove existing inputs. Do not rename or retype existing inputType / outputType properties — add new properties instead.
  • New variables go under Topic.* unless cross-topic persistence requires Global.* or environment config requires Env.*.
  • 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:

  1. Trace the actions list before editing — walk the path the bug takes and record it. The trace goes into the PR description.
  2. Make the minimal safe change. No surrounding cleanup.
  3. Schema/parsing bugs — confirm the upstream response shape before changing a ParseValue schema.
  4. Power Fx bugs — prefer adding an IsBlank or IsBlankOrError guard over rewriting the expression.
  5. Missing-branch bugs — add or update an explicit ConditionGroup branch rather than restructuring.

Outputs

  • A working tree ready for validate-sample-topic.
  • The neighbor reference path, for the PR body.
  • For bug fixes, the actions trace, 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.

Download now (ZIP)

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.