Skip to content

feat(advanced-workflows): pilot ticket-triage-agent as a vendor-generic skill - #233

Open
asachs01 wants to merge 11 commits into
mainfrom
feat/advanced-workflows-skills
Open

feat(advanced-workflows): pilot ticket-triage-agent as a vendor-generic skill#233
asachs01 wants to merge 11 commits into
mainfrom
feat/advanced-workflows-skills

Conversation

@asachs01

@asachs01 asachs01 commented Sep 2, 2026

Copy link
Copy Markdown
Collaborator

Summary

  • New advanced-workflows plugin: psa-tool-map, chat-delivery-adapters, and ticket-triage-agent skills.
  • Ticket triage adapts to Autotask, HaloPSA, or ConnectWise PSA (all three curated with real, verified tool names from each plugin's GOVERNANCE.md), and to Slack or IT Glue delivery (Microsoft Teams explicitly marked blocked/phase-2, matching Conduit's current support).
  • Pilot for a larger conversion of all remaining Advanced Workflows into vendor-generic skills — see wyre-technology/conduit docs/superpowers/specs/2026-09-01-generic-advanced-workflow-skills-design.md and docs/superpowers/plans/2026-09-01-generic-advanced-workflow-skills.md.
  • Plugin is nested at msp-claude-plugins/advanced-workflows/advanced-workflows/, matching every other plugin's <vendor>/<vendor> convention.

Test plan

  • npx tsx scripts/validate-skill-md.ts passes on all 3 SKILL.md files (green/green/yellow grades — yellow is expected for skills documenting mutating tool names, not a blocker)
  • npm run generate && npm run build succeeds in docs/ (162 pages, no errors)
  • node scripts/check-marketplace-drift.mjs --base main passes
  • Reviewer: confirm ConnectWise PSA tool names (connectwise-psa__cw_*) look right against connectwise/manage/GOVERNANCE.md

View with [code]smith Autofix with [code]smith
Need help on this PR? Tag @codesmith-bot with what you need. Autofix is disabled.

…ool-map

Found real, registered tool names in connectwise/manage/GOVERNANCE.md's
VENDOR_TOOL_CONFIG listing (slug connectwise-psa) after the original
search only checked for the double-underscore naming pattern borrowed
from Autotask/HaloPSA and missed GOVERNANCE.md's cw_-prefixed names.
Replaces 'not yet verified' placeholders with connectwise-psa__cw_*
tool names and adds ConnectWise-specific gotchas (note visibility
default, sole closure route requiring human approval, closure
ordering, shared rate limit).
…ked blocked

IT Glue tool names corrected to the unprefixed form (search_documents,
create_document, update_document_section) per kaseya/it-glue/GOVERNANCE.md,
which is authoritative and contradicts the itglue__-prefixed names in
Conduit's docs. Also added publish_document to the IT Glue adapter since
GOVERNANCE.md flags unpublished section edits as invisible to a human,
which the adapter's stated purpose (deliver to a human) depends on.
…ool names

Prior commit f2f9ce9 dropped the itglue__ vendor prefix, reading
kaseya/it-glue/GOVERNANCE.md's bare classification-table keys
(create_document, etc.) as the servable tool name. That table is an
internal VENDOR_TOOL_CONFIG permission-tier lookup, not the wire-format
name — Conduit's unified-router.ts prefixes every served tool with
{vendor}__ unconditionally and rejects any inbound call without a __
separator. Restores itglue__search_documents, itglue__create_document,
itglue__update_document_section, itglue__publish_document, and corrects
the in-body note that previously told editors not to add a prefix.
…agent

Task 3's _workflow-skill-template.md mandates a Source section citing
agent-routine-catalog.astro provenance, right after 'What this does'.
The Task 6 brief omitted it. Cites the ticket-dispatcher agent
(autotask, Archetype B, 'the canonical archetype-B fit') plus the
equivalent service-desk-ops agents the catalog lists for halopsa and
connectwise-psa -- the same three PSAs psa-tool-map curates.
Add plugin.json and README.md for the advanced-workflows plugin, add
its marketplace.json entry (new "automation" category), and regenerate
the docs site's generated data. Also fixes docs/scripts/generate-plugins.ts's
path derivation (derivePath/deriveVendor/pluginDir), which assumed every
plugin nests under msp-claude-plugins/ — advanced-workflows is the first
plugin family to live at the repo root instead. Verified byte-identical
output for all 82 pre-existing plugin entries.
…t>/msp-claude-plugins/<vendor>/<vendor> nesting convention

The advanced-workflows plugin (Task 3's templates, Tasks 4-6's three
skills, Task 7's plugin.json/README) was placed one level too shallow,
at <checkout-root>/advanced-workflows/advanced-workflows/ instead of
nested under msp-claude-plugins/ like every other plugin in this repo
(verified against halopsa, kaseya, etc.). That was a plan-authoring
mistake, not a deliberate new pattern.

- git mv the whole tree to
  msp-claude-plugins/advanced-workflows/advanced-workflows/ and remove
  the now-empty <checkout-root>/advanced-workflows/ parent.
- Revert docs/scripts/generate-plugins.ts's Task 7 special-casing
  entirely (confirmed byte-identical to the pre-Task-7 commit) — once
  correctly nested, the plugin needs no generator changes at all.
- Update marketplace.json's advanced-workflows entry source to
  ./msp-claude-plugins/advanced-workflows/advanced-workflows.

Re-ran npm run generate (plugin + all 3 skills resolve correctly, and
regenerated plugins.ts/og-image.png are byte-identical to before this
fix — the two approaches converged on the same output, just one via
the canonical mechanism), npm run build (162 pages, no errors), and
the marketplace drift check (passed, 84 entries). All three green.
check-doc-references.mjs flags a slug-shaped name that isn't the skill's
canonical <plugin>-<skill> id as a second, colliding id. Switch to prose
titles (matching the msp-plugin-development convention's own worked
example) rather than the compound canonical id — Conduit's own ingest
overwrites frontmatter.name with the directory slug regardless, so this
is purely this repo's own doc-reference-integrity concern.
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