diff --git a/README.md b/README.md index 1cded20..8d263b2 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, and more) + +```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/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 | diff --git a/proof/skill-distribution-2026-05-08/MORNING_REPORT.md b/proof/skill-distribution-2026-05-08/MORNING_REPORT.md new file mode 100644 index 0000000..1d5f1bb --- /dev/null +++ b/proof/skill-distribution-2026-05-08/MORNING_REPORT.md @@ -0,0 +1,42 @@ +# Morning Report - AgentGuard Skill Distribution + +Date: 2026-05-08 + +## Outcome + +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 + +- 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` + - `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 + +- 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 +- `llms.txt` stale root `SKILL.md` link check -> passed +- `npx skills add bmdhodl/agent47` in a clean temp folder -> installed `agentguard` +- `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 + - 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 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 new file mode 100644 index 0000000..9b11e80 --- /dev/null +++ b/proof/skill-distribution-2026-05-08/PR_DRAFT.md @@ -0,0 +1,48 @@ +## Summary + +- 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. +- 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 +- `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 && 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/sdk/PYPI_README.md b/sdk/PYPI_README.md index 1e391a4..922b785 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, and more) + +```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 ---