From 6466bb91f4b437f5476d9ea51745bace1eaa4ae5 Mon Sep 17 00:00:00 2001 From: Pat Date: Fri, 8 May 2026 18:42:07 -0500 Subject: [PATCH 1/5] Publish AgentGuard skill distribution docs --- MORNING_REPORT.md | 40 ++++++++++++++++++++++ PR_DRAFT.md | 46 ++++++++++++++++++++++++++ README.md | 16 +++++++++ sdk/PYPI_README.md | 16 +++++++++ SKILL.md => skills/agentguard/SKILL.md | 2 +- 5 files changed, 119 insertions(+), 1 deletion(-) create mode 100644 MORNING_REPORT.md create mode 100644 PR_DRAFT.md rename SKILL.md => skills/agentguard/SKILL.md (99%) diff --git a/MORNING_REPORT.md b/MORNING_REPORT.md new file mode 100644 index 0000000..be978ab --- /dev/null +++ b/MORNING_REPORT.md @@ -0,0 +1,40 @@ +# Morning Report - AgentGuard Skill Distribution + +Date: 2026-05-08 + +## Outcome + +AgentGuard skill distribution is ready for Patrick review. The stale skill version metadata was fixed, the skill now validates with GitHub's `gh skill publish --dry-run`, skills.sh discovery was verified, and the curated-list PR is open. + +## What Changed + +- Moved `SKILL.md` to `skills/agentguard/SKILL.md` because `gh skill publish --dry-run` requires skill names to match directory names. Root `SKILL.md` failed as directory `"."`. +- Updated skill metadata version from `1.2.7` to `1.2.10`. +- Added README and PyPI README install docs for: + - `pip install agentguard47` + - `npx skills add bmdhodl/agent47` + - `gh skill install bmdhodl/agent47 agentguard` +- Opened awesome-list PR: https://github.com/heilcheng/awesome-agent-skills/pull/225 + +## Verification + +- Repo public: `gh repo view bmdhodl/agent47 --json visibility` -> `PUBLIC` +- Latest tag: `v1.2.10` +- PyPI package: `agentguard47` latest `1.2.10` +- `gh skill publish --dry-run` -> passed +- `npx skills add bmdhodl/agent47` in a clean temp folder -> installed `agentguard` +- `npx skills add K:\agent47` in a clean temp folder -> installed `agentguard` from `skills/agentguard/SKILL.md` +- Clean venv install + quickstart import + `agentguard doctor` -> passed +- Full repo validation: + - ruff passed + - pytest: `740 passed`, coverage `92.90%` + - structural: `9 passed` + - security: passed via `python -m bandit` + - release guard passed + - MCP server tests passed, `6` tests + +## Notes + +- No patch release was cut. The only package-facing correction was skill metadata to match the already shipped `v1.2.10` / PyPI `1.2.10` state. +- The local global `agentguard47` editable install originally pointed at another worktree, so validation reinstalled editable from `K:\agent47\sdk` before running repo tests. +- The awesome-list website build passed after `npm ci`; npm reported existing audit findings in that repo's dependency tree (`1 moderate`, `1 high`), unrelated to the README-only PR. diff --git a/PR_DRAFT.md b/PR_DRAFT.md new file mode 100644 index 0000000..68360ae --- /dev/null +++ b/PR_DRAFT.md @@ -0,0 +1,46 @@ +## Summary + +- Move the AgentGuard skill into the spec-native `skills/agentguard/SKILL.md` path so `gh skill publish --dry-run` validates it. +- Update skill metadata from `1.2.7` to the verified shipped package version `1.2.10`. +- Add README/PyPI README install docs for both `pip install agentguard47` and skills-based installs. +- Open curated-list PR: https://github.com/heilcheng/awesome-agent-skills/pull/225 + +## Related Issues + +N/A + +## Proof + +- `git tag --sort=-v:refname | Select-Object -First 3` -> `v1.2.10`, `v1.2.9`, `v1.2.8` +- `gh repo view bmdhodl/agent47 --json visibility` -> `PUBLIC` +- `python -m pip index versions agentguard47` -> latest and installed `1.2.10` +- `gh skill publish --dry-run` -> passed +- `npx skills add bmdhodl/agent47 && npx skills list` -> public repo resolves and installs `agentguard` +- `npx skills add K:\agent47 && npx skills list` -> local spec-native path resolves and installs `agentguard` +- clean venv: `pip install agentguard47`, quickstart import, and `agentguard doctor` -> passed +- `python -m ruff check sdk/agentguard/ scripts/generate_pypi_readme.py scripts/sdk_preflight.py scripts/sdk_release_guard.py` -> passed +- `python -m pytest sdk/tests/ -v --cov=agentguard --cov-report=term-missing --cov-fail-under=80` -> `740 passed`, coverage `92.90%` +- `python -m pytest sdk/tests/test_architecture.py -v` -> `9 passed` +- `python -m bandit -r sdk/agentguard/ -s B101,B110,B112,B311 -q` -> passed +- `python scripts/sdk_release_guard.py` -> passed +- `npm --prefix mcp-server test` -> passed, `6` node tests + +## Risk And Rollback + +Risk is limited to skill discovery path changes and install-copy accuracy. Roll back by restoring the root `SKILL.md` location and removing the README skill-install section. No SDK runtime behavior changes. + +## Scope + +- **Related ops/doc(s):** NORTHSTAR, ROADMAP, DEFINITION_OF_DONE +- **Does this change the public API?** No +- **Does this shift roadmap priority?** No + +## Checklist + +- [x] `make check` equivalent passes (ruff + pytest + MCP tests; `make` unavailable on this Windows host) +- [x] `make structural` equivalent passes +- [x] `make security` equivalent passes +- [x] New functionality has tests +- [x] No new hard dependencies in core SDK +- [x] No hardcoded absolute paths +- [x] If `__init__.py` exports changed, `ops/02-ARCHITECTURE.md` updated diff --git a/README.md b/README.md index 1cded20..498190e 100644 --- a/README.md +++ b/README.md @@ -19,10 +19,26 @@ enough to create surprise spend. [![agent47 MCP server](https://glama.ai/mcp/servers/bmdhodl/agent47/badges/score.svg)](https://glama.ai/mcp/servers/bmdhodl/agent47) [![GitHub stars](https://img.shields.io/github/stars/bmdhodl/agent47?style=social)](https://github.com/bmdhodl/agent47) +## Install + +### As a Python package + ```bash pip install agentguard47 ``` +### As a skill (Claude Code, Cursor, Cline, 50+ agents) + +```bash +npx skills add bmdhodl/agent47 +``` + +Or with GitHub CLI: + +```bash +gh skill install bmdhodl/agent47 agentguard +``` + ## Why AgentGuard Most agent tooling tells you what happened after the run. AgentGuard stops the diff --git a/sdk/PYPI_README.md b/sdk/PYPI_README.md index 1e391a4..5ac12f6 100644 --- a/sdk/PYPI_README.md +++ b/sdk/PYPI_README.md @@ -21,10 +21,26 @@ enough to create surprise spend. [![agent47 MCP server](https://glama.ai/mcp/servers/bmdhodl/agent47/badges/score.svg)](https://glama.ai/mcp/servers/bmdhodl/agent47) [![GitHub stars](https://img.shields.io/github/stars/bmdhodl/agent47?style=social)](https://github.com/bmdhodl/agent47) +## Install + +### As a Python package + ```bash pip install agentguard47 ``` +### As a skill (Claude Code, Cursor, Cline, 50+ agents) + +```bash +npx skills add bmdhodl/agent47 +``` + +Or with GitHub CLI: + +```bash +gh skill install bmdhodl/agent47 agentguard +``` + ## Why AgentGuard Most agent tooling tells you what happened after the run. AgentGuard stops the diff --git a/SKILL.md b/skills/agentguard/SKILL.md similarity index 99% rename from SKILL.md rename to skills/agentguard/SKILL.md index ab3a3fa..3299a06 100644 --- a/SKILL.md +++ b/skills/agentguard/SKILL.md @@ -5,7 +5,7 @@ license: MIT compatibility: Requires Python 3.9+ metadata: author: bmdhodl - version: "1.2.7" + version: "1.2.10" pypi: agentguard47 --- From 7292d92ddf7be878de32b6726fe8dd2b5501c6f7 Mon Sep 17 00:00:00 2001 From: Pat Date: Fri, 8 May 2026 18:46:45 -0500 Subject: [PATCH 2/5] Fix canonical skill links --- MORNING_REPORT.md | 2 ++ PR_DRAFT.md | 2 ++ llms.txt | 2 +- 3 files changed, 5 insertions(+), 1 deletion(-) diff --git a/MORNING_REPORT.md b/MORNING_REPORT.md index be978ab..152e6a9 100644 --- a/MORNING_REPORT.md +++ b/MORNING_REPORT.md @@ -14,6 +14,7 @@ AgentGuard skill distribution is ready for Patrick review. The stale skill versi - `pip install agentguard47` - `npx skills add bmdhodl/agent47` - `gh skill install bmdhodl/agent47 agentguard` +- Updated `llms.txt` so its canonical skill link points to `skills/agentguard/SKILL.md`. - Opened awesome-list PR: https://github.com/heilcheng/awesome-agent-skills/pull/225 ## Verification @@ -22,6 +23,7 @@ AgentGuard skill distribution is ready for Patrick review. The stale skill versi - Latest tag: `v1.2.10` - PyPI package: `agentguard47` latest `1.2.10` - `gh skill publish --dry-run` -> passed +- `llms.txt` stale root `SKILL.md` link check -> passed - `npx skills add bmdhodl/agent47` in a clean temp folder -> installed `agentguard` - `npx skills add K:\agent47` in a clean temp folder -> installed `agentguard` from `skills/agentguard/SKILL.md` - Clean venv install + quickstart import + `agentguard doctor` -> passed diff --git a/PR_DRAFT.md b/PR_DRAFT.md index 68360ae..0b8c49d 100644 --- a/PR_DRAFT.md +++ b/PR_DRAFT.md @@ -3,6 +3,7 @@ - Move the AgentGuard skill into the spec-native `skills/agentguard/SKILL.md` path so `gh skill publish --dry-run` validates it. - Update skill metadata from `1.2.7` to the verified shipped package version `1.2.10`. - Add README/PyPI README install docs for both `pip install agentguard47` and skills-based installs. +- Update `llms.txt` to link to the new canonical skill path. - Open curated-list PR: https://github.com/heilcheng/awesome-agent-skills/pull/225 ## Related Issues @@ -15,6 +16,7 @@ N/A - `gh repo view bmdhodl/agent47 --json visibility` -> `PUBLIC` - `python -m pip index versions agentguard47` -> latest and installed `1.2.10` - `gh skill publish --dry-run` -> passed +- `rg -n "blob/main/SKILL\.md|SKILL\.md" -S llms.txt README.md sdk/PYPI_README.md skills/agentguard/SKILL.md PR_DRAFT.md MORNING_REPORT.md` -> no stale root `blob/main/SKILL.md` link remains - `npx skills add bmdhodl/agent47 && npx skills list` -> public repo resolves and installs `agentguard` - `npx skills add K:\agent47 && npx skills list` -> local spec-native path resolves and installs `agentguard` - clean venv: `pip install agentguard47`, quickstart import, and `agentguard doctor` -> passed diff --git a/llms.txt b/llms.txt index d617e06..06718ed 100644 --- a/llms.txt +++ b/llms.txt @@ -20,7 +20,7 @@ AgentGuard stops runaway coding agents mid-run. It raises Python exceptions when | File | Description | Tokens (approx) | |------|-------------|------------------| | [README.md](https://github.com/bmdhodl/agent47/blob/main/README.md) | Full usage guide with examples | ~3500 | -| [SKILL.md](https://github.com/bmdhodl/agent47/blob/main/SKILL.md) | Declarative capability map for AI agents | ~800 | +| [SKILL.md](https://github.com/bmdhodl/agent47/blob/main/skills/agentguard/SKILL.md) | Declarative capability map for AI agents | ~800 | | [AGENTS.md](https://github.com/bmdhodl/agent47/blob/main/AGENTS.md) | Project structure, API surface, coding patterns | ~1800 | | [CLAUDE.md](https://github.com/bmdhodl/agent47/blob/main/CLAUDE.md) | Claude Code agent instructions | ~1800 | | [CONTRIBUTING.md](https://github.com/bmdhodl/agent47/blob/main/CONTRIBUTING.md) | Dev setup, test commands, PR guidelines | ~600 | From 5548a5627e05ea012b3de09b038c9896b7546c08 Mon Sep 17 00:00:00 2001 From: Pat Date: Fri, 8 May 2026 18:49:22 -0500 Subject: [PATCH 3/5] Address skill distribution review feedback --- .../skill-distribution-2026-05-08/MORNING_REPORT.md | 0 PR_DRAFT.md => proof/skill-distribution-2026-05-08/PR_DRAFT.md | 0 2 files changed, 0 insertions(+), 0 deletions(-) rename MORNING_REPORT.md => proof/skill-distribution-2026-05-08/MORNING_REPORT.md (100%) rename PR_DRAFT.md => proof/skill-distribution-2026-05-08/PR_DRAFT.md (100%) diff --git a/MORNING_REPORT.md b/proof/skill-distribution-2026-05-08/MORNING_REPORT.md similarity index 100% rename from MORNING_REPORT.md rename to proof/skill-distribution-2026-05-08/MORNING_REPORT.md diff --git a/PR_DRAFT.md b/proof/skill-distribution-2026-05-08/PR_DRAFT.md similarity index 100% rename from PR_DRAFT.md rename to proof/skill-distribution-2026-05-08/PR_DRAFT.md From 065018c617c5584a0e77754f2a93c9b569e4a8fe Mon Sep 17 00:00:00 2001 From: Pat Date: Fri, 8 May 2026 18:49:34 -0500 Subject: [PATCH 4/5] Tighten skill install docs and proof notes --- README.md | 2 +- proof/skill-distribution-2026-05-08/MORNING_REPORT.md | 6 +++--- proof/skill-distribution-2026-05-08/PR_DRAFT.md | 4 ++-- sdk/PYPI_README.md | 2 +- 4 files changed, 7 insertions(+), 7 deletions(-) diff --git a/README.md b/README.md index 498190e..8d263b2 100644 --- a/README.md +++ b/README.md @@ -27,7 +27,7 @@ enough to create surprise spend. pip install agentguard47 ``` -### As a skill (Claude Code, Cursor, Cline, 50+ agents) +### As a skill (Claude Code, Cursor, Cline, and more) ```bash npx skills add bmdhodl/agent47 diff --git a/proof/skill-distribution-2026-05-08/MORNING_REPORT.md b/proof/skill-distribution-2026-05-08/MORNING_REPORT.md index 152e6a9..ad8b2d0 100644 --- a/proof/skill-distribution-2026-05-08/MORNING_REPORT.md +++ b/proof/skill-distribution-2026-05-08/MORNING_REPORT.md @@ -4,7 +4,7 @@ Date: 2026-05-08 ## Outcome -AgentGuard skill distribution is ready for Patrick review. The stale skill version metadata was fixed, the skill now validates with GitHub's `gh skill publish --dry-run`, skills.sh discovery was verified, and the curated-list PR is open. +AgentGuard skill distribution is ready for review. The stale skill version metadata was fixed, the skill now validates with GitHub's `gh skill publish --dry-run`, skills.sh discovery was verified, and the curated-list PR is open. ## What Changed @@ -25,7 +25,7 @@ AgentGuard skill distribution is ready for Patrick review. The stale skill versi - `gh skill publish --dry-run` -> passed - `llms.txt` stale root `SKILL.md` link check -> passed - `npx skills add bmdhodl/agent47` in a clean temp folder -> installed `agentguard` -- `npx skills add K:\agent47` in a clean temp folder -> installed `agentguard` from `skills/agentguard/SKILL.md` +- `npx skills add ` in a clean temp folder -> installed `agentguard` from `skills/agentguard/SKILL.md` - Clean venv install + quickstart import + `agentguard doctor` -> passed - Full repo validation: - ruff passed @@ -38,5 +38,5 @@ AgentGuard skill distribution is ready for Patrick review. The stale skill versi ## Notes - No patch release was cut. The only package-facing correction was skill metadata to match the already shipped `v1.2.10` / PyPI `1.2.10` state. -- The local global `agentguard47` editable install originally pointed at another worktree, so validation reinstalled editable from `K:\agent47\sdk` before running repo tests. +- The local global `agentguard47` editable install originally pointed at another worktree, so validation reinstalled editable from this checkout before running repo tests. - The awesome-list website build passed after `npm ci`; npm reported existing audit findings in that repo's dependency tree (`1 moderate`, `1 high`), unrelated to the README-only PR. diff --git a/proof/skill-distribution-2026-05-08/PR_DRAFT.md b/proof/skill-distribution-2026-05-08/PR_DRAFT.md index 0b8c49d..7777fcd 100644 --- a/proof/skill-distribution-2026-05-08/PR_DRAFT.md +++ b/proof/skill-distribution-2026-05-08/PR_DRAFT.md @@ -16,9 +16,9 @@ N/A - `gh repo view bmdhodl/agent47 --json visibility` -> `PUBLIC` - `python -m pip index versions agentguard47` -> latest and installed `1.2.10` - `gh skill publish --dry-run` -> passed -- `rg -n "blob/main/SKILL\.md|SKILL\.md" -S llms.txt README.md sdk/PYPI_README.md skills/agentguard/SKILL.md PR_DRAFT.md MORNING_REPORT.md` -> no stale root `blob/main/SKILL.md` link remains +- `rg -n "blob/main/SKILL\.md|SKILL\.md" -S llms.txt README.md sdk/PYPI_README.md skills/agentguard/SKILL.md proof/skill-distribution-2026-05-08/PR_DRAFT.md proof/skill-distribution-2026-05-08/MORNING_REPORT.md` -> no stale root `blob/main/SKILL.md` link remains - `npx skills add bmdhodl/agent47 && npx skills list` -> public repo resolves and installs `agentguard` -- `npx skills add K:\agent47 && npx skills list` -> local spec-native path resolves and installs `agentguard` +- `npx skills add && npx skills list` -> local spec-native path resolves and installs `agentguard` - clean venv: `pip install agentguard47`, quickstart import, and `agentguard doctor` -> passed - `python -m ruff check sdk/agentguard/ scripts/generate_pypi_readme.py scripts/sdk_preflight.py scripts/sdk_release_guard.py` -> passed - `python -m pytest sdk/tests/ -v --cov=agentguard --cov-report=term-missing --cov-fail-under=80` -> `740 passed`, coverage `92.90%` diff --git a/sdk/PYPI_README.md b/sdk/PYPI_README.md index 5ac12f6..922b785 100644 --- a/sdk/PYPI_README.md +++ b/sdk/PYPI_README.md @@ -29,7 +29,7 @@ enough to create surprise spend. pip install agentguard47 ``` -### As a skill (Claude Code, Cursor, Cline, 50+ agents) +### As a skill (Claude Code, Cursor, Cline, and more) ```bash npx skills add bmdhodl/agent47 From be342265140f9164673cd4341973a52e39b523f4 Mon Sep 17 00:00:00 2001 From: Pat Date: Fri, 8 May 2026 18:51:45 -0500 Subject: [PATCH 5/5] Clarify skill distribution proof artifacts --- proof/skill-distribution-2026-05-08/MORNING_REPORT.md | 2 +- proof/skill-distribution-2026-05-08/PR_DRAFT.md | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/proof/skill-distribution-2026-05-08/MORNING_REPORT.md b/proof/skill-distribution-2026-05-08/MORNING_REPORT.md index ad8b2d0..1d5f1bb 100644 --- a/proof/skill-distribution-2026-05-08/MORNING_REPORT.md +++ b/proof/skill-distribution-2026-05-08/MORNING_REPORT.md @@ -8,7 +8,7 @@ AgentGuard skill distribution is ready for review. The stale skill version metad ## What Changed -- Moved `SKILL.md` to `skills/agentguard/SKILL.md` because `gh skill publish --dry-run` requires skill names to match directory names. Root `SKILL.md` failed as directory `"."`. +- Canonicalized the skill at `skills/agentguard/SKILL.md` because `gh skill publish --dry-run` requires skill names to match directory names. - Updated skill metadata version from `1.2.7` to `1.2.10`. - Added README and PyPI README install docs for: - `pip install agentguard47` diff --git a/proof/skill-distribution-2026-05-08/PR_DRAFT.md b/proof/skill-distribution-2026-05-08/PR_DRAFT.md index 7777fcd..9b11e80 100644 --- a/proof/skill-distribution-2026-05-08/PR_DRAFT.md +++ b/proof/skill-distribution-2026-05-08/PR_DRAFT.md @@ -1,6 +1,6 @@ ## Summary -- Move the AgentGuard skill into the spec-native `skills/agentguard/SKILL.md` path so `gh skill publish --dry-run` validates it. +- Canonicalize the AgentGuard skill at the spec-native `skills/agentguard/SKILL.md` path so `gh skill publish --dry-run` validates it. - Update skill metadata from `1.2.7` to the verified shipped package version `1.2.10`. - Add README/PyPI README install docs for both `pip install agentguard47` and skills-based installs. - Update `llms.txt` to link to the new canonical skill path.