cd /news/ai-agents/show-hn-qitt-an-agent-that-triages-m… · home › topics › ai-agents › article
[ARTICLE · art-167167] src=github.com ↗ pub= topic=ai-agents verified=true sentiment=↑ positive

Show HN: Qitt – An agent that triages my Slack and Jira and drafts my replies

A developer released Qitt, an open-source "chief of staff" agent built on T3 Code threads and scheduled tasks that triages incoming Slack and Jira requests and drafts replies for the owner to review, but never sends anything itself. Qitt runs on one always-on machine, keeps its behavior in Markdown AGENTS.md charters and a local context.md, ships Slack and Jira as folders under input-sources/ with a _template/ skeleton for adding Teams, email or Trello, and requires Node.js 22.19 or later; it has run on Claude only so far, and events arriving while the machine is down are lost by design.

read3 min views1 publishedNov 10, 2026
Show HN: Qitt – An agent that triages my Slack and Jira and drafts my replies
Image: Michielbdejong (auto-discovered)

A proactive chief of staff that lives inside T3 Code.

  • Chief of staff. One pinned thread watches the requests that reach its owner and keeps a live picture of all work in flight, so it can be asked anything without context.

  • Proactive. It triages each request as it arrives and starts a worker thread to research it ahead of time. It never sends anything: every output is proposed text for the owner to review.

  • Vendor-agnostic. It is built from T3 Code threads and scheduled tasks, and its rules areAGENTS.md files any coding agent reads. It has run on Claude only so far.

  • Customizable. Its behaviour is plain Markdown: two charters written in the owner's voice, and a local context file for your people, priorities and playbooks.

  • Extendable. Slack and JIRA ship as two folders underinput-sources/ . Teams, email, Trello or anything else isone more folder .

  • T3 constructs only. qitt is a thread; intake and the ticket sweep are scheduled tasks bound to it. Code outside T3 exists only where something must hold a connection.

  • Never sends. Each source's send tools are denied for qitt and its workers. Workers are research-only, except the routine field edits a ticket playbook lists and work the owner asks a worker for directly.

  • Runs on one always-on machine. Events that arrive while it is down are lost, by design.

docs/architecture.md describes each part and how a request travels through them. Planned, not in this repo yet: an interval supervision pass and a JQL backstop.

Path What
agents/ The two agents qitt is made of, qitt andworker . For each, a charter (AGENTS.md ) with the rules that hold for every source, and.claude/settings.json (for qitt a 150k auto-compact window: every call re-reads the whole thread, and its durable state lives in the threads, not its context).
input-sources/ One folder per input source, a place requests come from: its charter sections, its webhook task's prompt, the send tools to deny, and a bridge if it needs one. slack/ andjira/ ship here;_template/ is a skeleton for your own.
bin/ install-agents assembles each agent's T3 project root from its charter, the enabled sources and your localcontext.md (re-run it after editing any of them);qitt-filter andqitt-bridge keep the filter and the Slack bridge running;qitt-mute mutes Slack conversations for the bridge.
docs/ architecture.md : the parts and how a request travels.input-sources.md : what a source is made of and how to add one.setup.md : how the thread, intake tasks, and endpoint are wired, and every config key.
filter/ Path filter that exposes only the T3 webhook routes, with optional HMAC signature checks ( bin/qitt-filter runs it). Shared by every source that calls a webhook.
config/example/ Placeholder versions of the local config files.
  • A T3 Code server, with the qitt and worker projects registered (seedocs/setup.md ).
  • Node.js 22.19 or later for the installer, the bridge and the filter.
  • What each source you enable needs:
  • Skills and MCP servers come from your own agent setup, not from this repo. context.md names the ones workers use for evidence, documents and ticket playbooks.

The repo holds code and generic templates only. Everything specific to a workplace or a person (names, timezone, people, Slack and JIRA IDs, hostnames, tokens) stays on the machine and is never committed:

  • ~/.config/qitt/ for config and secrets (start fromconfig/example/ ; keys indocs/setup.md ), and for sources of your own
  • ~/.local/state/qitt/ for the installed project roots, the bridge's state, and logs
npm test --prefix input-sources/slack/bridge
node --test "filter/test/*.test.mjs"
node --test "bin/test/*.test.mjs"
── more in #ai-agents 4 stories · sorted by recency
── more on @qitt 3 stories trending now
sponsored brought to you by zahid.host 4,200+ EU-deployed projects
reading about agents? ship yours in a single git push.

Run your AI side-project on zahid.host

EU-based hosting, git-push deploys, automatic HTTPS, no cold starts. Free tier with a custom domain — perfect for shipping the agent you just read about.

$git push zahid main
→ Live at https://your-agent.zahid.host ✓
Get free account → Pricing
from €0/mo · no card required
LIVE [news/show-hn-qitt-an-agen…] indexed:0 read:3min 2026-11-10 · —