Official agent skill

Resource Designer

by microsoft in microsoft/terraform-provider-fabric

Research SDK contracts, design Terraform schema approach, and compose a GitHub issue for a new resource, data source, ephemeral resource, or enhancement to an existing resource.

OfficialMPL-2.0Auto-check passedDevOps & Cloud

Install Resource Designer

skills CLI
$ npx skills add microsoft/terraform-provider-fabric --skill resource-designer -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install microsoft/terraform-provider-fabric resource-designer --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/microsoft/terraform-provider-fabric.git skills-src && mkdir -p .claude/skills && cp -r skills-src/.github/skills/resource-designer .claude/skills/resource-designer && rm -rf skills-src

Use ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.

Claude Code skills documentation · loads skills from .claude/skills/

Facts

Skill name
resource-designer
GitHub stars
128
Token cost
~6k tokens
SKILL.md length
1,447 words
Files
1
Skills in repo
5
Repo updated
First seen
Licence
MPL-2.0

At a glance

Research SDK contracts, design Terraform schema approach, and compose a GitHub issue for a new resource, data source, ephemeral resource, or enhancement to an existing resource.

  • Works in 8 steps: Resolve Milestone Name to Number → Determine Issue Type → Extract Resource Details → …
  • : analyzing SDK DTOs
  • SKILL.md covers Prerequisites, Step 1 — Resolve Milestone…, Step 2 — Determine Issue Type and Step 3 — Extract Resource…, plus 5 more sections
  • Reaches learn.microsoft.com

What it does

Resource Designer is an agent skill from microsoft/terraform-provider-fabric, published by the product's own GitHub organization. Research SDK contracts, design Terraform schema approach, and compose a GitHub issue for a new resource, data source, ephemeral resource, or enhancement to an existing resource. USE FOR: analyzing SDK DTOs, determining design patterns (polymorphic flattening, immutability, enum filtering), and creating well-structured GitHub issues. INVOKES: GitHub MCP tools for issue creation, sdk-contract-navigator skill for SDK analysis.

Its SKILL.md is about 6k tokens, which your agent loads only when the skill is triggered. It is a single SKILL.md file with no bundled scripts.

It sits in DevOps & Cloud, covering Infrastructure as code, Design patterns and Project management. It works with GitHub and Terraform. The repository describes itself as: Terraform Provider for Microsoft Fabric. The licence is MPL-2.0.

When your agent uses it

  • : analyzing SDK DTOs
  • Determining design patterns (polymorphic flattening
  • Enum filtering)
  • Creating well-structured GitHub issues

Example prompts

  • “/resource-designer”

Workflow steps

8 steps, taken from the step headings in SKILL.md.

  1. Resolve Milestone Name to Number
  2. Determine Issue Type
  3. Extract Resource Details
  4. 5 — Terraform Design Analysis
  5. Compose Issue Title
  6. Compose Issue Body
  7. Create the Issue
  8. Report Back

What it can do on your machine

Read from SKILL.md and the folder at commit 86c83be. It shows what the files ask for, not the result of running them.

  • Tool permissions

    Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.

    From allowed-tools in the SKILL.md frontmatter.

  • Runs code

    No scripts in the folder and no shell commands in SKILL.md (its code samples are markdown and terraform).

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    Hosts in commands or code, which the agent is likely to contact:

    • learn.microsoft.com

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names no API keys, tokens, secrets or passwords.

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

Resource Designer loads about 6k tokens when it runs. Until then it costs about 111 tokens; SKILL.md has 1,447 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~111
When it runs · the whole SKILL.md, loaded when a task matches
~6k

Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.

Safety

Auto-check passed

The automated check found no risky patterns in SKILL.md.

Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.

SKILL.md

The full file from microsoft/terraform-provider-fabric at commit 86c83be, republished under its MPL-2.0 licence (© microsoft). 1,447 words, ~5,982 tokens.

Download SKILL.mdSave it as .claude/skills/resource-designer/SKILL.md (or your agent's skills folder).
name
resource-designer
description
Research SDK contracts, design Terraform schema approach, and compose a GitHub issue for a new resource, data source, ephemeral resource, or enhancement to an existing resource. USE FOR: analyzing SDK DTOs, determining design patterns (polymorphic flattening, immutability, enum filtering), and creating well-structured GitHub issues. INVOKES: GitHub MCP tools for issue creation, sdk-contract-navigator skill for SDK analysis.

Skill: Resource Designer

Research SDK contracts, design the Terraform schema approach, and compose a GitHub issue for a new resource, data source, ephemeral resource, or enhancement to an existing resource.

Prerequisites

  • The user has described what they want to add or change
  • Ideally, #skill:sdk-contract-navigator has already been run to identify SDK availability
  • If the caller (resource-designer agent or user) has not provided a milestone name, this skill should prompt for one, then resolve it to a numeric milestone ID via the GitHub API

Step 1 — Resolve Milestone Name to Number

If a milestone name was provided (e.g. "2026-04"), resolve it to its numeric ID:

  1. Query the GitHub REST API:

    GET /repos/microsoft/terraform-provider-fabric/milestones?state=all&per_page=100
  2. Parse the response and find the milestone object where title matches the user's input (case-insensitive)

  3. Extract the number field from that milestone object

  4. If no match is found, report an error with the list of available milestones and ask the user to retry

If no milestone was specified, set milestone: null and proceed.

Step 2 — Determine Issue Type

Choose the correct issue template based on what is being requested.

ScenarioTitle PrefixLabelTemplate File
New resource (Fabric Item or non-item)[RS]tf/resourcetfprovider_resource_request.yml
New data source[DS]tf/data-sourcetfprovider_data_source_request.yml
New ephemeral resource[EPH]tf/ephemeraltfprovider_ephemeral_resource_request.yml
Enhancement to existing resource[FEAT]featurefeature_request.yml
When to Use Each
  • [RS] / [DS] — A completely new Terraform resource or data source that doesn't exist yet. Applies to both Fabric Items (Lakehouse, Eventhouse, etc.) and non-item resources (Connection, Shortcut, Gateway, Workspace Role Assignment, etc.)
  • [EPH] — A new ephemeral resource (short-lived, not stored in state)
  • [FEAT] — Adding new attributes to an existing resource, changing behavior, adding support for a new API feature on an existing resource, or any other enhancement that modifies existing code

If both a resource and data source are needed for the same Fabric resource, create two separate issues.

Step 3 — Extract Resource Details

From the user's description and SDK analysis, gather:

DetailHow to Determine
Resource namefabric_<snake_case> — e.g. fabric_lakehouse, fabric_connection, fabric_shortcut
Display namePascalCase with spaces — e.g. "Lakehouse", "Connection", "Shortcut"
API doc linksBrowse learn.microsoft.com/rest/api/fabric/ for API pages
SDK availabilityCheck if the SDK package/client exists (from #skill:sdk-contract-navigator)
Resource categoryFabric Item (~60%) or non-item (~40%) — see below
Item archetypeFor Fabric Items only: basic, definition, properties, definition-properties, config-properties, config-definition-properties
Complexityeasy (basic/definition), moderate (properties/non-item), hard (config-*/complex non-item)
Definition pathsFor Fabric Items with definitions: fetch the definition article to list supported definition parts — see below
Related resourcesExisting resources that interact with this one
Preview statusCheck if the Fabric API is marked as preview
SPN supportCheck if the API supports service principal authentication
Resource Category Identification

Fabric Items — Standard items managed in workspaces (Lakehouse, Eventhouse, SQL Database, Data Pipeline, Notebook, etc.). These use the fabricitem generic abstraction and have ItemType constants in the core SDK.

Non-item resources — Specialized resources with bespoke CRUD logic. Each belongs to an implementation pattern (A–H) that determines canonical reference, lifecycle semantics, and test structure:

PatternCharacteristicSDK ClientCanonical Reference
AWorkspace policy singleton (no ID, delete=reset)fabcore.WorkspacesClientinternal/services/workspacencp/
BWorkspace settings (dedicated client, validators)fabspark.*internal/services/sparkwssettings/
CRole assignment (parent+principal+role, ImportState)Various *Clientinternal/services/workspacera/
DBatch assignment (immutable set, no update)fabadmin.DomainsClientinternal/services/domainra/
EStandalone entity, standard CRUDVarious dedicated clientsinternal/services/workspace/
EStandalone entity, polymorphic typesfabcore.GatewaysClientinternal/services/gateway/
EStandalone entity, tenant-scopedfabadmin.DomainsClientinternal/services/domain/
EStandalone entity, connect/disconnect lifecyclefabcore.GitClientinternal/services/workspacegit/
FItem-scoped (workspace_id+item_id, 3+ path params)fabcore.OneLakeShortcutsClientinternal/services/shortcut/
FItem-scoped (ModifyPlan, conditional validation)fabcore.JobSchedulerClientinternal/services/itemjobscheduler/
FItem-scoped (simple CRUD, no Update)fabcore.ExternalDataSharesClientinternal/services/externaldatashare/
GTenant-level, custom identity/delete semanticsfabadmin.TenantsClientinternal/services/tenantsetting/
HComplex: dual clients, write-only secrets, KV refsfabcore.ConnectionsClientinternal/services/connection/

Pattern classification decision tree:

Is it a workspace policy/settings with no real entity ID?
├── YES → Uses WorkspacesClient sub-endpoint, delete=reset? → Pattern A
│         Uses dedicated Spark/Environment client, ConfigValidators? → Pattern B
│
├── NO → Is it an assignment of principals/items to a parent?
│         ├── Single-item assignment with updatable role, ImportState? → Pattern C
│         └── Batch set assignment, fully immutable, no Import? → Pattern D
│
├── NO → Is it scoped to a specific item (workspace_id + item_id)?
│         └── YES → Pattern F
│
├── NO → Is it a tenant-level admin resource with non-UUID identity or custom delete?
│         └── YES → Pattern G
│
├── NO → Does it have write-only secrets, dual clients, KV references?
│         └── YES → Pattern H
│
└── NO → Standalone entity with dedicated client → Pattern E

When composing the issue, include the pattern letter in the "Details / References" section so downstream agents can immediately route to the correct implementation reference.

Item Definition Paths

For Fabric Items that support definitions (archetypes: definition, definition-properties, config-definition-properties), fetch the item definition article to discover the supported definition parts/paths:

https://learn.microsoft.com/rest/api/fabric/articles/item-management/definitions/<item-kebab-case>-definition

For example:

  • Notebook → https://learn.microsoft.com/rest/api/fabric/articles/item-management/definitions/notebook-definition
  • Report → https://learn.microsoft.com/rest/api/fabric/articles/item-management/definitions/report-definition
  • Spark Job Definition → https://learn.microsoft.com/rest/api/fabric/articles/item-management/definitions/spark-job-definition-definition

Use the fetch_webpage tool to read the article and extract the list of definition paths (e.g. notebook-content.py, definition.pbir/report.json). Each definition part has a path and format. Record all supported definition paths for inclusion in the issue.

If the article does not exist or returns a 404, the item likely does not support definitions — adjust the archetype accordingly.

API Documentation URL Pattern

Fabric REST API docs follow this pattern (never include en-us locale):

https://learn.microsoft.com/rest/api/fabric/<service>/items

For non-item resources, the API path varies:

https://learn.microsoft.com/rest/api/fabric/core/connections
https://learn.microsoft.com/rest/api/fabric/core/shortcuts
https://learn.microsoft.com/rest/api/fabric/core/gateways
https://learn.microsoft.com/rest/api/fabric/core/workspaces

Step 3.5 — Terraform Design Analysis

After gathering SDK details (Step 3), analyze the DTOs to determine which design patterns apply to this resource. This produces the "🎨 Terraform Design Notes" section in the issue body, giving the implementor explicit guidance.

Analysis Checks

Perform each check by comparing the SDK DTOs discovered in Step 3:

#CheckHow to DetectOutput
1Immutable fieldsFields present in Create<Resource>Request but absent from Update<Resource>Request (or no Update method exists)List fields → RequiresReplace
2Computed-only fieldsFields in response DTO absent from all request DTOsList fields → Computed: true + UseStateForUnknown
3Polymorphic flatteningResponse/request DTO has an interface type, or a struct with a Type/Kind discriminator and variant-specific fieldsDescribe variants → separate optional nested blocks + ExactlyOneOf
4Write-only secretsRequest DTO has *Password/*Secret/*Token/*Key/*Credential fields absent from response DTOList fields → WriteOnly: true + *_reference alternative
5Conditional fieldsProperties that only apply when a type discriminator has a specific value (variant-specific fields)List field→type mappings → NullIfAttributeIsOneOf/RequireIfAttributeIsOneOf
6Enum filteringPossible*Values() contains values representing system-managed/read-only states that cannot be set via Create/UpdateList values to exclude from OneOf validator
7Composite ID for importSub-resource with 3+ path parameters (e.g., workspace_id + item_id + name)Describe import ID format
Show full SKILL.md (504 more words)Show less
Skip Conditions
  • For basic Fabric Items (archetype basic or definition with no properties), checks 3–6 typically don't apply — skip them.
  • For enhancements ([FEAT]), only run checks relevant to the new fields being added.

Step 4 — Compose Issue Title

TypeFormat
New resource[RS] fabric_<snake_case_name>
New data source[DS] fabric_<snake_case_name>
New ephemeral[EPH] fabric_<snake_case_name>
Enhancement[FEAT] <short description of enhancement>

Step 5 — Compose Issue Body

For New Resources ([RS]) and Data Sources ([DS])
📝 Description

Use Job Story format:

When managing Microsoft Fabric infrastructure as code,
I want to create/manage <ResourceName> resources via Terraform,
so I can automate provisioning and maintain consistent <ResourceName> configurations across environments.
🔬 Details / References

For Fabric Items:

Important: Do NOT include SDK CRUD method signatures (e.g. Get, Create, Update, Delete, List, GetDefinition, UpdateDefinition) in the issue body. Fabric Items follow standardized method patterns determined by the archetype — listing them adds noise without value. Only include the SDK package, archetype, DTO fields (Properties/CreationPayload), enum types, and definition paths.

markdown
- Resource Name: `fabric_<snake_case_name>`
- API documentation:
  - https://learn.microsoft.com/rest/api/fabric/<itemtype>/items/create-<item>
  - https://learn.microsoft.com/rest/api/fabric/<itemtype>/items/get-<item>
  - https://learn.microsoft.com/rest/api/fabric/<itemtype>/items/list-<items>
- Definition article: https://learn.microsoft.com/rest/api/fabric/articles/item-management/definitions/<item-kebab-case>-definition
- SDK Package: `github.com/microsoft/fabric-sdk-go/fabric/<package>`
- Item Archetype: `<archetype>`
- Definition Paths (if applicable):
  - `<path>` (format: `<format>`)
  - `<path>` (format: `<format>`)
- Estimated complexity/effort: <easy|moderate|hard>
- Preview: <yes|no>
- SPN Supported: <yes|no>
- Related resources/data-sources:
  - `fabric_workspace` (required parent)

For non-item resources:

markdown
- Resource Name: `fabric_<snake_case_name>`
- API documentation:
  - https://learn.microsoft.com/rest/api/fabric/core/<service>/create-<resource>
  - https://learn.microsoft.com/rest/api/fabric/core/<service>/get-<resource>
  - https://learn.microsoft.com/rest/api/fabric/core/<service>/list-<resources>
- SDK Client: `fabcore.<Resource>Client`
- Resource Category: non-item (bespoke CRUD)
- Implementation Pattern: <A|B|C|D|E|F|G|H> — <pattern description>
- Estimated complexity/effort: <easy|moderate|hard>
- Preview: <yes|no>
- SPN Supported: <yes|no>
- Related resources/data-sources:
  - <related resources>

Pattern key: A=Workspace policy singleton, B=Workspace settings (Spark), C=Role assignment, D=Batch assignment, E=Standalone entity, F=Item-scoped, G=Tenant-level custom, H=Connection (complex credentials)

🌳 DTO Nesting Depth Map (complex resources only)

Include this section only for [RS] and [DS] issues where the SDK DTOs have 3+ nesting levels (slices containing structs with nested slices/pointers to other structs). Skip for flat resources (Workspace, Domain, role assignments, basic Fabric Items without properties).

Render a tree showing the SDK DTO hierarchy with type annotations. This helps implementors plan model structs, set() methods, and SetNull(ctx) placement.

Format — use indented tree with type annotations at leaf/branch nodes:

markdown
<RootDTO>
├── Field1 (string)
├── Field2 (enum)
├── NestedSlice []ChildDTO                    ← Level 1
│   ├── ScalarField (string)
│   ├── DeepSlice []GrandchildDTO             ← Level 2
│   │   ├── LeafSlice []string               ← Level 3
│   │   └── LeafField (enum)
│   └── OptionalNested *AnotherDTO            ← Level 2
│       └── Items []ItemDTO                   ← Level 3
└── OptionalTop *TopDTO                       ← Level 1
    └── Children []ChildDTO                   ← Level 2

Rules:

  • Annotate slices as []Type, optional nested as *Type, scalars as (type)
  • Mark nesting levels with ← Level N comments on lines introducing a new struct depth
  • Only show fields that map to Terraform schema attributes (skip internal/wire-only fields)
  • Maximum depth shown: 5 levels (truncate deeper with ...)
🎨 Terraform Design Notes

Include this section for all [RS] and [DS] issues. Populate from the analysis in Step 3.5. Only include applicable items — omit checks that returned no findings.

Format:

markdown
**Immutable fields** (→ `RequiresReplace`):

- `<field_name>` — only in Create request, not updatable

**Computed-only fields** (→ `Computed: true`):

- `<field_name>` — response-only, server-generated

**Polymorphic type** (→ separate optional blocks + `ExactlyOneOf`):

- SDK type `<InterfaceName>` has variants: `<Variant1>`, `<Variant2>`, ...
- Model as: `<variant_1> {}`, `<variant_2> {}` optional nested blocks

**Write-only secrets** (→ `WriteOnly: true` + `*_reference` alternative):

- `<field_name>` — credential/secret in request, absent from response

**Conditional fields** (→ `NullIfAttributeIsOneOf` / `RequireIfAttributeIsOneOf`):

- `<field_name>` only applies when `type == "<value>"`

**Enum filtering** (→ exclude from `OneOf` validator):

- `<EnumType>`: exclude `<Value1>`, `<Value2>` (system-managed/non-creatable)

**Import ID format**:

- `<workspace_id>/<item_id>/<name>` (composite)
🚧 Potential Terraform Configuration

Generate sample HCL based on SDK properties discovered and informed by the design notes above (use optional blocks for polymorphic types, add comments for immutable/computed fields):

terraform
resource "fabric_<snake_case_name>" "example" {
  display_name = "example"
  description  = "Example resource"
  workspace_id = fabric_workspace.example.id

  # Item-specific attributes
}
☑️ Acceptance Criteria
markdown
- [ ] Can create a new <ResourceName> with required attributes
- [ ] Can read <ResourceName> by ID
- [ ] Can update <ResourceName> mutable attributes
- [ ] Can delete <ResourceName>
- [ ] Can import existing <ResourceName>
- [ ] Properties are correctly mapped from SDK response
✅ Definition of Done

For Resource:

markdown
- [ ] Data Transfer Objects (DTOs)
- [ ] Resource Implementation
- [ ] Resource Added to Provider
- [ ] Unit Tests for Happy path
- [ ] Unit Tests for Error path
- [ ] Acceptance Tests
- [ ] Example in the ./examples folder
- [ ] Schema documentation in code
- [ ] Updated auto-generated provider docs with `task docs`

For Data Source:

markdown
- [ ] Data Transfer Objects (DTOs)
- [ ] Data-Source Implementation
- [ ] Data-Source Added to Provider
- [ ] Unit Tests for Happy path
- [ ] Unit Tests for Error path
- [ ] Acceptance Tests
- [ ] Example in the ./examples folder
- [ ] Schema documentation in code
- [ ] Updated auto-generated provider docs with `task docs`
For Enhancements ([FEAT])

Use the feature_request.yml template structure.

🚀 Feature description

Job Story format describing the enhancement:

When using the existing `fabric_<resource>` resource,
I want to <what is missing or needs to change>,
so I can <expected outcome>.
🔈 Motivation

Explain why the enhancement is needed — e.g. new API capability, missing attribute, user request.

🛰 Alternatives

Describe workarounds or alternative approaches considered.

🔬 SDK Diff (from #skill:sdk-contract-navigator)

Compare the current SDK DTOs against the existing implementation to identify what's new. Include this section in the issue body so the implementor agent has a clear change list:

For Fabric Item enhancements:

markdown
### SDK Diff

Resource: `fabric_<snake_case_name>`
Category: Fabric Item (`<archetype>`)
Service package: `internal/services/<package>/`

| Change    | SDK Field                     | Go Type                  | Current Status                    |
| --------- | ----------------------------- | ------------------------ | --------------------------------- |
| + New     | `Properties.<FieldName>`      | `*string`                | Not in `<item>PropertiesModel`    |
| + New     | `Properties.<NestedField>`    | `*<NestedDTO>`           | New sub-model needed              |
| + New     | `CreationPayload.<FieldName>` | `*bool`                  | Not in `<item>ConfigurationModel` |
| ~ Changed | `Properties.<FieldName>`      | `*int32` (was `*string`) | Type change in model              |

For non-item enhancements:

markdown
### SDK Diff

Resource: `fabric_<snake_case_name>`
Category: non-item (bespoke CRUD)
Service package: `internal/services/<package>/`
SDK Client: `fabcore.<Resource>Client`

| Change       | SDK Field                   | Go Type   | Current Status                          |
| ------------ | --------------------------- | --------- | --------------------------------------- |
| + New        | `<ResponseDTO>.<FieldName>` | `*string` | Not in `base<Resource>Model`            |
| + New        | `<RequestDTO>.<FieldName>`  | `*bool`   | Not in `request<Action><Resource>Model` |
| + New method | `client.<NewMethod>(...)`   | —         | No CRUD handler                         |
🚧 Potential Configuration / Desired Solution

Show HCL demonstrating the desired new behavior:

terraform
resource "fabric_<existing_resource>" "example" {
  # existing attributes...

  # NEW: proposed enhancement
  new_attribute = "value"
}
☑️ Acceptance Criteria
markdown
- [ ] New attribute `<name>` is added to the schema
- [ ] SDK mapping is correct for new fields
- [ ] `set()` methods updated for new fields
- [ ] Fakes updated with new field test data
- [ ] Existing tests still pass
- [ ] New test assertions for added attributes
- [ ] Documentation updated

Step 6 — Create the Issue

Use the GitHub MCP server create_issue tool:

owner: microsoft
repo: terraform-provider-fabric
title: <composed title from Step 4>
body: <composed body from Step 5>
labels: [<appropriate label>]
milestone: <resolved milestone number from Step 1, or null if not specified>

Label mapping:

  • [RS] → ["tf/resource"]
  • [DS] → ["tf/data-source"]
  • [EPH] → ["tf/ephemeral"]
  • [FEAT] → ["feature"]

Step 7 — Report Back

After creating the issue, report:

  • Issue number and URL
  • Summary of what was filed
  • Resource category (Fabric Item vs non-item) and archetype (if applicable)
  • Any gaps or unknowns that need follow-up (e.g. API not yet public, SDK package missing)

© microsoft, MPL-2.0. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

Just SKILL.md in .github/skills/resource-designer of microsoft/terraform-provider-fabric.

Open the folder on GitHubat commit 86c83be

Compare with similar skills

Resource Designer next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.

Resource Designer compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Resource Designer this skillmicrosoft/terraform-provider-fabric128—~6kAutomated safety check: PassMPL-2.0
Apex GitHub Operationsjonathan-vella/apex217—~1.5kAutomated safety check: PassMIT
Azure CopilotMicrosoftDocs/Agent-Skills775—~1.4kAutomated safety check: PassCC-BY-4.0
Datadog Data Source GeneratorDataDog/terraform-provider-datadog468—~2.7kAutomated safety check: PassMPL-2.0
Avm Tf ClassificationsAzure/terraform-azurerm-avm-ptn-alz135—~2.9kAutomated safety check: PassMIT
Admingrafana/skills278—~1.5kAutomated safety check: PassApache-2.0

Similar skills

  • Apex GitHub Operations

    jonathan-vella/apex

    WORKFLOW SKILL — Full GitHub contribution lifecycle: branches, conventional commits, issues, PRs, Actions, releases.

    217 GitHub stars~1.5k tokensUpdated today
    DevOps & CloudAuto-check passed
  • Azure Copilot

    MicrosoftDocs/Agent-Skills

    Official

    Expert knowledge for Azure Copilot development including troubleshooting, decision making, architecture & design patterns, security, configuration, and integrations & coding patterns.

    775 GitHub stars~1.4k tokensUpdated yesterday
    DevOps & CloudAuto-check passed
  • Datadog Data Source Generator

    DataDog/terraform-provider-datadog

    Official

    Generates a Datadog Terraform provider data source from an OpenAPI operation with tfgen and opens a review-ready GitHub PR with a risk scan and testing guide.

    468 GitHub stars~2.7k tokensUpdated today
    DevOps & CloudAuto-check passed
  • Avm Tf Classifications

    Azure/terraform-azurerm-avm-ptn-alz

    Official

    A skill your agent uses whenever a contributor is deciding what KIND of Azure Verified Module to build in Terraform — resource module, pattern module, or utility module — or is naming a module /…

    135 GitHub stars~2.9k tokensUpdated yesterday
    DevOps & CloudAuto-check passed
  • Admin

    grafana/skills

    Official

    Manage Grafana Cloud accounts — organizations, stacks, RBAC roles and assignments, SSO/SAML/OAuth/GitHub auth, service accounts for CI/CD, user invites, team membership, and API-driven provisioning.

    278 GitHub stars~1.5k tokensUpdated today
    DevOps & CloudAuto-check passed
  • OpenTofu/Terraform pattern for GitHub Actions OIDC trust with AWS IAM.

    356 GitHub stars~1.6k tokensUpdated 5 days ago
    DevOps & CloudAuto-check passed

More from microsoft/terraform-provider-fabric

  • Itemgen Command Builder

    microsoft/terraform-provider-fabric

    Official

    Given SDK analysis results, automatically determine the correct itemgen archetype and build the full go run tools/itemgen/main.go command.

    128 GitHub stars~1.5k tokensUpdated yesterday
    Auto-check passed
  • Schema Model Generator

    microsoft/terraform-provider-fabric

    Official

    Given a Go SDK contract (DTOs), generate the corresponding Terraform schema attributes and model structs with high fidelity.

    128 GitHub stars~2.5k tokensUpdated yesterday
    Auto-check passed
  • SDK Contract Navigator

    microsoft/terraform-provider-fabric

    Official

    Navigate the fabric-sdk-go SDK source to find the correct client factory, DTOs, item type constants, and pager methods for a given Fabric Item or non-item resource.

    128 GitHub stars~3k tokensUpdated yesterday
    Auto-check passed
  • Wellknown Analyzer

    microsoft/terraform-provider-fabric

    Official

    Analyze dependencies and determine what infrastructure must be added to tools/scripts/Set-WellKnown.ps1 and internal/testhelp/wellknown.go so that acceptance tests for a new resource have all…

    128 GitHub stars~3.2k tokensUpdated yesterday
    Auto-check passed

Works with

Questions about Resource Designer

What does Resource Designer do?

Research SDK contracts, design Terraform schema approach, and compose a GitHub issue for a new resource, data source, ephemeral resource, or enhancement to an existing resource. Resource Designer is an agent skill from microsoft/terraform-provider-fabric, published by the product's own GitHub organization. Research SDK contracts, design Terraform schema approach, and compose a GitHub issue for a new resource, data source, ephemeral resource, or enhancement to an existing resource.

When should I use Resource Designer?

Resource Designer fits situations like: : analyzing SDK DTOs; determining design patterns (polymorphic flattening; enum filtering); creating well-structured GitHub issues.

How do I install Resource Designer in Claude Code?

Run `npx skills add microsoft/terraform-provider-fabric --skill resource-designer -a claude-code`. Or copy the skill folder (.github/skills/resource-designer in microsoft/terraform-provider-fabric) into .claude/skills/resource-designer in your project. Claude Code loads it when a task matches its description.

How do I install Resource Designer in Codex?

Run `npx skills add microsoft/terraform-provider-fabric --skill resource-designer -a codex`. Or copy the skill folder (.github/skills/resource-designer in microsoft/terraform-provider-fabric) into .agents/skills/resource-designer in your project. Codex loads it when a task matches its description.

Can I use Resource Designer in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add microsoft/terraform-provider-fabric --skill resource-designer -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/resource-designer, .gemini/skills/resource-designer, .github/skills/resource-designer and .opencode/skills/resource-designer in your project.

What does Resource Designer need to run?

SKILL.md names no scripts, command-line tools or credentials: Resource Designer is instructions for the agent only.

Does Resource Designer access the network?

SKILL.md names 1 domain. In commands or code: learn.microsoft.com; the agent is likely to contact it when it follows the instructions. This is read from the text; nothing was executed.

Is Resource Designer safe to install?

Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.

What licence does Resource Designer use?

Resource Designer is published under the MPL-2.0 licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Resource Designer use?

About 6k tokens (SKILL.md is roughly 24k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.

What are the alternatives to Resource Designer?

Skills that share tags, products or a category with Resource Designer: Apex GitHub Operations (jonathan-vella/apex, 217 stars), Azure Copilot (MicrosoftDocs/Agent-Skills, 775 stars), Datadog Data Source Generator (DataDog/terraform-provider-datadog, 468 stars) and Avm Tf Classifications (Azure/terraform-azurerm-avm-ptn-alz, 135 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Resource Designer?

microsoft (a GitHub organization, an official publisher) maintains it in microsoft/terraform-provider-fabric, which has 128 GitHub stars. The repository holds 5 skills in this directory. The repository was last updated on October 6, 2026.

Source: microsoft/terraform-provider-fabric on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.