report-issue
Report Issue
Turn a rough defect report or product ask into a clean bug or feature-request record.
Core rule
- Understand the user-visible problem or request before proposing a fix.
- Capture concrete behavior, affected workflow, and scope boundaries. Do not jump straight to implementation.
- Keep business context brief and secondary unless it materially changes priority.
- Default feature requests to feature-level scoping, not broad roadmap planning.
- Pull taxonomy before creation when product, customer, company, or component signals are present.
Metadata rules
- Use
list-taxonomybefore creation when the affected product, product area, customer, company, segment, or component is clear enough to tag. - Prefer product labels first.
- Also attach customer or company labels when the issue is clearly tied to a specific account or customer context.
- Use
list-taxonomyonly after the issue type and core scope are clear enough to avoid premature tagging. - Attach labels only for exact or high-confidence matches.
- If multiple labels are plausible for the same concept, ask one disambiguation question instead of guessing.
- Do not guess taxonomy from weak signals. If the match is unclear, leave it off.
Use when
- The user wants to log a new bug.
- The user wants to log a new feature request.
- The record type is already clear enough to avoid a broader triage flow.
Do not use when
- The request should become a roadmap initiative instead of a feature request.
- The request is a personal follow-up or operational task.
- The user wants to triage, assign, or update an existing record rather than create a new one.
Conversation rules
- Ask one question at a time and stop after each answer.
- Reuse what the user already said. Skip answered questions.
- If the user says "just log it" or gives enough detail up front, fast-track the intake and create the record.
- Do not over-rotate on business goals. A short background note is usually enough.
Execution order
Follow this sequence to keep the interaction predictable:
- Confirm whether this is a bug or a feature request.
- Gather only the missing minimum context for that record type.
- Check for duplicates or overlapping work.
- Resolve taxonomy only after the scope is stable.
- Write the markdown description.
- Confirm the minimum create fields are ready.
- Create the record.
Minimum viable intake threshold
Stop asking questions and create once you know the essentials.
For bugs:
- what is broken
- where it happens
- expected vs actual behavior
- enough repro detail to make the report actionable, or a clear note that repro is still unclear
For feature requests:
- which user or workflow this improves
- what should change
- what is in scope
- what is out of scope
Do not keep asking for business context once the record is actionable. Put remaining uncertainty in ### Open questions.
Output guidance
- Write a short markdown description before creating the record.
- Start with a 1-paragraph TLDR.
- Prefer
###headings for the main sections. - Use clear feature or workflow language in titles and descriptions.
- If related issues or initiatives are relevant, reference them as markdown links when available.
Bug intake
What to learn
Ask only the missing questions, one at a time:
- What is broken for the user?
- Which workflow, page, or feature is affected?
- Which product or product area is this in?
- What should happen?
- What actually happens?
- How do we reproduce it?
- Who is affected, and how broadly?
- Is this tied to a specific customer, company, or segment we should tag?
- Is there a workaround?
- What is explicitly known to be out of scope for this report?
Duplicate check
- Extract 3-5 meaningful keywords from the defect.
- Use
search-tasksto look for likely matching existing work before creating a new bug. - If a clear duplicate exists, say so and ask whether to add context there instead of creating a new bug.
Description format
Short TLDR paragraph:
In 2-4 sentences, summarize what is broken, who it affects, the main repro condition, and the current impact.
### Background
- In one short paragraph: what changed or what is happening now, and why this matters.
### Affected flow / use case
- Which user or workflow is hitting the issue?
- Where in the product does it happen?
### Expected behavior
- What should happen?
### Actual behavior
- What happens instead?
### Reproduction
- Clear repro steps or triggering conditions.
### Known scope / boundaries
- What is affected?
- What is explicitly not part of this bug as currently understood?
### Evidence, workaround, and open questions
- Links, screenshots, logs, or customer reports.
- Any workaround if known.
- Anything still unconfirmed.
Create step
- Resolve team or assignee metadata if needed.
- Use
list-taxonomyto attach matching product labels first, then customer/company or other relevant labels when the match is clear. - Before creation, confirm the minimum create fields are ready:
- title
- markdown description
- workspace
- any clear team/assignee metadata
- any clear taxonomy labels
- Call
report-bugwith a clear symptom-based title and the markdown description.
report-bug({
"title": "Checkout fails when coupon and gift card are combined",
"description": "<full bug description in markdown>",
"workspaceId": "<workspaceId>",
"teamIds": ["<teamId>"],
"assigneeIds": ["<userId>"],
"taxonomyLabelIds": ["<productLabelId>", "<customerOrCompanyLabelId>"]
})
Feature request intake
What to learn
Ask only the missing questions, one at a time:
- What user story or workflow are we trying to improve?
- Who is this for in this phase?
- Which product or product area is this for?
- What should they be able to do?
- What is definitely in scope?
- What is explicitly out of scope?
- What is the smallest useful version?
- Is this tied to a specific customer, company, or segment we should tag?
- Is there a short background note worth capturing?
Related work check
- Extract 3-5 meaningful keywords from the request.
- Use
search-tasksto look for overlapping feature requests or initiatives. - If strong overlap exists, surface it and ask whether to add context there instead of creating a new request.
Description format
Short TLDR paragraph:
In 2-4 sentences, summarize what is being requested, which user or workflow it improves, what this request includes, and the main boundary or constraint.
### Background
- In one short paragraph: what is missing today, why this matters now, and what happens if nothing changes.
- If there is a business reason, keep it brief and secondary.
### Feature / use case sections
- Use concrete section titles such as `### Add Login with Google` or `### Export filtered results`.
- Under each section, write a short paragraph covering who it is for, what changes, and why it matters to that workflow.
### In scope
- What is included in this request?
- Which surfaces, flows, or constraints matter?
### Out of scope
- What is explicitly not included?
- What adjacent ideas should not get pulled into this request?
### Success
- How will we know this request was fulfilled well enough?
- Prefer user and workflow outcomes over business framing.
### Open questions
- What still needs a decision or validation?
Create step
- Resolve team or assignee metadata if needed.
- Use
list-taxonomyto attach matching product labels first, then customer/company or other relevant labels when the match is clear. - Before creation, confirm the minimum create fields are ready:
- title
- markdown description
- workspace
- any clear team/assignee metadata
- any clear taxonomy labels
- Call
report-feature-requestwith a capability-based title and the markdown description.
report-feature-request({
"title": "Allow per-pipeline HubSpot sync toggles",
"description": "<full feature request description in markdown>",
"workspaceId": "<workspaceId>",
"teamIds": ["<teamId>"],
"assigneeIds": ["<userId>"],
"taxonomyLabelIds": ["<productLabelId>", "<customerOrCompanyLabelId>"]
})
More from onehorizonai/skills
work-summarizer
Turn One Horizon activity into a clean update for a manager, team, or stakeholder. Use when asked to "summarize my work", "write a status report", "create a weekly summary", or "brief my manager". Includes initiatives and blockers when provided. Requires One Horizon MCP.
24bug-triage-prep
Turn open bugs into triage notes a team can actually use. Use when asked "prepare bug triage", "summarize open bugs", or "prioritize defects for review". Requires One Horizon MCP.
23get-task-details
Fetch the full details for one known One Horizon task when the task ID is already available and the user needs exact task context. Prefer task-management when details are only one step in a larger operational request. Requires One Horizon MCP.
23initiative-summary
Turn initiative data into a clear status update. Use when asked "summarize these initiatives", "give me initiative status", or "prepare initiative update notes". Requires One Horizon MCP.
22handoff-notes
Turn current work into handoff notes someone else can pick up without guessing. Use when asked to "write handoff notes", "prepare transition docs", or "document my current ownership". Requires One Horizon MCP.
22list-taxonomy
Look up One Horizon taxonomy labels when the user explicitly asks for label IDs or available goals, products, releases, or components. Prefer task-management when taxonomy lookup is only one step in a larger operational request. Requires One Horizon MCP.
22