npx claudepluginhub shakestzd/htmlgraphThis skill uses the workspace's default tool permissions.
> **DEPRECATED:** This skill is replaced by the `copilot-operator` agent.
Provides Ktor server patterns for routing DSL, plugins (auth, CORS, serialization), Koin DI, WebSockets, services, and testApplication testing.
Conducts multi-source web research with firecrawl and exa MCPs: searches, scrapes pages, synthesizes cited reports. For deep dives, competitive analysis, tech evaluations, or due diligence.
Provides demand forecasting, safety stock optimization, replenishment planning, and promotional lift estimation for multi-location retailers managing 300-800 SKUs.
DEPRECATED: This skill is replaced by the
copilot-operatoragent. UseAgent(subagent_type="htmlgraph:copilot-operator", prompt="...")instead. The copilot-operator agent tries Copilot CLI first with hook-based compliance verification.
โ ๏ธ IMPORTANT: This skill provides TWO EXECUTION PATTERNS
This skill teaches HOW to use both. See "EXECUTION PATTERNS" below for when to use each.
CopilotSpawner is the HtmlGraph-integrated way to invoke external CLIs (Copilot, Gemini, Codex) with full parent event context and subprocess tracking.
Key distinction: CopilotSpawner is invoked directly via Python SDK - NOT wrapped in Task(). Task() is only for Claude subagents (Haiku, Sonnet, Opus).
Instead of running CLI commands directly (which creates "black boxes"), CopilotSpawner:
Use CopilotSpawner when:
Use Bash directly when:
Use the htmlgraph:copilot-operator agent โ it tries Copilot CLI first, then falls back to direct git/gh commands:
# PRIMARY: Delegate to copilot-operator agent
Task(
subagent_type="htmlgraph:copilot-operator",
prompt="Recommend next semantic version and git workflow commands",
)
| Parameter | Type | Required | Description |
|---|---|---|---|
prompt | str | โ | Task description for Copilot |
track_in_htmlgraph | bool | โ | Enable SDK activity tracking (default: True) |
tracker | SpawnerEventTracker | โ | Tracker instance for subprocess events |
parent_event_id | str | โ | Parent event ID for event hierarchy |
allow_tools | list[str] | โ | Tools to auto-approve (e.g., ["shell(git)"]) |
allow_all_tools | bool | โ | Auto-approve all tools (default: False) |
deny_tools | list[str] | โ | Tools to deny |
timeout | int | โ | Max seconds to wait (default: 120) |
With CopilotSpawner, you get this event hierarchy in HtmlGraph:
UserQuery Event (from UserPromptSubmit hook)
โโโ Task Delegation Event (from PreToolUse hook)
โโโ CopilotSpawner Start (activity tracking)
โโโ Subprocess Invocation (subprocess event)
โ โโโ subprocess.copilot tool call
โโโ CopilotSpawner Result (activity tracking)
โโโ All activities linked with parent_event_id
This provides complete observability - no "black boxes" for external tool execution.
Task(
subagent_type="htmlgraph:copilot-operator",
prompt="""HtmlGraph project status:
- Completed CLI module refactoring (all tests passing)
- Completed skill documentation clarification
- Completed spawner architecture modularization
- Current version: ~0.26.x
Please recommend:
1. Next semantic version (MAJOR.MINOR.PATCH)
2. Version update git workflow including all necessary files
3. Tag and push commands"""
)
The htmlgraph:copilot-operator agent handles the fallback automatically:
No manual fallback code needed โ just delegate to the agent.
Why fallback to Task()?
Pattern Summary:
GitHub CLI (gh) is a command-line tool for GitHub operations:
Works in your terminal with the gh command.
CRITICAL DISTINCTION:
| What | Description |
|---|---|
| This Skill | Documentation teaching HOW to use gh CLI |
| Bash Tool | ACTUAL execution of gh commands |
Workflow:
gh CLI syntax and options# Install GitHub CLI
# macOS
brew install gh
# Ubuntu/Debian
sudo apt update && sudo apt install gh
# Windows
choco install gh
# Authenticate with GitHub
gh auth login
# Verify installation
gh --version
โ ๏ธ To actually execute GitHub operations, use these commands via the Bash tool:
# Basic PR creation
gh pr create --title "Feature: Add authentication" --body "Implements JWT auth"
# PR with multiple options
gh pr create --title "Fix bug" --body "Description" --base main --head feature-branch
# Interactive PR creation
gh pr create --web
# Create issue
gh issue create --title "Bug: Login fails" --body "Steps to reproduce..."
# List issues
gh issue list --state open
# View issue
gh issue view 123
# Clone repository
gh repo clone owner/repo
# Fork repository
gh repo fork owner/repo --clone
# Create repository
gh repo create my-new-repo --public
# Check status and create commit
git add . && git commit -m "feat: add new feature"
# Push and create PR in one command
git push && gh pr create --fill
# View PR status
gh pr status
STEP 1: Read this skill to learn gh CLI syntax
# This loads the documentation (this file)
Skill(skill=".claude-plugin:copilot")
STEP 2: Execute commands via Bash tool
# This ACTUALLY creates a PR
Bash("gh pr create --title 'Feature' --body 'Description'")
# This ACTUALLY creates an issue
Bash("gh issue create --title 'Bug' --body 'Details'")
# This ACTUALLY clones a repo
Bash("gh repo clone user/repo")
What this skill does:
To execute: Use Bash tool with the commands shown in "EXECUTION" section.
# Create PR after committing changes
Bash("gh pr create --title 'Add feature X' --body 'Implements X with tests'")
# Create draft PR
Bash("gh pr create --draft --title 'WIP: Feature Y'")
# List your PRs
Bash("gh pr list --author @me")
# Merge PR
Bash("gh pr merge 123 --squash")
# Create bug report
Bash("gh issue create --title 'Bug: Auth fails' --body 'Steps: 1. Login 2. Error'")
# List open issues
Bash("gh issue list --state open")
# Close issue
Bash("gh issue close 456")
# Clone repo
Bash("gh repo clone anthropics/claude-code")
# Fork and clone
Bash("gh repo fork user/repo --clone")
# View repo details
Bash("gh repo view")
# Commit all changes and create PR
Bash("git add . && git commit -m 'feat: new feature' && git push && gh pr create --fill")
# Amend last commit and force push
Bash("git commit --amend --no-edit && git push --force-with-lease")
# Check PR status
Bash("gh pr status")
# List workflow runs
Bash("gh run list")
# View specific run
Bash("gh run view 123")
# Re-run failed jobs
Bash("gh run rerun 123 --failed")
gh CLI installedgh auth loginTrack GitHub operations:
# Create or update a feature to document PR creation
htmlgraph feature create "Authentication Feature PR"
# Note: PR created via gh CLI โ branch: feature/jwt-auth, status: ready for review
โ Use GitHub CLI (gh) for:
โ Don't use gh CLI for:
/gemini skill instead)gh pr create --fillgh pr status or gh issue list before creating new itemsgh auth login at start of sessiongit push && gh pr creategh pr create --web# 1. Create feature branch
Bash("git checkout -b feature/new-feature")
# 2. Make changes, commit
Bash("git add . && git commit -m 'feat: implement feature'")
# 3. Push and create PR
Bash("git push -u origin feature/new-feature && gh pr create --fill")
# 1. Create issue for bug
Bash("gh issue create --title 'Bug: Description' --body 'Steps to reproduce'")
# 2. Create branch from issue
Bash("git checkout -b fix/issue-123")
# 3. Fix, commit, and create PR
Bash("git add . && git commit -m 'fix: resolve issue #123' && gh pr create --fill")
# 1. Commit all changes
Bash("git add . && git commit -m 'feat: quick feature'")
# 2. Push and create PR in one command
Bash("git push && gh pr create --title 'Quick Feature' --body 'Description'")
/gemini - For exploring repository structure and large codebases/codex - For code generation and implementation/code-quality - For validating code quality before creating PRAvoid GitHub CLI for:
/gemini skill)Error: "gh: command not found"
Solution (via Bash):
# macOS
Bash("brew install gh")
# Verify
Bash("gh --version")
Error: "authentication required"
Solution (via Bash):
Bash("gh auth login")
# Follow prompts in terminal
Error: "permission denied to repository"
Solution (via Bash):
# Check authentication status
Bash("gh auth status")
# Re-authenticate if needed
Bash("gh auth login --force")
Bash("gh pr create --title 'Feature' --body 'Desc' --reviewer user1,user2 --label bug,enhancement")
Bash("gh issue create --template bug_report.md")
# Close multiple issues
Bash("gh issue list --state open --json number --jq '.[].number' | xargs -I {} gh issue close {}")
# Rebase and force push
Bash("git rebase main && git push --force-with-lease && gh pr ready")
# Squash commits and update PR
Bash("git rebase -i HEAD~3 && git push --force-with-lease")
| Feature | GitHub CLI (gh) | Description |
|---|---|---|
| Pull Requests | โ | Create, merge, review, comment |
| Issues | โ | Create, list, close, assign |
| Repositories | โ | Clone, fork, create, view |
| Authentication | โ | Login, status, token management |
| GitHub Actions | โ | List, view, re-run workflows |
| API Access | โ | Direct GitHub API calls via gh api |