Guide for creating DAAF agent definition files. Covers 12-section template, hook registration, skills-in-frontmatter, integration checklist. Use when adding or revising agents. For SKILL.md files, use skill-authoring instead.
中文简介正在准备中。当前显示原文说明。
College Scorecard — post-enrollment outcomes linking aid records to IRS/Treasury earnings. Earnings, loan repayment, debt via six Portal sub-datasets. Use when tax-record-based earnings needed. Tracks only Title IV aid recipients, not all students.
中文简介正在准备中。当前显示原文说明。
实测评分 未实测
查看安装方法安装前可以查看交给 AI 代理的指令内容。
College Scorecard — the primary institutional-level source for post-enrollment labor market outcomes, linking NSLDS financial aid records to IRS/Treasury earnings data. Use when comparing institutions on post-graduation earnings, loan repayment, or student debt, or when actual tax-record-based earnings are required rather than survey estimates. The Portal mirrors six institution-level families and does not mirror program/field-of-study data; use the official Scorecard Data page or documented API for program-level work. Critical limitation: tracks only Title IV federal aid recipients, not all students.
Federal data on post-college outcomes including earnings, debt, and repayment for students who received Title IV financial aid. Links education records to IRS tax data for actual earnings, making it the primary source for post-college labor market outcomes.
CRITICAL: Value Encoding and Missing Data
The Education Data Portal uses integer encodings for all categorical variables and lowercase, restructured variable names that differ from the original Scorecard column names. Suppression encoding differs by dataset:
- Earnings/counts:
-3integer code is the primary suppression indicator- Yes/No flags (institutional characteristics):
nullfor missing,0/1for valid- Rates (repayment, default):
nullfor missing- The original Scorecard string
"PrivacySuppressed"does NOT appear in Portal data
Context pred_degree_awarded_ipedsHBCU / tribal flags religious_affiliationPortal (integer) 0-40/1Integer codes 22-200 Original Scorecard String labels String labels String labels See
./references/variable-definitions.mdfor complete encoding tables.
datasets-reference.md for paths, mirrors.yaml for mirror config, fetch-patterns.md for fetch codeunitid (IPEDS institution ID)| File | Purpose | When to Read |
|---|---|---|
earnings-data.md | Post-college earnings methodology, cohorts, time horizons | Analyzing earnings outcomes |
debt-repayment.md | Student debt, repayment rates, default rates | Analyzing debt or loan outcomes |
completion-rates.md | Completion metrics vs IPEDS | Comparing graduation rates |
population-coverage.md | Title IV limitation details, who is included/excluded | Understanding data representativeness |
variable-definitions.md | Key variables, naming conventions, special values | Building queries or interpreting results |
data-quality.md | Suppression rules, selection bias, known limitations | Assessing data reliability |
field-of-study.md | Program-level earnings and debt data | Analyzing outcomes by major/CIP code |
Outcome type?
├─ Post-college earnings
│ ├─ Institution-level → Portal earnings family; ./references/earnings-data.md
│ └─ Program/field of study → NOT in Portal; use https://collegescorecard.ed.gov/data/
│ └─ Choose "Most Recent Data by Field of Study" or the documented API; see ./references/field-of-study.md
├─ Student debt levels
│ ├─ Institution-level borrowing → Portal repayment families; ./references/debt-repayment.md
│ └─ Debt by program/field → NOT in Portal; use the official Data page or documented API
├─ Loan repayment/default
│ └─ Repayment rates → ./references/debt-repayment.md
├─ Completion rates
│ └─ Scorecard completion → ./references/completion-rates.md
└─ Understanding limitations
├─ Who is included → ./references/population-coverage.md
└─ Data quality issues → ./references/data-quality.md
Interpretation question?
├─ Why are earnings suppressed?
│ └─ Privacy thresholds → ./references/data-quality.md
├─ What does "6-year earnings" mean?
│ └─ Cohort timing → ./references/earnings-data.md
├─ Why don't Scorecard rates match IPEDS?
│ └─ Different cohorts → ./references/completion-rates.md
├─ What loans are included in debt?
│ └─ Federal only → ./references/debt-repayment.md
└─ How representative is this data?
└─ Title IV coverage → ./references/population-coverage.md
Query construction?
├─ Portal institution-level family → Use exact path in "All Scorecard Datasets" below
├─ Variable names and codes → ./references/variable-definitions.md
├─ Suppression flags to handle → ./references/data-quality.md
├─ Understanding cohort years → ./references/earnings-data.md
└─ Program/field-level query → Not mirrored by Portal
└─ Use https://collegescorecard.ed.gov/data/ or documented API; see ./references/field-of-study.md
The Portal uses LONG format with time horizon as a column, NOT the WIDE format from original Scorecard bulk download files. Portal column names are all lowercase and differ significantly from original Scorecard names.
| Original Scorecard (WIDE) | Portal Column (LONG) | How to Get |
|---|---|---|
MD_EARN_WNE_P6 | earnings_med | Filter: years_after_entry == 6 |
MD_EARN_WNE_P10 | earnings_med | Filter: years_after_entry == 10 |
COUNT_WNE_P6 | count_working | Filter: years_after_entry == 6 |
MN_EARN_WNE_P6 | earnings_mean | Filter: years_after_entry == 6 |
CONTROL, INSTNM | NOT IN EARNINGS | Join to IPEDS directory or inst_characteristics dataset |
CDR3 | default_rate | In repayment_fsa dataset; filter: years_since_entering_repay |
RPY_3YR_RT | repay_rate | In repayment_nslds dataset; filter: years_since_entering_repay == 3 |
Source dataset:
scorecard/colleges_scorecard_earnings(203,066 rows x 33 columns)
| Portal Column | Type | Description | Original Scorecard |
|---|---|---|---|
unitid | Int64 | IPEDS institution ID | UNITID |
opeid | String | OPE ID (8-digit, zero-padded) | OPEID |
year | Int64 | Data year (2003-2014, 2018) | File year |
years_after_entry | Int64 | Years since first enrollment (6-10) | Encoded in variable name |
cohort_year | Int64 | Entry cohort year | Encoded in variable name |
earnings_med | Int64 | Median earnings (W-2) | MD_EARN_WNE_P* |
earnings_mean | Int64 | Mean earnings | MN_EARN_WNE_P* |
earnings_sd | Int64 | Standard deviation of earnings | SD_EARN_WNE_P* |
earnings_pct10 | Int64 | 10th percentile earnings | PCT10_EARN_WNE_P* |
earnings_pct25 | Int64 | 25th percentile earnings | PCT25_EARN_WNE_P* |
earnings_pct75 | Int64 | 75th percentile earnings | PCT75_EARN_WNE_P* |
earnings_pct90 | Int64 | 90th percentile earnings | PCT90_EARN_WNE_P* |
count_working | Int64 | Count working and not enrolled | COUNT_WNE_P* |
count_not_working | Int64 | Count not working and not enrolled | COUNT_NWNE_P* |
earnings_greater_than_25k_pct | Float64 | Share earning > $25K | GT_25K_P* |
earnings_lowinc_mean | Int64 | Mean earnings, low-income | MN_EARN_WNE_INC1_P* |
earnings_midinc_mean | Int64 | Mean earnings, mid-income | MN_EARN_WNE_INC2_P* |
earnings_highinc_mean | Int64 | Mean earnings, high-income | MN_EARN_WNE_INC3_P* |
earnings_dep_mean | Int64 | Mean earnings, dependent students | — |
earnings_dep_lowinc_mean | Int64 | Mean earnings, dependent low-income | — |
earnings_ind_mean | Int64 | Mean earnings, independent students | — |
earnings_female_mean | Int64 | Mean earnings, female | — |
earnings_male_mean | Int64 | Mean earnings, male | — |
count_working_* | Int64 | Count working by subgroup | — |
| ID | Format | Level | Example | Notes |
|---|---|---|---|---|
unitid | 6-digit integer | Institution | 110635 | Same as IPEDS unitid; primary join key |
opeid | 8-digit string | OPE (Title IV) | "00100200" | Zero-padded; present in all datasets |
opeid6 | Integer | 6-digit OPE | 1002 | Numeric, no zero-padding |
| Metric | Dimension Column | Values | Typical Lag |
|---|---|---|---|
| Earnings | years_after_entry | 6, 7, 8, 9, 10 | Data from 7+ years ago |
| Default | years_since_entering_repay | 2, 3 | Varies |
| Repayment | years_since_entering_repay | 1, 3, 5, 7 | Varies |
"After entry" means after first enrollment, not after graduation.
| Variable | Values |
|---|---|
pred_degree_awarded_ipeds | 0=Not classified, 1=Certificate, 2=Associate's, 3=Bachelor's, 4=Graduate |
| Yes/No flags (HBCU, tribal, etc.) | 0=No, 1=Yes, null=Missing |
religious_affiliation | 76 integer codes 22-200 (see variable-definitions.md for complete mapping), null=None/Missing |
| Code | Meaning | Which Datasets |
|---|---|---|
-3 | Suppressed for privacy | Earnings dataset (earnings and count columns) — primary suppression indicator |
null | Missing/not applicable | Institutional characteristics (yes/no flags), repayment/default (rates) |
| Positive numeric | Actual value | Earnings, debt, counts, rates |
import polars as pl
# Filter for valid earnings (handle -3 suppression code)
valid = df.filter(
(pl.col("earnings_med").is_not_null()) &
(pl.col("earnings_med") != -3)
)
# Filter for 6-year earnings specifically
six_yr_valid = valid.filter(pl.col("years_after_entry") == 6)
# Filter for valid earnings (handle -3 suppression code)
valid <- df |> filter(!is.na(earnings_med), earnings_med != -3)
# Filter for 6-year earnings specifically
six_yr_valid <- valid |> filter(years_after_entry == 6)
Datasets for Scorecard are available via the mirror system. See datasets-reference.md for canonical paths, mirrors.yaml for mirror configuration, and fetch-patterns.md for fetch code patterns.
Codebooks are .xls files co-located with data in all mirrors. Use get_codebook_url() from fetch-patterns.md to construct download URLs.
Truth Hierarchy: When interpreting variable values, apply this priority:
- Actual data file (what you observe in the parquet/CSV) — this IS the truth
- Live codebook (.xls in mirror) — authoritative documentation, may lag
- This skill documentation — convenient summary, may drift from codebook
If this documentation contradicts the codebook, trust the codebook. If the codebook contradicts observed data, trust the data and investigate.
The Portal manifest exposes the six families below. It does not expose a field-of-study/program-level family. For current program data, go to https://collegescorecard.ed.gov/data/ and choose Most Recent Data by Field of Study, or use the documented Scorecard API. Do not make a date-stamped ZIP URL the only access route.
| Dataset | Path | Codebook | Type | Years |
|---|---|---|---|---|
| Earnings | scorecard/colleges_scorecard_earnings | scorecard/codebook_colleges_scorecard_earnings | Single | varies |
| Default | scorecard/colleges_scorecard_repayment_fsa | scorecard/codebook_colleges_scorecard_default | Single | 1996-2020 |
| Institutional Characteristics | scorecard/colleges_scorecard_inst_characteristics | scorecard/codebook_colleges_scorecard_institutional-characteristics | Single | 1996-2020 |
| Repayment | scorecard/colleges_scorecard_repayment_nslds | scorecard/codebook_colleges_scorecard_repayment | Single | 2007-2016 |
| Student Characteristics (Aid) | scorecard/colleges_scorecard_student_body_nslds | scorecard/codebook_colleges_scorecard_student-characteristics_aid-applicants | Single | 1997-2016 |
| Student Characteristics (Home) | scorecard/colleges_scorecard_student_body_treasury | scorecard/codebook_colleges_scorecard_student-characteristics_home-neighborhood | Single | 1997-2016 |
Scorecard naming note: Data file paths differ significantly from codebook paths. Notable mismatches: data
repayment_fsavs codebookdefault; datainst_characteristicsvs codebookinstitutional-characteristics; datarepayment_nsldsvs codebookrepayment; datastudent_body_nsldsvs codebookstudent-characteristics_aid-applicants; datastudent_body_treasuryvs codebookstudent-characteristics_home-neighborhood. Always use the exact paths shown above.
import polars as pl
# Load `education-data-query` before authoring the Stage 5 script, then copy its
# documented `fetch_from_mirrors()` helper contract inline from
# `education-data-query/references/fetch-patterns.md`. There is no local
# `fetch_utils` module to import. The inline helper handles mirror priority,
# failover, and local filtering under the shared query contract.
# Fetch earnings data
earnings = fetch_from_mirrors("scorecard/colleges_scorecard_earnings")
# Filter by time horizon (LONG format — filter, don't use wide column names)
six_yr = earnings.filter(pl.col("years_after_entry") == 6)
# Filter for valid earnings (exclude -3 suppression code)
valid = six_yr.filter(
(pl.col("earnings_med").is_not_null()) &
(pl.col("earnings_med") != -3)
)
# Institution names/control are NOT in the earnings dataset.
# Join to inst_characteristics or IPEDS directory:
inst = fetch_from_mirrors("scorecard/colleges_scorecard_inst_characteristics",
years=[2020])
valid = valid.join(
inst.select("unitid", "inst_name", "pred_degree_awarded_ipeds"),
on="unitid", how="left"
)
# Fetch earnings data.
# fetch_from_mirrors() is a Python helper; in R, build the URL from the mirror
# root in mirrors.yaml and read directly.
# Mirror failover: see `education-data-query/references/fetch-patterns.md` (R pattern).
config <- yaml::read_yaml("mirrors.yaml")
mirror <- config$mirrors[[1]]
url <- paste0(mirror$root_url, "/", "scorecard/colleges_scorecard_earnings", ".", mirror$format)
# NOTE: illustrative only — mirror parquet files are Polars-written and may
# declare string_view columns, so a plain read can fail under R arrow
# ("cannot handle Array of type <utf8_view>"). Real fetch scripts must use the
# view-safe parquet read from `education-data-query/references/fetch-patterns.md`.
earnings <- arrow::read_parquet(url)
# Filter by time horizon (LONG format — filter, don't use wide column names)
six_yr <- earnings |> filter(years_after_entry == 6)
# Filter for valid earnings (exclude -3 suppression code)
valid <- six_yr |> filter(!is.na(earnings_med), earnings_med != -3)
# Institution names/control are NOT in the earnings dataset.
# Join to inst_characteristics or IPEDS directory (filter years locally):
url <- paste0(mirror$root_url, "/", "scorecard/colleges_scorecard_inst_characteristics", ".", mirror$format)
inst <- arrow::read_parquet(url) |> filter(year == 2020)
valid <- valid |> left_join(
inst |> select(unitid, inst_name, pred_degree_awarded_ipeds),
by = "unitid"
)
| Pitfall | Issue | Solution |
|---|---|---|
| "All graduates" claims | Scorecard covers Title IV recipients only, not all students | Note Title IV limitation prominently in any analysis |
| Wage comparison | Comparing to BLS wages or Census income uses different populations | Use for relative comparisons, not absolute claims; document population differences |
| Ignoring suppression | Many programs have no data due to privacy thresholds | Check suppression rates before analyzing; document coverage |
| Time lag ignored | Earnings reflect old cohorts (6-year = data from 7+ years ago) | Document data vintage and cohort years explicitly |
| Total borrowing assumption | Scorecard debt includes only federal loans, not private | State "federal loans only" when reporting debt figures |
| String codes from docs | Original Scorecard uses string labels; Portal uses integers | Verify actual data types in Portal parquet files; use integer codes |
| Wide-format variable names | Using MD_EARN_WNE_P10 column name on Portal data | Portal uses LONG format — filter years_after_entry instead |
| Assuming null = suppressed | Earnings dataset uses -3 for suppression, not null | Filter both: is_not_null() & != -3 |
| Using uppercase names | Original Scorecard uses MD_EARN_WNE_P6; Portal uses earnings_med | Always use lowercase Portal names from actual data |
The single most important caveat for all Scorecard analysis:
Scorecard tracks ONLY students who received federal financial aid (Title IV):
| Excluded Group | Impact |
|---|---|
| Full-pay students | Often higher-income; different outcomes |
| Students with only state/institutional aid | Missing from data |
| International students | Not eligible for federal aid |
| Some graduate students | If they received no federal aid |
Coverage varies dramatically by institution type:
| Institution Type | Typical Title IV Coverage |
|---|---|
| For-profit colleges | 80-90%+ |
| Community colleges | 60-80% |
| Public flagships | 50-70% |
| Selective private colleges | 30-50% |
Data systematically overrepresents lower-income students who are more likely to need federal aid.
| Excluded | Why It Matters |
|---|---|
| Non-Title IV students | Often higher-income; different outcomes |
| Self-employment income | 1099 income excluded from earnings |
| Students still in school | Not working = not in earnings data |
| Private student loans | Only federal loans tracked |
| Students who left the country | Lost to follow-up |
| Aspect | College Scorecard | IPEDS |
|---|---|---|
| Who's tracked | Title IV aid recipients | First-time, full-time students |
| Includes part-time | Yes | No (for grad rates) |
| Includes transfers-in | Yes | No (tracked at origin) |
| Outcome focus | Earnings, debt, repayment | Completion, retention |
| Data source | NSLDS + IRS | Institution-reported |
| Source | Relationship | When to Use |
|---|---|---|
education-data-source-ipeds | Institutional characteristics, enrollment, finance | Join on unitid for institution names, control type, enrollment context |
education-data-source-pseo | Alternative post-college earnings (Census LEHD) | When broader population coverage needed (not limited to Title IV) |
education-data-source-fsa | Federal student aid details | Deeper analysis of aid types and disbursements |
education-data-explorer | Parent discovery skill | Routing questions to mirror dataset files |
education-data-query | Data fetching | Downloading parquet/CSV files |
| Topic | Reference File |
|---|---|
| Earnings methodology | ./references/earnings-data.md |
| Cohort definitions | ./references/earnings-data.md |
| IRS data matching | ./references/earnings-data.md |
| Earnings suppression | ./references/data-quality.md |
| Debt metrics | ./references/debt-repayment.md |
| Repayment rates | ./references/debt-repayment.md |
| Default rates | ./references/debt-repayment.md |
| NSLDS data | ./references/debt-repayment.md |
| Completion methodology | ./references/completion-rates.md |
| IPEDS comparison | ./references/completion-rates.md |
| Title IV coverage | ./references/population-coverage.md |
| Who is excluded | ./references/population-coverage.md |
| Selection bias | ./references/population-coverage.md |
| Variable names | ./references/variable-definitions.md |
| Special values | ./references/variable-definitions.md |
| Privacy suppression | ./references/data-quality.md |
| Data limitations | ./references/data-quality.md |
| Program-level data | ./references/field-of-study.md |
| CIP codes | ./references/field-of-study.md |
还没有评价。欢迎分享你的使用感受。
无需登录即可发表。欢迎分享使用感受、提问,或说明在哪些环境下无法运行。
还没有评论。来写第一条吧。
Guide for creating DAAF agent definition files. Covers 12-section template, hook registration, skills-in-frontmatter, integration checklist. Use when adding or revising agents. For SKILL.md files, use skill-authoring instead.
中文简介正在准备中。当前显示原文说明。
Researcher-facing analytic triangulation ("creative verification") for stress-testing provisional findings and designing pre-specified challenges before an analysis runs. Turns a researcher's concern or focal claim into competing explanations, bounded discriminating tests, audited diagnostic artifacts, and evidence-calibrated interpretations in a hypothesis/evidence ledger — behavioral, output-level verification replacing line-by-line code review. Covers 12 challenge families organized by Shadish-Cook-Campbell validity type, named sensitivity statistics, pre-committed interpretation rules, anti-fishing guardrails, and interactive diagnostic-artifact QA. Use in Ad Hoc Collaboration to verify, challenge, or stress-test a result, or to design discriminating tests before an analysis runs. Not code-change verification (verify skill / code review) and not final adjudication or re-execution (data-verifier, Reproducibility Verification) — prospective, hypothesis-driven challenge design of analytic claims.
中文简介正在准备中。当前显示原文说明。
In-situ smoke testing that verifies a LIVE DAAF deployment functions end-to-end in whatever provider route it is configured for. Auto-detects the active install route (anthropic-subscription, openrouter, chatgpt-subscription shim, openai-api shim) and runs tiered probes: Tier 0 free preflight (route/env coherence, hooks, statuslines, shim health); Tier 1 one live round-trip (~cents); Tier 2 a six-probe functional battery (dispatch, coding, web, skill loading, isolation-strip, nested-dispatch deny); Tier D a zero-cost deterministic battery (bats, Pester, lint, safety-hook tests). Use after install, after a rebuild or update, after any provider/config change (new API key, model remap, shim change), for pre-release validation, or when asked "is my install working" or to "smoke test the deployment/config." Requires the DAAF_DEV=1 dev image; a contributor tool, not end-user-facing. NOT DAAFBench (model behavioral-adherence evaluation under benchmarks/) and NOT scripts/smoke_tests/ (R/Python library-package smoke tests).
中文简介正在准备中。当前显示原文说明。
Operational framework for the DAAF orchestrator. Defines engagement modes, confirmation protocol, subagent dispatch, context budget, and reference-loading. Loaded exclusively by the orchestrator — not for subagents or user questions.
中文简介正在准备中。当前显示原文说明。
Data science methodology and method-selection routing for quantitative research. Covers EDA, data validation, descriptive analysis, causal inference (IV, DiD, RD, synthetic control), clustering/PCA/UMAP, supervised ML, geospatial analysis, network analysis, and visualization design. Contains the canonical method-to-library routing tree, routed by execution language — Python: statsmodels (OLS/GLM/time series), pyfixest (FE/DiD), linearmodels (RE/GMM/SUR), svy (complex surveys), scikit-learn (clustering/prediction ML), geopandas (spatial), igraph (network analysis); R: r-stats (OLS/GLM/time series), fixest (FE/DiD), plm (panel/RE/IV), survey-r (complex surveys), tidymodels (ML), sf-terra (spatial), igraph-r (network analysis). Load the routed tool-specific skill before giving tool-specific advice or writing code — library skills encode environment constraints and curated caveats absent from general knowledge.
中文简介正在准备中。当前显示原文说明。
Interpretation guidance for Urban Institute Education Data Portal datasets. The Portal is a curation layer over federal data: lowercase variable names, integer-encoded categoricals, standardized missing codes (-1 missing, -2 not applicable, -3 suppressed). Covers year definitions, grade encoding (grade=-1 is Pre-K, not missing), suppression rates, ODC-By licensing, and cross-source join identifiers. Load before analyzing any Portal data. Routes to source-specific deep-dive skills for individual datasets.
中文简介正在准备中。当前显示原文说明。