Skip to content

feat: skills + agent instructions for repo + better practices - #6

Merged
SystemFiles merged 17 commits into
SystemFiles:mainfrom
bds-liatrio:main
Aug 19, 2026
Merged

feat: skills + agent instructions for repo + better practices#6
SystemFiles merged 17 commits into
SystemFiles:mainfrom
bds-liatrio:main

Conversation

@bds-liatrio

Copy link
Copy Markdown
Contributor

This PR adds stuff from my learnings with the Liatrio Forge

bds-liatrio and others added 16 commits July 9, 2026 10:51
Signed-off-by: Ben Sykes <ben.sykes@liatrio.com>
Give agents and contributors a single map of repo layout, Taskfile ops, and contribution rules.

Signed-off-by: Ben Sykes <ben.sykes@liatrio.com>
docs: add AGENTS.md and catalog architecture docs
* feat: add issue-triage skill with scripts, fixtures, and tests

Ship an explicit-invocation skill that seals GitHub issues with ready/size labels, offline eval fixtures, and script unit tests.

Signed-off-by: Ben Sykes <ben.sykes@liatrio.com>

* fix: address CodeRabbit review on issue-triage

Split happy-path eval approval vs seal turns, atomic seal edit,
mock_gh repo-scope on edit, SKILL typos, and shlex-quoted GH env.

Co-authored-by: Ben Sykes (Liatrio) <bds-liatrio@users.noreply.github.com>

---------

Signed-off-by: Ben Sykes <ben.sykes@liatrio.com>
Co-authored-by: Cursor Agent <cursoragent@cursor.com>
Co-authored-by: Ben Sykes (Liatrio) <bds-liatrio@users.noreply.github.com>
…es (#4)

Agents write a resumable clarify log under .issue-triage/, use A–D question
templates, and ensure .gitignore ignores that dir when one exists. Adds
clarify-resume eval coverage; skill-creator with_skill evals at 100%.

Signed-off-by: Ben Sykes <ben.sykes@liatrio.com>
Co-authored-by: Cursor Agent <cursoragent@cursor.com>
Co-authored-by: Ben Sykes (Liatrio) <bds-liatrio@users.noreply.github.com>
* fix(issue-triage): address multi-model review findings

Correctness (act-on):
- seal: cross-check --size against body ## Size section
- seal: enforce preflight internally (fail-closed)
- validate_sealed_body: enforce section order, non-empty content,
  adjacent --- before Original Ask, ignore headings inside fences
- gh pr list / label list: add --limit 200 to avoid 30-item cap

Hardening (consider):
- seal: reject XL (sizing heuristics say split, not seal)
- preflight: skip refs with missing number instead of crashing
- handoff: case-insensitive ready check, sorted size_labels
- run_gh: add subprocess timeout (120s)

Nits:
- SIZE_RE: accept en-dash alongside em-dash/hyphen
- _ignored: handle leading /, negation patterns
- SKILL.md: align seal checklist order with skeleton
- evals.json: sequential ids, add body-file ref to eval #2
- Add clarify-resume/state.json fixture
- Remove committed draft-pr/gh-journal.json runtime artifact
- Add issue-triage to EXPECTED_SKILLS baseline
- mock_gh: enforce repo-mismatch on pr list / label list

Tests: 107 pass, 1 skip. task ci clean.

Co-authored-by: Ben Sykes (Liatrio) <bds-liatrio@users.noreply.github.com>

* fix(issue-triage): search defenced text for SIZE_RE validation

SIZE_RE and BODY_SIZE_RE searched the raw body including fenced code
blocks. A valid `## Size` line inside a fenced block (e.g. in
Original Ask) could mask a malformed real Size section.

- validate_sealed_body: search defenced text instead of raw body
- issue_ops: defenced body_text before BODY_SIZE_RE cross-check
- Add regression test: bad Size + fenced valid Size → fail

Co-authored-by: Ben Sykes (Liatrio) <bds-liatrio@users.noreply.github.com>

* fix(issue-triage): handle TimeoutExpired, case-insensitive size/ matching

- run_gh: catch subprocess.TimeoutExpired → clean stderr + exit 1
- validator subprocess: catch TimeoutExpired → return 1
- cmd_handoff: match size/ prefix case-insensitively, .upper() suffix

Co-authored-by: Ben Sykes (Liatrio) <bds-liatrio@users.noreply.github.com>

---------

Co-authored-by: Cursor Agent <cursoragent@cursor.com>
Co-authored-by: Ben Sykes (Liatrio) <bds-liatrio@users.noreply.github.com>
…lity (#7)

* fix(issue-triage): tighten explicit-only invocation and add compatibility

Mirror emerald-grove-pet-clinic-ben-sykes#94 skill conformance: stronger
description guardrails, disable auto-trigger prose, compatibility metadata
for gh CLI, and a Goal/Intent warning that this skill mutates GitHub.

* fix(issue-triage): require named Issue in description triggers

Align the frontmatter Use-only-when list with the Goal/Intent guard so
every explicit invocation form names a target Issue.

Co-authored-by: Ben Sykes (Liatrio) <bds-liatrio@users.noreply.github.com>

---------

Co-authored-by: Cursor Agent <cursoragent@cursor.com>
Co-authored-by: Ben Sykes (Liatrio) <bds-liatrio@users.noreply.github.com>
Signed-off-by: Ben Sykes <ben.sykes@liatrio.com>
Adapt sighup/claude-workflow cw-explain into an authored skill that writes
self-contained HTML under .lavish/ instead of publishing Claude artifacts.

Signed-off-by: Ben Sykes <ben.sykes@liatrio.com>
Fix nested catalog paths, sync lock + trees, and document the vendored
inventory (grill-*, teach, wayfinder, improve-codebase-architecture, TDD).

Signed-off-by: Ben Sykes <ben.sykes@liatrio.com>
Signed-off-by: Ben Sykes <ben.sykes@liatrio.com>
One-item Address/Skip/GitHub Issue flow with Plan mode gate, file or PR input, and resumable .scratch JSON sessions.

Signed-off-by: Ben Sykes <ben.sykes@liatrio.com>
Signed-off-by: Ben Sykes <ben.sykes@liatrio.com>
Signed-off-by: Ben Sykes <ben.sykes@liatrio.com>
Signed-off-by: Ben Sykes <ben.sykes@liatrio.com>
@SystemFiles
SystemFiles merged commit 6de28dd into SystemFiles:main Aug 19, 2026
2 checks passed
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