MR
Mayur Rathi
@github
⭐ 34.1k GitHub stars

Pcf-Manifest-Schema

Pcf-Manifest-Schema是一款code方向的AI技能,核心价值是Complete manifest schema reference for PCF components with all available XML elements,可用于解决开发者在code领域的实际问题,帮助用户提升效率、自动化重复任务或优化工作流。

Complete manifest schema reference for PCF components with all available XML elements

Last verified on: 2026-05-30
mkdir -p ./skills/pcf-manifest-schema && curl -sfL https://raw.githubusercontent.com/github/awesome-copilot/main/skills/pcf-manifest-schema/SKILL.md -o ./skills/pcf-manifest-schema/SKILL.md

Run in terminal / PowerShell. Requires curl (Unix) or PowerShell 5+ (Windows).

Skill Content

# Manifest Schema Reference


The manifest file (`ControlManifest.Input.xml`) is a metadata document that defines your code component. This reference lists all available manifest elements and their purposes.


Root Element


manifest


The root element that contains the entire component definition.


Core Elements


code


Refers to the resource file that implements the component logic.


**Attributes:**

- `path`: Path to the TypeScript/JavaScript implementation file

- `order`: Loading order (typically "1")


**Availability:** Model-driven apps, canvas apps, portals


control


Defines the component itself, including namespace, version, and display information.


**Key Attributes:**

- `namespace`: Namespace for the component

- `constructor`: Constructor name

- `version`: Semantic version (e.g., "1.0.0")

- `display-name-key`: Resource key for display name

- `description-key`: Resource key for description

- `control-type`: Type of control ("standard" or "virtual")


**Availability:** Model-driven apps, canvas apps, portals


Property Elements


property


Defines an input or output property for the component.


**Key Attributes:**

- `name`: Property name

- `display-name-key`: Resource key for display name

- `description-key`: Resource key for description

- `of-type`: Data type (e.g., "SingleLine.Text", "Whole.None", "TwoOptions", "DateAndTime.DateOnly")

- `usage`: Property usage ("bound" or "input")

- `required`: Whether property is required (true/false)

- `of-type-group`: Reference to a type-group

- `default-value`: Default value for the property


**Availability:** Model-driven apps, canvas apps, portals


type-group


Defines a group of types that a property can accept.


**Usage:** Allows a property to accept multiple data types


**Availability:** Model-driven apps, canvas apps, portals


Data Set Elements


data-set


Defines a dataset property for working with tabular data.


**Key Attributes:**

- `name`: Dataset name

- `display-name-key`: Resource key for display name

- `description-key`: Resource key for description


**Availability:** Model-driven apps (canvas apps with limitations)


Resource Elements


resources


Container for all resource definitions (code, CSS, images, localization).


**Availability:** Model-driven apps, canvas apps, portals


css


References a CSS stylesheet file.


**Attributes:**

- `path`: Path to CSS file

- `order`: Loading order


**Availability:** Model-driven apps, canvas apps, portals


img


References an image resource.


**Attributes:**

- `path`: Path to image file


**Availability:** Model-driven apps, canvas apps, portals


resx


References a resource file for localization.


**Attributes:**

- `path`: Path to .resx file

- `version`: Version number


**Availability:** Model-driven apps, canvas apps, portals


Feature Usage Elements


uses-feature


Declares that the component uses a specific platform feature.


**Key Attributes:**

- `name`: Feature name (e.g., "Device.captureImage", "Device.getCurrentPosition", "Utility.lookupObjects", "WebAPI")

- `required`: Whether feature is required (true/false)


**Common Features:**

- Device.captureAudio

- Device.captureImage

- Device.captureVideo

- Device.getBarcodeValue

- Device.getCurrentPosition

- Device.pickFile

- Utility.lookupObjects

- WebAPI


**Availability:** Varies by feature and platform


feature-usage


Container for feature declarations.


**Availability:** Model-driven apps, canvas apps


Dependency Elements


dependency


Declares external dependencies required by the component.


**Availability:** Model-driven apps, canvas apps


external-service-usage


Declares external services that the component uses.


**Key Attributes:**

- `enabled`: Whether external service usage is enabled (true/false)


**Availability:** Model-driven apps, canvas apps


Library Elements


platform-library


References a platform-provided library (e.g., React, Fluent UI).


**Key Attributes:**

- `name`: Library name (e.g., "React",

🎯 Best For

  • Claude users
  • GitHub Copilot users
  • Software engineers
  • Development teams
  • Tech leads

💡 Use Cases

  • Code quality improvement
  • Best practice enforcement

📖 How to Use This Skill

  1. 1

    Install the Skill

    Copy the install command from the Terminal tab and run it. The SKILL.md file downloads to your local skills directory.

  2. 2

    Load into Your AI Assistant

    Open Claude or GitHub Copilot and reference the skill. Paste the SKILL.md content or use the system prompt tab.

  3. 3

    Apply Pcf-Manifest-Schema to Your Work

    Open your project in the AI assistant and ask it to apply the skill. Start with a small module to verify the output quality.

  4. 4

    Review and Refine

    Review AI suggestions before committing. Run tests, check for regressions, and iterate on the skill output.

❓ Frequently Asked Questions

Is Pcf-Manifest-Schema compatible with Cursor and VS Code?

Yes — this skill works with any AI coding assistant including Cursor, VS Code with Copilot, and JetBrains IDEs.

Do I need specific dependencies for Pcf-Manifest-Schema?

Check the install command and Works With section. Most code skills only require the AI assistant and your codebase.

How do I install Pcf-Manifest-Schema?

Copy the install command from the Terminal tab and run it. The skill downloads to ./skills/pcf-manifest-schema/SKILL.md, ready to use.

Can I customize this skill for my team?

Absolutely. Edit the SKILL.md file to add team-specific instructions, examples, or workflows.

⚠️ Common Mistakes to Avoid

Skipping validation

Always test AI-generated code changes, even for simple refactors.

Missing dependency updates

Check if the skill requires updated dependencies or new packages.

🔗 Related Skills