-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathproject-claw.html
More file actions
198 lines (187 loc) · 9.43 KB
/
Copy pathproject-claw.html
File metadata and controls
198 lines (187 loc) · 9.43 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>ProjectClaw - Slack Project Assistant | AgentLab</title>
<link rel="stylesheet" href="css/main.css">
</head>
<body>
<!-- Header -->
<header>
<nav class="container">
<a href="index.html" class="logo">Agent<span>Lab</span></a>
<ul class="nav-links">
<li><a href="projects.html">Projects</a></li>
<li><a href="team.html">Team</a></li>
<li><a href="news.html">News</a></li>
</ul>
</nav>
</header>
<!-- Breadcrumb -->
<div class="breadcrumb">
<div class="container">
<a href="index.html">Home</a> / <a href="projects.html">Projects</a> / ProjectClaw
</div>
</div>
<!-- Project Hero -->
<section class="project-hero">
<div class="container">
<div class="hero-content">
<div class="hero-text">
<h1>ProjectClaw</h1>
<p>A Slack-based AI project assistant that keeps track of open PRs, recent merges, meeting decisions, and action items across multiple projects. It combines GitHub repo data with Granola meeting transcripts so a team can ask “what’s open right now?” or “what did we decide about auth?” and get a cited answer in seconds.</p>
<div class="hero-stats">
<div class="stat-item">
<span class="stat-number">GitHub</span>
<span class="stat-label">Repo Awareness</span>
</div>
<div class="stat-item">
<span class="stat-number">Granola</span>
<span class="stat-label">Meeting Sync</span>
</div>
<div class="stat-item">
<span class="stat-number">2×/day</span>
<span class="stat-label">Standup Posts</span>
</div>
</div>
<div class="cta-buttons">
<a href="https://github.com/gies-ai-experiments/project-claw" class="btn btn-primary">View on GitHub</a>
</div>
</div>
</div>
</div>
</section>
<!-- Features -->
<section class="tech-section">
<div class="container">
<div class="section-header">
<h2>What ProjectClaw Does</h2>
<p class="section-subtitle">Mention the bot in a project channel or DM it</p>
</div>
<div class="tech-grid">
<div class="tech-card">
<span class="tech-icon">🔍</span>
<h3>Open Work & Shipments</h3>
<ul class="tech-list">
<li>“What’s open right now?” → non-draft PRs awaiting review</li>
<li>“What shipped this week?” → recently merged PRs + meeting notes</li>
<li>“Who owns the auth refactor?” → cross-references assignees</li>
<li>Every answer cites <code>repo#NUMBER</code> sources</li>
</ul>
</div>
<div class="tech-card">
<span class="tech-icon">🎤</span>
<h3>Meeting Memory</h3>
<ul class="tech-list">
<li>Connects to a Granola folder per project</li>
<li>“Summarize the latest meeting” pulls the most recent transcript</li>
<li>“What did we decide about X?” searches recent notes + closed PRs</li>
<li>Never guesses outside the mapped project scope</li>
</ul>
</div>
<div class="tech-card">
<span class="tech-icon">📅</span>
<h3>Scheduled Standups</h3>
<ul class="tech-list">
<li><strong>Daily standup</strong> (Tue–Fri 9am): open PRs + last 24h merges</li>
<li><strong>Weekly summary</strong> (Mon 9am): last 7d merges, aging PRs, issue activity</li>
<li>Driven by cron jobs in the Slack workspace</li>
<li>Same agent loop handles scheduled and user-typed messages</li>
</ul>
</div>
<div class="tech-card">
<span class="tech-icon">🛑</span>
<h3>Scoped by Design</h3>
<ul class="tech-list">
<li>Slack channel ID maps to a project with explicit repos and folder</li>
<li>Always-on skill forbids tool calls outside the project scope</li>
<li><code>repo:<repo></code> qualifier prevents GitHub global-search leakage</li>
<li>If no project is mapped, the bot asks rather than guessing</li>
</ul>
</div>
</div>
</div>
</section>
<!-- Why -->
<section class="content-section">
<div class="container">
<div class="section-header">
<h2>Why Build It</h2>
<p class="section-subtitle">Project status lives in two places: GitHub and meeting notes. ProjectClaw connects them.</p>
</div>
<div class="content-grid">
<div class="content-card">
<h3>Answer the Status Questions</h3>
<p>Team leads spend hours chasing open PRs, merges, and decisions. ProjectClaw answers the routine questions directly in Slack so leads can focus on blockers instead of status checks.</p>
</div>
<div class="content-card">
<h3>Meeting Context, Not Just Minutes</h3>
<p>Granola transcripts capture what was said, but they are hard to search. ProjectClaw turns those transcripts into a queryable memory layer tied to the project’s code activity.</p>
</div>
<div class="content-card">
<h3>Safe Multi-Project Scope</h3>
<p>When one Slack workspace hosts many projects, a bot can accidentally leak context. ProjectClaw’s channel-to-project map and scope rules keep each answer inside its intended boundary.</p>
</div>
</div>
</div>
</section>
<!-- Tech -->
<section class="tech-section" style="background: var(--bg-alt);">
<div class="container">
<div class="section-header">
<h2>Stack</h2>
</div>
<div class="tech-tags" style="justify-content: center;">
<span class="tech-tag">Python</span>
<span class="tech-tag">Slack Socket Mode</span>
<span class="tech-tag">GitHub CLI</span>
<span class="tech-tag">Granola API</span>
<span class="tech-tag">OpenAI API</span>
<span class="tech-tag">NanoClaw</span>
</div>
</div>
</section>
<!-- Footer -->
<footer>
<div class="container">
<div class="footer-content">
<div class="footer-section">
<h3>Navigation</h3>
<a href="projects.html">Projects</a>
<a href="team.html">Team</a>
<a href="news.html">News</a>
</div>
<div class="footer-section">
<h3>Projects</h3>
<a href="venturebot.html">VentureBots</a>
<a href="uniquick.html">UniQuick</a>
<a href="pathshaper.html">PathShaper</a>
<a href="canvas-mcp.html">Canvas MCP</a>
<a href="illiniclaw.html">IlliniClaw</a>
<a href="programos.html">ProgramOS</a>
<a href="giesclaw.html">GiesClaw</a>
<a href="inquiring-agents.html">Inquiring Agents</a>
<a href="cognitive-swarm.html">The Cognitive Swarm</a>
<a href="mindforum.html">MindForum</a>
<a href="hackclaw.html">HackClaw</a>
<a href="text-2-sql.html">Text-2-SQL Agent</a>
<a href="gieschat.html">GiesChat</a>
<a href="project-claw.html">ProjectClaw</a>
<a href="agent-docs.html">AgentDocs</a>
</div>
<div class="footer-section">
<h3>Connect</h3>
<a href="https://github.com/vishalsachdev/AgentLab/issues/new/choose" target="_blank" rel="noopener">Submit an Issue</a>
<a href="https://github.com/gies-ai-experiments" target="_blank">GitHub</a>
</div>
</div>
<div class="footer-bottom">
<p>© 2025 AgentLab — Gies College of Business, University of Illinois</p>
</div>
</div>
</footer>
<script src="js/main.js"></script>
<script defer src='https://static.cloudflareinsights.com/beacon.min.js' data-cf-beacon='{"token": "f6e8d77284b0466eb2ca753f03d64ec0"}'></script>
</body>
</html>