Add slack analytics project#49
Draft
MajaCernja wants to merge 10 commits into
Draft
Conversation
Collaborator
|
hey @MajaCernja , welcome! This would be great to include, if you're got ideas for generating data or for tasks. (I'm also working on generated data for a larger dbt project, so if I end up creating a programmatic way to do that, I can share it with you) |
MajaCernja
force-pushed
the
add-slack-analytics-project
branch
2 times, most recently
from
January 12, 2026 17:42
857d890 to
377d772
Compare
MajaCernja
force-pushed
the
add-slack-analytics-project
branch
from
March 6, 2026 15:46
377d772 to
3789f37
Compare
MajaCernja
force-pushed
the
add-slack-analytics-project
branch
2 times, most recently
from
April 5, 2026 13:05
6585b7b to
f592619
Compare
MajaCernja
force-pushed
the
add-slack-analytics-project
branch
from
April 26, 2026 16:25
a8317cf to
cef5db6
Compare
MajaCernja
commented
Apr 26, 2026
Author
There was a problem hiding this comment.
Not sure if it's all that useful to commit this script given it served quite a niche purpose, but maybe it'd be helpful as an example for future mock data generation.
(The rest of the data I generated with an online tool called Mockaroo.)
MajaCernja
force-pushed
the
add-slack-analytics-project
branch
from
April 26, 2026 16:33
cef5db6 to
a75ec80
Compare
Internal analytics project adapted to be ok for open source sharing.
Generates reaction data which was difficult to create well with data mocking online tools.
Removing and recreating fct model from scratch
Remove and recreate custom macro for unnesting json
Introduce a type mismatch bug to be fixed by the agent
Rewrites a column ref in fct for agent to identify correct replacement
When send_blocking_keys raises the builtin TimeoutError (a subclass of OSError) it gets misclassified as UNKNOWN_AGENT_ERROR instead of a timeout.
DuckDB treats JSON and VARCHAR as incompatible types, so agents that produced correct data but used a different unnesting approach would fail the equality test with a type mismatch error leading to a false negative result.
The setup script inserts a newer extraction of an existing message, the agent must ensure the model does not contain stale duplicate data.
This task requires an agent to create a mart model from scratch to create an overview of messaging + reaction activity.
MajaCernja
force-pushed
the
add-slack-analytics-project
branch
from
April 26, 2026 16:35
a75ec80 to
647dec8
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Description
This PR adds
slack_analyticsdbt project containing a few models and macros for processing message and reactions data accessible via the public Slack API.It also adds 6 tasks for testing agents based on this projects and fixes two minor issues that surfaced during development.
Sanity checked all tasks pass with the sage agent:

Running the tasks with Claude:

Performance varied a bit across a few different runs. On the most recent ones, Claude sometimes forgot to do a dbt run after generating the solution missing out on valuable error info and it particularly struggled with recreating json parsing / un-nesting functionality.