Best fit
- A skill needs pre-action selection grounded in curated knowledge
- You are authoring a new domain corpus — write a manifest + CSVs,
- You need stack-scoped Do/Don't guidance (--stack react …).
event4u-app/agent-config
Shared corpus-grounding engine — BM25 + structured filters + decision rules over CSV corpora via a domain manifest. Use when a skill needs grounded pre-action option-space constraints.
npx skills add https://github.com/event4u-app/agent-config --skill "src/skills/corpus-grounding"Source checked Jul 28, 2026·Refresh due Oct 26, 2026
Reorganized from the pinned upstream SKILL.md
The reusable grounding layer from ADR-061: one pure-stdlib engine (BM25 retrieval + structured pre-filters + decision-rule evaluation) that any domain plugs into via a manifest — frontend design is its first consumer (design-intelligence). A corpus grounds (pre-action, constrain…
npx skills add https://github.com/event4u-app/agent-config --skill "src/skills/corpus-grounding"The pinned source contains enough sections and task detail for a source-grounded deep guide; automated content is still not an independent test.
961 source words · 9 usable sections
Best fit
Analysis outputs
Analysis workflow
Sections are extracted automatically from the pinned SKILL.md and link back to the source.
1. Locate the domain manifest (/data/manifest.json). 2. Run search (one domain / stack axis) or ground (reasoning plan). 3. Read confidence + evidencegap before trusting any row. 4. Propose grounded options; the human confirms (Tier-1 default).
1. Pass the qualification rubric (ADR-061 §5): decision-rule utility beats row count; grounding must happen before action; "fits in 5 lines → it's a rule, not a corpus". 2. Write data/manifest.json + CSVs in your domain skill; run the grounding CLI (ground validate via ./scripts…
Read-only by default — the engine opens corpus CSVs under the
A skill needs pre-action selection grounded in curated knowledge
Do NOT use the corpus for mid-task fact lookup — that is reference
SkillSignal prompt templates
These prompts were written by SkillSignal from the source structure; they are not upstream text.
Source-grounded prompt
Use for a data-analysis task while explicitly checking the source sections.
Use corpus-grounding for this data-analysis task: [task]. Inputs and constraints: [details]. Work through these pinned SKILL.md sections: “Procedure: Consult a corpus”, “Procedure: Author a new domain corpus”, “Runtime-safety review (Step 1.6 record)”, “When to use”, “Do NOT”. Cite the concrete requirements that shape each step, do not invent capabilities absent from the source, and verify the result against: [acceptance criteria].
Analysis checklist
The source section “Procedure: Consult a corpus” has been checked.
The source section “Procedure: Author a new domain corpus” has been checked.
The source section “Runtime-safety review (Step 1.6 record)” has been checked.
The source section “When to use” has been checked.
Source output checked: Modules + public names — bm25search.{BM25, loadcsv, applyfilters,
Source output checked: CLI — the grounding CLI (ground {search|ground|validate} via
Choose a different workflow
Distributed computing for larger-than-RAM pandas/NumPy workflows. Use when you need to scale existing pandas/NumPy code beyond memory or across clusters. Best for parallel file processing, distributed ML, integration with existing pandas code. For out-of-core analytics on single machine use vaex; for in-memory speed use polars.
A separate implementation from K-Dense-AI/scientific-agent-skills; compare its source, maintenance signals, and permission requirements.
Open source detailStandard single-cell RNA-seq analysis pipeline. Use for QC, normalization, dimensionality reduction (PCA/UMAP/t-SNE), clustering, differential expression, visualization, and converting R-friendly single-cell formats such as Seurat or SingleCellExperiment RDS files into h5ad for Scanpy. Best for exploratory scRNA-seq analysis with established workflows. For deep learning models use scvi-tools; for data format questions use anndata.
A separate implementation from K-Dense-AI/scientific-agent-skills; compare its source, maintenance signals, and permission requirements.
Open source detailWhen the user wants to set up, improve, or audit analytics tracking and measurement. Also use when the user mentions "set up tracking," "GA4," "Google Analytics," "conversion tracking," "event tracking," "UTM parameters," "tag manager," "GTM," "analytics implementation," "tracking plan," "how do I measure this," "track conversions," "Mixpanel," "Segment," "are my events firing," or "analytics isn't working." Use this whenever someone asks how to know if something is working or wants to measure m
A separate implementation from coreyhaines31/marketingskills; compare its source, maintenance signals, and permission requirements.
Open source detailFAQ
The reusable grounding layer from ADR-061: one pure-stdlib engine (BM25 retrieval + structured pre-filters + decision-rule evaluation) that any domain plugs into via a manifest — frontend design is its first consumer (design-intelligence). A corpus grounds (pre-action, constrain…
The source record exposes this install command: npx skills add https://github.com/event4u-app/agent-config --skill "src/skills/corpus-grounding". Inspect the command and pinned source before running it.
Quality breakdown
Based on traceable docs and repository signals; stars are not treated as quality.
Compare before choosing
These links are selected from shared tasks, functions, stacks, platforms, and same-name variants. Compare the source owner, documentation, permissions, and maintenance signals.
Distributed computing for larger-than-RAM pandas/NumPy workflows. Use when you need to scale existing pandas/NumPy code beyond memory or across clusters. Best for parallel file processing, distributed ML, integration with existing pandas code. For out-of-core analytics on single machine use vaex; for in-memory speed use polars.
Standard single-cell RNA-seq analysis pipeline. Use for QC, normalization, dimensionality reduction (PCA/UMAP/t-SNE), clustering, differential expression, visualization, and converting R-friendly single-cell formats such as Seurat or SingleCellExperiment RDS files into h5ad for Scanpy. Best for exploratory scRNA-seq analysis with established workflows. For deep learning models use scvi-tools; for data format questions use anndata.
When the user wants to set up, improve, or audit analytics tracking and measurement. Also use when the user mentions "set up tracking," "GA4," "Google Analytics," "conversion tracking," "event tracking," "UTM parameters," "tag manager," "GTM," "analytics implementation," "tracking plan," "how do I measure this," "track conversions," "Mixpanel," "Segment," "are my events firing," or "analytics isn't working." Use this whenever someone asks how to know if something is working or wants to measure m
When the user wants to figure out which marketing actually drives conversions and revenue, choose or interpret an attribution model, or reconcile conflicting numbers across tools. Also use when the user mentions "attribution," "attribution model," "first-touch vs last-touch," "multi-touch," "which channel drives revenue," "what's my real CAC," "my dashboards disagree," "Google/Meta says X but GA says Y," "media mix model," "MMM," "incrementality," "geo lift," "holdout test," "how did you hear ab
High-performance genomic interval operations and bioinformatics file I/O on Polars DataFrames. Overlap, nearest, merge, coverage, complement, subtract for BED/VCF/BAM/GFF intervals. Streaming, cloud-native, faster bioframe alternative.
The reusable grounding layer from ADR-061: one pure-stdlib engine (BM25 retrieval + structured pre-filters + decision-rule evaluation) that any domain plugs into via a manifest — frontend design is its first consumer (
design-intelligence). A corpus grounds (pre-action, constrains the option space); it never replaces mid-action reference (RAG), post-action validation (rules), or the method itself (a framework skill).
Engine provenance: ported from nextlevelbuilder/ui-ux-pro-max-skill
@ b7e3af80f6e331f6fb456667b82b12cade7c9d35 (MIT, last checked
2026-06-07) — BM25 de-duplicated, slide-only paths stripped, every
frontend-hardcoded axis moved into the manifest. Full license obligations:
design-intelligence/ATTRIBUTION.md.
ground validate via ./scripts-run),
never fork the engine.--stack react …).references/ docs / RAG).<domain-skill>/data/manifest.json).search (one domain / stack axis) or ground (reasoning plan).confidence + evidence_gap before trusting any row.Scripts resolve all paths skill-relative (per
docs/contracts/skill-bundled-assets.md)
— they work from any cwd:
./scripts-run <skills-root>/corpus-grounding/scripts/ground search \
--manifest <skills-root>/<domain-skill>/data/manifest.json \
"fintech dashboard" [--domain style] [--stack react] \
[--filter "Severity=HIGH"] [--max-results 3] [--json]
./scripts-run <skills-root>/corpus-grounding/scripts/ground ground \
--manifest <skills-root>/<domain-skill>/data/manifest.json \
"luxury e-commerce" [--context '{"data_heavy": true}'] [--persist DIR]
./scripts-run <skills-root>/corpus-grounding/scripts/ground validate --manifest …
<skills-root> is wherever skills are deployed (~/.claude/skills/ for
Claude Code installs; src/skills/ inside this repo).
Interface contract v1 — stability promise. Per ADR-061 §2 ("Opus
condition"), this interface is versioned; domains may depend on it. Breaking any item below requires a major bump
(manifest_version: 2), a migration note here, and updates to every
consuming skill in the same PR. Additive fields are allowed anytime.
Stable v1 surface:
bm25_search.{BM25, load_csv, apply_filters, search_rows, RETRIEVERS}, decision_engine.{detect_domain, search_domain, search_stack, evaluate_rules, ground, persist_grounding},
schema_validator.{load_manifest, validate_manifest, resolve_data_path, ManifestError, MANIFEST_VERSION, TIERS}.ground {search|ground|validate} via
./scripts-run) with the flags shown above.{domain|stack, query, file, count, results, scores, filtered_from, confidence{label,score}, evidence_gap[]};
ground: {domain, query, category, rule, rules_evaluation{matched, unmatched}, selections{<domain>: {best, alternatives, confidence}}, confidence{label,score}, evidence_gap[]}.confidence and
evidence_gap; retrievers are name-selected (bm25 default,
structured, hybrid); no network, no subprocess, read-only except
the opt-in --persist DIR.Each domain ships data/manifest.json beside its CSVs — declaring its
own axes; the engine never assumes the frontend schema:
{
"manifest_version": 1,
"domain": "frontend-design",
"tier": "conditional-grounding",
"data_dir": ".",
"retriever": "bm25",
"default_domain": "style",
"domains": {
"style": {
"file": "styles.csv",
"search_cols": ["Style Category", "Keywords"],
"output_cols": ["Style Category", "Best For"],
"max_results": 3,
"filters": {}
}
},
"detect": { "style": ["minimalism", "glassmorphism"] },
"stacks": { "react": "stacks/react.csv" },
"stack_cols": { "search_cols": ["…"], "output_cols": ["…"] },
"reasoning": {
"file": "ui-reasoning.csv",
"category_domain": "product",
"category_column": "Product Type",
"match_column": "UI_Category",
"rules_column": "Decision_Rules",
"priority_column": "Style_Priority",
"priority_domain": "style",
"name_columns": { "style": "Style Category" },
"plan": { "style": 3, "color": 2 },
"rules_module": "rules.ts"
},
"owner": "package-maintainer",
"refresh_cadence": "quarterly",
"upstream": { "repo": "…", "sha": "…", "last_checked": "YYYY-MM-DD" }
}
tier ∈ lookup-only | conditional-grounding | constraint-emission;
reasoning is only legal above lookup-only.owner, refresh_cadence, upstream{repo,sha,last_checked} are
required — provenance discipline per ADR-061 §6; an unowned corpus
is not merged.rules_module (optional TypeScript escape hatch where JSON rules cap
out — a module exposing evaluate(rules, query, context); a legacy
.py name in a manifest is remapped to its .ts/.js twin) must live
beside the manifest — absolute paths and .. are refused.matched and unmatched — the full
rule space stays auditable, never a hidden gate.data/manifest.json + CSVs in your domain skill; run
the grounding CLI (ground validate via ./scripts-run).filters pre-filter matches case-insensitive
substrings; an over-specific value silently filters everything out —
check filtered_from vs count when results look thin.detect keyword routing falls back to default_domain; product-shaped
queries route best ("fintech dashboard"), generic words land on the
default.resolve_data_path refuses absolute paths
and .. escapes).--persist DIR (opt-in) writes markdown
under the caller-chosen DIR; nothing else writes.rules_module executes a manifest-adjacent TypeScript module (dynamic
import()) — same trust domain as the skill that ships the manifest;
containment enforced by resolve_data_path.design-intelligence — first consumer
(frontend corpus + manifest).docs/contracts/skill-bundled-assets.md
— how bundled scripts/ + data/ reach consumer runtime.