-
Notifications
You must be signed in to change notification settings - Fork 0
Description
No easy way to manually test with diverse, realistic data representing different types of users. Would be useful to generate persona-based vaults (freelancer, executive, student, etc.) with accompanying playbooks of things to try across the desktop app, CLI, Obsidian plugin, and Claude Code skill.
Base Vault
Create a tdn-test-vault-base repo based on dannysmith/tdn-obsidian-starter-vault but:
- No README.md, CLAUDE.md, example-note.md or getting-started.md
- No content bar Overview.md in folders, no AreaProject.base and only basic Area Project and Task templates
- A preconfigured
.obsidianfolder with defaultcore-plugins.json(including wikilinks and bases) andtaskdnenabled incommunity-plugins.
Claude Code Command
Create A Claude Code command /generate-persona-vault
Input Parameters
Th these allow me to control the things which are important that I provide information on. Both should default so that if run without parameters they uh still work.
- Persona – a long description of the person who is using this, And how they manage their tasks ideally with a description of what they do and how they work in a day. Default to creatively inventing something simple.
- Vault Size - controls the size of the output vault. One of: tiny, small, medium, large, huge. Small by default. This is useful to force the generator to create large vaults when necessary and small vaults uh if I just want to do some quick testing.
Random Parameters
My thinking here is essentially to provide some guidance to Claude on the kinds of parameters to vary. Now I guess we could make all of these parameters that can be provided to the command and have them pick randomly, but my thinking is if I can kind of provide a load of these, we can give instructions to say, Hey, when you're setting this up, pick from the following options. Pick four for tech savvyness, one for tool use style, three for number of areas, one for length of use or whatever, right? And and then for each of those things we'll we'll obviously provide guidance on on the kind of stuff, I guess this is me just kind of giving the AI k knobs it can turn so that it produces a good variety of realistic things.
- tech-savvyness - Range from Grandma -> Nerdy Programmer. will affect both the types of task that they're likely to have and also their preference for working with these tools and the level of skill they'll have and the kinds of uh questions they will ask. For instance, grandma is never gonna use the CLI, but she might use Clawed Code.
- tool-use-style - Whether they prefer working in the command line, in the desktop app or in Obsidian.
- number-of-areas - Some people only have a few high-level areas, other prefer to split them up more (Low || Medium || High)
- number-of-active-projects - Some people work hard to only keep a few active projects on the go at onece. Others keep 20+ in various active statuses, with more in planning (Low || Medium || High || Extreme)
- length-of-use - how long the person has been using taskdn for. The longer they've been using it, the more completed and drop tasks they'll have in their task directory. And they're also expected to have a whole bunch of archive tasks in the archive. We'd also expect them to have a lot of dropped and completed projects and probably a few more paused projects. And they would certainly have a few archived areas. On the other end of the spectrum is a new user who will have zero of these things.
- granularity-of-tasks - Some people create tasks for everything. Very, very small tasks. This is very GTD. Some people tend to create much larger tasks and they'll likely keep longish checklists of subtasks in the body of their task documents.
Fixed Persona traits
Um the persona should always include certain fixed traits which describe the kinds of people who are likely to be using this task management system. Effectively these are here to rule out certain personas who would never use these tools. This should be a very short fixed list of traits.
Process
- Generate persona based on the input persona and the traits you picked above. Be creative but realistic. The persona should have a full name, job, company etc. Include:
- Basic details (name, email, city etc)
- A detailed description of them
- A detailed description of how they tend to manage tasks and what their day looks like and how they use tools to get work done.
- A short 1-2 para summary of the above.
- Generate any hard constraints based on the parameters (eg.
must have no more than X projects) - Run
./create-test-vault --name "Joe Bloggs"script, which:
- Clones
dannysmith/tdn-test-vault-basewith a unique folder name based on the persona name and starting withv- - Creates empty
logs/directory
- Write the persona with constraints to
persona.md - Use the persona to invent a set of appropriate areas and projects which are realistic for that persona. Write these with some notes on the kinds of tasks and your rationale to
vault-plan.md - Create all the areas and projects
- Use a subagent to invent and create tasks
- Use a subagent to critically review all the areas, projects and and tasks for realism, correctness and then edit/add etc as required.
- Generate a "playbook" with some scenarios to try out, and write it to
playbook.md- "Do a weekly review in the desktop app - are all the right tasks surfaced?"
- "Try the same workflow in Claude Code with the skill"
- Run
tdn doctoron the vault with the correct path environment variables and address any issues - Return the next actions the user should take to configure
tdn, the obsidian plugin and the desktop app.