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.
中文简介正在准备中。当前显示原文说明。
PSEO — Census data linking graduates to employment via LEHD wage records. Earnings percentiles at 1/5/10 years post-graduation by institution, degree, and CIP. Use for graduate earnings analysis. Coverage changes by release; Census V4.13.0 (2025Q4) lists 952 institutions and partners in 32 states plus D.C.
中文简介正在准备中。当前显示原文说明。
实测评分 未实测
查看安装方法安装前可以查看交给 AI 代理的指令内容。
Postsecondary Employment Outcomes (PSEO) — Census Bureau experimental statistics linking college graduates to employment outcomes via UI wage records (LEHD program). Covers earnings (25th/50th/75th percentile, measured 1, 5, and 10 years post-graduation) and employment flows by institution, degree level, and CIP field. Use when comparing graduate earnings across programs or institutions, analyzing industry entry patterns, or studying geographic migration of graduates. Coverage is partner-based and changes by release; Census V4.13.0 (2025Q4) contains 952 institutions and partners in 32 states plus the District of Columbia.
Postsecondary Employment Outcomes (PSEO) is an experimental data product from the U.S. Census Bureau that links college graduate records to national employment data, providing earnings and employment outcomes by institution, degree level, and field of study.
CRITICAL: Value Encoding
This document describes Education Data Portal integer encodings, which differ from Census API string codes. The Portal converts categorical variables to integers for consistency.
Context Baccalaureate Associates Masters Census Division Pacific Portal (integers) 5379Census API (strings) 0503079Key differences: Degree level uses simple integers (1-10), not string codes like "1C", "05". CIP codes are 2-digit integers (11 for Computer Science), not strings like "11.01".
See
./references/variable-definitions.mdfor complete encoding tables.
unitid (IPEDS Unit ID, integer), opeid (integer in Portal data)| File | Purpose | When to Read |
|---|---|---|
lehd-methodology.md | How LEHD produces tabulations, data matching process | Understanding data creation |
earnings-data.md | Percentile earnings, cohort definitions, labor attachment | Analyzing graduate earnings |
geographic-flows.md | Where graduates work by Census Division | Studying migration patterns |
industry-flows.md | What industries graduates enter by NAICS sector | Career pathway analysis |
variable-definitions.md | All variables, codes, and status flags | Building queries or interpreting values |
state-coverage.md | Participating states, coverage rates, data partners | Understanding limitations |
Graduate outcomes research?
├─ Earnings by program/institution
│ ├─ Median earnings → `p50_earnings` column, filter by `years_after_grad`
│ ├─ Earnings distribution → `p25_earnings`/`p50_earnings`/`p75_earnings`
│ └─ See ./references/earnings-data.md
├─ Where graduates work (geography)
│ ├─ Census Division of employment → `census_division` column
│ ├─ In-state vs out-of-state → `employed_instate_grads_count`
│ └─ See ./references/geographic-flows.md
├─ What industries graduates enter
│ ├─ NAICS sector employment → `industry` column (String)
│ └─ See ./references/industry-flows.md
└─ How many graduates are employed
├─ Employment counts → `employed_grads_count_f`
├─ Non-employed/marginal → `jobless_m_emp_grads_count`
└─ See ./references/variable-definitions.md
Degree level?
├─ Certificate (<1 year) → degree_level=1
├─ Certificate (1-2 years) → degree_level=2
├─ Certificate (2-4 years) → degree_level=4
├─ Associate's → degree_level=3
├─ Bachelor's → degree_level=5 (default, 3-year cohorts)
├─ Post-Bacc Certificate → degree_level=6
├─ Master's → degree_level=7 (2-digit CIP only)
├─ Post-Masters Certificate → degree_level=8
├─ Doctoral-Research → degree_level=9 (2-digit CIP only)
└─ Doctoral-Professional Practice → degree_level=10
Note: Portal uses integers 1-10. Census Bureau source data uses string codes like "05", "1C" -- these do not appear in Portal data.
Checking data availability?
├─ Current participating partners/institutions → Check Census latest-release files
├─ Release-specific coverage context → ./references/state-coverage.md
├─ Portal-covered institution/cohort rows → Check the mirror data actually used
└─ Why data might be missing
├─ Institution not partnered
├─ Cell suppressed (count < 30)
└─ Insufficient labor force attachment
| Portal Variable | Description |
|---|---|
p25_earnings | 25th percentile earnings (2022 dollars) |
p50_earnings | Median earnings (2022 dollars) |
p75_earnings | 75th percentile earnings (2022 dollars) |
years_after_grad | Years post-graduation: 1, 5, or 10 |
employed_grads_count_e | Graduate count with earnings data |
total_grads_count | Total IPEDS-reported graduates |
| Portal Variable | Description |
|---|---|
employed_grads_count_f | Employed graduates count |
employed_instate_grads_count | Employed in institution's state |
jobless_m_emp_grads_count | Non-employed or marginally employed |
industry | 2-digit NAICS sector (String, e.g., "54", "31-33") |
census_division | Census Division of employment (1-9, 99) |
Note: Portal uses restructured schema with
years_after_gradcolumn instead of Census API'sY1_*/Y5_*/Y10_*naming. Theindustrycolumn is String type because some NAICS sectors span ranges (e.g.,"31-33"for Manufacturing,"44-45"for Retail Trade).
| ID | Format | Level | Example | Notes |
|---|---|---|---|---|
unitid | Integer | Institution | 100751 | IPEDS Unit ID (University of Alabama) |
opeid | Integer | Institution | 105100 | Portal stores as integer (Census uses 8-digit zero-padded string) |
fips | Integer | State | 48 | State of institution (Texas) |
cipcode | 2-digit integer | Field of study | 11 | Computer Science; Portal uses integers, not "11.01" |
| Parameter | Description | Example |
|---|---|---|
degree_level | Degree type integer | 5 (Bachelor's) |
pseo_cohort | Graduation cohort | "2016-2020" or "2019-2021" (string format, full year range) |
years_after_grad | Years post-graduation | 1, 5, or 10 |
| Degree Level | Cohort Years | Example Cohorts |
|---|---|---|
| Bachelor's | 3-year | "2001-2003", "2004-2006", "2007-2009", "2010-2012", "2013-2015", "2016-2018", "2019-2021" |
| All others | 5-year | "2001-2005", "2006-2010", "2011-2015", "2016-2020" |
| Code | Meaning | When Used |
|---|---|---|
-1 | Missing/not reported | Primary missing data indicator; very common in earnings and flows columns |
-3 | Suppressed | Cell count < 30 graduates (differential privacy suppression) |
-2 | Not applicable | Item doesn't apply to this entity (Portal convention) |
Note: PSEO data has no null values in the parquet files. All missing/suppressed data uses integer codes (
-1,-3). Filter withpl.col("p50_earnings") > 0to get valid earnings, not.is_not_null(). PSEO uses differential privacy rather than traditional suppression. Cells with fewer than 30 graduates are suppressed entirely (coded as-3). Earnings values coded-1may indicate insufficient labor force attachment.
Datasets for PSEO are available via the Education Data Portal mirror system. See datasets-reference.md for canonical paths, mirrors.yaml for mirror configuration, and fetch-patterns.md for fetch code patterns.
| Dataset | Type | Path | Codebook |
|---|---|---|---|
| Earnings and Flows | Yearly (2001-2021) | pseo/colleges_pseo_{year} | pseo/codebook_colleges_pseo |
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.
import polars as pl
# PSEO is a yearly dataset -- fetch individual years
df = fetch_yearly_from_mirrors(
path_template="pseo/colleges_pseo_{year}",
years=[2018, 2019, 2020],
)
# Or fetch a single year
df = fetch_from_mirrors("pseo/colleges_pseo_2020")
library(arrow)
library(dplyr)
# fetch_yearly_from_mirrors()/fetch_from_mirrors() are Python helpers; in R,
# build URLs 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]]
# PSEO is a yearly dataset -- fetch individual years and bind
frames <- list()
# 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`.
for (y in c(2018, 2019, 2020)) {
url <- paste0(mirror$root_url, "/", "pseo/colleges_pseo_", y, ".", mirror$format)
frames[[length(frames) + 1]] <- arrow::read_parquet(url)
}
df <- bind_rows(frames)
# Or fetch a single year
url <- paste0(mirror$root_url, "/", "pseo/colleges_pseo_2020", ".", mirror$format)
df <- arrow::read_parquet(url)
# Filter by institution
df.filter(pl.col("unitid") == 100751) # University of Alabama
# Filter by field of study
df.filter(pl.col("cipcode") == 11) # Computer Science
# Filter by cohort (note: full year range format)
df.filter(pl.col("pseo_cohort") == "2019-2021")
# Earnings rows only (exclude missing/suppressed)
df.filter(pl.col("p50_earnings") > 0)
# Filter by industry (String column, not integer)
df.filter(pl.col("industry") == "54") # Professional Services
# Filter by institution
df |> filter(unitid == 100751) # University of Alabama
# Filter by field of study
df |> filter(cipcode == 11) # Computer Science
# Filter by cohort (note: full year range format)
df |> filter(pseo_cohort == "2019-2021")
# Earnings rows only (exclude missing/suppressed)
df |> filter(p50_earnings > 0)
# Filter by industry (String column, not integer)
df |> filter(industry == "54") # Professional Services
https://lehd.ces.census.gov/data/pseo_explorer.htmlhttps://lehd.ces.census.gov/data/pseo/https://api.census.gov/data/timeseries/pseo/earnings and .../flows (uses different variable naming and string codes; not used in this system)PSEO participation changes between releases. Before reporting a state, partner, or institution count, inspect the current Census release metadata rather than carrying a fixed historical count forward:
https://lehd.ces.census.gov/data/pseo/latest_release/all/pseo_all_institutions.csvhttps://lehd.ces.census.gov/data/pseo/latest_release/all/pseo_all_partners.txthttps://lehd.ces.census.gov/data/pseo/latest_release/all/version_pseo.txtAs verified on 2026-07-21, version V4.13.0 (2025Q4) lists 952 institutions and partners in 32 states plus D.C. This release-specific roster does not establish a national percentage of all graduates. The Portal mirror remains a fixed 2001–2021 snapshot; distinguish its observed rows from the current Census release roster.
| Pitfall | Issue | Solution |
|---|---|---|
| Using Census string codes | Portal uses integers (e.g., 5 for Bachelor's), not Census strings ("05") | Always check encoding; see variable-definitions.md |
| Ignoring suppression | Cells with <30 graduates are suppressed; missing data looks like no program exists | Check total_grads_count to confirm cell exists; null earnings may mean suppression |
| Cross-institution comparison without controlling degree/CIP | Institutions offer different program mixes; aggregate comparison is misleading | Always filter to same degree_level and cipcode when comparing institutions |
| Treating PSEO as comprehensive | Participation is voluntary and changes by release; no verified national graduate-coverage percentage is documented here | Report the release/version and partner roster used; acknowledge selection bias and do not generalize to all U.S. graduates |
| Ignoring labor attachment | Workers need 3+ quarters above minimum wage threshold to appear in earnings data | Some graduates are employed but excluded; note this limitation |
| Treating Portal opeid as string | Portal stores opeid as integer (e.g., 105100), not Census's 8-digit zero-padded string ("00105100") | Use integer comparison in Portal data; only Census API uses string format |
| Mixing cohort spans | Bachelor's uses 3-year cohorts; all others use 5-year | Filter by degree_level first, then verify cohort format matches |
| Assuming inflation comparability | All earnings are in 2022 CPI-U dollars | No manual inflation adjustment needed; values are already real dollars |
| Feature | PSEO | College Scorecard | State Systems |
|---|---|---|---|
| Coverage | Graduates only | All enrollees | Graduates only |
| Geographic scope | National (cross-state) | National | In-state only |
| Sample | All graduates from partners | Federal aid recipients | All graduates |
| Earnings detail | 25th/50th/75th percentile | Median only | Varies |
| Industry data | Yes (NAICS sector) | No | Varies |
| Geographic flows | Yes (Census Division) | No | No |
| Privacy method | Differential privacy | Traditional suppression | Varies |
| Use Case | Data Needed | Key Considerations |
|---|---|---|
| Compare programs within institution | Earnings by CIPCODE | Check cell counts for suppression |
| Compare institutions for same program | Earnings by INSTITUTION | Ensure same degree level and CIP |
| Analyze brain drain/retention | Flows by division + in-state | Only 9 Census Divisions |
| Career pathway analysis | Flows by NAICS sector | 2-digit NAICS only |
| ROI by degree level | Earnings across DEGREE_LEVEL | Different cohort spans |
| Source | Relationship | When to Use |
|---|---|---|
education-data-source-scorecard | Alternative earnings source (median only, all enrollees) | When PSEO coverage is insufficient or need non-graduate outcomes |
education-data-source-ipeds | Institution characteristics, enrollment, graduation rates | Contextualizing PSEO institutions; join on unitid |
education-data-explorer | Parent discovery skill | Routing questions to mirror dataset files |
education-data-query | Data fetching | Downloading parquet/CSV files |
| Topic | Reference File |
|---|---|
| LEHD program overview | ./references/lehd-methodology.md |
| Data matching process | ./references/lehd-methodology.md |
| Differential privacy | ./references/lehd-methodology.md |
| Percentile earnings | ./references/earnings-data.md |
| Labor force attachment | ./references/earnings-data.md |
| Cohort definitions | ./references/earnings-data.md |
| Census Division employment | ./references/geographic-flows.md |
| In-state employment | ./references/geographic-flows.md |
| NAICS sector employment | ./references/industry-flows.md |
| Industry code reference | ./references/industry-flows.md |
| Variable names and codes | ./references/variable-definitions.md |
| Status flags | ./references/variable-definitions.md |
| State participation | ./references/state-coverage.md |
| Coverage rates | ./references/state-coverage.md |
| Data partners | ./references/state-coverage.md |
| Mirror-based data download | Data Access section above |
| Bulk data download | Data Access section above |
还没有评价。欢迎分享你的使用感受。
无需登录即可发表。欢迎分享使用感受、提问,或说明在哪些环境下无法运行。
还没有评论。来写第一条吧。
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.
中文简介正在准备中。当前显示原文说明。