knowledge_graph_pipeline
Change the knowledge-graph extractor and publish the result across all seven pillar repos and the rvahacks site.
Skill by built-environment
Install
Works with Claude Code, Claude apps, Codex, Cursor, Gemini CLI, GitHub Copilot, VS Code, OpenCode, Goose, Windsurf. Read the repository before you give any tool access to your data.
npx agentmarket install skill/hack4rva-knowledge-graph-pipeline
Asks which of your tools to add it to (Claude Code, Codex, Cursor, VS Code, Windsurf, Gemini CLI, Claude Desktop) and shows the change first. See https://agentmart.dev/cli.
Get the weekly diff
The weekly diff: one email a week with new agent tools, notable updates and grade changes, plus security alerts for tools you follow. Double opt-in, one-click unsubscribe.
About
Use cases: devops, data, writing
Reviews
Write a reviewNo reviews yet. Installed it? Reviews come from verified installers only. How reviews work
Permissions
What this skill can do and what it asks for, from its SKILL.md. Checked Oct 25, 2026.
- Tools
- No tools found
- Secrets
- None asked for
- Install scripts
- None found
Network hosts it talks to 1
codeload.github.com· found in install command
Files it touches
~/.claude/skills/knowledge-graph-pipeline
What's inside
- Skill name
knowledge_graph_pipeline- Description
- Change the knowledge-graph extractor and publish the result across all seven pillar repos and the rvahacks site. Use when editing anything under knowledge-graph/extraction/, when graph data needs regenerating, when running the release check, or when asked to publish or deploy graph changes to rvahacks.org.
- License
- Apache-2.0
- Metadata
- author: built-environment
- Instructions
- 174 lines in SKILL.md · view on GitHub
Before installing
- Instructions call the network
Agent Skills spec issues
- name: only lowercase letters, digits and single hyphens allowed
- files: referenced but missing: scripts/canonical-entities.json
Files (1)
- SKILL.md
SKILL.md (first lines)
> **Note:** This research was generated using AI assistance (Claude + Parallel.ai) with human expert review. See [methodology](../../docs/methodology.md) for details.
# Knowledge Graph Pipeline
One extractor feeds eight graphs: seven pillars plus the merged `richmond`
graph, all served by one explorer bundle on rvahacks.org. A change to a parser
is therefore never a one-repo change. This is the order that works, and the
traps that cost time when skipped.
To run the explorer locally or port it to a new pillar, use
`run_knowledge_graph` instead. This skill is about changing and shipping it.
## Repo layout
| What | Where |
|---|---|
| Canonical extractor | `pillar-thriving-built-environment/knowledge-graph/extraction/` |
| Per-pillar copy | the same path in each of the other six pillar repos |
| Generated data | `<pillar>/knowledge-graph/data/` (committed) |
| Site + pipeline scripts | `rvahacks/scripts/` |
| Data the site serves | `rvahacks/public/knowledge-graph/data/<pillar>/` |
The parsers are **byte-identical across all seven repos**. Edit the Built
Environment copy, then copy it out. Never edit a pillar copy directly — the next
sync silently reverts it.
## Order of operations
Copy this checklist and work down it. Steps 3 and 5 are the ones people skip.
```
- [ ] 1. Edit the canonical parser in Built Environment
- [ ] 2. Copy to the other six repos; confirm shas match
- [ ] 3. Export project names (writes INTO the pillar repos, so before extract)
- [ ] 4. Re-extract all seven; run the test suites
- [ ] 5. Sync, promote aliases, merge, regenerate stats, rebuild explorer
- [ ] 6. Build the site; run the release check against a preview server
- [ ] 7. Commit and push all eight repos
- [ ] 8. Publish manually in Lovable — pushing to GitHub does not deploy
```
### 1–2. Edit once, copy out, verify
```bash
cd pillar-repos
SRC=pillar-thriving-built-environment/knowledge-graph/extraction/parsers/<file>.js
for p in pillar-thriving-neighborhoods pillar-thriving-families \
pillar-city-storytelling pillar-thriving-inclusive-communities \
pillar-thriving-economy pillar-thriving-city-hall; do
cp "$SRC" "$p/knowledge-graph/extraction/parsers/$(basename $SRC)"
done
for p in pillar-repos/pillar-*; do shasum -a1 "$p/knowledge-graph/extraction/parsers/$(basename $SRC)"; done
```
All seven hashes must match before going further.
### 3. Project names, before extraction
Display names for the demo projects live in `rvahacks/src/data/ideas.ts` and
`idea-content.ts` and nowhere else. `kg:names` exports them into each pillar
repo as `post-event-research/project-names.json`, which the extractor reads.
```bash
cd rvahacks && npm run kg:names
```
It reports `named/total` per repo. Anything unnamed falls back to rendering the
directory slug, which is worth fixing rather than shipping — see
`graph_entity_naming`.
### 4. Re-extract and test
```bash
cd pillar-repos
for p in pillar-*; do (cd "$p/knowledge-graph" && node scripts/extract.js); done
for p in pillar-*; do (cd "$p/knowledge-graph" && npx vitest run); done
```
Read the extract warnings; they are the early signal. `[demote] N sentence-shaped
Problem/Need nodes moved to the evidence layer` is normal and healthy — those
findings land in `data/evidence.json` as `ev:` records with provenance, not lost.
### 5. Through the site pipeline
```bash
cd rvahacks
npm run kg:sync # pillar data -> public/knowledge-graph/data/
node scripts/promote-aliases.mjs # NOT in kg:refresh; run it before merging
npm run kg:merge # builds the richmond graph
npm run kg:stats # regenerates src/data/corpusStats.generated.ts
npm run kg:app # rebuilds the explorer bundle
```
`npm run kg:refresh` chains sync → merge → stats → app, but **omits
promote-aliases**. Run that separately when entity merging matters.
Every published figure comes from `corpusStats.generated.ts`. Never hand-edit a
count into `civicInventory.ts` or a page — it will drift the next time anyone
re-extracts. Facts reference stats by `metric:` key.
### 6. Release check
The check drives a real browser against a real preview server, so the server has
to already be up:
```bash
cd rvahacks && npm run build
lsof -ti:4173 | xargs kill -9 2>/dev/null # clear a stale holder
npm run preview # start as a true background job
npm run release-check
```
Two traps here, both of which produce a confusing all-red run:
- **`npm run preview` dies with its subshell.** Backgrounding it with `&` inside
a compound command kills it the moment the command returns, and every check
fails `ERR_CONNECTION_REFUSED`. Start it as its own long-running background
process and leave it running.
- **Port 4173 is often still held** by a previous run. Kill it first.From hack4rva/pillar-thriving-built-environment, Apache-2.0.
More from hack4rva/pillar-thriving-built-environment
- 0.525score
graph_entity_naming
built-environment
Rules for what a knowledge-graph node may be named after, and an audit script that finds junk labels.
SkillBFreshness: BClaude Code +9 - 0.409score
parallel-deep-research
parallel
ONLY use when user explicitly says 'deep research', 'exhaustive', 'comprehensive report', or 'thorough investigation'.
SkillDFreshness: DClaude Code +9 - 0.406score
parallel-data-enrichment
parallel
Bulk data enrichment.
SkillDFreshness: DClaude Code +9 - 0.406score
parallel-web-extract
parallel
URL content extraction.
SkillDFreshness: DClaude Code +9 - 0.406score
parallel-web-search
parallel
DEFAULT for all research and web queries.
SkillDFreshness: DClaude Code +9
Signals
- Stars
- 0
- Forks
- 1
- Open issues
- 0
- Last commit (this folder)
- Aug 3, 2026 (2 months ago)
From GitHub (fetched Oct 24, 2026).
Details
- License
- Apache-2.0
- First seen
- Oct 24, 2026
- Last checked
- Oct 24, 2026
- Source
- GitHubgithub-graphql
More from built-environment
Cite this page
knowledge_graph_pipeline skill. Agent Mart. https://agentmart.dev/skills/hack4rva-knowledge-graph-pipeline (last updated 2026-10-24)