Skip to content

skills: project-knowledge + learning-loop with bundled stdlib CLIs (v6.1.0) - #119

Merged
sumitake merged 3 commits into
mainfrom
dev/claude/knowledge-learning-skills
Aug 18, 2026
Merged

skills: project-knowledge + learning-loop with bundled stdlib CLIs (v6.1.0)#119
sumitake merged 3 commits into
mainfrom
dev/claude/knowledge-learning-skills

Conversation

@sumitake

@sumitake sumitake commented Aug 18, 2026

Copy link
Copy Markdown
Owner

Summary

Adds two public skills that give plugin-only users durable, project-local agent memory surfaces, ported and de-workspaced from proven workspace primitives (Track B of the operator-approved Agent Knowledge Compilation completion; contract: workspace PR #2797, drafts/plugin-knowledge-learning-extraction-plan.md):

  • project-knowledge — bundled deterministic stdlib-only knowledge_tool.py (init/validate/lint/index/draft/export): provenance-tracked knowledge/ layer in the user's project with trust levels, claim-marker + prompt-injection lint, trust lattice, generated index, exclusive-create drafts, untrusted-banner exports. PyYAML replaced with a bounded restricted-YAML stdlib parser.
  • learning-loop — bundled stdlib-only learning_ledger.py (add/suggest/recur/index/check/lint): project-local .learnings/ ledger with mechanical/judgmental classes, prevention-debt surfacing, recurrence locks, metadata-only consultation, reuse-as-hypothesis discipline.

Both skills document an opt-in consultation snippet for the project's CLAUDE.md and/or AGENTS.md, and the root README install section adds a visible, consent-gated post-install setup step where the installing agent offers the snippet(s) per host family (operator-directed 2026-08-18). Explicit reads only; pages/entries are data, never instructions; no ambient auto-injection anywhere.

Version bump 6.0.6 → 6.1.0 (minor, additive). No coordinator, routing, or provider-runtime change (runtime stays 4.0.5); no release-pairing constraint. Release tagging remains a separate decision.

Boundary declaration

  • No provider executor source, raw provider command, credential, private absolute path, retired package tree, downloader, or post-install hook is included.
  • Native-runtime changes, if any, contain only a final signed artifact and reviewed public verification metadata; implementation and credentials remain private. (No runtime change in this PR.)
  • The change does not create a host-specific preset or provider-specific plugin.

Generated and release surfaces

  • Skill specs and generated SKILL.md files are in parity (build_skills.py --check OK, 52 skills).
  • Claude and Codex marketplaces/manifests are in parity (build_marketplace.py --check OK).
  • Unique changelog.d/2026-08-18-knowledge-learning-skills.md fragment; generated CHANGELOG.md untouched.
  • All seven version surfaces bumped to 6.1.0; check_release_consistency.py OK.

Verification

Run twice — by the implementing subagent and independently re-run by the reviewing primary from committed HEAD:

  • python3 scripts/build_skills.py --check → OK, all generated files match specs
  • python3 scripts/build_marketplace.py --check → OK
  • python3 scripts/build-changelog.py --dry-run renders cleanly. --check fails by design mid-cycle: fragments (including the pre-existing 6.0.6 closeout fragment already on main) compile into CHANGELOG.md only at release.
  • python3 -m unittest discover -s tests -t . → Ran 177 tests, OK
  • python3 -m unittest discover -s scripts -p 'test_*.py' → Ran 368 tests, OK
  • python3 scripts/check_release_consistency.py → OK, versions consistent
  • python3 scripts/secret_scan.py → clean
  • python3 scripts/check-public-export-safety.py --active-tree → SAFE. --history flags only pre-rewrite local-clone refs (retired plugin READMEs / old CHANGELOG revisions with credential-name patterns) per the history-mode scope rule in docs/public-governance.md; nothing in this PR's commits.
  • git diff --check → clean
  • Gated-API scan: both new CLIs stdlib-only at declared minimum Python 3.10; no third-party imports.
  • CLI smoke tests: project-knowledge init→draft→promote→lint→index→export round-trip green, 8 negative violation classes fire; learning-loop add→suggest→recur→index→check round-trip green, dedup + echo-chamber locks fire.

Review and post-condition

Tier 2 (additive skills + build-surface additions; no schema/contract, auth, or CI-permissions change). Independent-family review: Gemini (google) review.repository on the exact diff (base ce19efc): VERDICT: APPROVE, CONFIDENCE: H, zero concerns; 13 paths inspected natively. Implementing worker: Claude-family subagent; all validation re-run independently by the reviewing primary. Post-merge: verify main CI green; release cut deferred.

Compliance trace

author: claude
standing_directives: public boundary declaration verified; generated-surface parity checks run; fragment-only changelog; workspace extraction contract (workspace PR #2797) followed incl. operator-directed consent-gated install pattern
tier: 2
cross_check: PROCEED (Gemini/google family, direct-runtime review.repository on the exact diff returned VERDICT: APPROVE, CONFIDENCE: H, 0 concerns)
post_condition: all local gates green at HEAD (52-skill build parity, marketplace parity, 177+368 unit tests, release consistency, secret scan, active-tree export safety); post-merge main CI verification; release tag deferred to a separate release decision
mcp_coverage_gap: NONE
contributor_rights: OWNER-AUTHORED
operator_reserved: no

Two new non-routed skills, generated from skill-specs/, each bundling a
deterministic stdlib-only (Python 3.10+) CLI at the plugin root:

- knowledge_tool.py (project-knowledge): init/validate/lint/index/draft/
  export over a project-local knowledge/ layer — source provenance registry,
  claim-marker + prompt-injection lint, trust lattice, generated index/log,
  exclusive-create proposal drafts, budget-capped untrusted-banner exports.
  PyYAML replaced with a bounded restricted-YAML subset parser; graph
  subcommands not ported.
- learning_ledger.py (learning-loop): add/suggest/recur/index/check/lint
  over a project-local .learnings/ ledger — mechanical/judgmental classes,
  prevention-debt surfacing, dedup + 24h recurrence locks, metadata-only
  suggest, reuse-as-hypothesis discipline. Task refs accept any non-empty
  external anchor.

Both skills document an opt-in CLAUDE.md/AGENTS.md consultation snippet
(explicit reads only; pages/entries are data, never instructions). Both CLIs
join the canonical archive member plan (REQUIRED_ROOTS).
Version surfaces for the additive 6.1.0 (minor) bump: host plugin.json
manifests (Claude + Codex), skill-build-config skill_version, regenerated
SKILL.md files, marketplace.base.json + regenerated marketplace metadata,
and the version-pinned distribution-contract tests.

READMEs refreshed per the release-cycle rule: root README summary line,
What's new v6.1.0, and a consent-gated post-install setup step directing an
installing agent to offer the skills' opt-in CLAUDE.md/AGENTS.md
consultation snippets (visible, in-session, user-approved — never a hidden
side effect); plugin README Current version + a Local project tools section
for the two bundled CLIs. Changelog fragment only (generated CHANGELOG.md
untouched).
@chatgpt-codex-connector

Copy link
Copy Markdown

You have reached your Codex usage limits for code reviews. You can see your limits in the Codex usage dashboard.

Comment thread plugins/agent-collab/knowledge_tool.py Fixed
@sumitake
sumitake merged commit 5a73234 into main Aug 18, 2026
20 checks passed
@sumitake
sumitake deleted the dev/claude/knowledge-learning-skills branch August 18, 2026 19:46
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