Skip to content

Mobile Skill Market Parity, Workflow Selling, and Plugin NFT Plumbing#56

Open
mega123-art wants to merge 8 commits into
mainfrom
mobile-skill-market-parity
Open

Mobile Skill Market Parity, Workflow Selling, and Plugin NFT Plumbing#56
mega123-art wants to merge 8 commits into
mainfrom
mobile-skill-market-parity

Conversation

@mega123-art

Copy link
Copy Markdown
Contributor

PR Description: Mobile Skill Market Parity, Workflow Selling, and Plugin NFT Plumbing

This Pull Request brings full mobile webview parity for skill management (removing/re-equipping), enables workflow selling from the marketplace screen, improves agent passive skill awareness, and merges the on-chain plugin installation plumbing.


Key Features

1. Mobile Skill Market Parity (Equip / Dispose)

  • State Integration: Wired up the marketDisposed state record in the webview store to sync with SSE server payloads.
  • UI Parity:
    • Faded cards representing un-equipped (disposed) skills with a dashed border and an "un-equipped" badge in the catalog grid.
    • Added "Remove Skill" and "Re-equip Skill" buttons to the SkillDetailView footer with direct RPC message triggers (disposeSkill / reEquipSkill).

2. Workflow Selling

  • Publish Parsing: Added dynamic frontmatter parsing to the publishSkill RPC callback. If a publish input contains type: workflow, it automatically parses prerequisites (requiredSkills) and delegates the minting to publishWorkflow instead of publishSkill.

3. Agent Skill Awareness

  • Instruction Mapping: Updated updateSkillsSection to pass the correct active runtime engine (Claude vs Codex).
  • Paths & Prompts: Guide agents with precise path mappings (~/.claude/skills/ or ~/.codex/skills/) and instructions on using standard file tools (like view_file on SKILL.md) to read skill bodies.

4. Plugin NFT Collection & Installation Support (Merged)

  • NFT Collection Plumbing: Integrated collection schemas and DAS/Indexer mapping logic for plugin NFTs.
  • Engine-specific Installation: Resolves plugin manifests and implements automated installation for the target engine (Claude/Codex).
  • Detail View & Installs: Exposes plugin installation action triggers in SkillDetailView.

Merge Resolution & Integration

During the merge of plugin-nft-collection-plumbing into mobile-skill-market-parity, we resolved conflicts in:

  • protocol.ts: Combined schemas for client-side messages (disposeSkill, reEquipSkill, installPlugin) and server responses (disposeResult, reEquipResult, pluginInstallResult).
  • store.tsx: Merged reducer handlers to support both skill status changes and plugin installation alerts.
  • SkillDetailView.tsx: Integrated the button layout so that skills, workflows, and plugins conditionally render the correct footer options (Buy, Remove, Re-equip, Install) based on state flags.
  • index.ts (localhost): Integrated the installPlugin handler straight into createChatSession's environment callbacks, keeping it clean, unified, and consistent with VS Code extension routing.

Verification

1. Automated Tests

All 188 unit tests across 29 suites inside packages/core pass successfully:

Test Files  29 passed (29)
Tests       188 passed (188)

2. Build Validation

Verified clean builds across all project packages:

  • pnpm --filter agentnet-webview build (Vite) — Succeeded
  • pnpm --filter agentnet-localhost build (Tsup) — Succeeded
  • pnpm --filter agentnet-cli build (Tsup) — Succeeded
  • pnpm --filter agentnet-vscode build (Tsup) — Succeeded

…ing, enhance skill detail view with required skills, and update state management for new actions.
- Introduced `installPlugin` request and `pluginInstallResult` event in market messages for plugin management.
- Enhanced `ChatEnv` interface to include `installPlugin` method.
- Implemented plugin installation logic in the chat session and webview components.
- Added UI elements for installing plugins, including checks for engine compatibility and manifest validation.
- Created `pluginInstall` module to handle the execution of plugin installation commands for Codex and Claude engines.
- Added tests for plugin installation guards to ensure proper handling of missing metadata and unsupported engines.
- Updated documentation to reflect new plugin installation features and requirements.
@zo-sol

zo-sol commented Jun 20, 2026

Copy link
Copy Markdown
Collaborator

Thanks @mega123-art — solid work here. Before merging I'd like to split this into smaller, independently-mergeable PRs so the finished pieces can land now without waiting on the on-chain plugin work. Looking at the diff, this PR actually bundles four separate concerns:

✅ Ready / self-contained — please split into their own PR(s)

  1. Mobile skill dispose / re-equip parity — store marketDisposed sync, SkillDetailView Remove/Re-equip buttons, disposeSkill / reEquipSkill protocol messages.
  2. Workflow sellingpublishSkill frontmatter parsing that delegates type: workflow to publishWorkflow.
  3. (minor) Agent passive skill-awareness prompt/path updates (skillsSection, ingest/env).

These look complete and I'd like each (1 and 2 especially) as its own PR, rebased on main so it's independently mergeable.

⛔ Not ready — please pull out and scope separately

  1. Plugin NFT collection + install plumbing. Right now PLUGINS_COLLECTION_MINT is an empty placeholder and plans/plugin-nft.md explicitly defers minting / publishing / local install, so this can't work end-to-end yet. Two dependencies need to be investigated and scoped before any plugin PR is mergeable:

    • Plugin NFT minting / publishing (no mint or publish path exists yet).
    • IQ Git SDK → git PDA publishing for plugin provenance (plan step 4 — not implemented).

    Please move all plugin-NFT changes into a separate WIP/draft PR and dig into those two items.

What I'll handle on my side

  • The mobile skill-market black screen / crash on entering the market (this PR doesn't touch it).
  • Broader VSCode → mobile parity: browse / buy / comment, agent list, agent skill-shopping, and in-UI skill creation (works in VSCode, missing on mobile).
  • Adding the plugin NFT collection to the on-chain (Rust) program — I'll mint the plugins umbrella collection and report the collection pubkey back here so the PLUGINS_COLLECTION_MINT placeholder can be filled.

Nothing implemented here is lost — once the on-chain collection + publish path exist, we'll cherry-pick the plugin work from this branch. For now let's get the dispose/re-equip and workflow-selling PRs in cleanly. 🙏

@mega123-art

Copy link
Copy Markdown
Contributor Author

Split the ready pieces out of this bundled PR:

Plugin NFT collection/install work is left out of those PRs and can stay WIP/draft until the plugin collection minting/publishing + IQ Git PDA provenance pieces are scoped.

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