From ac-tools
Creates GitHub issues in WaterplanAI/agentic-config repo for bugs and feature requests using GitHub CLI. Handles templates, explicit args, or extracts from conversation context. Invoke via /ac-issue.
npx claudepluginhub waterplanai/agentic-config --plugin ac-toolsThis skill is limited to using the following tools:
Creates GitHub issues in the central agentic-config repository (WaterplanAI/agentic-config) for bug reports and feature requests.
Creates GitHub or GitLab issues with code references, media attachments, labels, and session context. Auto-detects repo from git remote for bug reports or feature requests.
Creates and manages GitHub issues for bugs, features, and tasks with enforced quality standards like reproducibility steps, acceptance criteria, and severity assessment.
Transforms error logs, screenshots, voice notes, and rough bug reports into structured GitHub issues with repro steps, environment details, impact severity, and evidence references.
Share bugs, ideas, or general feedback.
Creates GitHub issues in the central agentic-config repository (WaterplanAI/agentic-config) for bug reports and feature requests.
/ac-issue # Context-based: extract from conversation
/ac-issue "Title" "Description" # Explicit: user provides details
/ac-issue --bug "Title" # Bug report with template
/ac-issue --feature "Title" # Feature request with template
Target Repository: WaterplanAI/agentic-config
INSTRUCTION: Verify GitHub CLI authentication before any other operation.
# Check if gh CLI is installed
if ! command -v gh &>/dev/null; then
echo "ERROR: GitHub CLI (gh) not found"
echo ""
echo "Please install GitHub CLI: https://cli.github.com/"
exit 1
fi
echo "Checking GitHub CLI authentication..."
GH_AUTH_OUTPUT=$(gh auth status 2>&1)
GH_AUTH_STATUS=$?
if [ $GH_AUTH_STATUS -ne 0 ]; then
echo "ERROR: GitHub CLI not authenticated"
echo ""
echo "$GH_AUTH_OUTPUT"
echo ""
echo "Please authenticate with: gh auth login"
exit 1
fi
echo "$GH_AUTH_OUTPUT"
echo ""
echo "Authentication verified."
Validation Logic:
gh auth status and capture exit codegh auth login instructionINSTRUCTION: Parse arguments to determine input mode.
Arguments: $ARGUMENTS
Mode Detection Logic:
| Input Pattern | Mode | Action |
|---|---|---|
| Empty/no args | Context Mode | Extract from recent conversation |
--bug "Title" | Bug Template | Use bug report template with provided title |
--feature "Title" | Feature Template | Use feature request template with provided title |
"Title" "Description" | Explicit Mode | Use provided title and description |
"Title" only | Explicit Mode | Use title, prompt for description |
Parsing Examples:
$ARGUMENTS = "" -> Context Mode
$ARGUMENTS = "--bug \"Auth fails\"" -> Bug Template, title="Auth fails"
$ARGUMENTS = "--feature \"Add X\"" -> Feature Template, title="Add X"
$ARGUMENTS = "\"Title\" \"Body text\"" -> Explicit, title="Title", body="Body text"
INSTRUCTION: If no arguments provided, analyze recent conversation for issue details.
Context Extraction Heuristics:
Search recent messages for error patterns:
Error:, ERROR:, Exception:, failed, unexpectedat , File ", traceback patternsexit code, returned non-zeroExtract reproduction context:
Identify expected vs actual behavior:
If Context Found:
If No Context Found:
No issue context detected in recent conversation.
Please provide issue details:
/ac-issue "Title" "Description"
Or specify type:
/ac-issue --bug "Brief description of the bug"
/ac-issue --feature "Brief description of the feature"
INSTRUCTION: Gather safe environment information for issue context.
# Collect environment info (sanitized)
ENV_OS=$(uname -s 2>/dev/null || echo "Unknown")
ENV_OS_VERSION=$(uname -r 2>/dev/null || echo "Unknown")
ENV_SHELL=$(basename "$SHELL" 2>/dev/null || echo "Unknown")
ENV_GIT_VERSION=$(git --version 2>/dev/null | cut -d' ' -f3 || echo "Unknown")
ENV_BRANCH=$(git branch --show-current 2>/dev/null || echo "N/A")
# Get agentic-config version from plugin.json
if [ -d "${CLAUDE_PLUGIN_ROOT}" ]; then
# Read version from plugin.json if available
ENV_AGENTIC_VERSION=$(python3 -c "import json; print(json.load(open('${CLAUDE_PLUGIN_ROOT}/.claude-plugin/plugin.json'))['version'])" 2>/dev/null || echo "Unknown")
else
ENV_AGENTIC_VERSION="Unknown"
fi
echo "Environment collected:"
echo " OS: $ENV_OS $ENV_OS_VERSION"
echo " Shell: $ENV_SHELL"
echo " Git: $ENV_GIT_VERSION"
echo " Branch: $ENV_BRANCH"
echo " agentic-config: $ENV_AGENTIC_VERSION"
Information to EXCLUDE (Privacy/Security):
~)ghp_, sk-, AKIA, 32+ char alphanumeric).env filesINSTRUCTION: Sanitize any user-provided or extracted content before including in issue.
Sanitization Rules:
Path Anonymization:
# Replace home directory with ~
sanitized="${content//$HOME/\~}"
# Replace common user path patterns
sanitized=$(echo "$sanitized" | sed -E 's|/Users/[^/]+|~|g; s|/home/[^/]+|~|g')
Secret Detection:
[A-Za-z0-9_-]{32,}ghp_, gho_, sk-, AKIA, Bearer [REDACTED] and warn userWarning on Detection:
WARNING: Potential sensitive data detected and redacted.
Please review the preview carefully before submitting.
INSTRUCTION: Format the issue body with structured sections.
Bug Report Template (when --bug flag used):
## Bug Description
<user-provided or context-extracted description>
## Environment
- OS: <ENV_OS> <ENV_OS_VERSION>
- Shell: <ENV_SHELL>
- Git: <ENV_GIT_VERSION>
- agentic-config: <ENV_AGENTIC_VERSION>
## Steps to Reproduce
<if available from context, otherwise "Not provided">
## Expected Behavior
<if available>
## Actual Behavior
<error messages, stack traces from context>
---
Reported via `/ac-issue` command
Feature Request Template (when --feature flag used):
## Feature Description
<user-provided description>
## Use Case
<why this feature would be useful>
## Proposed Solution
<if user provided suggestions>
## Environment
- agentic-config: <ENV_AGENTIC_VERSION>
---
Reported via `/ac-issue` command
General Template (explicit or context mode):
## Description
<user-provided or context-extracted description>
## Environment
- OS: <ENV_OS> <ENV_OS_VERSION>
- Shell: <ENV_SHELL>
- Git: <ENV_GIT_VERSION>
- agentic-config: <ENV_AGENTIC_VERSION>
## Context
<relevant error messages, stack traces, or unexpected behavior if available>
## Additional Information
<any other relevant details>
---
Reported via `/ac-issue` command
INSTRUCTION: Display formatted issue preview and wait for user confirmation.
Display Format:
Issue Title: <TITLE>
Repository: WaterplanAI/agentic-config
Labels: <bug | enhancement | none>
Body:
---
<FORMATTED_BODY>
---
Create this issue? (yes/no/edit)
- yes: Create the issue as shown
- no: Cancel issue creation
- edit: Provide modified title or description
Confirmation Logic:
yes before proceedingno: Exit gracefully with "Issue creation cancelled"edit: Prompt for new title/description and re-previewINSTRUCTION: Execute gh CLI to create the issue.
# Determine label based on mode
LABEL_FLAG=""
if [ "$MODE" = "bug" ]; then
LABEL_FLAG="--label bug"
elif [ "$MODE" = "feature" ]; then
LABEL_FLAG="--label enhancement"
fi
# Create issue with HEREDOC for body
ISSUE_URL=$(gh issue create \
--repo WaterplanAI/agentic-config \
--title "$ISSUE_TITLE" \
$LABEL_FLAG \
--body "$(cat <<'EOF'
<FORMATTED_BODY>
EOF
)" 2>&1)
CREATE_STATUS=$?
if [ $CREATE_STATUS -ne 0 ]; then
echo "ERROR: Failed to create issue"
echo "$ISSUE_URL"
echo ""
echo "You can try creating the issue manually at:"
echo "https://github.com/WaterplanAI/agentic-config/issues/new"
exit 1
fi
echo "$ISSUE_URL"
INSTRUCTION: Display success message with issue URL and next steps.
ISSUE CREATED SUCCESSFULLY
Issue URL: <ISSUE_URL>
Title: <ISSUE_TITLE>
Repository: WaterplanAI/agentic-config
Next Steps:
1. View issue: <ISSUE_URL>
2. Add more context if needed via GitHub web interface
3. Monitor for maintainer response
Thank you for contributing to agentic-config!
| Error | Detection | Response |
|---|---|---|
| gh not installed | command -v gh fails | "GitHub CLI not found. Install: https://cli.github.com/" |
| Not authenticated | gh auth status exit != 0 | "Please authenticate: gh auth login" |
| No context found | Context extraction returns empty | Prompt for explicit input |
| Network error | gh issue create fails | Show error, suggest manual creation |
| Rate limited | gh returns rate limit error | "GitHub API rate limited. Try again later." |
Central Repository Target
WaterplanAI/agentic-configDual Input Mode
Mandatory Preview
Minimal Tool Requirements
Project-Agnostic Design