Creates GitHub issues for problems discovered while using @outfitter/* packages. Use when finding bugs, missing features, unclear documentation, or improvement opportunities.
Create GitHub issues on outfitter-dev/outfitter for problems discovered while using the stack.
Invoke this skill when you discover:
| Category | Label | Example |
|----------|-------|---------|
| bug | bug | Package throws when it should return Result |
| enhancement | feature | Add helper for common pattern |
| docs | documentation | Handler contract docs missing edge case |
| unclear-pattern | question | How to handle X scenario with Result types |
| dx | dx | Error message unclear, hard to debug |
| migration-pattern | adoption | Migration scenario lacks guidance |
| conversion-helper | adoption | Need utility for legacy conversion |
| compatibility | adoption | Breaking change concern |
| migration-docs | migration, documentation | Migration docs gap |
The preferred method for creating issues. The script handles templates, labels, and validation.
bun plugins/outfitter-stack/skills/stack-feedback/scripts/create-issue.ts \
--type bug \
--title "Result.unwrap throws on valid input" \
--package "@outfitter/contracts" \
--description "When calling unwrap on Ok value, it unexpectedly throws" \
--actual "Throws TypeError instead of returning value"
By default, the script outputs JSON with the gh command without executing it:
{
"command": "gh issue create --repo outfitter-dev/outfitter --title '[Bug] Result.unwrap throws...' --label bug --label feedback --label source/agent --body '...'",
"title": "[Bug] Result.unwrap throws on valid input",
"labels": ["bug", "feedback", "source/agent"],
"body": "## Package\n\n`@outfitter/contracts`\n..."
}
The script automatically detects the git origin of the current directory and adds a "Discovered In" section to the issue body with a link to the source repo. This helps track where feedback originates.
Add --submit to actually create the issue:
bun plugins/outfitter-stack/skills/stack-feedback/scripts/create-issue.ts \
--type enhancement \
--title "Add Result.tap helper" \
--package "@outfitter/contracts" \
--description "Helper to run side effects without unwrapping" \
--useCase "Logging without breaking method chains" \
--submit
Run with just --type to see required and optional fields:
bun plugins/outfitter-stack/skills/stack-feedback/scripts/create-issue.ts --type bug
| Type | Required Fields |
|------|-----------------|
| bug | package, description, actual |
| enhancement | package, description, useCase |
| docs | package, description, gap |
| unclear-pattern | package, description, context |
| dx | package, description, current |
| migration-pattern | sourcePattern, description, scenario |
| conversion-helper | legacyPattern, description, targetPattern |
| compatibility | package, description, breakingChange |
| migration-docs | area, description, gap |
For cases where the script doesn't fit, use gh directly:
gh issue create \
--repo outfitter-dev/outfitter \
--title "[Bug] Brief description" \
--label "bug" \
--label "feedback" \
--label "source/agent" \
--body "$(cat <<'EOF'
## Package
`@outfitter/package-name`
## Description
What went wrong or what's missing.
## Actual Behavior
What actually happens.
---
*Created via `outfitter-stack:stack-feedback` skill*
EOF
)"
After creating, track in your project:
## Stack Feedback
- [ ] #123: Result.unwrap throws on valid input — bug
Before creating a new issue, check if it already exists:
gh issue list --repo outfitter-dev/outfitter --label feedback
gh issue list --repo outfitter-dev/outfitter --search "{{KEYWORDS}}"
If multiple issues have accumulated:
Search for places (restaurants, cafes, etc.) via Google Places API proxy on localhost.
Interact with GitHub using the `gh` CLI. Use `gh issue`, `gh pr`, `gh run`, and `gh api` for issues, PRs, CI runs, and advanced queries.
Create or update AgentSkills. Use when designing, structuring, or packaging skills with scripts, references, and assets.
Start voice calls via the OpenClaw voice-call plugin.
Notion API for creating and managing pages, databases, and blocks.
Gemini CLI for one-shot Q&A, summaries, and generation.
Category:developer