Agent skill
dd-file-issue
File GitHub issues to the right repository (pup CLI or plugin)
Install this agent skill to your Project
npx add-skill https://github.com/sushichan044/dotfiles/tree/main/.agents/skills/dd-file-issue
SKILL.md
DD File Issue Skill
This skill helps you file GitHub issues to the correct repository - either the pup CLI tool or the Claude plugin, depending on the nature of the issue.
Invocation: /dd-file-issue
Decision Logic: Which Repository?
File to DataDog/pup Repository
Issues related to the pup CLI tool itself:
- API Functionality: API calls failing, incorrect responses, missing API endpoints
- Authentication: OAuth2 issues, token refresh problems, API key handling
- CLI Behavior: Command syntax, flags not working, output format issues
- pup Installation: Binary installation, PATH issues, version problems
- API Coverage: Missing Datadog API endpoints, incomplete command coverage
- Performance: Slow API calls, timeout issues (when not related to agents)
- Error Messages: Confusing pup error messages, API errors
Example Issues for pup:
- "pup logs search returns 404 error"
- "OAuth token refresh not working"
- "Need support for new Datadog API endpoint"
- "pup --output=json returns invalid JSON"
- "pup auth login fails on Linux"
File to DataDog/datadog-api-claude-plugin Repository
Issues related to the Claude plugin and its agents:
- Agent Behavior: Agent selection, agent prompts, agent responses
- Documentation: README, CLAUDE.md, AGENTS.md, agent files inaccurate
- Agent Prompts: Agent giving wrong guidance, unclear instructions
- Skill Issues: Skills not working correctly
- Plugin Installation: Plugin setup, configuration issues
- Agent Selection: Claude picking wrong agent for task
- Examples/Guides: Missing or incorrect examples in agent files
- User Experience: Confusing workflows, unclear instructions
Example Issues for plugin:
- "logs agent doesn't explain query syntax clearly"
- "Agent tells me to use wrong pup command"
- "Documentation says to use TypeScript but we use pup now"
- "Need better examples for metrics queries"
- "Agent selection guide is confusing"
Unclear Cases (Ask User)
If unclear which repository the issue belongs to:
- Ask the user for more context
- Explain the difference between pup and plugin issues
- Let user decide
Workflow
-
Gather Information
- What went wrong?
- What were you trying to do?
- What error message did you see (if any)?
- What agent/command were you using?
-
Determine Repository
- Analyze the issue against decision logic above
- If unclear, ask user to clarify
-
Check for Existing Issues
- Search the target repository for similar issues
- If found, suggest commenting on existing issue instead
-
Collect Issue Details
- Title: Clear, concise summary (e.g., "logs agent: incorrect time format example")
- Body: Detailed description with:
- What happened
- Expected behavior
- Steps to reproduce
- Environment details (OS, pup version, plugin version)
- Relevant logs/errors
-
Select Issue Type
- Bug report
- Feature request
- Documentation improvement
- Question
-
Create Issue
- Use
gh issue createto file the issue - Add appropriate labels
- Provide issue URL to user
- Use
Implementation
1. Determine Repository
Ask clarifying questions:
To file this issue correctly, I need to understand:
1. What were you trying to do?
2. What went wrong?
3. Was this a problem with:
- A pup command not working? (→ pup repo)
- An agent giving bad guidance? (→ plugin repo)
- Documentation being wrong/unclear? (→ plugin repo)
2. Search for Existing Issues
For pup repository:
gh issue list \
--repo DataDog/pup \
--search "your search terms" \
--limit 10
For plugin repository:
gh issue list \
--repo DataDog/datadog-api-claude-plugin \
--search "your search terms" \
--limit 10
3. Create Issue
For pup repository:
gh issue create \
--repo DataDog/pup \
--title "Clear, concise title" \
--body "Detailed description" \
--label "bug" # or "enhancement", "documentation"
For plugin repository:
gh issue create \
--repo DataDog/datadog-api-claude-plugin \
--title "Clear, concise title" \
--body "Detailed description" \
--label "bug" # or "enhancement", "documentation", "agent"
Issue Body Template
Use this template for comprehensive issue reports:
## Description
[Clear description of the issue]
## Expected Behavior
[What should happen]
## Actual Behavior
[What actually happened]
## Steps to Reproduce
1. [First step]
2. [Second step]
3. [...]
## Environment
- OS: [e.g., macOS 14.1, Ubuntu 22.04]
- Pup version: [run `pup --version`]
- Plugin version: [from plugin.json]
- Claude Code version: [if relevant]
## Error Messages / Logs
[Paste any error messages or relevant logs]
## Additional Context
[Any other relevant information]
## Suggested Fix (Optional)
[If you have ideas for how to fix this]
Best Practices
Good Issue Titles
✅ Good:
- "logs agent: incorrect time format documentation"
- "pup metrics query: --from flag ignores relative time"
- "Agent selection guide: missing decision tree for security agents"
❌ Bad:
- "It doesn't work"
- "Bug"
- "Help"
When to Bundle Issues
- Don't bundle unrelated issues - file separately
- Do bundle if multiple issues stem from same root cause
- Do bundle if documenting several examples of same problem
Labels to Use
For pup repository:
bug- Something isn't workingenhancement- New feature or requestdocumentation- Improvements or additions to documentationquestion- Further information is requested
For plugin repository:
bug- Something isn't workingenhancement- New feature or requestdocumentation- Improvements or additions to documentationagent- Related to specific agent behaviorskill- Related to skillsquestion- Further information is requested
Examples
Example 1: Filing a pup Bug
User: "The pup logs search command times out after 30 seconds"
Analysis: This is a pup CLI issue (command behavior)
Steps:
- Search existing issues:
gh issue list --repo DataDog/pup --search "timeout" - If not found, create issue:
gh issue create \
--repo DataDog/pup \
--title "pup logs search: command times out after 30 seconds" \
--body "## Description
The \`pup logs search\` command times out after 30 seconds when searching large time ranges.
## Expected Behavior
Should either complete the query or allow configurable timeout.
## Actual Behavior
Command fails with timeout error after 30 seconds.
## Steps to Reproduce
1. Run: \`pup logs search --query='*' --from='7d' --to='now'\`
2. Wait 30 seconds
3. See timeout error
## Environment
- OS: macOS 14.1
- Pup version: 1.2.3
- DD_SITE: datadoghq.com
## Error Message
\`\`\`
Error: request timeout after 30000ms
\`\`\`
" \
--label "bug"
Example 2: Filing a Plugin Documentation Issue
User: "The logs agent documentation shows TypeScript examples instead of pup commands"
Analysis: This is a plugin issue (documentation)
Steps:
- Search existing issues:
gh issue list --repo DataDog/datadog-api-claude-plugin --search "TypeScript" - Create issue:
gh issue create \
--repo DataDog/datadog-api-claude-plugin \
--title "logs agent: outdated TypeScript examples in documentation" \
--body "## Description
The logs agent documentation still shows TypeScript/Node.js examples instead of pup CLI commands.
## Location
\`agents/logs.md\` lines 150-200
## Expected
Should show pup CLI command examples like:
\`\`\`bash
pup logs search --query='*' --from='1h'
\`\`\`
## Actual
Shows TypeScript code with imports and API clients
## Impact
Confusing for users who expect pup CLI commands
## Files Affected
- agents/logs.md
- Possibly other agent files (need audit)
" \
--label "documentation" \
--label "agent"
Example 3: Feature Request for Plugin
User: "Can we add an agent for Datadog SLO reporting?"
Analysis: This is a plugin enhancement (new agent)
gh issue create \
--repo DataDog/datadog-api-claude-plugin \
--title "enhancement: add SLO reporting agent" \
--body "## Feature Request
### Description
Add a new agent focused on SLO reporting and analysis, separate from the SLO management agent.
### Use Cases
- Generate SLO reports for stakeholders
- Analyze SLO trends over time
- Compare SLOs across services
### Proposed Agent Capabilities
- Query SLO history
- Generate formatted reports
- Calculate SLO burn rates
- Identify at-risk SLOs
### Related Agents
- Current \`slos.md\` focuses on SLO CRUD operations
- New agent would focus on analytics and reporting
### Priority
Medium - would improve SLO workflow
" \
--label "enhancement" \
--label "agent"
Error Handling
If issue creation fails:
- Check network connectivity
- Verify gh CLI is authenticated:
gh auth status - Check repository permissions
- Provide user with issue details to file manually
Success Response
After successfully filing an issue:
✅ Issue created successfully!
**Repository**: DataDog/[repo-name]
**Issue**: #123
**URL**: https://github.com/DataDog/[repo-name]/issues/123
**Title**: [issue title]
The team will review your issue and respond soon. You can:
- Track the issue at the URL above
- Add more details by commenting on the issue
- Subscribe to notifications for updates
Tips for Users
- Be specific - Include exact commands, error messages, agent names
- Provide context - What were you trying to accomplish?
- Include environment details - OS, versions, configuration
- One issue per report - Don't bundle unrelated problems
- Check existing issues first - Avoid duplicates
- Be patient - Maintainers will respond when available
Recommended Agent Skills
Expand your agent's capabilities with these related and highly-rated skills.
terraform-style-guide
Generate Terraform HCL code following HashiCorp's official style conventions and best practices. Use when writing, reviewing, or generating Terraform configurations.
fix-github-actions-ci
GitHub Actions CI の失敗を調査して修正するためのスキルです。CI ログを分析して失敗箇所・原因を特定し、そのまま修正作業まで行います。
dd-logs
Log management - search, pipelines, archives, and cost control.
golang-safety
Defensive Golang coding to prevent panics, silent data corruption, and subtle runtime bugs. Use whenever writing or reviewing Go code that involves nil-prone types (pointers, interfaces, maps, slices, channels), numeric conversions, resource lifecycle (defer in loops), or defensive copying. Also triggers on questions about nil panics, append aliasing, map concurrent access, float comparison, or zero-value design.
resolve-merge-conflict
現在の branch を分岐元の最新に rebase するときに使う。まず rebase を実行し、止まった conflict を順番に解消して前に進める。長い事前調査を避けて、必要な file だけ見て片付けたいときに使う。
golang-data-structures
Golang data structures — slices (internals, capacity growth, preallocation, slices package), maps (internals, hash buckets, maps package), arrays, container/list/heap/ring, strings.Builder vs bytes.Buffer, generic collections, pointers (unsafe.Pointer, weak.Pointer), and copy semantics. Use when choosing or optimizing Go data structures, implementing generic containers, using container/ packages, unsafe or weak pointers, or questioning slice/map internals.
Didn't find tool you were looking for?