feat: add operator guide and project skills discovery MCP tools (#128) #130
Reference in New Issue
Block a user
Delete Branch "feat/issue-128-operator-guide-skills"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Summary
Implements #128 (including the 2026-07-03 scope update): three read-only capability-discovery MCP tools so new LLM sessions get workflow/profile instructions and skill discovery from the server instead of long pasted operator prompts.
New tools
mcp_get_control_plane_guide(remote, host)— structured operator guide: active profile (name, allowed/forbidden operations, inferred role kind), authenticated identity (fail-soft; unresolved identity yields explicit STOP instructions), profile-aware guidance, and standing rules covering hard stops, fail-closed behavior, head-SHA pinning, merge confirmation (MERGE PR <n>), redaction/secrets, author/reviewer/merger separation, profile switching, and identity verification, plus common workflows and a pointer to the skills registry.prgs-author-style profiles: told authoring is allowed and review/approve/merge is forbidden.prgs-reviewer-style profiles: told review/merge proceeds only after eligibility checks pass and the head SHA is pinned, plus operator authorization for merge.mcp_list_project_skills()— registry of ten workflows: gitea-issue-authoring, gitea-pr-creation, gitea-pr-review, gitea-pr-merge, gitea-issue-comments, profile-switching, redaction-security-review, jenkins-readonly, glitchtip-readonly, release-operator. Each has description, when-to-use, required operations, status, per-profile availability. Jenkins/GlitchTip are listed asdesigned-not-implemented(report SKIPPED, never substitute shell/API); release workflows areoperator-only.mcp_get_skill_guide(skill_name)— step-by-step guide per skill (case-insensitive); unknown names fail closed with the valid-name list.Safety
GITEA_MCP_REVEAL_ENDPOINTS=1.Tests
tests/test_operator_guide.py— 17 new tests: author/reviewer profile-aware guidance, unresolved-identity STOP (fail closed), read-only proofs, redaction defaults + reveal opt-in, rules topic coverage, registry completeness/stability/profile-awareness, unimplemented-service marking, unknown-skill fail-closed, no-URL sweeps across all skill guides.Full suite: 498 passed, 6 skipped.
py_compileclean;git diff --checkclean; secret sweep clean (only guidance prose mentions the words token/keychain).Docs
docs/llm-workflow-runbooks.md: new-session callout — callmcp_get_control_plane_guidefirst, thenmcp_list_project_skills/mcp_get_skill_guide.Closes #128
View command line instructions
Checkout
From your project repository, check out a new branch and test the changes.