Skip to content

release: v2026.10.19.1 pins + tag-free banner - #3

Merged
tristanroth1 merged 3 commits into
mainfrom
release/v2026.10.19.1
Oct 19, 2026
Merged

tristanroth1 merged 3 commits into
mainfrom
release/v2026.10.19.1

Conversation

@tristanroth1

@tristanroth1 tristanroth1 commented Oct 19, 2026 •

Copy link
Copy Markdown
Contributor

Release prep for v2026.10.19.1, plus the founder's 2026-10-19 stance decisions: the agent does the legwork, the person makes the calls.

Tag-free one prompt (founder decision 2026-10-19)

  • prompts/setup-review.txt is now "Read grcskills.com/llms.txt, then run the grc-setup-review skill on my GRC setup: rank the 10 skills that would help me most, list what is broken or missing, and write a 30-day plan." The README, the home prompt card and its copy button use it word for word.
  • llms.txt now opens with "## If you were asked to run grc-setup-review": clone the marketplace-pinned tag into .grcskills (git clone --depth 1 --branch <tag> ..., with npx skills add ...#<tag> --skill grc-setup-review as an alternative), read .grcskills/AGENTS.md, follow the skill, read-only on the user's files, outputs to ./grc-setup-review/. The user's request counts as the go-ahead for that one pinned clone; the agent asks before anything else. The "The one prompt" section carries the new prompt.
  • Invariant test replaced: (a) the prompt has no release tag and points to grcskills.com/llms.txt (tools); (b) the built llms.txt has the run-steps section with exactly the marketplace ref (site built test), plus a buildLlms unit test.

Release pins

  • .claude-plugin/marketplace.json ref, README (badge, install commands, "pinned to" sentence) and AGENTS.md all move to v2026.10.19.1.
  • CHANGELOG: the Unreleased entries become v2026.10.19.1 (summary field, SEO fixes, README treatment, template rename, pins, stance, Where you decide).
  • Left alone on purpose: assets/demo/ (a recorded run on v2026.10.19, a historical record) and the synthetic test fixtures, which do not track the current tag.

Banners and social preview

  • site/scripts/render-assets.mjs now renders the excerpt "Read grcskills.com/llms.txt, then run grc-setup-review on my GRC setup...". A guard throws if the excerpt ever contains a release tag.
  • H1 "Open GRC skills for AI agents." with the line "It does the legwork. You make the calls."; the top-right label is now grcskills.com.
  • The dark banner now uses a real dark palette (bg #0d1118, ink #e8edf5, card #151b25).
  • The site's build-time og.png uses the same card at a smaller H1, so it fits on one line.

Stance copy

  • Home: H1 "Open GRC skills for AI agents."; subline "Written the way experienced GRC people do the work. Your agent does the legwork. You make the calls."; works-with line, prompt card and buttons kept. "What comes back" items now read as drafts for you to judge or confirm. Meta description and JSON-LD follow; the title tag already matched the H1.
  • README: H1 and stance, an intro saying skills take the drafting, gathering and cross-checking off an expert's plate while every judgment (scope, risk acceptance, what is effective, what to sign) stays with a person. A "You decide" bullet. The contribute section is now "Publish your method, under your name" (CONTRIBUTING.md anchor updated).
  • llms.txt preamble: "Skills support practitioners: they draft and prepare, people decide."
  • Contribute page: H1 "Publish your method, under your name".
  • The phrase "practitioner methods" appears nowhere. A built-site test guards home, contribute and llms.txt.

Where you decide (skill pages)

  • A block above the skill body, built by decisionRules() in content-lib.mjs from the skill's own ## Rules. It keeps NEVER lines that leave a call with a person (approve, accept, sign, mark effective, act on an owner's behalf, and so on) and skips data-handling rules. MUST lines that route a call to a person are kept too. At most 4 lines, then the fixed line "Everything it writes is a draft for a person to review and sign."
  • All 60 skills get at least one rule line. Rendered as text, with backticks shown as <code>, and no HTML.

E2E (stranger test I7)

  • Ran headless Claude Code before deploy on a fresh copy of assets/demo/sample-company, with the demo run's flags. The prompt pointed at a local llms.txt built by this branch, pinned to the existing tag v2026.10.19 (the .1 tag does not exist yet). Result in 203 s: it cloned v2026.10.19 into .grcskills/ and wrote inventory.md, top-10.md, audit.md and 30-day-plan.md. git status shows only the two new folders. Transcript and outputs are in assets/demo/e2e-llms/.
  • The first attempt stopped to ask before cloning, because of the earlier llms.txt wording; that wording is fixed (see above). Demo GIF not regenerated.

Tests

  • site: npm ci && npm run build && npm test: 43/43 pass (new: home H1 equals the new text, subline and What comes back, stance copy, a decide block on every skill page, a decisionRules unit test).
  • node tools/validate.mjs: ok, 60 skills. node --test tools/*.test.mjs: 144/144 pass.
  • Rendered banners (light and dark) and the social preview with headless Chrome and looked at them. No horizontal overflow at 390 and 320 px on home, contribute and two skill pages.

Review

CODEX_REVIEW: not run in this lane. Independent review is still owed before the tag.

Owner: founder
Next: tag v2026.10.19.1 and deploy

🤖 Generated with Claude Code

- Every install pin moves to v2026.10.19.1: marketplace ref, the one prompt
  (prompts/setup-review.txt), README (prompt, badge, install commands, pinned
  sentence) and AGENTS.md. CHANGELOG entry for v2026.10.19.1.
- Banners and social preview show a tag-free excerpt of the prompt, so a new
  release never leaves a stale tag in a committed image; the dark banner uses
  a real dark palette (#0d1118 / #e8edf5 / #151b25).
- Stance (founder decision 2026-10-19): the agent does the legwork, the person
  makes the calls. Home H1 "Open GRC skills for AI agents." with the new
  subline; What comes back reads as drafts to judge; README intro, banners,
  social preview, llms.txt and the contribute page follow.
- Skill pages: a "Where you decide" block near the top, built from the
  skill's own rules that keep a call with a person, plus the draft-only line.
- Tests: home H1 and subline, stance copy, decide block on every skill page,
  decisionRules unit test.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
The one prompt now reads grcskills.com/llms.txt, which opens with the exact
grc-setup-review run steps pinned to the marketplace tag. Invariant test
replaced: the prompt carries no tag; the built llms.txt pins the
marketplace ref. Banners and social preview show the new excerpt.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…e-llms)

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@tristanroth1
tristanroth1 merged commit 2e6bf1a into main Oct 19, 2026
2 checks passed
@tristanroth1
tristanroth1 deleted the release/v2026.10.19.1 branch October 19, 2026 16:59
tristanroth1 added a commit that referenced this pull request Oct 19, 2026
* fix: review follow-ups from PR #3 (run steps, changelog, Where you decide)

- llms.txt run steps: drop the unpinned npx alternative; the user's
  request covers only the pinned clone. npx stays under ## Install.
- CHANGELOG v2026.10.19.1: correct the prompt-pinning sentence.
- Where you decide: only rules that keep a decision or sign-off with a
  person; quality-of-evidence rules drop out. New intro, boundary below
  the list, tests for both kinds of rule.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

* fix: Where you decide keeps rules that route a call to a person

Codex review r1: routing to HR, legal or a reviewer, agreeing a method
with the reader, raising to an owner, and a NEVER line that routes to an
acceptance decision now qualify. Tests cover each phrasing.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

* fix: Where you decide, Codex review r2

Mixed contact-and-send lines qualify; only pure keep-on-machine lines
drop. Authority to accept and counsel's documented view qualify. A bare
'not legal advice' line drops unless it names who decides.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

* fix: a new outside author passes CI with no manifest edit

Claude Code reads plugin skills one level below each listed folder, so
"./skills/" cannot replace the per-author entries (checked with claude
plugin details in an isolated config: ./skills/, ./skills, globs and no
key all expose 0 skills). The validator now notes an unlisted author on a
PR and requires the listing only with --release, which release.yml runs
on the tag. Test: a fork-mode PR adding skills/new-author/ passes both CI
steps with no manifest change, and --release still asks for the entry.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

* fix: Codex review r3 folds

validate() returns notes on the no-skills/ early path (the CLI crashed);
Where you decide also keeps rules that leave a call to the auditor, an
owner, or the reader's answer before drafting.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

---------

Co-authored-by: tristanroth1 <ismspolicygenerator@proton.me>
Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants