CPD Crypto Analysis
Overview
Run evidence-first CPD analysis. Produce reproducible scorecard. Use bundled scripts to generate research prompt, scaffold report, compute scores deterministically.
All paths below are project-root-relative. Skill assets live at .claude/skills/cpd-crypto-analysis/.
Workflow
- Collect target metadata.
- Run project-state freshness gate (mainnet/testnet/devnet).
- Generate project-specific research brief.
- Gather verifiable evidence from primary or canonical sources.
- Score each CPD block from evidence only.
- Compute totals. Produce final recommendation.
Step 1: Collect Target Metadata
Capture before researching:
- Project name and ticker
- Chain and deployment environment (mainnet/testnet)
- Exact protocol/version under review
- Exact dapp/interface under review (official UI, fork, aggregator route)
If user does not specify version or interface, mark incomplete. State assumptions in report.
Step 2: Project-State Freshness Gate (Mandatory)
Verify current network state from at least:
- one official source (project docs/blog/announcements),
- one independent source (major media, explorer, analytics platform).
Use WebFetch / WebSearch tools. Capture in scorecard:
critical_facts.network_status.value—mainnet|testnet|devnet|unknowncritical_facts.network_status.as_of— YYYY-MM-DDcritical_facts.network_status.source_url
Do not score until filled. If sources disagree, use more recent. Flag risk.
Step 3: Generate Research Brief
Generate reusable deep-research prompt:
python3 .claude/skills/cpd-crypto-analysis/scripts/build_cpd_prompt.py \
--project "Aave" > /tmp/aave_cpd_prompt.md
Stablecoin mode (adds ADP anti-depeg block):
python3 .claude/skills/cpd-crypto-analysis/scripts/build_cpd_prompt.py \
--project "USDC" --include-adp > /tmp/usdc_cpd_prompt.md
Script loads template at .claude/skills/cpd-crypto-analysis/references/cpd_prompt_template.md.
Step 4: Collect Evidence
Read .claude/skills/cpd-crypto-analysis/references/source_playbook.md to map each criterion to canonical sources. Record per finding:
- Source name
- URL
- Access/check date
- One-line evidence note
Prioritize direct sources (official docs, explorers, audit reports, repos). Cross-check secondary sources against ≥1 primary.
Step 5: Fill the Scorecard
Initialize structured scorecard JSON:
python3 .claude/skills/cpd-crypto-analysis/scripts/init_cpd_scorecard.py \
--project "Aave" --out /tmp/aave_scorecard.json
Stablecoin variant:
python3 .claude/skills/cpd-crypto-analysis/scripts/init_cpd_scorecard.py \
--project "USDC" --out /tmp/usdc_scorecard.json --enable-adp
Edit JSON with evidence-backed values. Allowed ranges:
cpd.chain_score: 1..3cpd.protocol_score: 0..2cpd.dapp_score: -1..1stage_score: -1..3age_score: -1..3code_score: -1..3incidents_score: -1..3
Step 6: Compute Final Score and Tier
python3 .claude/skills/cpd-crypto-analysis/scripts/score_cpd.py \
--scorecard /tmp/aave_scorecard.json \
--format markdown \
--out /tmp/aave_report.md
Scorer enforces critical-fact freshness. Default: network_status must be present and ≤45 days from analysis_date.
Output:
- Block subtotals
- Total out of 18
- Percentage
- Final tier classification
- Optional ADP score when present
Reporting Standard
Per criterion include:
- Assigned score with concise rationale
- Evidence references (URL + checked date)
- Critical risk flags when applicable
Conclude with:
- Final CPD percentage and tier
- Top risk drivers
- Recommendation: proceed / proceed with caution / avoid
Final report layout: .claude/skills/cpd-crypto-analysis/assets/cpd_report_template.md.
Resources
references/cpd_prompt_template.md— base CPD prompt templatereferences/source_playbook.md— source map and evidence checklistassets/cpd_report_template.md— final report layoutscripts/build_cpd_prompt.py— prompt generatorscripts/init_cpd_scorecard.py— scorecard initializerscripts/score_cpd.py— score calculator and report generator