stack-feedback
Stack Feedback
Create GitHub issues on outfitter-dev/outfitter for problems discovered while using the stack.
When to Use
Invoke this skill when you discover:
- Bugs in @outfitter/* packages
- Missing features that would improve DX
- Unclear documentation that caused confusion
- Pattern gaps where guidance is missing
- Ergonomic issues that made tasks harder than expected
Issue Categories
| 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 |
Using the Helper Script
The preferred method for creating issues. The script handles templates, labels, and validation.
Basic Usage
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"
Dry-Run Mode (Default)
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..."
}
Origin Detection
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.
Submit Mode
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
View Template Requirements
Run with just --type to see required and optional fields:
bun plugins/outfitter-stack/skills/stack-feedback/scripts/create-issue.ts --type bug
Available Types
| 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 |
Manual Issue Creation
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
)"
Tracking Feedback
After creating, track in your project:
## Stack Feedback
- [ ] #123: Result.unwrap throws on valid input — bug
Check Existing Issues
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}}"
Batch Feedback
If multiple issues have accumulated:
- Review all feedback items
- Deduplicate similar issues
- Create issues with cross-references where related
- Update tracking with issue numbers
Best Practices
- Be specific — Include package, function, and line if known
- Provide context — Explain what task led to discovery
- Include workaround — If you found one, share it
- Link related issues — Reference if similar issues exist
- Stay constructive — Focus on improvement, not complaint
References
More from outfitter-dev/agents
codebase-recon
This skill should be used when analyzing codebases, understanding architecture, or when "analyze", "investigate", "explore code", or "understand architecture" are mentioned.
93graphite-stacks
This skill should be used when the user asks to "create a stack", "submit stacked PRs", "gt submit", "gt create", "reorganize branches", "fix stack corruption", or mentions Graphite, stacked PRs, gt commands, or trunk-based development workflows.
76code-review
This skill should be used when reviewing code before commit, conducting quality gates, or when "review", "fresh eyes", "pre-commit review", or "quality gate" are mentioned.
34hono-dev
This skill should be used when building APIs with Hono, using hc client, implementing OpenAPI, or when "Hono", "RPC", or "type-safe API" are mentioned.
28software-craft
This skill should be used when making design decisions, evaluating trade-offs, assessing code quality, or when "engineering judgment" or "code quality" are mentioned.
28subagents
This skill should be used when coordinating agents, delegating tasks to specialists, or when "dispatch agents", "which agent", or "multi-agent" are mentioned.
25