I've been playing with this for the past 24 hours or so. I like the atomic containment of the LLM, and the clear separation of logic, code, and prompts.
You have some great working examples, but, for example: translate_text specifies the default language in three places: the card, the input schema, and the deck. This can't be necessary; I'll experiment, but shouldn't it just be defined in one place?
The descriptive language of the project is a bit dense for me too. I'm having a hard time figuring out how to do basic things like parameters -- let's say that I want to constrain summarize_text to a certain length... I've tried to write language in the cards/decks, but the model doesn't seem to be paying attention.
I also want to be able to load a file, e.g. not just "translate 'hello my friend' to Italian" but "translate '/test/hello_my_friend.txt' to Italian" and have it load the contents of the file as input text. How do I do that?
Wayyyy back in 2000 I ran ad ops for Lycos which included a ton of other sites that they had acquired. We did an audit that uncovered the fact that 25-75% of traffic/pageviews/visitors/ad impressions were due to bots. We did our best at the moment to block some more of them, but it was losing game then, as now.
Advertising, especially online advertising, is a largely a waste of money. Overall, it's obsolete and while it may generate what seems like economic activity, it's a net loss as a use of our time and money.