Skip to content
This repository was archived by the owner on Jul 29, 2026. It is now read-only.

chore(skills): re-sync vendored .agents/skills to skill-lib@d0f6209 - #113

Merged
erinepshovel-code merged 1 commit into
mainfrom
claude/skill-lib-compliance-c1osmf
Jul 10, 2026
Merged

erinepshovel-code merged 1 commit into
mainfrom
claude/skill-lib-compliance-c1osmf

Conversation

@erinepshovel-code

Copy link
Copy Markdown
Collaborator

Summary

Part of an org-wide skill-lib compliance sweep. The repo-local vendored skill copies under .agents/skills/ had drifted behind the canonical org source (The-Interdependency/skill-lib). This re-syncs them verbatim to skill-lib d0f6209.

Changes

  • Overlaid the canonical msdmd/, manifest/, and test-build/ skill directories verbatim.
  • Regenerated manifest/generate.py.sha256sha256sum -c passes, so manifest-check.yml stays green.
  • Preserved the repo-local new-retain-old/ skill.
  • Pinned .agents/skills/README.md source commit from @d6e4d78 to @d0f6209.

Verification

  • diff -r against canonical skill-lib: no remaining canonical-file drift in the vendored subset.
  • sha256sum -c generate.py.sha256generate.py: OK.
  • No tracked bytecode introduced.

Repo-local copies are not the source of truth; skill-lib remains canonical.

🤖 Generated with Claude Code

https://claude.ai/code/session_01J4hD57ejBTZYsuLKSpoE7P


Generated by Claude Code

Bring the repo-local vendored skill copies back into verbatim compliance with
the canonical org source (The-Interdependency/skill-lib @ d0f6209). The copies
had drifted behind canonical (stale msdmd SKILL.md + parsers, missing
collect.py/collection.ts/visualize.py, stale test-build/manifest/etc.).

- Overlay canonical skill directories verbatim over the vendored subset each
  repo carries; repo-local additions (e.g. runner.py, local README, retained
  local skills) are preserved.
- Regenerate manifest/generate.py.sha256 pins where present (sha256sum -c OK).
- Pin the .agents/skills/README source commit to skill-lib@d0f6209.

Repo-local copies are not the source of truth; skill-lib remains canonical.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01J4hD57ejBTZYsuLKSpoE7P
@erinepshovel-code
erinepshovel-code marked this pull request as ready for review July 10, 2026 01:27
@erinepshovel-code
erinepshovel-code merged commit 0a04c33 into main Jul 10, 2026
6 checks passed
@erinepshovel-code
erinepshovel-code deleted the claude/skill-lib-compliance-c1osmf branch July 10, 2026 01:29

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: 653639cfd6

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

Comment on lines +91 to +92
for block in block_names:
annotated, _ = walk_tree(root, block)

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P2 Badge Parse RATIOS with its single-line reader

When block is RATIOS (included in DEFAULT_BLOCK_NAMES and selectable with --block RATIOS), this path still uses walk_tree, which only looks for fenced # === RATIOS === blocks. The new RATIOS support in parsers/universal.py is explicitly single-line via parse_ratios_file, so generated collections silently omit existing RATIOS declarations and --expected-block RATIOS reports files as missing even when they have the ratio lines.

Useful? React with 👍 / 👎.

lines = text.splitlines()
if not lines:
return (False, False)
first_ok = bool(line_re.match(lines[0].rstrip()))

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P2 Badge Check the first nonblank RATIOS line

For files that have leading blank lines, the RATIOS convention documented just above says placement is on the first and last non-blank lines, but this checks only physical line 1. A drift gate using ratios_placement() will therefore report (False, True) even when the first non-blank line is a valid ratios line, causing false placement failures for otherwise compliant files.

Useful? React with 👍 / 👎.


emitted_nodes = {"repo"}
for declaration in collection.get("declarations", []):
node = _node_id(str(declaration["id"]))

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P2 Badge Namespace visualizer node IDs by declaration

When two declarations share the same id in different blocks or files, this derives the Mermaid node key from only the id, so the second declaration is skipped by emitted_nodes and any edges are coalesced onto the first node. The msdmd rules only require ids to be unique within their block, so a collection with e.g. a CONTRACTS and DOCS entry using the same stable id will render an inaccurate graph unless the node key includes at least block/file context.

Useful? React with 👍 / 👎.

"owner": "owns",
"covers": "covers",
"call": "calls",
"boundaries": "risk",

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P2 Badge Map actual BOUNDARIES fields to risk edges

For BOUNDARIES blocks that declare the documented risk fields such as auth_boundary, storage_boundary, network_boundary, and user_data_boundary, _edges_for() never emits a risk edge because it only checks for a literal field named boundaries. Collections generated from the existing backend BOUNDARIES block therefore omit the boundary-risk relationships that the new visualizer guidance says should be rendered.

Useful? React with 👍 / 👎.

can run it directly or copy it as a starting point:

```bash
python -m msdmd.collect --root . --repo <reponame> --out <reponame>_msdmd.ts

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P2 Badge Make the collection command runnable from repo root

In a consuming repo with this skill vendored under .agents/skills, running this documented command from the repo root fails because msdmd is not on Python's module search path; if the user instead changes into .agents/skills to make python -m work, --root . scans the skills directory rather than the repo. The command needs to set PYTHONPATH=.agents/skills or use another invocation that works from the intended root.

Useful? React with 👍 / 👎.

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants