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