BD ccpa-check
CCPA/CPRA Compliance Check — based on the California Consumer Privacy Act (CCPA) and the CPRA amendment, covers 12 core compliance checks for businesses subject to California privacy law. Free to install; scoring runs on the CQDev cloud compliance engine. No Key? The skill auto-runs an anonymous trial (5 real cloud-scored runs, 7-day window) before asking you to register. Use when: the user explicitly asks to run the CCPA Check skill, or asks for a CCPA/CPRA (California) compliance assessment / California consumer privacy review. Trigger: ccpa-check, run ccpa check, CCPA compliance check, California CCPA/CPRA assessment Pricing: Free skill; cloud scoring is free (anonymous trial 5 runs, then register for a free API Key with 100 calls) ⚠️ Cloud scoring sends your 12 answers to compliancehub.cn; use --non-interactive for a fully offline preview that never contacts the cloud. Without a Key the skill runs an anonymous trial (up to 5 scored runs) using a local random anon_id; registering gives a free Key with 100 calls. 🔐 API Key: get a free API Key (100 free calls) at compliancehub.cn/account.html (register in the browser; the Key is shown instantly). Provide it via the COMPLIANCEHUB_API_KEY environment variable, or save it to ~/.config/compliancehub/ccpa-check.key (mode 0600). Registration is done on the website — the terminal no longer collects credentials. 💡 Free preview: --non-interactive lists the 12 check items without a Key Locale: zh-CN(交互默认中文,英文可按需提供)(交互与提示以中文为主,法律条款名称保留英文原文以确保准确)。
CCPA/CPRA Compliance Check — based on the California Consumer Privacy Act (CCPA) and the CPRA amendment, covers 12 core compliance checks for businesses…
As a process D 43/100 · Unfinished process — weak spots: result and completion, when it triggers, inputs and preconditions
How to improve
- Shorten the description to 1024 characters.
- Your own cases (evals/evals.json, 4–6 real requests with expected answers): the full check would then run those instead of a model-drafted suite.
- A spec.yaml with trigger phrases and assertions — a behaviour contract for CI; `skilltest init` writes a template.
Guard findings · 0
✓ No critical or high findings
Files scanned: 6. Evidence is masked. Grey chips explain why severity was lowered.
Against the Agent Skills spec
- error
description-longdescription is 1514 chars, limit 1024 - note
description-budgetdescription takes 1514 of the ~15000-char shared budget for all skills - note
frontmatter-keyunknown frontmatter key "permissions"
Process rating: all ten parameters 43/100
- 0Result and completion. Does not say what the result is
- 0Inputs and preconditions. Does not say what the process needs to start
- 0Failures and branches. Linear process with no failure handling
- 0Progress reporting. Says nothing while it works
- 20When it triggers. No condition that starts the skill
- 30Running it twice. 2 mutating operations with no state check
- 60Tools and files. Uses tools (bash, web, python) that frontmatter does not declare
- 100Steps. 18 steps
- 100Consistency. Name and required fields are in place
- 100Execution cost. Instruction body is 1429 tokens
- medium Safety rules and hard prohibitions inside a skill: they belong in the system prompt, here they protect nothing
Everything here is measured from the skill text rather than judged by a model, so the numbers are checkable. A parameter weighs more when it is a more common reason for the process to stall.
Quality signals
- +5Description has no quoted example phrases that should trigger the skill
- +4Description does not say when NOT to use the skill (false activations)
- +3Description length 1513: 120–800 characters recommended
- +3Output format is not stated: the model decides each time
- -41 reference files, but SKILL.md never points to them: the model will not open them
- +1No license
- +2Single-language instructions
- +4Structure: 13 headings
- +3Step-by-step instructions: 18 items
- +4Has examples (2 code blocks)
- +3All 1 scripts are documented
Quality base 70; lint remarks subtract, signals add up to 100. Result: 51.