baumar73/j-stack-skill-system
GitHub: baumar73/j-stack-skill-system
Stars: 1 | Forks: 0
# J-Stack — GBrain-Integrated Journalism Skills for Hermes Agent
Status: **published public MIT skill collection** with an optional v1.3 onboarding/Vorhof entry layer, J-Stack v1.2 country/jurisdiction intake, v1.1 US-context overlay, a v0.3 dossier workspace, a v0.2 draft OSINT Source Atlas, and a v0.1 deterministic evaluation harness; not automatically installed into any active Hermes profile.
Generated: 2026-05-28T10:30:07+00:00
Published: 2026-05-29T11:33:47+00:00
Owner: Markus Bauer / J-Stack contributors
License: MIT
## Important Notice: Experimental Skills, No Legal or Compliance Advice
J-Stack is an **experimental open-source skill collection and workflow library** for agentic journalism, investigation, public writing, and publication safety. It is a technical template and starting point, **not** a certified product, legal opinion, compliance framework, security assessment, newsroom policy, or professional service.
Use J-Stack at your own responsibility. The repository and its authors make **no warranty** as to correctness, completeness, timeliness, security, suitability for a particular purpose, legal effect, or production readiness. LLM and agent outputs can be wrong, incomplete, outdated, or hallucinated.
Before using J-Stack with real client, legal, business, personal, confidential, journalistic-source, or otherwise regulated data, you must assess your own deployment, provider, hosting, logging, retention, data transfer, professional secrecy, data protection, AI-governance, editorial, and security obligations. This repository makes **no statement** that any concrete use complies with professional secrecy, confidentiality, GDPR/BDSG, the EU AI Act, Cloud Act/FISA exposure, US federal or state law, First Amendment / defamation / privacy / anti-SLAPP / fair-use / source-protection rules, privilege or seizure protections, employment or works-council rules, platform rules, press law, defamation law, copyright, or any other applicable law.
Do not test with real confidential data unless your environment is approved and documented. Keep secrets, tokens, API keys, credentials, and provider logs out of the repository and issue reports. Verify all citations, statutes, deadlines, calculations, source references, factual claims, and external actions independently. Human approval remains mandatory for publishing, filings, submissions, external messages, source contact, payments, deployments, legal advice, or other consequential actions.
For the full notice, see [`DISCLAIMER.md`](./DISCLAIMER.md).
J-Stack is a professional journalism and publication-safety skill collection for Hermes Agent. It turns AI-assisted journalism into a transparent newsroom workflow: mission, sources, investigation, claims, evidence, entities, timeline, countercase, legal/ethics, draft, copy desk, distribution, red-team, ship gate, and post-publication accountability.
If this is your first contact with the repository, start with [START_HERE.md](./START_HERE.md). It is an optional Vorhof: a short orientation that explains the order, the benefit, and the first path without forcing experienced users through a tour.
## Inspiration and Non-Affiliation
J-Stack is inspired by the operational clarity of Garry Tan / GStack-style skills: named roles, hard gates, direct artifacts, and refusal to ship unsafe work. J-Stack adapts that discipline to journalism, investigation, public writing, and publication safety.
This repository is **not affiliated with, endorsed by, or dependent on Garry Tan, GStack, or any upstream project** unless an explicit future affiliation is documented. The inspiration is acknowledged because the operating style matters.
## Why GBrain Matters
Journalism is graph work:
- claims connect to sources;
- sources connect to people, institutions, documents, and dates;
- timelines prevent false causality;
- counterevidence protects against ideological blindness;
- corrections and follow-ups must remain traceable.
J-Stack is designed to use **GBrain** as the newsroom memory and knowledge graph. Skills explicitly describe what they read from GBrain, what they may write, what links/tags/timeline entries they use, and what sensitive material does not belong there.
## Core Law
## J-Stack v1.2 — Country and Jurisdiction Intake
The current public version adds a mandatory first gate: before research, drafting, legal-risk review, or ship status, J-Stack must identify the country context. If the country is not explicit, ask: **"Which country or countries should this research and publication-risk review be assessed under?"**
Use [`references/country-context-intake.md`](./references/country-context-intake.md) to record the primary country/countries, relevant state/province/federal-state/city/court/agency context, publication venue, platform, audience, subject/source/evidence location, and likely dispute forum. If the answer is unclear, mark `COUNTRY_CONTEXT_UNCLEAR` and do not call the work `PUBLICATION_READY`.
## J-Stack v1.1 — US Publication Context Overlay
The second public version adds a United States context layer across all 30 skills. Use [`references/us-publication-context.md`](./references/us-publication-context.md) whenever the publication, source, subject, audience, platform, author, evidence, or likely dispute forum has a US nexus.
The US layer is broader than a German `Gelegenheit zur Stellungnahme` gate. It forces the workflow to classify federal/state jurisdiction, First Amendment posture, public official/public figure/private figure status, actual-malice or negligence issues, fact-vs-opinion boundaries, public-record/fair-report posture, anti-SLAPP and retraction questions, privacy torts, source-protection and recording/access rules, copyright/fair-use/DMCA, FTC/platform disclosures, election/securities sensitivities, and local-counsel needs.
J-Stack does **not** claim US legal compliance. The overlay is a safety checklist that prevents German/EU assumptions from being treated as sufficient for US publication risk.
## J-Stack v0.3 draft — Dossier Workspace
The current development branch adds a durable dossier workspace layer: `jstack-dossier-workspace`, `schemas/`, `templates/dossier/`, and three CLI entry points: `scripts/jstack_init_dossier.py`, `scripts/jstack_validate_dossier.py`, and `scripts/jstack_export_dossier.py`. A dossier separates human Markdown notes from machine-readable YAML/JSONL ledgers and treats BibLaTeX/LaTeX as generated export artifacts, not the canonical record.
Use [`examples/jstack-dossier-workspace/`](./examples/jstack-dossier-workspace/) for a synthetic, non-sensitive workspace showing claims, sources, evidence, entities, timeline, Markdown report, source index, evidence index, `sources.bib`, and `report.tex`.
## J-Stack v0.2 draft — OSINT Source Atlas
The current development branch adds a curated OSINT Source Atlas in [`sources/osint-sources.json`](./sources/osint-sources.json), with schema [`sources/osint-sources.schema.json`](./sources/osint-sources.schema.json). The atlas is a source-routing aid, not permission to scrape or bypass access controls. Each source entry records category, jurisdiction, URL, access model, automation boundary, terms/license warning, data types, evidence weight, personal-data risk, citation notes, and tags.
Use the new `jstack-osint-source-router` skill before live OSINT collection to select lawful sources, distinguish primary evidence from indexes and lead-only databases, and route results to claim/evidence ledgers.
## J-Stack v0.1 draft — Evaluation Harness
This branch also adds a deterministic measurement layer: `jstack-eval-harness`, `eval/jstack-router-golden-cases.json`, and `scripts/evaluate_jstack_router.py`. The seed benchmark contains 28 synthetic, non-sensitive golden cases covering public records, procurement, sanctions, courts, IP, public data, geospatial, transport, web archives, media archives, research literature, and entity-graph routing. It scores routing accuracy, source coverage, privacy safety, evidence quality, and reproducibility without live research or external requests.
Run it from the repository root with `python3 scripts/evaluate_jstack_router.py --write-artifacts`; review `EVALUATION.json` and `EVAL-REPORT.md` before claiming a router change improved J-Stack.
## Skill Families
- Orientation: optional onboarding/Vorhof for first-time readers.
- Editorial command: command center, office hours, editorial line, assignment desk.
- Research: source map, OSINT source router, evaluation harness, dossier workspace, primary-source research, OSINT, data journalism, interview prep, document review, investigation.
- Facts and claims: claim ledger, evidence ledger, entity graph, timeline, countercase.
- Safety: legal risk, ethics check, red-team, ship gate.
- Writing and distribution: draft, copy desk, SEO/distribution, social package.
- Post-publication and memory: postpub, GBrain memory.
## Worked Examples
- [`examples/jstack-data-journalism/`](./examples/jstack-data-journalism/) shows a fictional, non-sensitive data-journalism workflow: toy CSV, reproducible calculation, findings table, limitations, safe claim wording, and next J-Stack routing.
- [`examples/jstack-seo-distribution/`](./examples/jstack-seo-distribution/) shows a fictional, non-sensitive SEO/distribution workflow: claim-bounded story brief, search-intent map, metadata, landing-page outline, newsletter teaser, headline-vs-evidence check, and metadata length/safety script.
- [`examples/jstack-osint-source-router/`](./examples/jstack-osint-source-router/) shows a fictional, non-sensitive source-routing workflow: seed atlas validation, source classes, evidence weights, access/automation warnings, personal-data risk, and next J-Stack routing.
- [`examples/jstack-dossier-workspace/`](./examples/jstack-dossier-workspace/) shows a fictional, non-sensitive dossier workflow: YAML/JSONL ledgers, Markdown report, source and evidence indexes, BibLaTeX, and LaTeX export.
- [`eval/`](./eval/) contains the deterministic router benchmark golden set used by `jstack-eval-harness`.
## Recommended Story Flow
Optional first-time entry: `jstack-onboarding` / [`START_HERE.md`](./START_HERE.md). Do not force it when the user already knows the target skill.
1. `jstack-office-hours`
2. `jstack-editorial-line`
3. `jstack-command-center`
4. `jstack-source-map`
5. `jstack-osint-source-router`
6. `jstack-investigate`
7. `jstack-dossier-workspace`
8. `jstack-claim-ledger`
9. `jstack-countercase`
10. `jstack-legal-risk`
11. `jstack-ethics-check`
12. `jstack-draft`
13. `jstack-copy-desk`
14. `jstack-redteam`
15. `jstack-ship`
16. `jstack-social-package`
17. `jstack-postpub`
## Tested Environment and Technical Requirements
J-Stack is a **Hermes Agent skill collection**, not a standalone application. The repository contains Markdown-based `SKILL.md` workflows plus supporting references, templates, bundles, manifests, and validation artifacts. Practical behavior depends on the agent runtime, model quality, local tooling, and the user's own data-governance setup.
### Reference environment for the current public release
J-Stack does **not** provide a hosted model, newsroom CMS, secure confidential-data environment, legal/compliance approval process, source-protection infrastructure, or production deployment. Those technical and organizational controls must be supplied, reviewed, and documented by the user before real-world use.
## Release and Getting Started
- [START_HERE.md](./START_HERE.md) is the optional first-reader orientation and path picker.
- [`GETTING_STARTED.md`](./GETTING_STARTED.md) explains the recommended first-read path, validation commands, and safe pilot sequence.
- [`INSTALL.md`](./INSTALL.md) describes cautious installation/pilot use for Hermes Agent profiles.
- [`CHANGELOG.md`](./CHANGELOG.md) tracks repository release changes.
- [`RELEASE_NOTES_v0.1.0.md`](./RELEASE_NOTES_v0.1.0.md) describes the first public release package.
## Installation
This is a public MIT-licensed skill package. To install, copy selected `skills//` directories into a reviewed Hermes skill source or consume the repository through the Hermes skills workflow. Prefer a small non-production pilot before activating a broad surface. Do not install globally into production workflows until reviewed for your use case.
## Safety Defaults
- Country/jurisdiction context must be confirmed at the start or explicitly marked `COUNTRY_CONTEXT_UNCLEAR` with a blocking open question.
- No automatic publishing.
- No source contact without approval.
- No automated collection from OSINT/public-record sources until access, license/terms, rate limits, personal-data risk, and safety boundaries are reviewed.
- No invented citations.
- No secrets in GBrain.
- No secrets, tokens, API keys, credentials, or provider logs in the repository or issue reports.
- No real confidential data in tests unless the deployment is approved and documented.
- No unsupported criminal or misconduct labels.
- No claim ships above evidence grade.
- No adverse claim about an identifiable person, company, institution, or group ships without a documented fairness check and, where required, a pre-publication opportunity to comment (`Gelegenheit zur Stellungnahme`).
- No US-nexus story ships unless US context is classified as not required or reviewed under `references/us-publication-context.md`, with unresolved state-law or local-counsel issues escalated instead of hidden.
- No legal, compliance, security, or professional-certainty claim without independent human review.
- Human approval remains mandatory for publishing, filings, submissions, external messages, source contact, payments, deployments, legal advice, or other consequential actions.