You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: .claude/skills/build-product/SKILL.md
+4-4Lines changed: 4 additions & 4 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -11,16 +11,16 @@ Build a ComplianceAsCode product.
11
11
12
12
## Tool Strategy
13
13
14
-
This skill uses `mcp__content-mcp__*` tools when available (preferred — deterministic, structured results). When the MCP server is not configured, fall back to filesystem-based alternatives noted as **Fallback** in each step. See `.claude/skills/shared/mcp_fallbacks.md` for detailed fallback procedures. The skill must complete successfully either way.
14
+
This skill uses `mcp__content-agent__*` tools when available (preferred — deterministic, structured results). When the MCP server is not configured, fall back to filesystem-based alternatives noted as **Fallback** in each step. See `.claude/skills/shared/mcp_fallbacks.md` for detailed fallback procedures. The skill must complete successfully either way.
15
15
16
16
## Phase 1: Validate Product
17
17
18
18
1.**Check if product is valid**:
19
-
Use `mcp__content-mcp__get_product_details` with `product_id=$ARGUMENTS` to validate the product exists and get its metadata.
19
+
Use `mcp__content-agent__get_product_details` with `product_id=$ARGUMENTS` to validate the product exists and get its metadata.
20
20
**Fallback**: Read `products/$ARGUMENTS/product.yml` directly. If the file doesn't exist, the product is invalid.
21
21
22
22
2.**If product not found**, list available products:
23
-
Use `mcp__content-mcp__list_products` to get all available products.
23
+
Use `mcp__content-agent__list_products` to get all available products.
24
24
**Fallback**: Run `ls products/` to list available product directories.
25
25
26
26
3.**If no product specified**, ask user using AskUserQuestion:
@@ -72,7 +72,7 @@ Expected artifacts in `build/`:
72
72
- Non-zero = Build failed
73
73
74
74
2.**Verify key artifacts exist**:
75
-
Use `mcp__content-mcp__get_datastream_info` with `product=$ARGUMENTS` to verify the datastream was built successfully and get artifact details.
75
+
Use `mcp__content-agent__get_datastream_info` with `product=$ARGUMENTS` to verify the datastream was built successfully and get artifact details.
Copy file name to clipboardExpand all lines: .claude/skills/create-rule/SKILL.md
+9-9Lines changed: 9 additions & 9 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -11,7 +11,7 @@ Create a new security rule for ComplianceAsCode. This skill handles both templat
11
11
12
12
## Tool Strategy
13
13
14
-
This skill uses `mcp__content-mcp__*` tools when available (preferred — deterministic, structured results). When the MCP server is not configured, fall back to filesystem-based alternatives noted as **Fallback** in each step. See `.claude/skills/shared/mcp_fallbacks.md` for detailed fallback procedures. The skill must complete successfully either way.
14
+
This skill uses `mcp__content-agent__*` tools when available (preferred — deterministic, structured results). When the MCP server is not configured, fall back to filesystem-based alternatives noted as **Fallback** in each step. See `.claude/skills/shared/mcp_fallbacks.md` for detailed fallback procedures. The skill must complete successfully either way.
15
15
16
16
## Phase 1: Validate Input
17
17
@@ -20,7 +20,7 @@ This skill uses `mcp__content-mcp__*` tools when available (preferred — determ
20
20
- Example valid IDs: `sshd_max_auth_tries`, `accounts_password_minlen`
21
21
22
22
2.**Check if rule already exists**:
23
-
Use `mcp__content-mcp__search_rules` with `query=$ARGUMENTS` to check if a rule with this ID already exists.
23
+
Use `mcp__content-agent__search_rules` with `query=$ARGUMENTS` to check if a rule with this ID already exists.
24
24
**Fallback**: Use `Glob` to search for `**/$ARGUMENTS/rule.yml`.
25
25
- If rule exists, inform user and ask if they want to modify it instead
26
26
@@ -42,14 +42,14 @@ Use AskUserQuestion to ask the user:
42
42
43
43
If user chose templated rule:
44
44
45
-
1.**List available templates** using `mcp__content-mcp__list_templates` to get all available templates with their descriptions.
45
+
1.**List available templates** using `mcp__content-agent__list_templates` to get all available templates with their descriptions.
46
46
**Fallback**: Run `ls shared/templates/` to list available template directories.
47
47
48
48
2.**Present available templates** from the list obtained in step 1 and help the user select the right one based on their use case.
49
49
50
50
3.**Ask for template selection** using AskUserQuestion
51
51
52
-
4.**Get template parameter schema** using `mcp__content-mcp__get_template_schema` with `template_name=<selected_template>` to get the full parameter schema, supported languages, and documentation.
52
+
4.**Get template parameter schema** using `mcp__content-agent__get_template_schema` with `template_name=<selected_template>` to get the full parameter schema, supported languages, and documentation.
53
53
**Fallback**: Read `shared/templates/<template_name>/template.yml` or `template.py` for parameter definitions. Check existing rules using this template for usage examples.
54
54
55
55
5.**Collect template variables**:
@@ -110,7 +110,7 @@ Collect the following information using AskUserQuestion or prompts:
110
110
111
111
### For Templated Rules
112
112
113
-
Use `mcp__content-mcp__generate_rule_from_template` with:
113
+
Use `mcp__content-agent__generate_rule_from_template` with:
114
114
-`template_name`: The selected template name
115
115
-`parameters`: Template variables collected from the user
116
116
-`rule_id`: $ARGUMENTS
@@ -122,7 +122,7 @@ This generates the rule directory and rule.yml with the template configuration a
122
122
123
123
### For Non-Templated Rules
124
124
125
-
Use `mcp__content-mcp__generate_rule_boilerplate` with:
125
+
Use `mcp__content-agent__generate_rule_boilerplate` with:
126
126
-`rule_id`: $ARGUMENTS
127
127
-`title`: The rule title
128
128
-`description`: The rule description
@@ -323,7 +323,7 @@ Most profiles in the project reference control files rather than listing rules d
323
323
324
324
### Step 1: List Available Profiles
325
325
326
-
Use `mcp__content-mcp__list_profiles` with `product=<product>` to list all available profiles for each target product.
326
+
Use `mcp__content-agent__list_profiles` with `product=<product>` to list all available profiles for each target product.
327
327
**Fallback**: Run `ls products/<product>/profiles/*.profile` to list profiles.
328
328
329
329
### Step 2: Ask User Which Profile(s)
@@ -472,7 +472,7 @@ ls tests/data/profile_stability/
472
472
cat <rule_directory>/rule.yml
473
473
```
474
474
475
-
2.**Validate rule YAML** using `mcp__content-mcp__validate_rule_yaml` with the content of the generated rule.yml. This validates syntax, structure, and reference formats.
475
+
2.**Validate rule YAML** using `mcp__content-agent__validate_rule_yaml` with the content of the generated rule.yml. This validates syntax, structure, and reference formats.
476
476
**Fallback**: Validate against the JSON schema:
477
477
```bash
478
478
python3 -c "
@@ -488,7 +488,7 @@ ls tests/data/profile_stability/
488
488
"<path_to_rule.yml>
489
489
```
490
490
491
-
For control files, use `mcp__content-mcp__validate_control_file` with the control file path.
491
+
For control files, use `mcp__content-agent__validate_control_file` with the control file path.
492
492
**Fallback**: Validate against the control schema:
Copy file name to clipboardExpand all lines: .claude/skills/draft-pr/SKILL.md
+5-5Lines changed: 5 additions & 5 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -9,7 +9,7 @@ Generate a pull request description for the current branch by analyzing commits
9
9
10
10
## Tool Strategy
11
11
12
-
This skill uses `mcp__content-mcp__*` tools when available (preferred — deterministic, structured results). When the MCP server is not configured, fall back to filesystem-based alternatives noted as **Fallback** in each step. See `.claude/skills/shared/mcp_fallbacks.md` for detailed fallback procedures. The skill must complete successfully either way.
12
+
This skill uses `mcp__content-agent__*` tools when available (preferred — deterministic, structured results). When the MCP server is not configured, fall back to filesystem-based alternatives noted as **Fallback** in each step. See `.claude/skills/shared/mcp_fallbacks.md` for detailed fallback procedures. The skill must complete successfully either way.
13
13
14
14
## Phase 1: Gather Branch Data
15
15
@@ -64,10 +64,10 @@ Look for product indicators:
64
64
### 2.3 Read Key Changed Files
65
65
66
66
For significant changed files, use MCP functions to get structured metadata:
67
-
-**Rules**: Use `mcp__content-mcp__get_rule_details` with the rule ID to get title, description, rationale, template, severity, references, and platform info
68
-
-**Profiles**: Use `mcp__content-mcp__get_profile_details` with product and profile ID to get profile structure and rule selections
69
-
-**Controls**: Use `mcp__content-mcp__get_control_details` to understand control framework structure
70
-
-**Templates**: Use `mcp__content-mcp__get_template_schema` to get template parameter info
67
+
-**Rules**: Use `mcp__content-agent__get_rule_details` with the rule ID to get title, description, rationale, template, severity, references, and platform info
68
+
-**Profiles**: Use `mcp__content-agent__get_profile_details` with product and profile ID to get profile structure and rule selections
69
+
-**Controls**: Use `mcp__content-agent__get_control_details` to understand control framework structure
70
+
-**Templates**: Use `mcp__content-agent__get_template_schema` to get template parameter info
71
71
72
72
**Fallback**: Read the files directly — `rule.yml`, `.profile`, control YAML, and template files in `shared/templates/<name>/`.
Copy file name to clipboardExpand all lines: .claude/skills/inspect-control/SKILL.md
+5-5Lines changed: 5 additions & 5 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -11,14 +11,14 @@ Analyze a control file and report its current state: how many requirements are m
11
11
12
12
## Tool Strategy
13
13
14
-
This skill uses `mcp__content-mcp__*` tools when available (preferred — deterministic, structured results). When the MCP server is not configured, fall back to filesystem-based alternatives noted as **Fallback** in each step. See `.claude/skills/shared/mcp_fallbacks.md` for detailed fallback procedures. The skill must complete successfully either way.
14
+
This skill uses `mcp__content-agent__*` tools when available (preferred — deterministic, structured results). When the MCP server is not configured, fall back to filesystem-based alternatives noted as **Fallback** in each step. See `.claude/skills/shared/mcp_fallbacks.md` for detailed fallback procedures. The skill must complete successfully either way.
15
15
16
16
## Phase 1: Validate and Load Control File
17
17
18
18
1.**Parse arguments**: Extract control_id from `$ARGUMENTS`.
19
19
20
-
2.**Validate control exists**: Call `mcp__content-mcp__get_control_stats` with `control_id=$ARGUMENTS`.
21
-
- If the tool returns an error (control not found), call `mcp__content-mcp__list_controls` and present available control files via `AskUserQuestion`:
20
+
2.**Validate control exists**: Call `mcp__content-agent__get_control_stats` with `control_id=$ARGUMENTS`.
21
+
- If the tool returns an error (control not found), call `mcp__content-agent__list_controls` and present available control files via `AskUserQuestion`:
22
22
- "Control file '$ARGUMENTS' not found. Which control file do you want to inspect?"
23
23
- Options: top 4 most relevant from the list + Other
24
24
-**Fallback**: Look for `controls/$ARGUMENTS.yml` or `products/**/controls/$ARGUMENTS.yml`. If not found, run `ls controls/*.yml` and `ls products/*/controls/*.yml` to list available control files. To compute stats, read the control YAML and count requirements grouped by `status` field.
@@ -51,7 +51,7 @@ Only show status rows that have non-zero counts.
51
51
52
52
## Phase 3: List Unmapped Requirements
53
53
54
-
1. Call `mcp__content-mcp__list_unmapped_requirements` with `control_id` and default `status_filter` (pending).
54
+
1. Call `mcp__content-agent__list_unmapped_requirements` with `control_id` and default `status_filter` (pending).
55
55
**Fallback**: Read the control YAML and filter requirements where `status` is `pending` or where `rules:` is empty/missing.
56
56
57
57
2. Present the unmapped work queue:
@@ -86,7 +86,7 @@ Present actionable next steps based on the analysis:
86
86
87
87
- To map all unmapped requirements interactively: `/map-controls {control_id} --product <product>`
88
88
- To map a single requirement: `/map-requirement {control_id} <requirement_id> --product <product>`
89
-
- To view full control details: use `mcp__content-mcp__get_control_details`
89
+
- To view full control details: use `mcp__content-agent__get_control_details`
90
90
91
91
**Tip**: If you have the source security policy document (PDF, Markdown, or HTML), pass it with `--policy <path>` to enrich mapping with the original requirement text. This improves cross-framework matching by using the full policy context instead of just the control file's summary. Example:
0 commit comments