원클릭으로
program-analysis
Analyze a federal funding program - recipients, spending patterns, concentration, and risks
Codex 또는 Claude로 설치 이 Prompt를 복사해 Codex, Claude 또는 다른 어시스턴트에 붙여 넣으면 Skill 페이지를 검토하고 설치를 진행할 수 있습니다.
메뉴
Analyze a federal funding program - recipients, spending patterns, concentration, and risks
Codex 또는 Claude로 설치 이 Prompt를 복사해 Codex, Claude 또는 다른 어시스턴트에 붙여 넣으면 Skill 페이지를 검토하고 설치를 진행할 수 있습니다.
SOC 직업 분류 기준
Map the gift-flow network around a charity to find connected organizations and clusters
Side-by-side comparison of multiple charities on financial and circular gifting metrics
Run the circular gifting detection pipeline and interpret the top results
Profile a charity's finances, gift network, circular flows, and accountability metrics
Analyze timing of circular gift flows - same-year symmetric and adjacent-year round-trips
Audit a federal department's grant spending - recipients, concentration, amendments, and risks
| name | program-analysis |
| description | Analyze a federal funding program - recipients, spending patterns, concentration, and risks |
| argument-hint | [program name or keyword] |
| disable-model-invocation | true |
Analyze the federal program $ARGUMENTS.
node -e "const db=require('./lib/db'); db.query(\`SELECT prog_name_en, owner_org_title, COUNT(*) AS grants, ROUND(SUM(agreement_value)::numeric/1e6,1) AS millions, COUNT(DISTINCT recipient_legal_name) AS recipients FROM fed.grants_contributions WHERE prog_name_en ILIKE '%\$ARGUMENTS%' AND is_amendment=false GROUP BY prog_name_en, owner_org_title ORDER BY SUM(agreement_value) DESC LIMIT 15\`).then(r=>{console.table(r.rows);db.end();})"
node -e "const db=require('./lib/db'); db.query(\`SELECT prog_name_en, prog_purpose_en, owner_org_title, COUNT(*) AS grants, COUNT(DISTINCT recipient_legal_name) AS recipients, ROUND(SUM(agreement_value)::numeric/1e6,1) AS millions, MIN(agreement_start_date) AS first_grant, MAX(agreement_start_date) AS last_grant FROM fed.grants_contributions WHERE prog_name_en='EXACT_NAME' AND is_amendment=false GROUP BY 1,2,3\`).then(r=>{console.table(r.rows);db.end();})"
node -e "const db=require('./lib/db'); db.query(\`SELECT recipient_legal_name AS name, recipient_type, recipient_province AS prov, COUNT(*) AS grants, ROUND(SUM(agreement_value)::numeric/1e6,1) AS millions FROM fed.grants_contributions WHERE prog_name_en='EXACT_NAME' AND is_amendment=false GROUP BY 1,2,3 ORDER BY SUM(agreement_value) DESC LIMIT 20\`).then(r=>{console.table(r.rows);db.end();})"
node -e "const db=require('./lib/db'); db.query(\`WITH t AS (SELECT recipient_legal_name, SUM(agreement_value) AS total FROM fed.grants_contributions WHERE prog_name_en='EXACT_NAME' AND is_amendment=false GROUP BY 1), s AS (SELECT SUM(total) AS grand_total FROM t) SELECT COUNT(*) AS recipients, ROUND((SELECT SUM(total) FROM (SELECT total FROM t ORDER BY total DESC LIMIT 3) x)::numeric / NULLIF((SELECT grand_total FROM s),0) * 100, 1) AS top3_pct FROM t\`).then(r=>{console.table(r.rows);db.end();})"
node -e "const db=require('./lib/db'); db.query(\`SELECT recipient_province AS prov, COUNT(*) AS grants, ROUND(SUM(agreement_value)::numeric/1e6,1) AS millions FROM fed.grants_contributions WHERE prog_name_en='EXACT_NAME' AND is_amendment=false AND recipient_province IS NOT NULL GROUP BY 1 ORDER BY SUM(agreement_value) DESC\`).then(r=>{console.table(r.rows);db.end();})"