Skip to content

feat(p7): SKILL.md registration for services launcher + remote access - #1085

Merged
POWERFULMOVES merged 2 commits into
mainfrom
feat/p7-skill-registration
Mar 25, 2026
Merged

POWERFULMOVES merged 2 commits into
mainfrom
feat/p7-skill-registration

Conversation

@POWERFULMOVES

@POWERFULMOVES POWERFULMOVES commented Mar 25, 2026

Copy link
Copy Markdown
Owner

Summary

  • Add SKILL.md for pmoves-services — P7 Agent Interpreter can discover and control 40+ Docker Compose services via natural language
  • Add SKILL.md for pmoves-remote — P7 discovers Headscale VPN mesh + RustDesk fleet access
  • Phase 6 of P7 TAC tree (SKILL.md Registration)
  • Follows existing SKILL.md format from cipher-beats and holographic-blocks

Test plan

  • YAML frontmatter parses: python -c "import yaml; yaml.safe_load(open('...SKILL.md').read().split('---')[1])"
  • P7 Agent Interpreter discovers pmoves-services on Z890
  • Trigger phrases work: "start the agents", "show service status"

🤖 Generated with Claude Code

Summary by CodeRabbit

Release Notes

  • Documentation
    • Added documentation for PMOVES Remote Access skill with capabilities for mesh status, connections, and node management.
    • Added documentation for PMOVES Services Control Center orchestration agent featuring Docker Compose management and service orchestration guidance.
    • Updated agent completion status documentation.

P7 Agent Interpreter discovery for two Pinokio apps:

- pmoves-services: 4 Docker Compose profiles (core, voice, monitoring,
  external), status/stop/reset/update. 40+ microservices. Trigger phrases
  for natural language service control.

- pmoves-remote: Headscale VPN mesh + RustDesk remote desktop. Fleet
  node inventory (Z890, 5090, 4090, Jetsons). Cross-machine routing.

Phase 6 of P7 TAC tree (SKILL.md Registration).

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
@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.

@coderabbitai

coderabbitai Bot commented Mar 25, 2026

Copy link
Copy Markdown
Contributor
📝 Walkthrough

Walkthrough

This pull request introduces two new Pinokio agent skill documentation files defining the PMOVES Remote Access and PMOVES Services Control Center orchestration interfaces, along with an agent note log update recording a completed infrastructure session for the Z890-CLAUDE scope.

Changes

Cohort / File(s) Summary
Pinokio Agent Skills
pbnj/pinokio/api/pmoves-remote/SKILL.md, pbnj/pinokio/api/pmoves-services/SKILL.md
Added two new agent skill documentation files defining PMOVES Remote Access and Services Control Center metadata, capabilities mapping, trigger phrases, fleet nodes, endpoints, and operational prerequisites.
Agent Documentation Log
pmoves/docs/AGENTS/AGNOTE4482PHI.t1.md
Appended a new RELEASE entry for Z890-CLAUDE scope recording completion of a full infrastructure session including 10 PR merges, service activations, and deployment fixes.

Estimated code review effort

🎯 1 (Trivial) | ⏱️ ~5 minutes

Possibly related PRs

Poem

🐰 Hoppy agent guides have arrived,
Remote access and services thrived!
With skills now mapped and nodes well-known,
The infrastructure seeds are sown!

🚥 Pre-merge checks | ✅ 2 | ❌ 1

❌ Failed checks (1 warning)

Check name Status Explanation Resolution
Description check ⚠️ Warning The description includes a clear summary section but is missing the required Testing section with documented test commands and results, and does not include the Required Checks checklist section. Add a properly formatted Testing section with executed test commands and their outputs, and include the Required Checks checklist with appropriate items checked or noted.
✅ Passed checks (2 passed)
Check name Status Explanation
Title check ✅ Passed The title accurately summarizes the main changes: adding SKILL.md registration files for two Pinokio/P7 agents (pmoves-services and pmoves-remote), which is the primary content of the changeset.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch feat/p7-skill-registration

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

…rhaul

AGNOTE4482 RELEASE entry for z890-claude 2026-03-24/25 session:
- 10 PRs merged, 3 open (DHI, P7 SKILL.md, embeddings)
- C: 4.4GB→195GB (Docker vhdx moved to D:)
- GHCR 403 fixed, publisher-discord published, Firefly activated
- 44 DHI Dockerfile migrations, GitHub App TAC, Jetson TAC
- Hardened branch reconciliation, W6 roadmap

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

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Actionable comments posted: 5

🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.

Inline comments:
In `@pbnj/pinokio/api/pmoves-remote/SKILL.md`:
- Around line 35-44: The SKILL.md trigger table advertises actions that have no
runtime handlers; update the documentation or add mappings/scripts to match
actual runtime: either remove or narrow entries like "connect to 5090", "connect
to z890", and "list all nodes" in SKILL.md, or implement corresponding handlers
and register them in pbnj/pinokio/api/pmoves-remote/pinokio.js (the launcher
that currently exposes start.js, status.js, install.js) and add backing scripts
(e.g., connect-5090.js, connect-z890.js, list-nodes.js) to the remote launcher
so the phrases map to real functions. Ensure pinokio.js exports or routes those
new handlers with the same trigger phrases so docs and runtime are consistent.
- Line 63: Update the Headscale port mentioned in SKILL.md from 8181 to 8096 so
it matches the actual Headscale listen_addr; edit the single line referencing
the "Headscale control plane" in SKILL.md to show port 8096 and ensure the doc
text aligns with the Headscale config's listen_addr value.

In `@pbnj/pinokio/api/pmoves-services/SKILL.md`:
- Around line 56-93: The SKILL.md changes add/modify service ports and health
endpoints (e.g., Agent Zero, Hi-RAG v2, Flute-Gateway, Publisher-Discord) but
you did not update the canonical context docs; update
.claude/context/services-catalog.md to include the same service entries, port
numbers and health endpoints from SKILL.md (match exact names: "Agent Zero",
"Archon", "Extract Worker", "Hi-RAG v2", "Flute-Gateway", etc.), and update
.claude/context/nats-subjects.md to reflect any NATS subjects/announcer topology
introduced (e.g., Mesh Agent node announcer interval) so the operator
source-of-truth stays in sync with the SKILL.md changes.
- Line 59: Update the Agent Zero URL in SKILL.md from http://localhost:8080 to
http://localhost:8081 to match the launcher configuration; locate the Agent Zero
entry in SKILL.md and replace the port so the doc aligns with the runtime value
set via local.set (the launcher’s local configuration for Agent Zero).

In `@pmoves/docs/AGENTS/AGNOTE4482PHI.t1.md`:
- Line 97: The RELEASE line for `2026-03-25T01:30:00Z RELEASE Z890-CLAUDE` in
AGNOTE4482PHI.t1.md is missing the required CHIT handoff payload reference;
update the release entry (the RELEASE line for Z890-CLAUDE / AGNOTE4482) to
append a CHIT payload reference block that includes the required fields:
graphiti_mark, branch, pr_numbers, scope, risks, next_actions,
chit_artifact_path, and agent_signature, following the PHI collision-avoidance
protocol (include a CLAIM entry/update progress if missing, then publish the
CHIT payload reference, then finish with the RELEASE entry).

ℹ️ Review info
⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: CHILL

Plan: Pro

Run ID: 7157f935-94d7-465f-a200-b0684cde2321

📥 Commits

Reviewing files that changed from the base of the PR and between 2b62e40 and a2b3d70.

📒 Files selected for processing (3)
  • pbnj/pinokio/api/pmoves-remote/SKILL.md
  • pbnj/pinokio/api/pmoves-services/SKILL.md
  • pmoves/docs/AGENTS/AGNOTE4482PHI.t1.md

Comment on lines +35 to +44
## Trigger Phrases (Pinokio 7 Interpreter)

| Phrase | Action |
|--------|--------|
| `"show mesh status"` | Display Tailscale node connectivity |
| `"connect to 5090"` | Open RustDesk to POWERFULMOVES node |
| `"connect to z890"` | Open RustDesk to Z890 node |
| `"list all nodes"` | Display fleet inventory |
| `"check vpn health"` | Verify Headscale control plane |

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

⚠️ Potential issue | 🟠 Major

Trigger phrases advertise actions without mapped runtime handlers.

This table claims actionable phrases like "connect to 5090" and "list all nodes", but the current remote launcher wiring only exposes start.js, status.js, and install.js (pbnj/pinokio/api/pmoves-remote/pinokio.js). Either add backing scripts/mappings or narrow this table to implemented actions.

🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@pbnj/pinokio/api/pmoves-remote/SKILL.md` around lines 35 - 44, The SKILL.md
trigger table advertises actions that have no runtime handlers; update the
documentation or add mappings/scripts to match actual runtime: either remove or
narrow entries like "connect to 5090", "connect to z890", and "list all nodes"
in SKILL.md, or implement corresponding handlers and register them in
pbnj/pinokio/api/pmoves-remote/pinokio.js (the launcher that currently exposes
start.js, status.js, install.js) and add backing scripts (e.g., connect-5090.js,
connect-z890.js, list-nodes.js) to the remote launcher so the phrases map to
real functions. Ensure pinokio.js exports or routes those new handlers with the
same trigger phrases so docs and runtime are consistent.


- Tailscale or Headscale client installed on each node
- RustDesk server running (self-hosted or relay)
- Headscale control plane at port 8181

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

⚠️ Potential issue | 🟠 Major

Correct Headscale control-plane port.

Line 63 says port 8181, but current Headscale config listens on 8096 (pmoves/config/headscale/config.yaml, listen_addr). This prerequisite is currently incorrect.

Proposed doc fix
-- Headscale control plane at port 8181
+- Headscale control plane at port 8096
📝 Committable suggestion

‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.

Suggested change
- Headscale control plane at port 8181
- Headscale control plane at port 8096
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@pbnj/pinokio/api/pmoves-remote/SKILL.md` at line 63, Update the Headscale
port mentioned in SKILL.md from 8181 to 8096 so it matches the actual Headscale
listen_addr; edit the single line referencing the "Headscale control plane" in
SKILL.md to show port 8096 and ensure the doc text aligns with the Headscale
config's listen_addr value.

Comment on lines +56 to +93
## Service Profiles

### Core (Agents + Workers)
- **Agent Zero** — `http://localhost:8080` (orchestrator, MCP API)
- **Archon** — `http://localhost:8091` (Supabase agent service)
- **Mesh Agent** — Node announcer (NATS every 15s)
- **Extract Worker** — `http://localhost:8083` (text embedding + indexing)
- **Hi-RAG v2** — `http://localhost:8086` (hybrid retrieval)

### Voice
- **Flute-Gateway** — `http://localhost:8055` (prosodic voice synthesis)
- **Ultimate-TTS-Studio** — `http://localhost:7860` (14-engine TTS)
- **Cast-TTS** — `http://localhost:8060` (Chromecast/Nest speaker TTS)

### Monitoring
- **Prometheus** — `http://localhost:9090` (metrics)
- **Grafana** — `http://localhost:3000` (dashboards)
- **Loki** — `http://localhost:3100` (log aggregation)

### External
- **Wger (Health)** — `http://localhost:8000` (fitness tracking)
- **Firefly III (Wealth)** — `http://localhost:8075` (finance management)
- **Jellyfin** — Media server

---

## Health Checks

```bash
# Quick check all core services
curl http://localhost:8080/healthz # Agent Zero
curl http://localhost:8086/ # Hi-RAG v2
curl http://localhost:8094/healthz # Publisher-Discord
curl http://localhost:8055/healthz # Flute-Gateway

# Full verification
make -C pmoves verify-all
```

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

⚠️ Potential issue | 🟠 Major

Sync service/health topology docs with canonical context files.

This file adds/changes service ports and health endpoints, but the PR does not include corresponding updates to .claude/context/services-catalog.md and .claude/context/nats-subjects.md, which creates drift in the operator source-of-truth.

As per coding guidelines, "Document NATS event topology in .claude/context/nats-subjects.md and maintain services catalog with port assignments and health endpoints in .claude/context/services-catalog.md."

🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@pbnj/pinokio/api/pmoves-services/SKILL.md` around lines 56 - 93, The SKILL.md
changes add/modify service ports and health endpoints (e.g., Agent Zero, Hi-RAG
v2, Flute-Gateway, Publisher-Discord) but you did not update the canonical
context docs; update .claude/context/services-catalog.md to include the same
service entries, port numbers and health endpoints from SKILL.md (match exact
names: "Agent Zero", "Archon", "Extract Worker", "Hi-RAG v2", "Flute-Gateway",
etc.), and update .claude/context/nats-subjects.md to reflect any NATS
subjects/announcer topology introduced (e.g., Mesh Agent node announcer
interval) so the operator source-of-truth stays in sync with the SKILL.md
changes.

## Service Profiles

### Core (Agents + Workers)
- **Agent Zero** — `http://localhost:8080` (orchestrator, MCP API)

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

⚠️ Potential issue | 🟠 Major

Fix Agent Zero port mismatch in docs.

Line 59 lists http://localhost:8080, but the launcher sets Agent Zero UI to http://localhost:8081 (pbnj/pinokio/api/pmoves-services/start-core.js, local.set). This will misroute operators.

Proposed doc fix
-- **Agent Zero** — `http://localhost:8080` (orchestrator, MCP API)
+- **Agent Zero** — `http://localhost:8081` (orchestrator, MCP API)
📝 Committable suggestion

‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.

Suggested change
- **Agent Zero**`http://localhost:8080` (orchestrator, MCP API)
- **Agent Zero**`http://localhost:8081` (orchestrator, MCP API)
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@pbnj/pinokio/api/pmoves-services/SKILL.md` at line 59, Update the Agent Zero
URL in SKILL.md from http://localhost:8080 to http://localhost:8081 to match the
launcher configuration; locate the Agent Zero entry in SKILL.md and replace the
port so the doc aligns with the runtime value set via local.set (the launcher’s
local configuration for Agent Zero).


- `2026-03-23T23:25:00Z` CLAIM `Z890-CLAUDE` scope: Discord infrastructure — publisher-discord container rebuild from feat/discord-publisher-mcp (MCP shim + REST read endpoint). Fixed missing requirements.lock (replaced shim with direct deps). Fixed SSL_CERT_FILE Windows→Linux container leak (added neutralization to docker-compose.yml). Added DISCORD_BOT_TOKEN + DISCORD_WEBHOOK_URL env pass-through. MCP tools/list + tools/call validated. REST /channels/:id/messages validated. discord_read.py CLI validated (feat/discord-read-tool branch). Bot returns 403 — needs channel invite for 1394743475349622905. 2 stale branches deleted (feat/tts-service-runners-prosodic-ear, fix/coderabbit-review-sweep-1066-1069). W3 Discord Classrooms unblocked pending bot permissions.

- `2026-03-25T01:30:00Z` RELEASE `Z890-CLAUDE` scope: Full infrastructure session. 10 PRs merged (#1073-1083). Docker disk move C:→D: (4.4GB→195GB free). GHCR push 403 root-caused and fixed (permission-packages:write, PR #1083). Publisher-discord published to GHCR. Firefly III activated (port 8075). CI runner stabilized (PAT auth, persistent). 44 Dockerfiles migrated to DHI base images (PR #1084). P7 SKILL.md registration for services launcher + remote access (PR #1085). GitHub App TAC tree + runner 3-tier auth (PR #1080). Jetson Orin TAC + hardware profile (PR #1080). Hardened branch reconciliation (44-submodule gap analysis, PR #1080). W6 Life+Persona+Matrix roadmap written on AGNOTE4482. Pinokio 40GB crash-loop log identified (procs.js V8 RangeError) and truncated. 7 credential types audited. 3 memories updated. Handoff: #1084 (DHI) + #1085 (P7 SKILL.md) ready for review. GHCR build run dispatched. 5090 trimming #1082 in worktree.

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

⚠️ Potential issue | 🟠 Major

Add CHIT handoff payload reference to this release entry.

The new release line logs handoff readiness but does not include a CHIT payload reference with required handoff fields (graphiti_mark, branch, pr_numbers, scope, risks, next_actions, chit_artifact_path, agent_signature).

As per coding guidelines, "follow the PHI collision-avoidance protocol: write a CLAIM entry, update progress ... publish a CHIT payload reference for handoff ... and finish with a RELEASE entry."

🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@pmoves/docs/AGENTS/AGNOTE4482PHI.t1.md` at line 97, The RELEASE line for
`2026-03-25T01:30:00Z RELEASE Z890-CLAUDE` in AGNOTE4482PHI.t1.md is missing the
required CHIT handoff payload reference; update the release entry (the RELEASE
line for Z890-CLAUDE / AGNOTE4482) to append a CHIT payload reference block that
includes the required fields: graphiti_mark, branch, pr_numbers, scope, risks,
next_actions, chit_artifact_path, and agent_signature, following the PHI
collision-avoidance protocol (include a CLAIM entry/update progress if missing,
then publish the CHIT payload reference, then finish with the RELEASE entry).

@POWERFULMOVES
POWERFULMOVES merged commit 87fdc99 into main Mar 25, 2026
2 checks passed
@POWERFULMOVES
POWERFULMOVES deleted the feat/p7-skill-registration branch March 25, 2026 01:27
POWERFULMOVES added a commit that referenced this pull request Mar 25, 2026
Step 9 continuation: z890 PR review (PR #1084 DHI migration clean,
PR #1085 SKILL.md registration clean), Model Registry SKILL.md shipped,
updated remaining P7 Phase 7 nodes table.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
POWERFULMOVES added a commit that referenced this pull request Mar 25, 2026
Three Phase 6 nodes were effectively shipped but still marked pending:
- p7.skillmd.format: self-evident from 5 existing SKILL.md files
- p7.skillmd.services: shipped in PR #1085 (pbnj/pinokio/api/pmoves-services/SKILL.md)
- p7.skillmd.tts: shipped at pmoves/docs/ARTSTUFF/Ultimate-TTS-Studio.git/SKILL.md

Phase 6 parent node also marked done. P7 now at 55% completion.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
POWERFULMOVES added a commit that referenced this pull request Mar 25, 2026
* feat(p7): add Model Registry SKILL.md for P7 Agent Interpreter discovery

Registers the PMOVES Model Registry (port 8110) as a P7-discoverable
service with 10 trigger phrases covering model catalog queries, HuggingFace
enrichment, TensorZero config export, and GPU deployment tracking.

TAC node p7.nats.model-discovery: pending → done.

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

* docs(agents): model-discovery done + z890 PR review notes

Step 9 continuation: z890 PR review (PR #1084 DHI migration clean,
PR #1085 SKILL.md registration clean), Model Registry SKILL.md shipped,
updated remaining P7 Phase 7 nodes table.

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

* docs(tac): mark P7 Phase 6 SKILL.md nodes as done (8/20 → 11/20)

Three Phase 6 nodes were effectively shipped but still marked pending:
- p7.skillmd.format: self-evident from 5 existing SKILL.md files
- p7.skillmd.services: shipped in PR #1085 (pbnj/pinokio/api/pmoves-services/SKILL.md)
- p7.skillmd.tts: shipped at pmoves/docs/ARTSTUFF/Ultimate-TTS-Studio.git/SKILL.md

Phase 6 parent node also marked done. P7 now at 55% completion.

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

---------

Co-authored-by: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
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.

1 participant