Agent skill

C Sharp Scripting

by data-goblin in data-goblin/power-bi-agentic-development

Writing and executing C scripts and macros against Power BI semantic models using Tabular Editor 2/3.

GPL-3.0Auto-check passedData & Analytics

Install C Sharp Scripting

skills CLI
$ npx skills add data-goblin/power-bi-agentic-development --skill c-sharp-scripting -a claude-code

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

GitHub CLI
$ gh skill install data-goblin/power-bi-agentic-development c-sharp-scripting --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/data-goblin/power-bi-agentic-development.git skills-src && mkdir -p .claude/skills && cp -r skills-src/plugins/tabular-editor/skills/c-sharp-scripting .claude/skills/c-sharp-scripting && 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
c-sharp-scripting
GitHub stars
1k
Token cost
~3.7k tokens
SKILL.md length
1,056 words
Files
249 (incl. references)
Skills in repo
33
Repo updated
First seen
Licence
GPL-3.0

At a glance

Writing and executing C scripts and macros against Power BI semantic models using Tabular Editor 2/3.

  • Works in 2 steps: Tabular Editor CLI → Connection Types
  • Mentions C script
  • SKILL.md covers When to Use This Skill, Critical, C# Version Support and Default Imports and Assemblies, plus 11 more sections
  • Needs AZURE_CLIENT_SECRET

What it does

C Sharp Scripting is an agent skill from data-goblin/power-bi-agentic-development. Writing and executing C scripts and macros against Power BI semantic models using Tabular Editor 2/3. Automatically invoke when the user mentions "C script", "Tabular Editor script", "TOM scripting", "MacroActions.json", "XMLA", or asks to "automate model changes", "bulk update measures", "create calculation groups", "write a macro", "format DAX expressions", "manage model metadata".

Its SKILL.md is about 3.7k tokens, which your agent loads only when the skill is triggered. The skill folder holds 252 other files, including reference files (for example `examples/README.md`, `examples/bulk-operations/README.md` and `examples/calculation-groups/README.md`).

It sits in Data & Analytics. It works with C# and Power BI. The repository describes itself as: Power BI AI skills and Power BI agents for Claude Code and GitHub Copilot: a plugin marketplace of Power BI skills, subagents, and hooks for semantic models, DAX, TMDL, reports… The licence is GPL-3.0.

When your agent uses it

  • Mentions C script
  • Tabular Editor script
  • MacroActions.json
  • Asks to automate model changes

Example prompts

  • “C script”
  • “Tabular Editor script”
  • “TOM scripting”
  • “/c-sharp-scripting”

Requirements

  • A credential in AZURE_CLIENT_SECRET

Workflow steps

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

  1. Tabular Editor CLI
  2. Connection Types

What it can do on your machine

Read from SKILL.md and the folder at commit 41886f2. 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 csharp and bash).

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

  • Network

    Links to these hosts (documentation or services it may open):

    • docs.tabulareditor.com
    • github.com
    • learn.microsoft.com

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

  • Credentials

    Names these keys or tokens, usually read from environment variables:

    • AZURE_CLIENT_SECRET

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

Context cost

C Sharp Scripting loads about 3.7k tokens when it runs, and up to ~6.1k if it reads all its reference files. Until then it costs about 102 tokens; SKILL.md has 1,056 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~102
When it runs · the whole SKILL.md, loaded when a task matches
~3.7k
With references · SKILL.md plus every file in references/, read only if the agent opens them
~6.1k

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 data-goblin/power-bi-agentic-development at commit 41886f2, republished under its GPL-3.0 licence (© data-goblin). 1,056 words, ~3,738 tokens.

Download SKILL.mdSave it as .claude/skills/c-sharp-scripting/SKILL.md (or your agent's skills folder). This skill also uses 248 other files; get the full folder from GitHub.
name
c-sharp-scripting
description
Writing and executing C# scripts and macros against Power BI semantic models using Tabular Editor 2/3. Automatically invoke when the user mentions "C# script", "Tabular Editor script", "TOM scripting", "MacroActions.json", "XMLA", or asks to "automate model changes", "bulk update measures", "create calculation groups", "write a macro", "format DAX expressions", "manage model metadata".

C# Scripting for Tabular Editor

Expert guidance for writing and executing C# scripts to manipulate Power BI semantic model metadata using Tabular Editor 2/3 CLI or the Tabular Editor IDE.

When to Use This Skill

Activate automatically when tasks involve:

  • Writing C# scripts for Tabular Editor
  • Bulk operations on model objects (measures, columns, tables)
  • Creating or modifying calculation groups
  • Managing model security (roles, RLS, OLS)
  • Formatting DAX expressions
  • Automating repetitive model changes
  • Querying model metadata via TOM API
  • Building interactive scripts with user input dialogs

Critical

  • Every statement must end with ; (semicolon required by C#)
  • Use double quotes " for strings and escape with \ when needed
  • Use forward slashes / in DisplayFolder paths (auto-converted to \)
  • Always add Info() statements for debugging - script stops at error point
  • Test scripts on non-production models first
  • Changes are undoable with Ctrl+Z in the Tabular Editor UI

C# Version Support

EnvironmentC# VersionNotes
Tabular Editor 2Default compilerOlder C# syntax
Tabular Editor 3RoslynSupports up to C# 12 with VS2022
TE2 with RoslynConfigurableSet in File > Preferences > General

To use newer C# features in TE2, configure Roslyn compiler path in preferences.

Default Imports and Assemblies

Auto-Imported Namespaces

Scripts automatically have these using statements applied:

csharp
using System;
using System.Linq;
using System.Collections.Generic;
using Newtonsoft.Json;
using TabularEditor.TOMWrapper;
using TabularEditor.TOMWrapper.Utils;
using TabularEditor.UI;
Pre-Loaded Assemblies

These .NET assemblies are loaded by default:

  • System.Dll
  • System.Core.Dll
  • System.Data.Dll
  • System.Windows.Forms.Dll (for UI dialogs)
  • Microsoft.Csharp.Dll
  • Newtonsoft.Json.Dll
  • TomWrapper.Dll
  • TabularEditor.Exe
  • Microsoft.AnalysisServices.Tabular.Dll
Adding External Assemblies
csharp
// Assembly references must be at the very top of the file:
#r "System.IO.Compression"
#r "System.Drawing"

// Using statements come after assembly references:
using System.IO.Compression;
using System.Drawing;

Prerequisites

For Tabular Editor CLI
RequirementDescription
Tabular Editor 2 CLIDownload from GitHub releases
XMLA Read/WriteEnabled on Fabric capacity or Power BI Premium
Azure Service PrincipalFor XMLA connections (see authentication.md)
Environment Variables (for XMLA)
AZURE_CLIENT_ID=<app-id>
AZURE_TENANT_ID=<tenant-id>
AZURE_CLIENT_SECRET=<secret>

Execution Methods

1. Tabular Editor CLI
bash
# Inline script
TabularEditor.exe "WorkspaceName/ModelName" -S "Info(Model.Database.Name);"

# Script file
TabularEditor.exe "WorkspaceName/ModelName" -S "script.csx"
2. Connection Types
TypeFormatExample
XMLAworkspace/model"Sales WS/Sales Model"
Local BIMpath/to/model.bim"./model.bim"
Local TMDLpath/to/definition/"./MyModel.SemanticModel/definition/"
PBI Desktoplocalhost:PORT"localhost:52123"

Core Objects

The Model Object

Access any object in the loaded Tabular Model:

csharp
Model                           // Root model object
Model.Tables                    // All tables
Model.Tables["Sales"]           // Specific table
Model.AllMeasures               // All measures across all tables
Model.AllColumns                // All columns across all tables
Model.Relationships             // All relationships
Model.Roles                     // All security roles
Model.CalculationGroups         // All calculation groups
Model.Perspectives              // All perspectives
Model.Cultures                  // All translations/cultures
Model.Expressions               // All M expressions (shared queries)
Model.DataSources               // All data sources
The Selected Object

Access objects currently selected in the TOM Explorer (IDE only):

csharp
// Plural form - collections (safe even when empty)
Selected.Tables                 // Selected tables
Selected.Measures               // Selected measures
Selected.Columns                // Selected columns
Selected.Hierarchies            // Selected hierarchies

// Singular form - single object (error if not exactly one selected)
Selected.Table                  // The single selected table
Selected.Measure                // The single selected measure
Selected.Column                 // The single selected column

// Set properties on multiple objects at once
Selected.Measures.DisplayFolder = "Test";
Selected.Columns.IsHidden = true;

// Bulk rename with pattern
Selected.Measures.Rename("Amount", "Value");

When a Display Folder is selected, all child items are included in the selection.

LINQ Fundamentals

LINQ is essential for filtering and transforming TOM collections. See references/linq-reference.md for the full method table, lambda syntax, and examples.

Key methods: Where(), First(), FirstOrDefault(), Any(), All(), Count(), Select(), OrderBy(), ForEach(), ToList().

csharp
// Common pattern: filter, chain, act
Model.AllMeasures
    .Where(m => m.Name.Contains("Revenue"))
    .Where(m => string.IsNullOrEmpty(m.FormatString))
    .ForEach(m => m.FormatString = "$#,0");

Helper Methods

See references/helper-methods.md for the complete reference including Output() variations, file operations, property export/import, interactive selection dialogs, DAX formatting/execution, and macro invocation.

MethodPurpose
Info(message)Display info popup (CLI: writes to console)
Warning(message)Display warning popup
Error(message)Display error popup and stop script
Output(object)Display detailed object inspector dialog
SaveFile(path, content) / ReadFile(path)File I/O
ExportProperties() / ImportProperties()TSV export/import
SelectMeasure() / SelectTable()Interactive selection (IDE only)
FormatDax() / CallDaxFormatter()DAX formatting
EvaluateDax() / ExecuteDax()DAX execution (connected)

WinForms UI Patterns

For interactive dialogs (input forms, dropdowns, multi-select), see references/winforms-dialogs.md. Key setup: #r "System.Drawing", ScriptHelper.WaitFormVisible = false;

Quick Reference

Core Patterns

Add a Measure:

csharp
var m = Model.Tables["Sales"].AddMeasure("Total Revenue", "SUM(Sales[Amount])");
m.FormatString = "$#,0";
m.DisplayFolder = "Key Metrics";
m.Description = "Total sales revenue";
Info("Added: " + m.Name);

Iterate Tables/Columns:

csharp
foreach(var t in Model.Tables) {
    foreach(var c in t.Columns.Where(c => c.Name.EndsWith("Key"))) {
        c.IsHidden = true;
    }
}
Info("Hidden key columns");

Conditional Operations:

csharp
foreach(var m in Model.AllMeasures) {
    if(m.Name.Contains("Revenue")) m.FormatString = "$#,0";
    if(m.Name.Contains("Rate")) m.FormatString = "0.00%";
}

Create Calculation Group:

csharp
var cg = Model.AddCalculationGroup("Time Intelligence");
cg.Precedence = 10;

var ytd = cg.AddCalculationItem("YTD", "CALCULATE(SELECTEDMEASURE(), DATESYTD('Date'[Date]))");
var prior = cg.AddCalculationItem("Prior Year");
prior.Expression = @"
CALCULATE(
    SELECTEDMEASURE(),
    DATEADD('Date'[Date], -1, YEAR)
)
";
Info("Created calculation group");
TOM API Quick Reference
ObjectAccessCommon Properties
ModelModel.Tables, .AllMeasures, .Relationships
TableModel.Tables["Name"].Measures, .Columns, .Partitions, .IsHidden
MeasureTable.Measures["Name"].Expression, .FormatString, .DisplayFolder, .Description
ColumnTable.Columns["Name"].DataType, .FormatString, .IsHidden, .SummarizeBy
RelationshipModel.Relationships.FromTable, .ToTable, .IsActive, .CrossFilteringBehavior
RoleModel.Roles["Name"].Members, .TablePermissions
HierarchyTable.Hierarchies.Levels, .DisplayFolder, .IsHidden
PartitionTable.Partitions.Expression, .SourceType, .DataSource
PerspectiveModel.PerspectivesObjects have .InPerspective["Name"]
CultureModel.CulturesObjects have .TranslatedNames["culture"]

Object Type Reference

Detailed documentation for each object type in object-types/:

  • tables.md - Table CRUD, properties, partitions
  • columns.md - Column types, properties, sorting
  • measures.md - Measure creation, formatting, organization
  • relationships.md - Relationship management
  • calculation-groups.md - Calculation groups and items
  • roles.md - Roles, RLS, OLS configuration
  • hierarchies.md - Hierarchy and level management
  • partitions.md - Partition types and configuration
  • perspectives.md - Perspective membership
  • translations.md - Culture and translation management
  • annotations.md - Custom metadata annotations
Show full SKILL.md (463 more words)Show less

Example Scripts

180 working .csx scripts organized by category in examples/. Before writing a script from scratch, check if a relevant example already exists -- read the example, adapt it to the task, and modify as needed.

CategoryScriptsDescription
bulk-operations/8Model initialization, batch updates, clean names, sync folders, validate
calculation-groups/2Time intelligence, currency conversion
columns/20Data types, hiding, sorting, encoding hints, cardinality, properties
cultures/4Add/delete cultures, list, modify translations
display-folders/8Organize by type, clear, rename, add/remove folders
evaluate-dax/5Execute DAX, scalar queries, table queries, column sizes, optimize
format-dax/8Format measures, calculated columns/tables, KPIs, detail rows
format-strings/6Apply by name/pattern, custom formats, dynamic format strings
functions/4Add/delete/list/modify shared M functions
hierarchies/4Add/delete/list/modify hierarchies
kpis/4Add/delete/list/modify KPIs
measures/18Full CRUD, time intelligence, bulk create, move, hide/unhide
model/10Properties, compatibility level, dependencies, refresh, export stats
partitions/6Refresh, find-replace M, incremental refresh, hybrid tables
perspectives/4Add/delete/list/modify perspectives
relationships/5Create, naming conventions, RI violations, integrity, properties
roles/7Add/delete roles, members, RLS, OLS configuration
shared-expressions/6Named expressions, range parameters, M functions
svg-measures/15Bar charts, bullet charts, dumbbells, lollipops, waterfall, jitter
tables/36All table types (import, DirectQuery, Direct Lake, calculated, field parameter, date), refresh policies, RLS/OLS, properties

Common Workflows

See references/common-workflows.md for complete workflow scripts: bulk format measures, create time intelligence measures, configure RLS, audit hidden objects. Also check examples/ for 180 working .csx scripts before writing from scratch.

Debugging & Troubleshooting

Script Doesn't Complete

Add Info() checkpoints to find where script fails:

csharp
Info("Step 1: Starting");
var table = Model.Tables["Sales"];
Info("Step 2: Got table");
var measure = table.AddMeasure("Test", "1");
Info("Step 3: Added measure");  // If this doesn't appear, AddMeasure failed
Object Not Found

Check existence before accessing:

csharp
if(Model.Tables.Contains("Sales")) {
    var table = Model.Tables["Sales"];
    // ...
} else {
    Error("Table 'Sales' not found");
}

// Or use FirstOrDefault
var table = Model.Tables.FirstOrDefault(t => t.Name == "Sales");
if(table == null) {
    Error("Table not found");
}
Changes Not Appearing
  • XMLA operations may take 2-5 seconds to sync
  • Refresh Power BI Desktop connection after changes
  • Check for silent errors (add Info() after each operation)

TE2/TE3 Compatibility

Use preprocessor directives for version-specific code:

csharp
#if TE3
    // TE3-specific code (version 3.10.0+)
    Info("Running in Tabular Editor 3");
#else
    // TE2 fallback
    Info("Running in Tabular Editor 2");
#endif

Check version at runtime:

csharp
var majorVersion = Selected.GetType().Assembly.GetName().Version.Major;
if(majorVersion >= 3) {
    // TE3 code
}

Best Practices

  1. Add Info() statements - Track script execution and catch errors early
  2. Check object existence - Use .Contains() or .Any() before accessing
  3. Use bulk operations - Single script with loops is faster than multiple scripts
  4. Test on dev models - Never test new scripts on production
  5. Use @"..." for DAX - Multi-line strings for DAX expressions
  6. Format with FormatDax() - After creating measures/columns
  7. Set DisplayFolder with / - Forward slashes auto-convert to backslashes
  8. Hide the wait spinner - ScriptHelper.WaitFormVisible = false; for UI dialogs

Additional Resources

Reference Files
  • object-types/ - Detailed API docs per object type
  • examples/ - 180 working .csx scripts across 20 categories; always check here before writing from scratch
Fetching Docs

To retrieve current TOM API reference docs, use microsoft_docs_search + microsoft_docs_fetch (MCP) if available, otherwise mslearn search + mslearn fetch (CLI). Search based on the user's request and run multiple searches as needed to ensure sufficient context before proceeding.

External References

© data-goblin, GPL-3.0. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

SKILL.md and 248 other files (references) in plugins/tabular-editor/skills/c-sharp-scripting of data-goblin/power-bi-agentic-development.

  • SKILL.md
  • examples/README.md
  • examples/bulk-operations/README.md
  • examples/bulk-operations/add_descriptions_to_all.csx
  • examples/bulk-operations/add_expression_to_descriptions.csx
  • examples/bulk-operations/clean_object_names.csx
  • examples/bulk-operations/create_measures_from_columns.csx
  • examples/bulk-operations/initialize_model.csx
  • examples/bulk-operations/sync_folders_from_names.csx
  • examples/bulk-operations/update_descriptions_from_comments.csx
  • examples/bulk-operations/validate_and_fix_issues.csx
  • examples/calculation-groups/README.md
  • examples/calculation-groups/currency_conversion.csx
  • examples/calculation-groups/time_intelligence.csx
  • examples/columns/README.md
  • examples/columns/add-calculated-column.csx
  • examples/columns/add_calculated_column.csx
  • … and 232 more

Open the folder on GitHubat commit 41886f2

Compare with similar skills

C Sharp Scripting 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.

C Sharp Scripting compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
C Sharp Scripting this skilldata-goblin/power-bi-agentic-development1k—~3.7kAutomated safety check: PassGPL-3.0
Power Bi AI ReadinessDKH-DK/Self-Service-Power-BI-Fabric113—~2kAutomated safety check: PassNone
Dot Auditrobocode-dev/tank-royale269—~3.6kAutomated safety check: NotesMIT
Pbi Report Builderlukasreese/powerbi-claude-skills128—~7.5kAutomated safety check: PassNone
Pbi Docxperiun/skills-xperiun-free117—~3kAutomated safety check: PassMIT
Dot Scoutrobocode-dev/tank-royale269—~3.9kAutomated safety check: NotesMIT

Similar skills

  • Power Bi AI Readiness

    DKH-DK/Self-Service-Power-BI-Fabric

    Score and prepare Power BI semantic models for AI (Fabric Data Agent / Copilot).

    113 GitHub stars~2k tokensUpdated 3 mo ago
    Data & AnalyticsAuto-check passed
  • Dot Audit

    robocode-dev/tank-royale

    Review a file, directory, or inline code against its activated principles.

    269 GitHub stars~3.6k tokensUpdated 2 days ago
    Data & AnalyticsAuto-check: notes
  • Pbi Report Builder

    lukasreese/powerbi-claude-skills

    [power-bi] Power BI PBIR Report Builder with IBCS Visuals. An agent skill from lukasreese/powerbi-claude-skills.

    128 GitHub stars~7.5k tokensUpdated 5 mo ago
    Data & AnalyticsAuto-check passed
  • Pbi Doc

    xperiun/skills-xperiun-free

    Documenta projeto Power BI (PBIP) inteiro em markdown estruturado + HTML navegável (mini-site de doc).

    117 GitHub stars~3k tokensUpdated 20 days ago
    Data & AnalyticsAuto-check passed
  • Dot Scout

    robocode-dev/tank-royale

    Analyse a project to detect which principles apply and create or update .principles files encoding that analysis.

    269 GitHub stars~3.9k tokensUpdated 2 days ago
    Data & AnalyticsAuto-check: notes
  • Pbip Dependency Analyzer

    lukasreese/powerbi-claude-skills

    Power BI PBIP Dependency Analyzer. An agent skill from lukasreese/powerbi-claude-skills.

    128 GitHub stars~3.2k tokensUpdated 5 mo ago
    Data & AnalyticsAuto-check passed

More from data-goblin/power-bi-agentic-development

All 33 skills in this repo
  • Paginated Report

    data-goblin/power-bi-agentic-development

    Author, validate, publish, and test Power BI paginated reports in the RDL format.

    1k GitHub stars~3.5k tokensUpdated 2 days ago
    Auto-check passed
  • Audit Tenant Settings

    data-goblin/power-bi-agentic-development

    Automatically invoke this skill whenever the user asks about Fabric tenant settings or Power BI tenant settings or auditing tenant settings.

    1k GitHub stars~4.7k tokensUpdated 2 days ago
    Auto-check passed
  • Bpa Rules

    data-goblin/power-bi-agentic-development

    Interactive BPA rule generation for Power BI semantic models; guided discovery, model investigation, and expert rule authoring.

    1k GitHub stars~4.4k tokensUpdated 2 days ago
    Auto-check passed
  • Pbip

    data-goblin/power-bi-agentic-development

    Guidance for Power BI Project (PBIP) structure, thick and thin reports, project renames, forks, and validation.

    1k GitHub stars~3.8k tokensUpdated 2 days ago
    Auto-check passed
  • Review Report

    data-goblin/power-bi-agentic-development

    Actionable feedback on the quality, usage, and effectiveness of Power BI reports.

    1k GitHub stars~4.2k tokensUpdated 2 days ago
    Auto-check passed
  • Semantic Model

    data-goblin/power-bi-agentic-development

    This skill should be used whenever the user mentions a "semantic model", "data model", or "dataset", or asks to "build", "model", "design", "optimize", "review", or "audit" one, or to "add a…

    1k GitHub stars~2.8k tokensUpdated 2 days ago
    Auto-check passed

Works with

Questions about C Sharp Scripting

What does C Sharp Scripting do?

Writing and executing C scripts and macros against Power BI semantic models using Tabular Editor 2/3. C Sharp Scripting is an agent skill from data-goblin/power-bi-agentic-development. Writing and executing C scripts and macros against Power BI semantic models using Tabular Editor 2/3.

When should I use C Sharp Scripting?

C Sharp Scripting fits situations like: mentions C script; tabular Editor script; macroActions.json; asks to automate model changes.

How do I install C Sharp Scripting in Claude Code?

Run `npx skills add data-goblin/power-bi-agentic-development --skill c-sharp-scripting -a claude-code`. Or copy the skill folder (plugins/tabular-editor/skills/c-sharp-scripting in data-goblin/power-bi-agentic-development) into .claude/skills/c-sharp-scripting in your project. Claude Code loads it when a task matches its description.

How do I install C Sharp Scripting in Codex?

Run `npx skills add data-goblin/power-bi-agentic-development --skill c-sharp-scripting -a codex`. Or copy the skill folder (plugins/tabular-editor/skills/c-sharp-scripting in data-goblin/power-bi-agentic-development) into .agents/skills/c-sharp-scripting in your project. Codex loads it when a task matches its description.

Can I use C Sharp Scripting 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 data-goblin/power-bi-agentic-development --skill c-sharp-scripting -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/c-sharp-scripting, .gemini/skills/c-sharp-scripting, .github/skills/c-sharp-scripting and .opencode/skills/c-sharp-scripting in your project.

What does C Sharp Scripting need to run?

Going by SKILL.md and its folder, C Sharp Scripting needs credentials named AZURE_CLIENT_SECRET. Our summary lists: A credential in AZURE_CLIENT_SECRET.

Does C Sharp Scripting access the network?

SKILL.md names 3 domains. As links in the text: docs.tabulareditor.com, github.com and learn.microsoft.com. This is read from the text; nothing was executed.

Is C Sharp Scripting 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 C Sharp Scripting use?

C Sharp Scripting is published under the GPL-3.0 licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does C Sharp Scripting use?

About 3.7k tokens (SKILL.md is roughly 15k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full. Its references folder adds about 2.4k tokens, read only when the agent opens those files.

What are the alternatives to C Sharp Scripting?

Skills that share tags, products or a category with C Sharp Scripting: Power Bi AI Readiness (DKH-DK/Self-Service-Power-BI-Fabric, 113 stars), Dot Audit (robocode-dev/tank-royale, 269 stars), Pbi Report Builder (lukasreese/powerbi-claude-skills, 128 stars) and Pbi Doc (xperiun/skills-xperiun-free, 117 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains C Sharp Scripting?

data-goblin (a GitHub user) maintains it in data-goblin/power-bi-agentic-development, which has 1,026 GitHub stars. The repository holds 33 skills in this directory. The repository was last updated on October 5, 2026.

Source: data-goblin/power-bi-agentic-development on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.