Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
34 changes: 34 additions & 0 deletions patterns/archetypes/repo-qa-assistant.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,34 @@
{
"id": "repo-qa-assistant",
"label": "Repo Q&A Assistant",
"description": "Answer ad hoc questions about the repository via a slash command, posting the result as a comment",
"success_rate": null,
"count": 0,
"recommended_triggers": [
{
"type": "slash_command",
"config": {}
}
],
"recommended_safe_outputs": [
"add-comment"
],
"recommended_tools": [
"add-comment"
],
"timeout_minutes": 20,
"prompt_style": "role-steps",
"size_range_bytes": [
1500,
5000
],
"top_repos": [],
"tips": [
"Use a reaction (e.g. eyes) alongside slash_command so requesters get immediate acknowledgement while the agent works",
"Grant read-only permissions and rely on bash/web-fetch tools for investigation instead of write access",
"Set tools.github.min-integrity: none so the assistant can read any issue or pull request context regardless of author trust, since it only answers questions",
"Cap add-comment at max: 1 so a single consolidated answer is posted instead of a running commentary",

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

matt-pocock: This tip says "Set tools.github.min-integrity: none", but there's no corresponding "min_integrity": "none" field added to the repo-qa-assistant entry in patterns/workflow-generation.json (compare status-report, which does set min_integrity). Without it, generateWorkflowFile won't emit min-integrity: none in the frontmatter, so the generated workflow won't actually match this tip's stated behavior.

"Keep answers scoped to the triggering issue/PR content and repository inspection — avoid speculative external claims"
],
"anti_patterns": []
}
3 changes: 2 additions & 1 deletion patterns/manifest.json
Original file line number Diff line number Diff line change
Expand Up @@ -31,7 +31,8 @@
"community-digest",
"agent-cost-tracker",
"contribution-guidelines-checker",
"link-checker"
"link-checker",
"repo-qa-assistant"
],
"workflow_generation": "workflow-generation.json",
"anti_patterns": [
Expand Down
34 changes: 34 additions & 0 deletions patterns/workflow-generation.json
Original file line number Diff line number Diff line change
Expand Up @@ -1084,6 +1084,40 @@
"- **DO NOT** modify relative links or anchors — only HTTP(S) links.",
"- **DO NOT** retry links already recorded as unfixable in cache memory without new evidence."
]
},
"repo-qa-assistant": {
"icon": "comment-discussion",
"capabilities": {
"bash": true,
"web_fetch": true,

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

matt-pocock: capabilities.web_fetch isn't read anywhere in src/js/workflow.jsinferCapabilities() only maps pre_steps, bash, github_toolsets, browser, network (see lines 48-57). This key is silently dropped, so generated workflows will never emit a web-fetch tool despite step 2 of the prompt body explicitly instructing the agent to "Investigate the repository... using bash and web-fetch as needed". Either rename to browser/an existing recognized capability, or add web_fetch handling to inferCapabilities/generateWorkflowFile so the tool actually gets included.

"github_toolsets": true
},
"permissions": [
"contents",
"issues",
"pull-requests"
],
"github_toolsets": [
"default"
],
"body": [
"# {{label}}",
"",
"You are a **repository question-answering assistant** invoked via a slash command in an issue or pull request comment.",
"",
"## Process",
"",
"1. Read the triggering comment and the surrounding issue/PR context",
"2. Investigate the repository (code, docs, history) using bash and web-fetch as needed to answer accurately",
"3. Compose a single, concise, accurate answer grounded in what you found",
"4. Post the answer as one comment on the triggering thread",
"",
"## Constraints",
"",
"- **DO NOT** make repository changes — this workflow only answers questions.",
"- **DO NOT** post more than one comment per invocation.",
"- **DO NOT** assert claims you could not verify from the repository or trusted sources."
]
}
}
}
Loading