docs(agents): new-item-type onboarding agent#193
Conversation
This script benchmarks the startup performance of the CLI by measuring module import times, CLI invocation times, and heavy dependency loading. It allows comparisons against a baseline branch or tag.
…h complete integration checklist Co-authored-by: ayeshurun <98805507+ayeshurun@users.noreply.github.com>
…changes PR microsoft#191 added Map as a simple item (no definition formats, no jobs, no OneLake folders, no creation parameters). The agent file previously overclaimed that Map needed command_support.yaml, definition_format_mapping, changelog, and documentation changes. This corrects the reference example, common patterns classification, and reference table to match reality. Co-authored-by: ayeshurun <98805507+ayeshurun@users.noreply.github.com>
…r PR microsoft#191 new commits PR microsoft#191 new commits expanded Map integration to include export, import, mv, cp support. Updated: Map reference example now lists all 7 changed files, added Step 12e (export test params) and 12f (set metadata params), reclassified Map as "Standard with definitions" in patterns and reference table, expanded validation checklist. Co-authored-by: ayeshurun <98805507+ayeshurun@users.noreply.github.com>
Co-authored-by: ayeshurun <98805507+ayeshurun@users.noreply.github.com>
…uidance to Steps 5-6, renumber steps - Removed Step 7 (Add Mutable Properties) entirely - Added⚠️ Ask the requestor prompts to Step 5 (OneLake Folders) and Step 6 (Job Types) - Added general "when in doubt, ask" instruction at the top - Renumbered all subsequent steps (old 8-14 → new 7-13) - Updated Validation Checklist, Common Patterns, and Reference sections - Removed all mutable properties references Co-authored-by: ayeshurun <98805507+ayeshurun@users.noreply.github.com>
|
These are all about making the agent more reliable when the LLM processes the file, not about rewriting it. The content itself is solid — the steps, code snippets, and rules are all correct and complete. 1. Frontmatter already handles persona and "when to use" The description field is what the LLM reads to decide when to activate the agent. The "You are an expert..." line and the "When to Use This Agent" section repeat what's already in description and argument-hint. Removing them saves ~8 lines of context that provide no additional signal to the model. 2. "Key Files Quick Reference" table is redundant Every step already says File: src/fabric_cli/core/fab_types.py. The quick reference at the bottom repeats all 12 file paths. The LLM already has them — it just has them twice now, which costs tokens without improving accuracy. 3. Safety rules should be consolidated at the top Currently the "never guess" rule is in a callout at line 12, and the safety rules (no hardcoded secrets, deterministic test data, etc.) are at line 591. The LLM processes the file top-to-bottom — rules it sees first have the strongest influence on behavior. Moving safety rules to the top (or grouping them with the existing "never guess" callout) means they apply from the start of generation, not after 590 lines of context. 4. Complexity/decision table should appear before the steps This is the highest-impact change. Right now the "Common Patterns by Item Complexity" section is at line 498 — after all 13 steps. That means the LLM reads through all 13 steps before learning that a simple item (Dashboard) only needs steps 1-3 and 9. If the complexity table comes first, the LLM knows what to skip before it starts reading steps. Result: fewer unnecessary steps executed, fewer tokens wasted. 5. "Existing Item Types to Study" should be next to the complexity table These two tables answer the same question: "what kind of item am I dealing with?" Having them adjacent lets the LLM cross-reference (e.g., "this is like Map, which is definition-support complexity, which means steps 1-4, 9, 10-11, 12-13"). Currently one is near the end and one would need to be near the beginning. 6. Phase structure is optional but helps the LLM sequence correctly The 4-phase framing (gather → classify → execute → validate) gives the LLM a clear mental model: "don't write code until you've collected prerequisites and classified complexity." Without it, there's no signal telling the LLM to stop and ask questions before jumping to Step 1. But this is a lighter suggestion — even just reordering the sections (complexity table before steps) captures most of the value without adding phase labels. 7. Replace the verbose validation checklist with a runnable verification table The current validation checklist is 19 lines of checkboxes with prose descriptions. Since the LLM can't "check a checkbox" it has to read each file and reason about whether the item type is present. That's expensive and error-prone. Instead, give it a verification table with actual commands it can execute via runInTerminal:
|
… comments Co-authored-by: ayeshurun <98805507+ayeshurun@users.noreply.github.com> Agent-Logs-Url: https://github.com/ayeshurun/fabric-cli/sessions/392ce74e-bb72-4c1b-a45f-bb59e5afccd9
Co-authored-by: ayeshurun <98805507+ayeshurun@users.noreply.github.com> Agent-Logs-Url: https://github.com/ayeshurun/fabric-cli/sessions/6f0f8564-6b51-4ef0-9916-798b92c8285d
Co-authored-by: ayeshurun <98805507+ayeshurun@users.noreply.github.com> Agent-Logs-Url: https://github.com/ayeshurun/fabric-cli/sessions/89da9fea-95fb-492d-a81d-b1a40fbff300
jeremydhoover-blip
left a comment
There was a problem hiding this comment.
Looks amazing, just one small note. I think the language quoted below is not explicit enough and too up for interpretation. I think it can just be removed because it should be clear enough from the first part of this rule plus the other rules/instructions we have throughout.
"Do not guess or assume. It is better to pause and confirm than to generate incorrect code."
Co-authored-by: ayeshurun <98805507+ayeshurun@users.noreply.github.com> Agent-Logs-Url: https://github.com/ayeshurun/fabric-cli/sessions/35056e25-213b-4c26-a7f3-4addfe6a6687
resolved. :) |
📥 Pull Request
✨ Description of new changes
.github/agents/new-item-type.agent.md) that guides contributors through the end-to-end process of onboarding a new Microsoft Fabric item type into the CLI.What the agent covers
The new-item-type onboarding agent walks contributors through:
fab_types.pyfab_cmd_mkdir_utils.pyfab_item.pycommand_support.yamlfor export/import/mv/cptests/test_commands/conftest.py(ALL_ITEM_TYPES, basic_item_parametrize, mv params, export params, set metadata params)Key design decisions