Skip to content

Add metpo-proposal skill#75

Merged
realmarcin merged 5 commits into
mainfrom
claude/metpo-proposal-skill
May 20, 2026
Merged

Add metpo-proposal skill#75
realmarcin merged 5 commits into
mainfrom
claude/metpo-proposal-skill

Conversation

@realmarcin
Copy link
Copy Markdown
Contributor

Summary

Add a project-level Claude Code skill that documents the workflow used to produce `proposals/metpo_communitymech_v1/` (PR #74), so future METPO cohorts from this repo follow the same conventions.

The skill captures:

  • ROBOT template column structure — exact 11-column (classes) / 12-column (properties) format mirroring `kg-microbe/mappings/metpo_proposal_*.tsv`, including the trailing-tab fix-up for the ROBOT header row
  • ID-space conventions — `METPO:1007NNN` for new class proposals, `METPO:2007NNN` for new predicates, both flagged as placeholder per the upstream kg-microbe SKILL.md
  • Hierarchy design — when to introduce intermediate grouping parents (valence-based, trophic-tier, thematic) vs. lifting an enum flat
  • Definition source rules — `CommunityMech:communitymech.yaml#.` for direct enum lifts, `TODO:add_citation` for invented intermediate parents
  • Predicate domain/range rules — domain/range must resolve to another row in-file, an existing METPO IRI, or an external IRI (NCBITaxon/CHEBI/GO); no paired "does not X" predicates for domain-modeling slots
  • Subset tag format — `metpo_`
  • Verification checklist — awk column-count check, enum-coverage check, parent-integrity check, optional ROBOT template + reason
  • Common pitfalls table with diagnosis and fix

Points reviewers to:

  • `kg-microbe/.claude/skills/metpo-proposal/SKILL.md` for the shared Aristotelian-definition and SKILL.md checklist conventions
  • `proposals/metpo_communitymech_v1/` as the reference example for every convention in this skill

Surfaces as `metpo-proposal` in the Claude Code skill list when running from `CommunityMech/CommunityMech/`.

🤖 Generated with Claude Code

realmarcin and others added 2 commits May 19, 2026 18:37
Three files under proposals/metpo_communitymech_v1/ mirror the
existing kg-microbe METPO proposal format and lift 9 CommunityMech
enums plus 14 schema predicates into METPO classes and object
properties:

- metpo_proposal_classes_robot.tsv: 74 class rows (11 columns,
  two-row ROBOT header). Includes 3 new top-level domain classes
  (microbial community, microbial community ecological interaction,
  microbial community evidence item) plus 9 enum-parent grouping
  classes, 10 intermediate grouping classes (positive/negative/
  partitioning interaction valence; primary/secondary trophic role;
  5 thematic community-category groupings), and 52 enum-leaf
  classes. All 52 CommunityMech enum permissible values are covered;
  all parent references resolve within the file or to known METPO
  IRIs (METPO:1000000 root, METPO:1000525 microbe).
- metpo_proposal_properties_robot.tsv: 14 owl:ObjectProperty rows
  (12 columns) with domain/range mapped to the new top-level
  classes or external IRIs (NCBITaxon, CHEBI, GO). Captures
  EcologicalInteraction.source_taxon/target_taxon/interaction_type/
  scope/metabolites/biological_processes/evidence,
  TaxonomicComposition.functional_role/abundance_level,
  MicrobialCommunity.community_category/community_origin/
  ecological_state, and EvidenceItem.supports/evidence_source.
- proposal.md: narrative walking through scope, hierarchy decisions
  (InteractionType valence groupings, FunctionalRole trophic tiers,
  CommunityCategory thematic groupings, COMPETITION /
  STRAIN_COMPETITION parent/child relationship), predicate
  domain/range rationale, ID-space conventions, verification
  procedure (robot template + reason), and the upstream path to
  kg-microbe/mappings/.

ID space: METPO:1007100-1007220 for classes and
METPO:2007100-2007113 for properties, all marked as placeholder
per the kg-microbe SKILL.md placeholder policy; real METPO IDs
will be minted upstream after sign-off. Subset tag on every row:
metpo_communitymech_2026_05.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Document the workflow used to produce
proposals/metpo_communitymech_v1/ (PR #74) so future cohorts can
follow the same conventions: ROBOT-template column structure (11
classes / 12 properties), ID-space conventions (METPO:1007NNN and
METPO:2007NNN placeholder ranges), Aristotelian definitions with
schema-anchored definition_source values, hierarchy-design rules
for intermediate parents, predicate domain/range conventions,
trailing-tab fix-up for the ROBOT header row, and the verification
commands (awk column-count check, enum-coverage check, parent-
integrity check, optional robot template + reason). Points at the
upstream kg-microbe metpo-proposal SKILL.md for the shared
conventions and at proposals/metpo_communitymech_v1/ as the
reference cohort.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Copilot AI review requested due to automatic review settings May 20, 2026 01:57
Copy link
Copy Markdown

Copilot AI left a comment

Choose a reason for hiding this comment

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

Pull request overview

Adds a project-level Claude Code skill (metpo-proposal) and a reference METPO ROBOT-template proposal cohort (proposals/metpo_communitymech_v1/) to document and preserve the conventions for lifting CommunityMech schema elements into METPO-compatible ROBOT templates.

Changes:

  • Added .claude/skills/metpo-proposal/skill.md documenting the end-to-end workflow and conventions for generating METPO proposal TSVs + narrative.
  • Added a reference proposal cohort under proposals/metpo_communitymech_v1/ including the class/property ROBOT templates and a narrative proposal.md.
  • Encoded placeholder ID-space, subset tagging, hierarchy/grouping decisions, and verification steps for repeatable future cohorts.

Reviewed changes

Copilot reviewed 4 out of 4 changed files in this pull request and generated 2 comments.

File Description
proposals/metpo_communitymech_v1/proposal.md Narrative description of scope, hierarchy decisions, predicate proposals, verification, and upstream path for the reference cohort.
proposals/metpo_communitymech_v1/metpo_proposal_classes_robot.tsv 11-column ROBOT class template capturing proposed METPO classes for lifted enums and supporting parents.
proposals/metpo_communitymech_v1/metpo_proposal_properties_robot.tsv 12-column ROBOT property template capturing proposed METPO object properties for CommunityMech slots.
.claude/skills/metpo-proposal/skill.md New Claude Code skill documenting the conventions/workflow used to produce the reference cohort.
Comments suppressed due to low confidence (1)

.claude/skills/metpo-proposal/skill.md:69

  • The “Required reading” section hard-codes absolute local paths under /Users/marcin/.... These paths won’t exist for other contributors or in CI, which makes the workflow hard to follow. Replace these with GitHub links to the upstream kg-microbe files (or repo-relative paths if vendored here) and, if needed, add a short note about cloning kg-microbe alongside this repo.
Before generating a proposal, read:

1. **`/Users/marcin/Documents/VIMSS/ontology/KG-Hub/KG-Microbe/kg-microbe/.claude/skills/metpo-proposal/SKILL.md`** —
   the upstream metpo-proposal skill. Defines:
   - Aristotelian definition style
   - `definition_source` citation forms (PMID, DOI, BacDive, `TODO:add_citation`)
   - Numeric ID-range conventions
   - Parent-class selection (audit for siblings before falling back to
     `METPO:1000000`)
   - The 12-point pre-submission checklist
2. **`/Users/marcin/Documents/VIMSS/ontology/KG-Hub/KG-Microbe/kg-microbe/mappings/metpo_proposal_classes_robot.tsv`** —
   the canonical 11-column class template. Copy the two-row header verbatim.
3. **`/Users/marcin/Documents/VIMSS/ontology/KG-Hub/KG-Microbe/kg-microbe/mappings/metpo_proposal_properties_robot.tsv`** —
   the canonical 12-column property template.
4. **`proposals/metpo_communitymech_v1/`** in this repo — the reference

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment thread proposals/metpo_communitymech_v1/proposal.md Outdated
Comment thread .claude/skills/metpo-proposal/skill.md
realmarcin and others added 3 commits May 19, 2026 19:04
The initial skill assumed every invocation creates a new cohort.
Add an "Updating an existing proposal" section covering the three
real update paths and the decision rule for picking between them:

- Path A: edit in place on an open PR before merge. IDs and
  subset tag unchanged; just modify rows in response to reviewer
  feedback.
- Path B: extend in place after merge. Append-only rows in the
  same cohort directory, contiguous fresh ID block at least 10
  above the highest existing ID, same subset tag, new entries in
  the Scope/ID-space/Change-log sections of proposal.md.
- Path C: new cohort version. Fresh proposals/<name>_v<N>/ dir,
  fresh subset tag, non-overlapping ID block, mandatory
  "Relationship to vN-1" section in the new proposal.md, original
  cohort marked superseded but retained on disk.

Each path lists what NOT to do: never edit merged IDs, never mix
Path B + Path C in the same PR, never delete rows (mark LOW
priority instead and retire via Path C).

Decision rule lives at the top of the section as a table keyed on
review/merge state and the type of change.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Per the same broken-link finding that triggered the Path A fix on
PR #74, the skill.md had two more relative paths into the
kg-microbe repo that 404 on GitHub:

- "Do NOT use for..." section: relative link to upstream skill
  replaced with absolute GitHub URL
- "Required reading" section: three local absolute paths under
  /Users/marcin/... replaced with GitHub URLs to the kg-microbe
  source files, keeping the local clone path as a hint for
  developers with a checkout.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
…-skill

# Conflicts:
#	proposals/metpo_communitymech_v1/metpo_proposal_classes_robot.tsv
#	proposals/metpo_communitymech_v1/metpo_proposal_properties_robot.tsv
#	proposals/metpo_communitymech_v1/proposal.md
@realmarcin realmarcin merged commit 6efbb49 into main May 20, 2026
@realmarcin realmarcin deleted the claude/metpo-proposal-skill branch May 20, 2026 03:39
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