cc-codeconductor 1.0.0 → 1.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +326 -87
- package/dist/core/compilation/compile-checker.d.ts +2 -0
- package/dist/core/loop/loop-engine.d.ts +3 -0
- package/dist/core/verification/verification-runner.d.ts +7 -0
- package/dist/index.d.ts +1 -1
- package/dist/index.js +3825 -597
- package/dist/library.js +195 -18
- package/dist/validation/schemas.d.ts +461 -44
- package/package.json +4 -1
- package/presets/agy/AGENTS.md +13 -9
- package/presets/agy/gates/pre-commit/GATE.md +5 -4
- package/presets/agy/hooks.json +2 -2
- package/presets/agy/scripts/invoke-hook.cjs +115 -0
- package/presets/agy/skills/backlog/SKILL.md +61 -0
- package/presets/agy/skills/cc-spec-mutation/SKILL.md +165 -0
- package/presets/agy/skills/cc-tdd-cycle/SKILL.md +3 -0
- package/presets/agy/skills/evaluation/SKILL.md +61 -2
- package/presets/agy/skills/openspec/SKILL.md +50 -16
- package/presets/agy/skills/security-ai-llm/SKILL.md +43 -0
- package/presets/agy/skills/security-blue-team/SKILL.md +43 -0
- package/presets/agy/skills/security-cloud/SKILL.md +43 -0
- package/presets/agy/skills/security-crypto/SKILL.md +43 -0
- package/presets/agy/skills/security-exploit-dev/SKILL.md +45 -0
- package/presets/agy/skills/security-grc/SKILL.md +43 -0
- package/presets/agy/skills/security-incident-response/SKILL.md +45 -0
- package/presets/agy/skills/security-log-analysis/SKILL.md +43 -0
- package/presets/agy/skills/security-malware-analysis/SKILL.md +44 -0
- package/presets/agy/skills/security-mobile/SKILL.md +43 -0
- package/presets/agy/skills/security-network/SKILL.md +43 -0
- package/presets/agy/skills/security-ot-ics/SKILL.md +43 -0
- package/presets/agy/skills/security-recon/SKILL.md +45 -0
- package/presets/agy/skills/security-red-team/SKILL.md +44 -0
- package/presets/agy/skills/security-reverse-engineering/SKILL.md +44 -0
- package/presets/agy/skills/security-soc-automation/SKILL.md +43 -0
- package/presets/agy/skills/security-threat-hunting/SKILL.md +43 -0
- package/presets/agy/skills/security-vuln-assessment/SKILL.md +45 -0
- package/presets/agy/skills/security-web/SKILL.md +44 -0
- package/presets/agy/skills/testing-tdd/SKILL.md +53 -0
- package/presets/agy/skills/using-cc-skills/SKILL.md +48 -0
- package/presets/agy/workflows/cc-api-contract.md +14 -0
- package/presets/agy/workflows/cc-ask.md +2 -1
- package/presets/agy/workflows/cc-backlog.md +69 -0
- package/presets/agy/workflows/cc-db-migration.md +14 -0
- package/presets/agy/workflows/cc-explore.md +1 -1
- package/presets/agy/workflows/cc-feature.md +18 -0
- package/presets/agy/workflows/cc-fix.md +14 -0
- package/presets/agy/workflows/cc-iterative.md +14 -0
- package/presets/agy/workflows/cc-openspec.md +17 -1
- package/presets/agy/workflows/cc-scorecard.md +2 -0
- package/presets/agy/workflows/cc-security.md +180 -0
- package/presets/agy/workflows/cc-spec-mutation.md +191 -0
- package/presets/agy/workflows/cc-tdd-cycle.md +14 -0
- package/presets/claude/CLAUDE.md +4 -0
- package/presets/claude/commands/cc/api-contract.md +14 -0
- package/presets/claude/commands/cc/ask.md +2 -1
- package/presets/claude/commands/cc/backlog.md +104 -0
- package/presets/claude/commands/cc/db-migration.md +14 -0
- package/presets/claude/commands/cc/explore.md +1 -1
- package/presets/claude/commands/cc/feature.md +18 -0
- package/presets/claude/commands/cc/fix.md +17 -0
- package/presets/claude/commands/cc/iterative.md +14 -0
- package/presets/claude/commands/cc/openspec.md +30 -1
- package/presets/claude/commands/cc/review.md +3 -0
- package/presets/claude/commands/cc/scorecard.md +2 -0
- package/presets/claude/commands/cc/security.md +179 -0
- package/presets/claude/commands/cc/spec-mutation.md +190 -0
- package/presets/claude/commands/cc/tdd-cycle.md +17 -0
- package/presets/claude/gates/pre-commit/GATE.md +5 -4
- package/presets/claude/settings.json +13 -11
- package/presets/claude/skills/backlog/SKILL.md +61 -0
- package/presets/claude/skills/evaluation/SKILL.md +47 -24
- package/presets/claude/skills/openspec/SKILL.md +46 -34
- package/presets/claude/skills/security/SKILL.md +382 -0
- package/presets/claude/skills/security-ai-llm/SKILL.md +43 -0
- package/presets/claude/skills/security-blue-team/SKILL.md +43 -0
- package/presets/claude/skills/security-cloud/SKILL.md +43 -0
- package/presets/claude/skills/security-crypto/SKILL.md +43 -0
- package/presets/claude/skills/security-exploit-dev/SKILL.md +45 -0
- package/presets/claude/skills/security-grc/SKILL.md +43 -0
- package/presets/claude/skills/security-incident-response/SKILL.md +45 -0
- package/presets/claude/skills/security-log-analysis/SKILL.md +43 -0
- package/presets/claude/skills/security-malware-analysis/SKILL.md +44 -0
- package/presets/claude/skills/security-mobile/SKILL.md +43 -0
- package/presets/claude/skills/security-network/SKILL.md +43 -0
- package/presets/claude/skills/security-ot-ics/SKILL.md +43 -0
- package/presets/claude/skills/security-recon/SKILL.md +45 -0
- package/presets/claude/skills/security-red-team/SKILL.md +44 -0
- package/presets/claude/skills/security-reverse-engineering/SKILL.md +44 -0
- package/presets/claude/skills/security-soc-automation/SKILL.md +43 -0
- package/presets/claude/skills/security-threat-hunting/SKILL.md +43 -0
- package/presets/claude/skills/security-vuln-assessment/SKILL.md +45 -0
- package/presets/claude/skills/security-web/SKILL.md +44 -0
- package/presets/claude/skills/testing-tdd/SKILL.md +53 -0
- package/presets/claude/skills/using-cc-skills/SKILL.md +48 -0
- package/presets/codex/AGENTS.md +16 -12
- package/presets/codex/commands/cc-ask.md +2 -1
- package/presets/codex/gates/pre-commit/GATE.md +5 -4
- package/presets/codex/skills/backlog/SKILL.md +61 -0
- package/presets/codex/skills/cc-api-contract/SKILL.md +87 -0
- package/presets/codex/skills/cc-backlog/SKILL.md +108 -0
- package/presets/codex/skills/cc-clarify/SKILL.md +36 -0
- package/presets/codex/skills/cc-council/SKILL.md +92 -0
- package/presets/codex/skills/cc-db-migration/SKILL.md +88 -0
- package/presets/codex/skills/cc-explore/SKILL.md +40 -0
- package/presets/codex/skills/cc-feature/SKILL.md +154 -0
- package/presets/codex/skills/cc-fix/SKILL.md +165 -0
- package/presets/codex/skills/cc-handoff/SKILL.md +45 -0
- package/presets/codex/skills/cc-iterative/SKILL.md +150 -0
- package/presets/codex/skills/cc-openspec/SKILL.md +191 -0
- package/presets/codex/skills/cc-pagespeed/SKILL.md +124 -0
- package/presets/codex/skills/cc-prototype/SKILL.md +42 -0
- package/presets/codex/skills/cc-refactor/SKILL.md +163 -0
- package/presets/codex/skills/cc-review/SKILL.md +152 -0
- package/presets/codex/skills/cc-scorecard/SKILL.md +82 -0
- package/presets/codex/skills/cc-security/SKILL.md +182 -0
- package/presets/codex/skills/cc-spec-mutation/SKILL.md +192 -0
- package/presets/codex/skills/cc-tdd-cycle/SKILL.md +266 -0
- package/presets/codex/skills/cc-test-plan/SKILL.md +153 -0
- package/presets/codex/skills/cc-triage/SKILL.md +38 -0
- package/presets/codex/skills/evaluation/SKILL.md +65 -0
- package/presets/codex/skills/openspec/SKILL.md +66 -0
- package/presets/codex/skills/testing-tdd/SKILL.md +53 -0
- package/presets/codex/skills/using-cc-skills/SKILL.md +48 -0
- package/presets/cursor/AGENTS.md +2 -2
- package/presets/cursor/commands/cc/api-contract.md +14 -0
- package/presets/cursor/commands/cc/ask.md +2 -1
- package/presets/cursor/commands/cc/backlog.md +105 -0
- package/presets/cursor/commands/cc/db-migration.md +14 -0
- package/presets/cursor/commands/cc/explore.md +1 -1
- package/presets/cursor/commands/cc/feature.md +18 -0
- package/presets/cursor/commands/cc/fix.md +17 -0
- package/presets/cursor/commands/cc/iterative.md +14 -0
- package/presets/cursor/commands/cc/openspec.md +30 -1
- package/presets/cursor/commands/cc/scorecard.md +2 -0
- package/presets/cursor/commands/cc/security.md +179 -0
- package/presets/cursor/commands/cc/spec-mutation.md +190 -0
- package/presets/cursor/commands/cc/tdd-cycle.md +14 -0
- package/presets/cursor/gates/pre-commit/GATE.md +5 -4
- package/presets/cursor/skills/backlog/SKILL.md +61 -0
- package/presets/cursor/skills/evaluation/SKILL.md +61 -4
- package/presets/cursor/skills/openspec/SKILL.md +47 -33
- package/presets/cursor/skills/security-ai-llm/SKILL.md +43 -0
- package/presets/cursor/skills/security-blue-team/SKILL.md +43 -0
- package/presets/cursor/skills/security-cloud/SKILL.md +43 -0
- package/presets/cursor/skills/security-crypto/SKILL.md +43 -0
- package/presets/cursor/skills/security-exploit-dev/SKILL.md +45 -0
- package/presets/cursor/skills/security-grc/SKILL.md +43 -0
- package/presets/cursor/skills/security-incident-response/SKILL.md +45 -0
- package/presets/cursor/skills/security-log-analysis/SKILL.md +43 -0
- package/presets/cursor/skills/security-malware-analysis/SKILL.md +44 -0
- package/presets/cursor/skills/security-mobile/SKILL.md +43 -0
- package/presets/cursor/skills/security-network/SKILL.md +43 -0
- package/presets/cursor/skills/security-ot-ics/SKILL.md +43 -0
- package/presets/cursor/skills/security-recon/SKILL.md +45 -0
- package/presets/cursor/skills/security-red-team/SKILL.md +44 -0
- package/presets/cursor/skills/security-reverse-engineering/SKILL.md +44 -0
- package/presets/cursor/skills/security-soc-automation/SKILL.md +43 -0
- package/presets/cursor/skills/security-threat-hunting/SKILL.md +43 -0
- package/presets/cursor/skills/security-vuln-assessment/SKILL.md +45 -0
- package/presets/cursor/skills/security-web/SKILL.md +44 -0
- package/presets/cursor/skills/testing-tdd/SKILL.md +35 -574
- package/presets/cursor/skills/using-cc-skills/SKILL.md +48 -0
- package/presets/gemini/commands/cc/api-contract.toml +82 -0
- package/presets/gemini/commands/cc/ask.toml +54 -0
- package/presets/gemini/commands/cc/backlog.toml +103 -0
- package/presets/gemini/commands/cc/clarify.toml +31 -0
- package/presets/gemini/commands/cc/council.toml +87 -0
- package/presets/gemini/commands/cc/db-migration.toml +83 -0
- package/presets/gemini/commands/cc/explore.toml +35 -0
- package/presets/gemini/commands/cc/feature.toml +153 -0
- package/presets/gemini/commands/cc/fix.toml +163 -0
- package/presets/gemini/commands/cc/handoff.toml +40 -0
- package/presets/gemini/commands/cc/iterative.toml +145 -0
- package/presets/gemini/commands/cc/openspec.toml +186 -0
- package/presets/gemini/commands/cc/pagespeed.toml +119 -0
- package/presets/gemini/commands/cc/prototype.toml +37 -0
- package/presets/gemini/commands/cc/refactor.toml +158 -0
- package/presets/gemini/commands/cc/review.toml +150 -0
- package/presets/gemini/commands/cc/scorecard.toml +77 -0
- package/presets/gemini/commands/cc/security.toml +177 -0
- package/presets/gemini/commands/cc/spec-mutation.toml +187 -0
- package/presets/gemini/commands/cc/tdd-cycle.toml +264 -0
- package/presets/gemini/commands/cc/test-plan.toml +148 -0
- package/presets/gemini/commands/cc/triage.toml +33 -0
- package/presets/opencode/README.md +24 -21
- package/presets/opencode/agents/architect.md +6 -0
- package/presets/opencode/agents/implementer.md +7 -0
- package/presets/opencode/agents/reviewer.md +6 -0
- package/presets/opencode/agents/tester.md +6 -0
- package/presets/opencode/commands/cc-api-contract.md +14 -0
- package/presets/opencode/commands/cc-ask.md +2 -1
- package/presets/opencode/commands/cc-backlog.md +68 -0
- package/presets/opencode/commands/cc-db-migration.md +14 -0
- package/presets/opencode/commands/cc-explore.md +1 -1
- package/presets/opencode/commands/cc-feature.md +18 -0
- package/presets/opencode/commands/cc-fix.md +17 -0
- package/presets/opencode/commands/cc-iterative.md +14 -0
- package/presets/opencode/commands/cc-openspec.md +17 -1
- package/presets/opencode/commands/cc-scorecard.md +2 -0
- package/presets/opencode/commands/cc-security.md +179 -0
- package/presets/opencode/commands/cc-spec-mutation.md +190 -0
- package/presets/opencode/commands/cc-tdd-cycle.md +14 -0
- package/presets/opencode/gates/pre-commit/GATE.md +5 -4
- package/presets/opencode/opencode.jsonc +1 -1
- package/presets/opencode/prompts/v1.0.0/architect.md +6 -0
- package/presets/opencode/prompts/v1.0.0/implementer.md +7 -0
- package/presets/opencode/prompts/v1.0.0/reviewer.md +6 -0
- package/presets/opencode/prompts/v1.0.0/tester.md +6 -0
- package/presets/opencode/skills/backlog/SKILL.md +61 -0
- package/presets/opencode/skills/evaluation/SKILL.md +61 -2
- package/presets/opencode/skills/openspec/SKILL.md +47 -31
- package/presets/opencode/skills/security-ai-llm/SKILL.md +43 -0
- package/presets/opencode/skills/security-blue-team/SKILL.md +43 -0
- package/presets/opencode/skills/security-cloud/SKILL.md +43 -0
- package/presets/opencode/skills/security-crypto/SKILL.md +43 -0
- package/presets/opencode/skills/security-exploit-dev/SKILL.md +45 -0
- package/presets/opencode/skills/security-grc/SKILL.md +43 -0
- package/presets/opencode/skills/security-incident-response/SKILL.md +45 -0
- package/presets/opencode/skills/security-log-analysis/SKILL.md +43 -0
- package/presets/opencode/skills/security-malware-analysis/SKILL.md +44 -0
- package/presets/opencode/skills/security-mobile/SKILL.md +43 -0
- package/presets/opencode/skills/security-network/SKILL.md +43 -0
- package/presets/opencode/skills/security-ot-ics/SKILL.md +43 -0
- package/presets/opencode/skills/security-recon/SKILL.md +45 -0
- package/presets/opencode/skills/security-red-team/SKILL.md +44 -0
- package/presets/opencode/skills/security-reverse-engineering/SKILL.md +44 -0
- package/presets/opencode/skills/security-soc-automation/SKILL.md +43 -0
- package/presets/opencode/skills/security-threat-hunting/SKILL.md +43 -0
- package/presets/opencode/skills/security-vuln-assessment/SKILL.md +45 -0
- package/presets/opencode/skills/security-web/SKILL.md +44 -0
- package/presets/opencode/skills/testing-tdd/SKILL.md +35 -574
- package/presets/opencode/skills/using-cc-skills/SKILL.md +48 -0
- package/presets/shared/__pycache__/mutation_runner.cpython-314.pyc +0 -0
- package/presets/shared/invoke-hook.cjs +115 -0
- package/presets/shared/mutation_runner.py +273 -0
- package/src/presets/council/council.yml +12 -0
- package/src/presets/manifests/agy.yml +2 -0
- package/src/presets/manifests/claude.yml +3 -0
- package/src/presets/manifests/gemini.yml +15 -0
- package/src/presets/models/agy.yml +24 -24
- package/src/presets/models/claude.yml +10 -10
- package/src/presets/models/codex.yml +10 -10
- package/src/presets/models/cursor.yml +10 -10
- package/src/presets/models/gemini.yml +10 -10
- package/src/presets/models/opencode.yml +10 -10
- package/presets/agy/scripts/post-tool.sh +0 -25
- package/presets/agy/scripts/pre-tool.sh +0 -56
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: security-soc-automation
|
|
3
|
+
description: >
|
|
4
|
+
Automate detection, enrichment, and response playbooks for a SOC you operate. Keep humans in the loop for destructive actions.
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
# SOC Automation
|
|
8
|
+
|
|
9
|
+
## Authorization
|
|
10
|
+
|
|
11
|
+
Use this skill only with **explicit written authorization** for a named
|
|
12
|
+
scope (systems, environments, and time window). If authorization is missing,
|
|
13
|
+
expired, or the request is for someone else's systems, **stop**.
|
|
14
|
+
|
|
15
|
+
This skill is **defensive and owner-authorized**. It does not authorize
|
|
16
|
+
offensive cyber operations.
|
|
17
|
+
|
|
18
|
+
## Do
|
|
19
|
+
|
|
20
|
+
- Automate enrichment (WHOIS, asset owner, hash reputation) not auto-wipe
|
|
21
|
+
- Version playbooks; require approval for isolate/disable-user actions
|
|
22
|
+
- Test detections with synthetic events in a lab tenant
|
|
23
|
+
|
|
24
|
+
## Do not
|
|
25
|
+
|
|
26
|
+
- Auto-disable production users or servers without an approval gate
|
|
27
|
+
- Pipe raw secrets from tickets into chat webhooks
|
|
28
|
+
|
|
29
|
+
- Do not produce exploit payloads, malware, or attack procedures.
|
|
30
|
+
|
|
31
|
+
## How to Use
|
|
32
|
+
|
|
33
|
+
Load this skill from `/cc-security` when the Task Card domain is `security-soc-automation`.
|
|
34
|
+
Example prompts:
|
|
35
|
+
|
|
36
|
+
- `Draft a SOAR playbook: phishing report → hash lookup → ticket, no auto-containment.`
|
|
37
|
+
- `Turn this Sigma-style idea into a documented detection plus a false-positive test.`
|
|
38
|
+
|
|
39
|
+
## Integration
|
|
40
|
+
|
|
41
|
+
- Workflow: `/cc-security` (CCEP command `security`)
|
|
42
|
+
- Existing OWASP application-security skill remains `security` (not this id)
|
|
43
|
+
- High-risk changes still require `security-reviewer`
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: security-threat-hunting
|
|
3
|
+
description: >
|
|
4
|
+
Hunt for adversary techniques in telemetry you are authorized to query. Hypothesis-driven, evidence-first, no live offensive operations.
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
# Threat Hunting
|
|
8
|
+
|
|
9
|
+
## Authorization
|
|
10
|
+
|
|
11
|
+
Use this skill only with **explicit written authorization** for a named
|
|
12
|
+
scope (systems, environments, and time window). If authorization is missing,
|
|
13
|
+
expired, or the request is for someone else's systems, **stop**.
|
|
14
|
+
|
|
15
|
+
This skill is **defensive and owner-authorized**. It does not authorize
|
|
16
|
+
offensive cyber operations.
|
|
17
|
+
|
|
18
|
+
## Do
|
|
19
|
+
|
|
20
|
+
- State a hypothesis (technique + data source + expected artifact)
|
|
21
|
+
- Query only approved telemetry (SIEM, EDR, cloud logs)
|
|
22
|
+
- Promote confirmed hits to IR with timestamps and host identity
|
|
23
|
+
|
|
24
|
+
## Do not
|
|
25
|
+
|
|
26
|
+
- Run offensive tooling on production to 'verify' a hunt
|
|
27
|
+
- Query personal mailboxes or systems outside the authorization scope
|
|
28
|
+
|
|
29
|
+
- Do not produce exploit payloads, malware, or attack procedures.
|
|
30
|
+
|
|
31
|
+
## How to Use
|
|
32
|
+
|
|
33
|
+
Load this skill from `/cc-security` when the Task Card domain is `security-threat-hunting`.
|
|
34
|
+
Example prompts:
|
|
35
|
+
|
|
36
|
+
- `Hypothesis: stolen refresh tokens in our IdP logs this week. Query patterns and list follow-ups.`
|
|
37
|
+
- `Hunt for unusual service-account key creation in GCP for project X (authorized).`
|
|
38
|
+
|
|
39
|
+
## Integration
|
|
40
|
+
|
|
41
|
+
- Workflow: `/cc-security` (CCEP command `security`)
|
|
42
|
+
- Existing OWASP application-security skill remains `security` (not this id)
|
|
43
|
+
- High-risk changes still require `security-reviewer`
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: security-vuln-assessment
|
|
3
|
+
description: >
|
|
4
|
+
Plan and report authorized vulnerability assessments on owned systems. Prioritize evidence, severity, and remediations. Do not deliver exploit payloads.
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
# Vulnerability Assessment
|
|
8
|
+
|
|
9
|
+
## Authorization
|
|
10
|
+
|
|
11
|
+
Use this skill only with **explicit written authorization** for a named
|
|
12
|
+
scope (systems, environments, and time window). If authorization is missing,
|
|
13
|
+
expired, or the request is for someone else's systems, **stop**.
|
|
14
|
+
|
|
15
|
+
This skill is **defensive and owner-authorized**. It does not authorize
|
|
16
|
+
offensive cyber operations.
|
|
17
|
+
|
|
18
|
+
## Do
|
|
19
|
+
|
|
20
|
+
- Use scanner findings plus code review as evidence, not as a scoreboard
|
|
21
|
+
- Map issues to OWASP / CWE and to a concrete fix in the repo
|
|
22
|
+
- Require a reproduction that is safe (config, unit test, or staging)
|
|
23
|
+
- Track false positives explicitly
|
|
24
|
+
|
|
25
|
+
## Do not
|
|
26
|
+
|
|
27
|
+
- Ship exploit PoCs, weaponized payloads, or live attack scripts
|
|
28
|
+
- Scan production without a documented freeze and rollback
|
|
29
|
+
- Mark a finding closed without a failing-then-passing test when code changes
|
|
30
|
+
|
|
31
|
+
- Do not produce exploit payloads, malware, or attack procedures.
|
|
32
|
+
|
|
33
|
+
## How to Use
|
|
34
|
+
|
|
35
|
+
Load this skill from `/cc-security` when the Task Card domain is `security-vuln-assessment`.
|
|
36
|
+
Example prompts:
|
|
37
|
+
|
|
38
|
+
- `Assess the checkout API in staging (ticket SEC-214). Report exploitable authz gaps as remediations, not exploits.`
|
|
39
|
+
- `Triage SAST results on src/auth and turn confirmed issues into failing tests plus patches.`
|
|
40
|
+
|
|
41
|
+
## Integration
|
|
42
|
+
|
|
43
|
+
- Workflow: `/cc-security` (CCEP command `security`)
|
|
44
|
+
- Existing OWASP application-security skill remains `security` (not this id)
|
|
45
|
+
- High-risk changes still require `security-reviewer`
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: security-web
|
|
3
|
+
description: >
|
|
4
|
+
Review and harden web apps (authz, XSS, CSRF, SSRF, injection) on code you maintain. Complements the OWASP `security` skill. No exploit kits.
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
# Web Application Security
|
|
8
|
+
|
|
9
|
+
## Authorization
|
|
10
|
+
|
|
11
|
+
Use this skill only with **explicit written authorization** for a named
|
|
12
|
+
scope (systems, environments, and time window). If authorization is missing,
|
|
13
|
+
expired, or the request is for someone else's systems, **stop**.
|
|
14
|
+
|
|
15
|
+
This skill is **defensive and owner-authorized**. It does not authorize
|
|
16
|
+
offensive cyber operations.
|
|
17
|
+
|
|
18
|
+
## Do
|
|
19
|
+
|
|
20
|
+
- Enforce authorization on every handler; never rely on the UI
|
|
21
|
+
- Parameterize queries; reject unknown fields
|
|
22
|
+
- Treat cookies, tokens, and redirects as untrusted until validated
|
|
23
|
+
- Add tests for authz, CSRF, and open redirects when you change those paths
|
|
24
|
+
|
|
25
|
+
## Do not
|
|
26
|
+
|
|
27
|
+
- Provide XSS or SQLi payloads for use against systems you do not own
|
|
28
|
+
- Disable CSRF or SameSite 'to make local dev easier' in production configs
|
|
29
|
+
|
|
30
|
+
- Do not produce exploit payloads, malware, or attack procedures.
|
|
31
|
+
|
|
32
|
+
## How to Use
|
|
33
|
+
|
|
34
|
+
Load this skill from `/cc-security` when the Task Card domain is `security-web`.
|
|
35
|
+
Example prompts:
|
|
36
|
+
|
|
37
|
+
- `Review our Next.js Server Actions for IDOR and CSRF. Propose tests, not exploits.`
|
|
38
|
+
- `Harden the file-upload endpoint: type, size, path containment, and tests.`
|
|
39
|
+
|
|
40
|
+
## Integration
|
|
41
|
+
|
|
42
|
+
- Workflow: `/cc-security` (CCEP command `security`)
|
|
43
|
+
- Existing OWASP application-security skill remains `security` (not this id)
|
|
44
|
+
- High-risk changes still require `security-reviewer`
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: testing-tdd
|
|
3
|
+
description:
|
|
4
|
+
Guides agents through Red-Green-Refactor with runner-captured evidence.
|
|
5
|
+
Use when running /cc-tdd-cycle, writing tests before implementation, or
|
|
6
|
+
Global TDD required is yes.
|
|
7
|
+
---
|
|
8
|
+
|
|
9
|
+
# Test-Driven Development
|
|
10
|
+
|
|
11
|
+
## Overview
|
|
12
|
+
|
|
13
|
+
Red (failing test) → Green (minimal code) → Refactor. Evidence comes from
|
|
14
|
+
`captureTddSuiteEvidence`, not handmade JSON.
|
|
15
|
+
|
|
16
|
+
## When to Use
|
|
17
|
+
|
|
18
|
+
- `/cc-tdd-cycle`, new behavior, bug fixes, TDD-required OpenSpec items
|
|
19
|
+
|
|
20
|
+
**NOT** for docs-only changes or when the Task Card forbids tests.
|
|
21
|
+
|
|
22
|
+
## Process
|
|
23
|
+
|
|
24
|
+
1. Write the failing test that encodes one acceptance criterion. Run the suite.
|
|
25
|
+
It MUST fail (`suiteFails === true`).
|
|
26
|
+
2. Implement the minimum that turns it green. Do not expand scope.
|
|
27
|
+
3. Refactor only with a green suite.
|
|
28
|
+
4. Capture evidence via the verification runner (`openspec done` on test/implement
|
|
29
|
+
when TDD is required).
|
|
30
|
+
5. Cover happy path, edge, and error for each behavior.
|
|
31
|
+
|
|
32
|
+
Local: `bun run dev`. Pyramid default: many unit, fewer integration, rare E2E.
|
|
33
|
+
|
|
34
|
+
## Common Rationalizations
|
|
35
|
+
|
|
36
|
+
| Rationalization | Reality |
|
|
37
|
+
| --- | --- |
|
|
38
|
+
| I'll add tests later | Later means never. Red first. |
|
|
39
|
+
| This is too small to test | If it can break, it needs a failing test first. |
|
|
40
|
+
| I'll write the evidence JSON | Handmade TDD JSON is rejected. |
|
|
41
|
+
|
|
42
|
+
## Red Flags
|
|
43
|
+
|
|
44
|
+
- Tests that assert implementation details instead of behavior
|
|
45
|
+
- Green without a recorded red
|
|
46
|
+
- Skipping error cases
|
|
47
|
+
|
|
48
|
+
## Verification
|
|
49
|
+
|
|
50
|
+
- [ ] Suite failed before implement
|
|
51
|
+
- [ ] Suite passed after implement
|
|
52
|
+
- [ ] Runner evidence exists (not handmade)
|
|
53
|
+
- [ ] Optional: `bun run dev scorecard suite-run --suite workflow-gates`
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: using-cc-skills
|
|
3
|
+
description:
|
|
4
|
+
Maps incoming work to the CodeConductor slash command and workflow skill.
|
|
5
|
+
Use when starting a session or deciding which /cc-* command applies.
|
|
6
|
+
---
|
|
7
|
+
|
|
8
|
+
# Using CodeConductor skills
|
|
9
|
+
|
|
10
|
+
## Overview
|
|
11
|
+
|
|
12
|
+
Pick one slash command. Follow its skill. Invoke CLI for gates. Do not invent
|
|
13
|
+
a parallel process.
|
|
14
|
+
|
|
15
|
+
## When to Use
|
|
16
|
+
|
|
17
|
+
- Start of a session, ambiguous request, or "which /cc should I run?"
|
|
18
|
+
|
|
19
|
+
## Process
|
|
20
|
+
|
|
21
|
+
| Intent | Command | Skill |
|
|
22
|
+
| --- | --- | --- |
|
|
23
|
+
| New backlog item | `/cc-backlog` | `backlog` |
|
|
24
|
+
| Deliver a BC-xxx item | `/cc-openspec` | `openspec` |
|
|
25
|
+
| New feature | `/cc-feature` | `openspec` + `testing-tdd` |
|
|
26
|
+
| Bug fix | `/cc-fix` | `testing-tdd` |
|
|
27
|
+
| Review a diff | `/cc-review` | `evaluation` |
|
|
28
|
+
| TDD cycle only | `/cc-tdd-cycle` | `testing-tdd` |
|
|
29
|
+
| Scorecard / suites | `/cc-scorecard` | `evaluation` |
|
|
30
|
+
|
|
31
|
+
Then run the matching CLI (`openspec validate`, `scorecard create --from-diff`,
|
|
32
|
+
`hook pre-tool`, `scorecard suite-run`).
|
|
33
|
+
|
|
34
|
+
## Common Rationalizations
|
|
35
|
+
|
|
36
|
+
| Rationalization | Reality |
|
|
37
|
+
| --- | --- |
|
|
38
|
+
| I'll skip the slash and just code | Skipping the workflow is a defect. |
|
|
39
|
+
|
|
40
|
+
## Red Flags
|
|
41
|
+
|
|
42
|
+
- Two slash commands in parallel that mutate the same files
|
|
43
|
+
- Implementing before `openspec analyze` when a change folder is active
|
|
44
|
+
|
|
45
|
+
## Verification
|
|
46
|
+
|
|
47
|
+
- [ ] One command selected and shown to the user
|
|
48
|
+
- [ ] Matching skill loaded before edits
|
|
@@ -21,6 +21,20 @@ Command: `api-contract` (fixed for this workflow — do not infer from user text
|
|
|
21
21
|
|
|
22
22
|
---
|
|
23
23
|
|
|
24
|
+
## Step 0b — OpenSpec quality gates
|
|
25
|
+
|
|
26
|
+
If `openspec status` reports an active change folder:
|
|
27
|
+
|
|
28
|
+
1. Run: `npx cc-codeconductor openspec validate --output json`
|
|
29
|
+
2. Run: `npx cc-codeconductor openspec analyze --output json`
|
|
30
|
+
3. If analyze `stop` is true or any finding is CRITICAL, stop. Do not delegate to implementer.
|
|
31
|
+
4. Next command spelling on this runner: `/cc-api-contract`
|
|
32
|
+
|
|
33
|
+
Local development: `bun run dev <same argv>`. Published package: `npx cc-codeconductor`.
|
|
34
|
+
|
|
35
|
+
---
|
|
36
|
+
|
|
37
|
+
|
|
24
38
|
## Step 1 — Task Card validation (task-coach)
|
|
25
39
|
|
|
26
40
|
Invoke `task-coach` with the request above.
|
|
@@ -36,10 +36,11 @@ The catalog is only:
|
|
|
36
36
|
| `/cc:refactor` | structure, no behavior change |
|
|
37
37
|
| `/cc:review` | inspect a diff/PR |
|
|
38
38
|
| `/cc:tdd-cycle` | red → green → refactor |
|
|
39
|
+
| `/cc:backlog` | create or append BACKLOG.md / objectives |
|
|
39
40
|
| `/cc:openspec` | BACKLOG / BC-xxx delivery |
|
|
40
41
|
|
|
41
42
|
If the CLI is unavailable, apply the same catalog and the same priority:
|
|
42
|
-
openspec → tdd-cycle → review → refactor → fix → feature (default).
|
|
43
|
+
backlog (author) vs openspec (deliver) → tdd-cycle → review → refactor → fix → feature (default).
|
|
43
44
|
|
|
44
45
|
---
|
|
45
46
|
|
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: cc-backlog
|
|
3
|
+
description:
|
|
4
|
+
Author BACKLOG.md — wayfinding, grilling, create or append items, validate
|
|
5
|
+
with openspec, and plan OpenSpec change folders for /cc-openspec.
|
|
6
|
+
---
|
|
7
|
+
|
|
8
|
+
# Backlog Authoring Workflow
|
|
9
|
+
|
|
10
|
+
Objectives: $ARGUMENTS
|
|
11
|
+
|
|
12
|
+
Create or append valid `BACKLOG.md` items and OpenSpec change docs. Do **not**
|
|
13
|
+
deliver implementation — that is `/cc-openspec`.
|
|
14
|
+
|
|
15
|
+
---
|
|
16
|
+
|
|
17
|
+
## Step 0 — CCEP Bootstrap
|
|
18
|
+
|
|
19
|
+
Command: `backlog` (fixed for this workflow — do not infer from user text)
|
|
20
|
+
|
|
21
|
+
1. Run: `npx cc-codeconductor ccep parse --command backlog "$ARGUMENTS" --output json`
|
|
22
|
+
2. Run: `npx cc-codeconductor ccep resolve --command backlog "$ARGUMENTS" --output json`
|
|
23
|
+
3. Run: `npx cc-codeconductor ccep profile backlog --output json`
|
|
24
|
+
4. After planner/intake JSON is available, run: `npx cc-codeconductor ccep evaluate --command backlog --input <planner.json> --output json`. If `stop` is true, show questions or risks and wait for human input.
|
|
25
|
+
5. Delegate to subagents using compiled CCEP prompts — never forward raw `$ARGUMENTS` to planners.
|
|
26
|
+
|
|
27
|
+
---
|
|
28
|
+
|
|
29
|
+
## Step 1 — Wayfinding (repo-explorer)
|
|
30
|
+
|
|
31
|
+
If `graphify-out/graph.json` exists, run `graphify query "$ARGUMENTS"`. Invoke
|
|
32
|
+
`repo-explorer`. Do not write `BACKLOG.md`. Scope must name real files.
|
|
33
|
+
|
|
34
|
+
---
|
|
35
|
+
|
|
36
|
+
## Step 2 — Relentless Grilling (task-coach)
|
|
37
|
+
|
|
38
|
+
Invoke `task-coach`. Measurable acceptance only. One grilling question at a time.
|
|
39
|
+
|
|
40
|
+
**STOP here.** Unresolved grilling questions populate `questionsForUser`;
|
|
41
|
+
`ccep evaluate --command backlog` halts until a human answers.
|
|
42
|
+
|
|
43
|
+
---
|
|
44
|
+
|
|
45
|
+
## Step 3 — Write or append BACKLOG.md
|
|
46
|
+
|
|
47
|
+
Apply skill `backlog`. Create from template if missing; otherwise append under
|
|
48
|
+
`## Items`. Next `BC-NNN` = max existing + 1. Status `READY`. Do not rewrite
|
|
49
|
+
`## Global` or `## Archive`. Do not `git add` `BACKLOG.md` or `openspec/`.
|
|
50
|
+
|
|
51
|
+
---
|
|
52
|
+
|
|
53
|
+
## Step 4 — Validate (mandatory gate)
|
|
54
|
+
|
|
55
|
+
Run `npx cc-codeconductor openspec validate`. If invalid, show errors and
|
|
56
|
+
canonical structure, fix, re-validate. **STOP** planning until valid.
|
|
57
|
+
|
|
58
|
+
---
|
|
59
|
+
|
|
60
|
+
## Step 5 — Plan new items
|
|
61
|
+
|
|
62
|
+
For each new `BC-id`: `npx cc-codeconductor openspec plan <BC-id>`.
|
|
63
|
+
|
|
64
|
+
---
|
|
65
|
+
|
|
66
|
+
## Completion
|
|
67
|
+
|
|
68
|
+
Report IDs, validate result, change folders. Tell the user to run `/cc-openspec`.
|
|
69
|
+
Apply skill `backlog`.
|
|
@@ -22,6 +22,20 @@ Command: `db-migration` (fixed for this workflow — do not infer from user text
|
|
|
22
22
|
|
|
23
23
|
---
|
|
24
24
|
|
|
25
|
+
## Step 0b — OpenSpec quality gates
|
|
26
|
+
|
|
27
|
+
If `openspec status` reports an active change folder:
|
|
28
|
+
|
|
29
|
+
1. Run: `npx cc-codeconductor openspec validate --output json`
|
|
30
|
+
2. Run: `npx cc-codeconductor openspec analyze --output json`
|
|
31
|
+
3. If analyze `stop` is true or any finding is CRITICAL, stop. Do not delegate to implementer.
|
|
32
|
+
4. Next command spelling on this runner: `/cc-db-migration`
|
|
33
|
+
|
|
34
|
+
Local development: `bun run dev <same argv>`. Published package: `npx cc-codeconductor`.
|
|
35
|
+
|
|
36
|
+
---
|
|
37
|
+
|
|
38
|
+
|
|
25
39
|
## Step 1 — Task Card validation (task-coach)
|
|
26
40
|
|
|
27
41
|
Invoke `task-coach` with the request above.
|
|
@@ -28,7 +28,7 @@ If `graphify-out/graph.json` exists, run `graphify query "$ARGUMENTS"`. Invoke `
|
|
|
28
28
|
|
|
29
29
|
## Step 2 — Suggest next command (orchestrator)
|
|
30
30
|
|
|
31
|
-
Recommend exactly one next slash command (`/cc:feature`, `/cc:fix`, `/cc:refactor`, `/cc:review`, `/cc:triage`, …) with a one-sentence rationale. Do not start that workflow.
|
|
31
|
+
Recommend exactly one next slash command (`/cc:feature`, `/cc:fix`, `/cc:refactor`, `/cc:review`, `/cc:backlog`, `/cc:openspec`, `/cc:triage`, …) with a one-sentence rationale. Do not start that workflow.
|
|
32
32
|
|
|
33
33
|
---
|
|
34
34
|
|
|
@@ -22,6 +22,24 @@ Command: `feature` (fixed for this workflow — do not infer from user text)
|
|
|
22
22
|
|
|
23
23
|
---
|
|
24
24
|
|
|
25
|
+
## Step 0b — OpenSpec quality gates
|
|
26
|
+
|
|
27
|
+
If `openspec status` reports an active change folder:
|
|
28
|
+
|
|
29
|
+
1. Run: `npx cc-codeconductor openspec validate --output json`
|
|
30
|
+
2. Run: `npx cc-codeconductor openspec analyze --output json`
|
|
31
|
+
3. If analyze `stop` is true or any finding is CRITICAL, stop. Do not delegate to implementer.
|
|
32
|
+
4. Next command spelling on this runner: `/cc-feature`
|
|
33
|
+
|
|
34
|
+
Local development: `bun run dev <same argv>`. Published package: `npx cc-codeconductor`.
|
|
35
|
+
|
|
36
|
+
Skills: `using-cc-skills`, `openspec`, `testing-tdd`, `evaluation`.
|
|
37
|
+
Do not skip `openspec analyze` when a change folder is active.
|
|
38
|
+
"I'll add tests later" is not allowed — tester before implementer.
|
|
39
|
+
|
|
40
|
+
---
|
|
41
|
+
|
|
42
|
+
|
|
25
43
|
## Step 1 — Wayfinding (repo-explorer)
|
|
26
44
|
|
|
27
45
|
If `graphify-out/graph.json` exists, run `graphify query "$ARGUMENTS"` (and
|
|
@@ -32,6 +32,20 @@ Command: `fix` (fixed for this workflow — do not infer from user text)
|
|
|
32
32
|
|
|
33
33
|
---
|
|
34
34
|
|
|
35
|
+
## Step 0b — OpenSpec quality gates
|
|
36
|
+
|
|
37
|
+
If `openspec status` reports an active change folder:
|
|
38
|
+
|
|
39
|
+
1. Run: `npx cc-codeconductor openspec validate --output json`
|
|
40
|
+
2. Run: `npx cc-codeconductor openspec analyze --output json`
|
|
41
|
+
3. If analyze `stop` is true or any finding is CRITICAL, stop. Do not delegate to implementer.
|
|
42
|
+
4. Next command spelling on this runner: `/cc-fix`
|
|
43
|
+
|
|
44
|
+
Local development: `bun run dev <same argv>`. Published package: `npx cc-codeconductor`.
|
|
45
|
+
|
|
46
|
+
---
|
|
47
|
+
|
|
48
|
+
|
|
35
49
|
## Step 1 — Wayfinding (repo-explorer)
|
|
36
50
|
|
|
37
51
|
If `graphify-out/graph.json` exists, run `graphify query "$ARGUMENTS"` (and
|
|
@@ -22,6 +22,20 @@ Command: `iterative` (fixed for this workflow — do not infer from user text)
|
|
|
22
22
|
|
|
23
23
|
---
|
|
24
24
|
|
|
25
|
+
## Step 0b — OpenSpec quality gates
|
|
26
|
+
|
|
27
|
+
If `openspec status` reports an active change folder:
|
|
28
|
+
|
|
29
|
+
1. Run: `npx cc-codeconductor openspec validate --output json`
|
|
30
|
+
2. Run: `npx cc-codeconductor openspec analyze --output json`
|
|
31
|
+
3. If analyze `stop` is true or any finding is CRITICAL, stop. Do not delegate to implementer.
|
|
32
|
+
4. Next command spelling on this runner: `/cc-iterative`
|
|
33
|
+
|
|
34
|
+
Local development: `bun run dev <same argv>`. Published package: `npx cc-codeconductor`.
|
|
35
|
+
|
|
36
|
+
---
|
|
37
|
+
|
|
38
|
+
|
|
25
39
|
## Step 1 — Wayfinding (repo-explorer)
|
|
26
40
|
|
|
27
41
|
If `graphify-out/graph.json` exists, run `graphify query "$ARGUMENTS"` (and
|
|
@@ -30,6 +30,20 @@ Command: `openspec` (fixed for this workflow — do not infer from user text)
|
|
|
30
30
|
|
|
31
31
|
---
|
|
32
32
|
|
|
33
|
+
## Step 0b — OpenSpec quality gates
|
|
34
|
+
|
|
35
|
+
If `openspec status` reports an active change folder:
|
|
36
|
+
|
|
37
|
+
1. Run: `npx cc-codeconductor openspec validate --output json`
|
|
38
|
+
2. Run: `npx cc-codeconductor openspec analyze --output json`
|
|
39
|
+
3. If analyze `stop` is true or any finding is CRITICAL, stop. Do not delegate to implementer.
|
|
40
|
+
4. Next command spelling on this runner: `/cc-openspec`
|
|
41
|
+
|
|
42
|
+
Local development: `bun run dev <same argv>`. Published package: `npx cc-codeconductor`.
|
|
43
|
+
|
|
44
|
+
---
|
|
45
|
+
|
|
46
|
+
|
|
33
47
|
## Step 1 — Scan
|
|
34
48
|
|
|
35
49
|
Run `npx cc-codeconductor openspec scan`. Report new, modified, and closed items.
|
|
@@ -46,6 +60,8 @@ Use `$ARGUMENTS` BC-id or `npx cc-codeconductor openspec status` for next READY
|
|
|
46
60
|
|
|
47
61
|
Run `npx cc-codeconductor openspec plan <BC-id>`. Show TaskCards and `openspec/changes/` path.
|
|
48
62
|
|
|
63
|
+
Drive status with CLI (do not edit openspec-state.json): `openspec start <cardId>`, `openspec done <cardId>`, `openspec block <cardId> --reason "…"`, `openspec archive <itemId>`.
|
|
64
|
+
|
|
49
65
|
---
|
|
50
66
|
|
|
51
67
|
## Step 4 — Execute loop
|
|
@@ -70,6 +86,6 @@ Reviewer approves or rejects against acceptance criteria. Reject → `IN_PROGRES
|
|
|
70
86
|
|
|
71
87
|
## Step 6 — Update
|
|
72
88
|
|
|
73
|
-
Mark DONE
|
|
89
|
+
Mark DONE with `openspec archive <itemId>` (all cards must be done), then run `openspec scan`.
|
|
74
90
|
|
|
75
91
|
Apply skill `openspec` for format and state rules.
|
|
@@ -20,6 +20,8 @@ Command: `scorecard` (fixed for this workflow — do not infer from user text)
|
|
|
20
20
|
|
|
21
21
|
---
|
|
22
22
|
|
|
23
|
+
If a change folder exists, run `npx cc-codeconductor openspec analyze --output json` first. `--from-diff` overlays FR/SC coverage onto `acceptance` and TDD evidence onto `tests`.
|
|
24
|
+
|
|
23
25
|
1. `npx cc-codeconductor scorecard create --task <id> --from-diff`
|
|
24
26
|
2. Complete criteria per docs/agent-scorecard.md
|
|
25
27
|
3. `scorecard regression` if needed
|