Skip to content

Conversation

Copy link
Contributor

Copilot AI commented Jan 12, 2026

Created reference documentation cataloging all frontmatter fields available for task files, rule files, command files, and skill files. The document includes both currently implemented options and potential future additions based on static site generators, documentation tools, and AI/ML workflow patterns.

Changes

  • New reference document docs/reference/frontmatter-options.md (1,354 lines)

    • 23 currently implemented options across all file types
    • 71+ potential future options organized by category
    • Comprehensive examples showing real-world YAML usage
    • Implementation notes for adding new options
  • Documentation structure

    • Currently Implemented: task (9), rule (6), command (2), skill (6) options
    • Future Options: general metadata, task-specific, rule-specific, AI/ML, workflow, environment, quality, security, access control
    • Category reference organized by file type and use case
    • Full examples for task, rule, and skill files with 20-30 fields each
  • Index updates

    • Added link to new reference in docs/reference/index.md
    • Added link to new reference in docs/index.md

Document Organization

Currently Implemented

# Task example
---
task_name: implement-feature
agent: copilot
model: gpt-4-turbo
languages: [go, python]
timeout: 10m
selectors:
  stage: implementation
---

Potential Future Options

  • Workflow: next_step, on_success, on_failure, parallel_tasks
  • AI/ML: model_parameters, prompt_template, system_prompt, chain_of_thought
  • Quality: test_coverage_required, code_review_required, reviewers
  • Security: security_level, compliance, sensitive_data

All options include type, purpose, use case, and YAML examples. Implementation notes explain the current BaseFrontMatter + type-specific struct pattern for forward compatibility.

Warning

Firewall rules blocked me from connecting to one or more addresses (expand for details)

I tried to connect to the following addresses, but was blocked by firewall rules:

  • gohugo.io
    • Triggering command: /home/REDACTED/work/_temp/ghcca-node/node/bin/node /home/REDACTED/work/_temp/ghcca-node/node/bin/node --enable-source-maps /home/REDACTED/work/_temp/copilot-developer-action-main/dist/index.js (dns block)
  • jekyllrb.com
    • Triggering command: /home/REDACTED/work/_temp/ghcca-node/node/bin/node /home/REDACTED/work/_temp/ghcca-node/node/bin/node --enable-source-maps /home/REDACTED/work/_temp/copilot-developer-action-main/dist/index.js (dns block)
  • www.mkdocs.org
    • Triggering command: /home/REDACTED/work/_temp/ghcca-node/node/bin/node /home/REDACTED/work/_temp/ghcca-node/node/bin/node --enable-source-maps /home/REDACTED/work/_temp/copilot-developer-action-main/dist/index.js (dns block)

If you need me to access, download, or install something from one of these locations, you can either:

Original prompt

I'd like you to create a list of potential front matter options. Use you web search tool to do this.


💡 You can make Copilot smarter by setting up custom instructions, customizing its development environment and configuring Model Context Protocol (MCP) servers. Learn more Copilot coding agent tips in the docs.

Copilot AI self-assigned this Jan 12, 2026
Co-authored-by: alexec <1142830+alexec@users.noreply.github.com>
Copilot AI changed the title [WIP] Add potential front matter options list Add comprehensive frontmatter options reference documentation Jan 12, 2026
Copilot AI requested a review from alexec January 12, 2026 04:15
@alexec alexec marked this pull request as ready for review January 12, 2026 16:47
Copilot AI review requested due to automatic review settings January 12, 2026 16:47
@alexec alexec closed this Jan 12, 2026
@alexec alexec deleted the copilot/create-front-matter-options branch January 12, 2026 16:49
Copy link
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR adds comprehensive reference documentation for frontmatter options across all file types (task, rule, command, and skill files). The documentation catalogs both currently implemented options and potential future additions inspired by static site generators and AI/ML workflow patterns.

Changes:

  • New reference document docs/reference/frontmatter-options.md with 1,354 lines documenting 23+ currently implemented options and 71+ potential future options
  • Updated navigation in docs/reference/index.md and docs/index.md to link to the new frontmatter options reference
  • Comprehensive examples showing YAML usage patterns and implementation notes for adding new options

Reviewed changes

Copilot reviewed 3 out of 3 changed files in this pull request and generated 7 comments.

File Description
docs/reference/frontmatter-options.md New comprehensive reference documenting all frontmatter fields with current and potential future options, organized by file type and use case
docs/reference/index.md Added link to new frontmatter options reference in the navigation
docs/index.md Added link to new frontmatter options reference in the main documentation index

Comment on lines +30 to +35
#### `task_name` (optional)
- **Type:** String
- **Purpose:** Metadata identifier for the task
- **Note:** Tasks are matched by filename, not this field
- **Example:**
```yaml
Copy link

Copilot AI Jan 12, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The task_name field is documented here but it's not actually a typed field in the TaskFrontMatter struct - it only exists in the Content map. Meanwhile, the actual typed fields id, name, and description that ARE defined in TaskFrontMatter (see frontmatter.go lines 21, 25, 29) are missing from this documentation. These three fields should be documented as "Currently Implemented Options" for task files, and task_name should either be moved to "Potential Future Options" or clarified as only being available through the Content map.

Suggested change
#### `task_name` (optional)
- **Type:** String
- **Purpose:** Metadata identifier for the task
- **Note:** Tasks are matched by filename, not this field
- **Example:**
```yaml
#### `id` (optional)
- **Type:** String
- **Purpose:** Stable identifier for the task, used by tooling and integrations
- **Example:**
```yaml
id: fix-bug-123

name (optional)

  • Type: String
  • Purpose: Human-readable name or title for the task
  • Example:
    name: Fix panic in user registration flow

description (optional)

  • Type: String
  • Purpose: Longer description of the task, used for metadata and context
  • Example:
    description: >
      Investigate and fix the panic occurring when a new user signs up
      with an existing email address.

task_name (optional, Content-only)

  • Type: String
  • Purpose: Legacy or supplemental metadata identifier for the task
  • Note: Not a typed TaskFrontMatter field; it is only available via the Content map.
    Tasks are matched by filename (and may also use id/name), not this field.
  • Example:

Copilot uses AI. Check for mistakes.
Comment on lines +120 to +126
#### `rule_name` (optional)
- **Type:** String
- **Purpose:** Optional identifier for the rule file
- **Example:**
```yaml
rule_name: go-testing-standards
```
Copy link

Copilot AI Jan 12, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The rule_name field is documented here but it's not a typed field in RuleFrontMatter struct in the same way that id, name, and description are. Actually, looking at frontmatter.go line 165, there IS a typed field RuleName but the documentation should also include the id, name, and description typed fields (frontmatter.go lines 139, 143, 147) which are currently missing from this section.

Copilot uses AI. Check for mistakes.
Comment on lines +182 to +204
### Command File Options

Command frontmatter controls command behavior.

#### `expand` (optional)
- **Type:** Boolean
- **Purpose:** Controls parameter expansion in command content
- **Default:** `true`
- **Use Case:** Preserve template syntax
- **Example:**
```yaml
expand: false
```

#### `selectors` (optional)
- **Type:** Map of key-value pairs
- **Purpose:** Filter commands or add to task selectors
- **Example:**
```yaml
selectors:
environment: production
```

Copy link

Copilot AI Jan 12, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The Command File Options section is missing documentation for the typed fields id, name, and description that are defined in CommandFrontMatter (see frontmatter.go lines 92, 96, 100). These should be documented as currently implemented options.

Copilot uses AI. Check for mistakes.
Comment on lines +1169 to +1172
### Comprehensive Rule Example

```yaml
---
Copy link

Copilot AI Jan 12, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This comprehensive task example includes many fields that are listed as "Potential Future Options" but not currently implemented. The example should be clearly marked as a "Future Possibilities Example" or split into two examples: one showing currently implemented fields and one showing potential future fields. Mixing implemented and non-implemented fields in a single example without clear distinction could confuse users about what's actually available now.

Suggested change
### Comprehensive Rule Example
```yaml
---
_Note: The comprehensive task example above is a **Future Possibilities Example**. It includes both currently implemented options and potential future fields. Only options listed in the [Currently Implemented Options](#currently-implemented-options) section are guaranteed to work in the current release._
### Comprehensive Rule Example

Copilot uses AI. Check for mistakes.
Comment on lines +1169 to +1253
### Comprehensive Rule Example

```yaml
---
# Basic Metadata
rule_name: go-security-standards
title: Go Security Best Practices
description: Security guidelines for Go applications

# Author & Version
author: Security Team
created: 2024-01-10
version: 2.1.0
updated: 2024-03-15

# Categorization
tags:
- security
- go
- best-practices
categories:
- security
- backend

# Filtering
languages:
- go
stage: implementation
scope: backend
agent: copilot
framework: gin

# Application Scope
task_names:
- implement-feature
- fix-security-bug
- security-audit
applies_to:
- "*.go"
- "!*_test.go"
excludes:
- "vendor/**"
- "third_party/**"

# Rule Enforcement
severity: error
enforceable: true
enforcer: gosec

# Dependencies
dependencies:
- base-go-standards
- error-handling-standards
conflicts_with:
- legacy-security-rules

# Environment
environment:
- production
- staging
platform: linux

# Security
security_level: internal
compliance:
- owasp-top-10
- cwe-top-25

# Documentation
doc_url: https://docs.example.com/go-security
example_url: https://github.com/example/secure-go-examples
references:
- https://golang.org/doc/security
- docs/security/go-security.md

# MCP Server Configuration
mcp_server:
command: gosec
args: ["-fmt=json", "."]
env:
GOSEC_CONFIG: ".gosec.json"
---

# Rule Content...
```
Copy link

Copilot AI Jan 12, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This comprehensive rule example mixes currently implemented fields with potential future options without clear distinction. For instance, fields like stage, scope, severity, enforceable, enforcer, applies_to, excludes, dependencies, conflicts_with, and framework are listed as "Potential Future Options" but are shown here as if they're implemented. This should be split into two examples or clearly marked as a "Future Possibilities Example".

Copilot uses AI. Check for mistakes.
Comment on lines +1255 to +1323
### Comprehensive Skill Example

```yaml
---
# Required Fields
name: advanced-data-analysis
description: |
Advanced data analysis and visualization skill. Analyze complex datasets,
generate statistical insights, create interactive visualizations, and
produce comprehensive reports. Use for CSV, Excel, JSON, SQL databases,
and big data formats.

# Skill Metadata
license: MIT
compatibility: |
Requires Python 3.8+, pandas 2.0+, matplotlib 3.5+, seaborn 0.12+,
plotly 5.0+, scipy 1.9+, scikit-learn 1.2+

metadata:
author: Data Science Team
version: "2.3.0"
category: data-analysis
subcategory: advanced-analytics
created: "2024-01-01"
updated: "2024-03-15"
documentation: https://docs.example.com/skills/data-analysis
examples: https://github.com/example/skill-examples/data-analysis

# Tool Access
allowed-tools: pandas numpy matplotlib seaborn plotly scipy sklearn jupyter

# Categorization
tags:
- data-science
- statistics
- visualization
- machine-learning

# Filtering
languages:
- python
stage: implementation
scope: data-analysis

# Environment
environment: development
platform:
- linux
- macos
min_version: "python3.8"

# Security
security_level: internal
sensitive_data: true
compliance:
- data-privacy-policy

# Documentation
doc_url: https://docs.example.com/skills/advanced-data-analysis
example_url: https://github.com/example/skills/data-analysis/examples
video_url: https://youtube.com/watch?v=data-analysis-tutorial
references:
- https://pandas.pydata.org/docs/
- https://matplotlib.org/stable/tutorials/
- docs/data-analysis-guide.md
---

# Skill Content...
```
Copy link

Copilot AI Jan 12, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This skill example mixes currently implemented fields (name, description, license, compatibility, metadata, allowed-tools) with potential future options (tags, languages, stage, scope, environment, platform, min_version, security_level, sensitive_data, compliance, doc_url, example_url, video_url, references). The example should either focus on currently implemented fields only or clearly mark which fields are available now versus which are potential future additions.

Copilot uses AI. Check for mistakes.
Comment on lines +1005 to +1061
## Category Reference

### By File Type

#### All File Types
- `title`, `description`, `author`, `created`, `updated`, `version`
- `tags`, `categories`, `deprecated`, `deprecation_message`
- `doc_url`, `example_url`, `video_url`, `references`

#### Task Files Only
- `task_name`, `agent`, `languages`, `model`, `single_shot`, `timeout`
- `resume`, `selectors`, `expand`
- `priority`, `complexity`, `estimated_time`, `prerequisites`, `outputs`
- `context_files`, `max_tokens`, `temperature`, `requires_approval`
- `interactive`, `retry_on_failure`, `fallback_task`
- `workflow`, `stage`, `next_step`, `on_success`, `on_failure`

#### Rule Files Only
- `rule_name`, `task_names`, `languages`, `agent`, `mcp_server`, `expand`
- `stage`, `scope`, `severity`, `enforceable`, `enforcer`
- `applies_to`, `excludes`, `dependencies`, `conflicts_with`
- `framework`, `library`

#### Command Files Only
- `expand`, `selectors`

#### Skill Files Only
- `name`, `description`, `license`, `compatibility`, `metadata`, `allowed-tools`

### By Use Case

#### Filtering & Selection
- `agent`, `languages`, `selectors`, `task_names`, `stage`, `scope`
- `framework`, `library`, `environment`, `platform`, `arch`
- `teams`, `users`, `roles`

#### Metadata Only (No Filtering)
- `model`, `single_shot`, `timeout`, `title`, `description`, `author`
- `created`, `updated`, `version`, `tags`, `categories`

#### Workflow Control
- `resume`, `workflow`, `next_step`, `on_success`, `on_failure`
- `parallel_tasks`, `prerequisites`, `fallback_task`

#### Quality Control
- `test_coverage_required`, `code_review_required`, `reviewers`
- `lint_rules`, `security_scan_required`, `validation_rules`

#### AI Behavior
- `model_parameters`, `prompt_template`, `system_prompt`, `response_format`
- `tools`, `context_window`, `few_shot_examples`, `chain_of_thought`, `reflection`
- `temperature`, `max_tokens`

#### Security & Compliance
- `security_level`, `sensitive_data`, `compliance`, `security_scan_required`
- `visibility`, `requires_approval`

Copy link

Copilot AI Jan 12, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The Category Reference section mixes currently implemented options with potential future options without clearly distinguishing between them. For example, under "Task Files Only" it lists both task_name (currently implemented) and priority, complexity, estimated_time, etc. (potential future options) together. This section should either clearly separate currently implemented from potential future options, or add a note indicating which fields are available now versus future possibilities.

Copilot uses AI. Check for mistakes.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants