rhachet-roles-bhrain 0.2.0 → 0.3.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/.test/getContextOpenAI.js +1 -1
- package/dist/.test/getContextOpenAI.js.map +1 -1
- package/dist/domain.operations/review/compileReviewPrompt.d.ts +22 -0
- package/dist/domain.operations/review/compileReviewPrompt.js +95 -0
- package/dist/domain.operations/review/compileReviewPrompt.js.map +1 -0
- package/dist/domain.operations/review/enumFilesFromDiffs.d.ts +8 -0
- package/dist/domain.operations/review/enumFilesFromDiffs.js +74 -0
- package/dist/domain.operations/review/enumFilesFromDiffs.js.map +1 -0
- package/dist/domain.operations/review/enumFilesFromGlob.d.ts +8 -0
- package/dist/domain.operations/review/enumFilesFromGlob.js +31 -0
- package/dist/domain.operations/review/enumFilesFromGlob.js.map +1 -0
- package/dist/domain.operations/review/estimateTokenCount.d.ts +9 -0
- package/dist/domain.operations/review/estimateTokenCount.js +20 -0
- package/dist/domain.operations/review/estimateTokenCount.js.map +1 -0
- package/dist/domain.operations/review/formatReviewOutput.d.ts +14 -0
- package/dist/domain.operations/review/formatReviewOutput.js +42 -0
- package/dist/domain.operations/review/formatReviewOutput.js.map +1 -0
- package/dist/domain.operations/review/genTokenBreakdownMarkdown.d.ts +19 -0
- package/dist/domain.operations/review/genTokenBreakdownMarkdown.js +110 -0
- package/dist/domain.operations/review/genTokenBreakdownMarkdown.js.map +1 -0
- package/dist/domain.operations/review/genTokenBreakdownReport.d.ts +24 -0
- package/dist/domain.operations/review/genTokenBreakdownReport.js +64 -0
- package/dist/domain.operations/review/genTokenBreakdownReport.js.map +1 -0
- package/dist/domain.operations/review/invokeClaudeCode.d.ts +22 -0
- package/dist/domain.operations/review/invokeClaudeCode.js +92 -0
- package/dist/domain.operations/review/invokeClaudeCode.js.map +1 -0
- package/dist/domain.operations/review/writeInputArtifacts.d.ts +27 -0
- package/dist/domain.operations/review/writeInputArtifacts.js +50 -0
- package/dist/domain.operations/review/writeInputArtifacts.js.map +1 -0
- package/dist/domain.operations/review/writeOutputArtifacts.d.ts +12 -0
- package/dist/domain.operations/review/writeOutputArtifacts.js +46 -0
- package/dist/domain.operations/review/writeOutputArtifacts.js.map +1 -0
- package/dist/roles/getRoleRegistry.js +2 -1
- package/dist/roles/getRoleRegistry.js.map +1 -1
- package/dist/roles/getRoleRegistry.readme.js +6 -0
- package/dist/roles/getRoleRegistry.readme.js.map +1 -1
- package/dist/roles/reviewer/briefs/review.tactics.md +60 -0
- package/dist/roles/reviewer/getReviewerRole.d.ts +6 -0
- package/dist/roles/reviewer/getReviewerRole.js +80 -0
- package/dist/roles/reviewer/getReviewerRole.js.map +1 -0
- package/dist/roles/reviewer/skills/review/review.d.ts +57 -0
- package/dist/roles/reviewer/skills/review/review.js +445 -0
- package/dist/roles/reviewer/skills/review/review.js.map +1 -0
- package/dist/roles/reviewer/skills/review/review.sh +21 -0
- package/dist/roles/reviewer/skills/review/review.ts +575 -0
- package/dist/roles/thinker/getThinkerRole.js +1 -1
- package/dist/roles/thinker/getThinkerRole.js.map +1 -1
- package/dist/roles/thinker/skills/brief.articulate/.demo/article.vision.v2025_08_19..i1.via_chatgpt.md +47 -0
- package/dist/roles/thinker/skills/brief.articulate/.demo/article.vision.v2025_08_19.i2.via_rhachet.md +60 -0
- package/dist/roles/thinker/skills/brief.articulate/.demo/diverge.v2025_08_17.i1.md +62 -0
- package/dist/roles/thinker/skills/brief.articulate/.demo/diverge.v2025_08_17.i1.with_feedback.md +89 -0
- package/dist/roles/thinker/skills/brief.articulate/.demo/diverge.v2025_08_17.i2.md +47 -0
- package/dist/roles/thinker/skills/brief.articulate/.demo/joke.v2025_08_15.i1.md +44 -0
- package/dist/roles/thinker/skills/brief.articulate/.demo/joke.v2025_08_15.i2.md +63 -0
- package/dist/roles/thinker/skills/brief.articulate/.demo/joke.v2025_08_15.i3.md +51 -0
- package/dist/roles/thinker/skills/brief.articulate/.demo/user-journey.v2025_08_17.i1.md +62 -0
- package/dist/roles/thinker/skills/brief.articulate/.demo/user-journey.v2025_08_17.i2.md +49 -0
- package/dist/roles/thinker/skills/brief.articulate/.readme.md +0 -0
- package/dist/roles/thinker/skills/brief.articulate/stepArticulate.skill.js +1 -1
- package/dist/roles/thinker/skills/brief.articulate/stepArticulate.skill.js.map +1 -1
- package/dist/roles/thinker/skills/brief.articulate/stepArticulate.skill.ts +168 -0
- package/dist/roles/thinker/skills/brief.articulate/stepArticulate.ts +157 -0
- package/dist/roles/thinker/skills/brief.catalogize/.demo/joke.types.v2025_08_28.i1.md +93 -0
- package/dist/roles/thinker/skills/brief.catalogize/.demo/joke.types.v2025_08_28.i2.md +84 -0
- package/dist/roles/thinker/skills/brief.catalogize/.demo/joke.types.v2025_09_28.i1.no_focus_context.md +8 -0
- package/dist/roles/thinker/skills/brief.catalogize/.demo/joke.types.v2025_09_28.i2.md +54 -0
- package/dist/roles/thinker/skills/brief.catalogize/.demo/persona.usecases.v2025_08_28.i1.md +62 -0
- package/dist/roles/thinker/skills/brief.catalogize/.demo/persona.usecases.v2025_08_28.i2.md +64 -0
- package/dist/roles/thinker/skills/brief.catalogize/.readme.md +5 -0
- package/dist/roles/thinker/skills/brief.catalogize/stepCatalogize.skill.js +1 -1
- package/dist/roles/thinker/skills/brief.catalogize/stepCatalogize.skill.js.map +1 -1
- package/dist/roles/thinker/skills/brief.catalogize/stepCatalogize.skill.ts +173 -0
- package/dist/roles/thinker/skills/brief.catalogize/stepCatalogize.ts +132 -0
- package/dist/roles/thinker/skills/brief.demonstrate/.demo/user.journey.roadtrip.input.example.i4.md +3 -0
- package/dist/roles/thinker/skills/brief.demonstrate/.demo/user.journey.roadtrip.input.example.i5.md +3 -0
- package/dist/roles/thinker/skills/brief.demonstrate/.demo/user.journey.roadtrip.input.example.i6.md +3 -0
- package/dist/roles/thinker/skills/brief.demonstrate/.demo/user.journey.roadtrip.input.example.md +3 -0
- package/dist/roles/thinker/skills/brief.demonstrate/.demo/user.journey.roadtrip.v2025_08_27.i1.md +52 -0
- package/dist/roles/thinker/skills/brief.demonstrate/.demo/user.journey.roadtrip.v2025_08_27.i2.md +51 -0
- package/dist/roles/thinker/skills/brief.demonstrate/.demo/user.journey.roadtrip.v2025_08_27.i3.md +47 -0
- package/dist/roles/thinker/skills/brief.demonstrate/.demo/user.journey.roadtrip.v2025_08_27.i4.md +62 -0
- package/dist/roles/thinker/skills/brief.demonstrate/.demo/user.journey.roadtrip.v2025_08_27.i5.md +47 -0
- package/dist/roles/thinker/skills/brief.demonstrate/.demo/user.journey.roadtrip.v2025_08_27.i6.md +53 -0
- package/dist/roles/thinker/skills/brief.demonstrate/.readme +3 -0
- package/dist/roles/thinker/skills/brief.demonstrate/stepDemonstrate.skill.js +1 -1
- package/dist/roles/thinker/skills/brief.demonstrate/stepDemonstrate.skill.js.map +1 -1
- package/dist/roles/thinker/skills/brief.demonstrate/stepDemonstrate.skill.ts +190 -0
- package/dist/roles/thinker/skills/brief.demonstrate/stepDemonstrate.ts +164 -0
- package/dist/roles/thinker/skills/khue.cluster/.demo/user.journeys.input1.cluster.v2025_08_17.i1.md +72 -0
- package/dist/roles/thinker/skills/khue.cluster/.demo/user.journeys.input1.cluster.v2025_08_17.i2.md +53 -0
- package/dist/roles/thinker/skills/khue.cluster/.demo/user.journeys.input1.cluster.v2025_08_17.i3.which_objectives.md +58 -0
- package/dist/roles/thinker/skills/khue.cluster/.demo/user.journeys.input1.cluster.v2025_08_17.i5.which_personas.md +64 -0
- package/dist/roles/thinker/skills/khue.cluster/.demo/user.journeys.input2.cluster.v2025_08_17.i1.md +67 -0
- package/dist/roles/thinker/skills/khue.cluster/.demo/user.journeys.input2.cluster.v2025_08_17.i2.md +49 -0
- package/dist/roles/thinker/skills/khue.cluster/.demo/user.journeys.input2.cluster.v2025_08_17.i3.md +59 -0
- package/dist/roles/thinker/skills/khue.cluster/.readme.md +0 -0
- package/dist/roles/thinker/skills/khue.cluster/stepCluster.skill.js +1 -1
- package/dist/roles/thinker/skills/khue.cluster/stepCluster.skill.js.map +1 -1
- package/dist/roles/thinker/skills/khue.cluster/stepCluster.skill.ts +174 -0
- package/dist/roles/thinker/skills/khue.cluster/stepCluster.ts +150 -0
- package/dist/roles/thinker/skills/khue.decompose/.readme.md +9 -0
- package/dist/roles/thinker/skills/khue.diverge/.demo/joke.examples.v2025_08_17.i2.md +23 -0
- package/dist/roles/thinker/skills/khue.diverge/.demo/joke.examples.v2025_08_17.i3.md +23 -0
- package/dist/roles/thinker/skills/khue.diverge/.demo/joke.varieties.v2025_08_17.i1.md +23 -0
- package/dist/roles/thinker/skills/khue.diverge/.demo/userjourney.examples.v2025_08_17.i1.md +9 -0
- package/dist/roles/thinker/skills/khue.diverge/.demo/userjourney.examples.v2025_08_17.i2.md +9 -0
- package/dist/roles/thinker/skills/khue.diverge/.demo/userjourney.examples.v2025_08_17.i3.md +23 -0
- package/dist/roles/thinker/skills/khue.diverge/.demo/userjourney.examples.v2025_08_17.i4.folksy.md +9 -0
- package/dist/roles/thinker/skills/khue.diverge/.demo/userjourney.examples.v2025_08_17.i5.folksy.md +23 -0
- package/dist/roles/thinker/skills/khue.diverge/.readme.md +0 -0
- package/dist/roles/thinker/skills/khue.diverge/stepDiverge.skill.js +1 -1
- package/dist/roles/thinker/skills/khue.diverge/stepDiverge.skill.js.map +1 -1
- package/dist/roles/thinker/skills/khue.diverge/stepDiverge.skill.ts +149 -0
- package/dist/roles/thinker/skills/khue.diverge/stepDiverge.ts +151 -0
- package/dist/roles/thinker/skills/khue.encompose/.readme.md +7 -0
- package/dist/roles/thinker/skills/khue.instantiate/.readme.md +14 -0
- package/dist/roles/thinker/skills/khue.instantiate/stepInstantiate.skill.js +1 -1
- package/dist/roles/thinker/skills/khue.instantiate/stepInstantiate.skill.js.map +1 -1
- package/dist/roles/thinker/skills/khue.instantiate/stepInstantiate.skill.ts +190 -0
- package/dist/roles/thinker/skills/khue.instantiate/stepInstantiate.ts +132 -0
- package/dist/roles/thinker/skills/khue.triage/.demo/laughs.v2025_08_18.i1.md +29 -0
- package/dist/roles/thinker/skills/khue.triage/.demo/user.journeys.v2025_08_17.i1.md +86 -0
- package/dist/roles/thinker/skills/khue.triage/.demo/user.journeys.v2025_08_17.i2.md +68 -0
- package/dist/roles/thinker/skills/khue.triage/.readme.md +0 -0
- package/dist/roles/thinker/skills/khue.triage/stepTriage.skill.js +1 -1
- package/dist/roles/thinker/skills/khue.triage/stepTriage.skill.js.map +1 -1
- package/dist/roles/thinker/skills/khue.triage/stepTriage.skill.ts +174 -0
- package/dist/roles/thinker/skills/khue.triage/stepTriage.ts +153 -0
- package/package.json +7 -6
- package/readme.md +55 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"stepDemonstrate.skill.js","sourceRoot":"","sources":["../../../../../src/roles/thinker/skills/brief.demonstrate/stepDemonstrate.skill.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"stepDemonstrate.skill.js","sourceRoot":"","sources":["../../../../../src/roles/thinker/skills/brief.demonstrate/stepDemonstrate.skill.ts"],"names":[],"mappings":";;;AAAA,qCAAqD;AACrD,+DAA6E;AAE7E,sEAAmE;AACnE,4EAAyE;AACzE,kEAA+D;AAE/D,uDAA4E;AAE/D,QAAA,iBAAiB,GAAG,IAAA,sBAAY,EAAC;IAC5C,IAAI,EAAE,aAAa;IACnB,KAAK,EAAE,iCAAe;IACtB,OAAO,EAAE;QACP,MAAM,EAAE;YACN,MAAM,EAAE;gBACN,MAAM,EAAE,cAAc;gBACtB,IAAI,EAAE,GAAG;gBACT,IAAI,EAAE,kCAAkC;gBACxC,IAAI,EAAE,QAAQ;aACf;YACD,KAAK,EAAE;gBACL,MAAM,EAAE,cAAc;gBACtB,IAAI,EAAE,GAAG;gBACT,IAAI,EAAE,6BAA6B;gBACnC,IAAI,EAAE,QAAQ;aACf;YACD,IAAI,EAAE;gBACJ,MAAM,EAAE,cAAc;gBACtB,IAAI,EAAE,GAAG;gBACT,IAAI,EAAE,yBAAyB;gBAC/B,IAAI,EAAE,SAAS;aAChB;YACD,UAAU,EAAE;gBACV,MAAM,EAAE,cAAc;gBACtB,IAAI,EAAE,GAAG;gBACT,IAAI,EAAE,wDAAwD;gBAC9D,IAAI,EAAE,SAAS;aAChB;YACD,MAAM,EAAE;gBACN,MAAM,EAAE,cAAc;gBACtB,IAAI,EAAE,GAAG;gBACT,IAAI,EAAE,oDAAoD;gBAC1D,IAAI,EAAE,SAAS;aAChB;YACD,SAAS,EAAE;gBACT,MAAM,EAAE,cAAc;gBACtB,IAAI,EAAE,GAAG,EAAE,0BAA0B;gBACrC,IAAI,EAAE,uDAAuD;gBAC7D,IAAI,EAAE,SAAS;aAChB;SACF;QACD,MAAM,EAAE,CACN,KAAK,EASL,EAAE,CAAC,OAAO,KAAK,CAAC,MAAM,KAAK,QAAQ;QACrC,WAAW,EAAE,KAAK,EAAE,KAQnB,EAAE,EAAE;YACH,gDAAgD;YAChD,MAAM,MAAM,GAAG,IAAA,wCAAiB,EAAC,EAAE,GAAG,EAAE,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC;YACxD,MAAM,SAAS,GAAG;gBAChB,IAAI,EAAE;oBACJ,OAAO,EAAE,IAAA,yCAAkB,EACzB,EAAE,GAAG,EAAE,MAAM,GAAG,kBAAkB,EAAE,EACpC,EAAE,QAAQ,EAAE,IAAI,EAAE,CACnB;oBACD,OAAO,EAAE,IAAA,yCAAkB,EACzB,EAAE,GAAG,EAAE,MAAM,GAAG,kBAAkB,EAAE,EACpC,EAAE,QAAQ,EAAE,IAAI,EAAE,CACnB;iBACF;gBACD,QAAQ,EAAE,IAAA,yCAAkB,EAC1B,EAAE,GAAG,EAAE,MAAM,GAAG,cAAc,EAAE,EAChC,EAAE,QAAQ,EAAE,IAAI,EAAE,CACnB;gBACD,eAAe,EAAE,IAAA,yCAAkB,EACjC,EAAE,GAAG,EAAE,MAAM,GAAG,mBAAmB,EAAE,EACrC,EAAE,QAAQ,EAAE,IAAI,EAAE,CACnB;gBACD,eAAe,EAAE,IAAA,yCAAkB,EACjC,EAAE,GAAG,EAAE,KAAK,CAAC,MAAM,EAAE,EACrB,EAAE,QAAQ,EAAE,IAAI,EAAE,CACnB;gBACD,KAAK,EAAE,IAAA,yCAAkB,EAAC,EAAE,GAAG,EAAE,KAAK,CAAC,KAAK,EAAE,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;gBACnE,UAAU,EACR,KAAK,CAAC,UAAU;oBACd,EAAE,KAAK,CAAC,GAAG,CAAC;qBACX,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC;qBACtB,GAAG,CAAC,CAAC,SAAS,EAAE,EAAE,CACjB,IAAA,yCAAkB,EAAC,EAAE,GAAG,EAAE,SAAS,EAAE,EAAE,EAAE,MAAM,EAAE,UAAU,EAAE,CAAC,CAC/D,IAAI,EAAE;gBACX,MAAM,EACJ,KAAK,CAAC,MAAM;oBACV,EAAE,KAAK,CAAC,GAAG,CAAC;qBACX,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC;qBACtB,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CACb,IAAA,yCAAkB,EAAC,EAAE,GAAG,EAAE,KAAK,EAAE,EAAE,EAAE,MAAM,EAAE,UAAU,EAAE,CAAC,CAC3D,IAAI,EAAE;gBACX,SAAS,EACP,KAAK,CAAC,SAAS;oBACb,EAAE,KAAK,CAAC,GAAG,CAAC;qBACX,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC;qBACtB,GAAG,CAAC,CAAC,QAAQ,EAAE,EAAE,CAChB,IAAA,yCAAkB,EAAC,EAAE,GAAG,EAAE,QAAQ,EAAE,EAAE,EAAE,MAAM,EAAE,UAAU,EAAE,CAAC,CAC9D,IAAI,EAAE;aACZ,CAAC;YAEF,gCAAgC;YAChC,MAAM,WAAW,GAAW,MAAM,CAAC,KAAK,IAAI,EAAE;gBAC5C,qCAAqC;gBACrC,IAAI,KAAK,CAAC,IAAI;oBACZ,OAAO,CACL,CACE,MAAM,IAAA,yCAAkB,EACtB,EAAE,GAAG,EAAE,KAAK,CAAC,IAAI,EAAE,EACnB,EAAE,MAAM,EAAE,UAAU,EAAE,CACvB,CAAC,GAAG,EAAE,CACR,EAAE,OAAO,IAAI,KAAK,CAAC,GAAG,CACxB,CAAC;gBAEJ,gCAAgC;gBAChC,OAAO,KAAK,CAAC,GAAG,CAAC;YACnB,CAAC,CAAC,EAAE,CAAC;YACL,MAAM,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,OAAO,EAAE,WAAW,EAAE,CAAC,CAAC;YAE3D,OAAO;gBACL,MAAM,EAAE,MAAM,IAAA,sBAAY,EAAC;oBACzB,IAAI,EAAE,QAAQ;oBACd,KAAK,EAAE;wBACL,GAAG,EAAE,EAAE;wBACP,GAAG,EAAE;4BACH,mBAAmB,EAAE,SAAS,CAAC,IAAI,CAAC,OAAO;4BAC3C,mBAAmB,EAAE,SAAS,CAAC,IAAI,CAAC,OAAO;4BAC3C,oBAAoB,EAAE,SAAS,CAAC,KAAK;4BACrC,QAAQ,EAAE,SAAS,CAAC,QAAQ;4BAC5B,SAAS,EAAE,SAAS,CAAC,SAAS;yBAC/B;wBACD,IAAI,EAAE,SAAS,CAAC,UAAU;qBAC3B;iBACF,CAAC;gBACF,OAAO,EAAE,MAAM,IAAA,sBAAY,EAAC;oBAC1B,IAAI,EAAE,SAAS;oBACf,KAAK,EAAE;wBACL,GAAG,EAAE;4BACH,eAAe,EAAE,SAAS,CAAC,eAAe,CAAC;4BAC3C,eAAe,EAAE,SAAS,CAAC,eAAe,CAAC;yBAC5C;wBACD,MAAM,EAAE;4BACN,GAAG,SAAS,CAAC,MAAM;4BACnB,GAAG,wCAAsB,EAAE,4JAA4J;yBACxL;qBACF;iBACF,CAAC;aACH,CAAC;QACJ,CAAC;KACF;IACD,OAAO,EAAE;QACP,MAAM,EAAE;YACN,YAAY,EAAE;gBACZ,MAAM,EAAE,aAAa;gBACrB,KAAK,EAAE,gBAAgB;gBACvB,IAAI,EAAE,uBAAuB;gBAC7B,IAAI,EAAE,QAAQ;aACf;SACF;QACD,MAAM,EAAE,CAAC,KAAK,EAAqC,EAAE,CACnD,OAAO,KAAK,CAAC,YAAY,KAAK,QAAQ;QACxC,WAAW,EAAE,GAAG,EAAE;YAChB,OAAO;gBACL,GAAG,IAAA,mCAAgB,GAAE;gBACrB,GAAG,IAAA,uCAAkB,GAAE;gBACvB,GAAG,IAAA,6CAAqB,GAAE;aAC3B,CAAC;QACJ,CAAC;KACF;IACD,MAAM,EAAE,EAAE;CACX,CAAC,CAAC"}
|
|
@@ -0,0 +1,190 @@
|
|
|
1
|
+
import { enrollThread, genRoleSkill } from 'rhachet';
|
|
2
|
+
import { genArtifactGitFile, getArtifactObsDir } from 'rhachet-artifact-git';
|
|
3
|
+
|
|
4
|
+
import { genContextLogTrail } from '@src/.test/genContextLogTrail';
|
|
5
|
+
import { genContextStitchTrail } from '@src/.test/genContextStitchTrail';
|
|
6
|
+
import { getContextOpenAI } from '@src/.test/getContextOpenAI';
|
|
7
|
+
|
|
8
|
+
import { BRIEFS_FOR_DEMONSTRATE, loopDemonstrate } from './stepDemonstrate';
|
|
9
|
+
|
|
10
|
+
export const SKILL_DEMONSTRATE = genRoleSkill({
|
|
11
|
+
slug: 'demonstrate',
|
|
12
|
+
route: loopDemonstrate,
|
|
13
|
+
threads: {
|
|
14
|
+
lookup: {
|
|
15
|
+
output: {
|
|
16
|
+
source: 'process.argv',
|
|
17
|
+
char: 'o',
|
|
18
|
+
desc: 'the output file to write against',
|
|
19
|
+
type: 'string',
|
|
20
|
+
},
|
|
21
|
+
input: {
|
|
22
|
+
source: 'process.argv',
|
|
23
|
+
char: 'i',
|
|
24
|
+
desc: 'the input file to seed from',
|
|
25
|
+
type: 'string',
|
|
26
|
+
},
|
|
27
|
+
goal: {
|
|
28
|
+
source: 'process.argv',
|
|
29
|
+
char: 'g',
|
|
30
|
+
desc: 'the goal of the request',
|
|
31
|
+
type: '?string',
|
|
32
|
+
},
|
|
33
|
+
references: {
|
|
34
|
+
source: 'process.argv',
|
|
35
|
+
char: 'f',
|
|
36
|
+
desc: 'reference files to to use, if any; delimit with commas',
|
|
37
|
+
type: '?string',
|
|
38
|
+
},
|
|
39
|
+
briefs: {
|
|
40
|
+
source: 'process.argv',
|
|
41
|
+
char: 'b',
|
|
42
|
+
desc: 'brief files to to use, if any; delimit with commas',
|
|
43
|
+
type: '?string',
|
|
44
|
+
},
|
|
45
|
+
templates: {
|
|
46
|
+
source: 'process.argv',
|
|
47
|
+
char: 'z', // todo: support undefined
|
|
48
|
+
desc: 'template files to to use, if any; delimit with commas',
|
|
49
|
+
type: '?string',
|
|
50
|
+
},
|
|
51
|
+
},
|
|
52
|
+
assess: (
|
|
53
|
+
input,
|
|
54
|
+
): input is {
|
|
55
|
+
output: string;
|
|
56
|
+
input: string;
|
|
57
|
+
goal: string;
|
|
58
|
+
references: string;
|
|
59
|
+
briefs: string;
|
|
60
|
+
templates?: string;
|
|
61
|
+
ask: string;
|
|
62
|
+
} => typeof input.output === 'string',
|
|
63
|
+
instantiate: async (input: {
|
|
64
|
+
output: string;
|
|
65
|
+
input: string;
|
|
66
|
+
goal: string;
|
|
67
|
+
references: string;
|
|
68
|
+
briefs: string;
|
|
69
|
+
templates?: string;
|
|
70
|
+
ask: string;
|
|
71
|
+
}) => {
|
|
72
|
+
// declare where all the artifacts will be found
|
|
73
|
+
const obsDir = getArtifactObsDir({ uri: input.output });
|
|
74
|
+
const artifacts = {
|
|
75
|
+
goal: {
|
|
76
|
+
concept: genArtifactGitFile(
|
|
77
|
+
{ uri: obsDir + '.goal.concept.md' },
|
|
78
|
+
{ versions: true },
|
|
79
|
+
),
|
|
80
|
+
context: genArtifactGitFile(
|
|
81
|
+
{ uri: obsDir + '.goal.context.md' },
|
|
82
|
+
{ versions: true },
|
|
83
|
+
),
|
|
84
|
+
},
|
|
85
|
+
feedback: genArtifactGitFile(
|
|
86
|
+
{ uri: obsDir + '.feedback.md' },
|
|
87
|
+
{ versions: true },
|
|
88
|
+
),
|
|
89
|
+
'focus.context': genArtifactGitFile(
|
|
90
|
+
{ uri: obsDir + '.focus.context.md' },
|
|
91
|
+
{ versions: true },
|
|
92
|
+
),
|
|
93
|
+
'focus.concept': genArtifactGitFile(
|
|
94
|
+
{ uri: input.output },
|
|
95
|
+
{ versions: true },
|
|
96
|
+
),
|
|
97
|
+
input: genArtifactGitFile({ uri: input.input }, { versions: true }),
|
|
98
|
+
references:
|
|
99
|
+
input.references
|
|
100
|
+
?.split(',')
|
|
101
|
+
.filter((uri) => !!uri)
|
|
102
|
+
.map((reference) =>
|
|
103
|
+
genArtifactGitFile({ uri: reference }, { access: 'readonly' }),
|
|
104
|
+
) ?? [],
|
|
105
|
+
briefs:
|
|
106
|
+
input.briefs
|
|
107
|
+
?.split(',')
|
|
108
|
+
.filter((uri) => !!uri)
|
|
109
|
+
.map((brief) =>
|
|
110
|
+
genArtifactGitFile({ uri: brief }, { access: 'readonly' }),
|
|
111
|
+
) ?? [],
|
|
112
|
+
templates:
|
|
113
|
+
input.templates
|
|
114
|
+
?.split(',')
|
|
115
|
+
.filter((uri) => !!uri)
|
|
116
|
+
.map((template) =>
|
|
117
|
+
genArtifactGitFile({ uri: template }, { access: 'readonly' }),
|
|
118
|
+
) ?? [],
|
|
119
|
+
};
|
|
120
|
+
|
|
121
|
+
// detect the goal of the caller
|
|
122
|
+
const goalConcept: string = await (async () => {
|
|
123
|
+
// if goal explicitly defined, use it
|
|
124
|
+
if (input.goal)
|
|
125
|
+
return (
|
|
126
|
+
(
|
|
127
|
+
await genArtifactGitFile(
|
|
128
|
+
{ uri: input.goal },
|
|
129
|
+
{ access: 'readonly' },
|
|
130
|
+
).get()
|
|
131
|
+
)?.content ?? input.ask
|
|
132
|
+
);
|
|
133
|
+
|
|
134
|
+
// otherwise, assume its the ask
|
|
135
|
+
return input.ask;
|
|
136
|
+
})();
|
|
137
|
+
await artifacts.goal.concept.set({ content: goalConcept });
|
|
138
|
+
|
|
139
|
+
return {
|
|
140
|
+
caller: await enrollThread({
|
|
141
|
+
role: 'caller',
|
|
142
|
+
stash: {
|
|
143
|
+
ask: '',
|
|
144
|
+
art: {
|
|
145
|
+
'foci.goal.concept': artifacts.goal.concept,
|
|
146
|
+
'foci.goal.context': artifacts.goal.context,
|
|
147
|
+
'foci.input.concept': artifacts.input,
|
|
148
|
+
feedback: artifacts.feedback,
|
|
149
|
+
templates: artifacts.templates,
|
|
150
|
+
},
|
|
151
|
+
refs: artifacts.references,
|
|
152
|
+
},
|
|
153
|
+
}),
|
|
154
|
+
thinker: await enrollThread({
|
|
155
|
+
role: 'thinker',
|
|
156
|
+
stash: {
|
|
157
|
+
art: {
|
|
158
|
+
'focus.context': artifacts['focus.context'],
|
|
159
|
+
'focus.concept': artifacts['focus.concept'],
|
|
160
|
+
},
|
|
161
|
+
briefs: [
|
|
162
|
+
...artifacts.briefs,
|
|
163
|
+
...BRIEFS_FOR_DEMONSTRATE, // flow the demonstrate briefs down so that <ponder> has them in context too; this approach does cause duplicate briefs for demonstrate, but thats no biggie
|
|
164
|
+
],
|
|
165
|
+
},
|
|
166
|
+
}),
|
|
167
|
+
};
|
|
168
|
+
},
|
|
169
|
+
},
|
|
170
|
+
context: {
|
|
171
|
+
lookup: {
|
|
172
|
+
apiKeyOpenai: {
|
|
173
|
+
source: 'process.env',
|
|
174
|
+
envar: 'OPENAI_API_KEY',
|
|
175
|
+
desc: 'the openai key to use',
|
|
176
|
+
type: 'string',
|
|
177
|
+
},
|
|
178
|
+
},
|
|
179
|
+
assess: (input): input is { apiKeyOpenai: string } =>
|
|
180
|
+
typeof input.apiKeyOpenai === 'string',
|
|
181
|
+
instantiate: () => {
|
|
182
|
+
return {
|
|
183
|
+
...getContextOpenAI(),
|
|
184
|
+
...genContextLogTrail(),
|
|
185
|
+
...genContextStitchTrail(),
|
|
186
|
+
};
|
|
187
|
+
},
|
|
188
|
+
},
|
|
189
|
+
readme: '',
|
|
190
|
+
});
|
|
@@ -0,0 +1,164 @@
|
|
|
1
|
+
import { UnexpectedCodePathError } from 'helpful-errors';
|
|
2
|
+
import {
|
|
3
|
+
asStitcherFlat,
|
|
4
|
+
type GStitcher,
|
|
5
|
+
genStepImagineViaTemplate,
|
|
6
|
+
genStitchRoute,
|
|
7
|
+
genTemplate,
|
|
8
|
+
getTemplateValFromArtifacts,
|
|
9
|
+
getTemplateVarsFromRoleInherit,
|
|
10
|
+
type RoleContext,
|
|
11
|
+
type Threads,
|
|
12
|
+
} from 'rhachet';
|
|
13
|
+
import type { Artifact } from 'rhachet-artifact';
|
|
14
|
+
import type { GitFile } from 'rhachet-artifact-git';
|
|
15
|
+
import { withRetry, withTimeout } from 'wrapper-fns';
|
|
16
|
+
|
|
17
|
+
import type { Focus } from '@src/_topublish/rhachet-roles-bhrain/src/domain/objects/Focus';
|
|
18
|
+
import { type ContextOpenAI, sdkOpenAi } from '@src/access/sdk/sdkOpenAi';
|
|
19
|
+
import { genLoopFeedback } from '@src/domain.operations/artifact/genLoopFeedback';
|
|
20
|
+
import { genStepArtSet } from '@src/domain.operations/artifact/genStepArtSet';
|
|
21
|
+
import { getThinkerBriefs } from '@src/roles/thinker/getThinkerBrief';
|
|
22
|
+
|
|
23
|
+
// exported so that we can pass them through to <ponder> too
|
|
24
|
+
export const BRIEFS_FOR_DEMONSTRATE = getThinkerBriefs([
|
|
25
|
+
'trait.ocd.md',
|
|
26
|
+
'cognition/cog401.questions.._.md',
|
|
27
|
+
'cognition/cog000.overview.and.premise.md',
|
|
28
|
+
'cognition/cog101.concept.treestruct._.md',
|
|
29
|
+
'cognition/cog201.cortal.focus.p1.definition.md',
|
|
30
|
+
'cognition/cog301.traversal.1.motion.primitives._.md',
|
|
31
|
+
'cognition/cog401.questions.._.md',
|
|
32
|
+
'cognition/cog401.questions.2.1.primitives.rough._.md',
|
|
33
|
+
'cognition/cog201.cortal.focus.p2.breadth.md',
|
|
34
|
+
'cognition/cog301.traversal.1.motion.primitives.breadth.md',
|
|
35
|
+
'cognition/cog301.traversal.1.motion.primitives.breadth.vary.md',
|
|
36
|
+
'librarian.tactics/[brief].verbiage.outline.over.narrative.md',
|
|
37
|
+
// 'librarian.tactics/<demonstrate>._.[article].frame.tactical.md',
|
|
38
|
+
// 'librarian.tactics/<demonstrate>._.[article].frame.colloquial.md',
|
|
39
|
+
// 'librarian.tactics/<demonstrate>.tactics.[catalog].md',
|
|
40
|
+
'librarian.tactics/<demonstrate>._.[article].frame.colloquial.i2.by_grok.md',
|
|
41
|
+
'librarian.tactics/<demonstrate>.variants.[catalog].md',
|
|
42
|
+
// 'librarian.tactics/<demonstrate>.variants.contrast.[demo].usecase.vs_userjourney.by_chatgpt.md',
|
|
43
|
+
'librarian.tactics/<demonstrate>.variants.example.[demo].tea.darjeeling.by_grok.md',
|
|
44
|
+
'librarian.tactics/<demonstrate>.variants.counter.[demo].walkability.phoenix.by_chargpt.md',
|
|
45
|
+
'librarian.tactics/<demonstrate>.variants.example.[demo].walkability.portland.by_chatgpt.i3.md',
|
|
46
|
+
'librarian.tactics/<demonstrate>.variants.example.[demo].walkability.portland.by_grok.i2.md',
|
|
47
|
+
'librarian.tactics/<demonstrate>.variants.example.structure.[article].i2.md',
|
|
48
|
+
'librarian.tactics/<demonstrate>.variants.example.[lesson].howto.md',
|
|
49
|
+
]);
|
|
50
|
+
|
|
51
|
+
type StitcherDesired = GStitcher<
|
|
52
|
+
Threads<{
|
|
53
|
+
caller: RoleContext<
|
|
54
|
+
'caller',
|
|
55
|
+
{
|
|
56
|
+
art: {
|
|
57
|
+
feedback: Artifact<typeof GitFile>;
|
|
58
|
+
'foci.goal.concept': Focus['concept'];
|
|
59
|
+
'foci.goal.context': Focus['context'];
|
|
60
|
+
'foci.input.concept': Focus['concept'];
|
|
61
|
+
templates: Artifact<typeof GitFile>[]; // more of a librarian input ?
|
|
62
|
+
};
|
|
63
|
+
refs: Artifact<typeof GitFile>[];
|
|
64
|
+
}
|
|
65
|
+
>;
|
|
66
|
+
thinker: RoleContext<
|
|
67
|
+
'thinker',
|
|
68
|
+
{
|
|
69
|
+
art: {
|
|
70
|
+
'focus.concept': Focus['concept'];
|
|
71
|
+
'focus.context': Focus['context'];
|
|
72
|
+
};
|
|
73
|
+
briefs: Artifact<typeof GitFile>[];
|
|
74
|
+
}
|
|
75
|
+
>;
|
|
76
|
+
}>,
|
|
77
|
+
ContextOpenAI & GStitcher['context'],
|
|
78
|
+
{ content: string }
|
|
79
|
+
>;
|
|
80
|
+
|
|
81
|
+
const template = genTemplate<StitcherDesired['threads']>({
|
|
82
|
+
ref: { uri: __filename.replace('.ts', '.template.md') },
|
|
83
|
+
getVariables: async ({ threads }) => ({
|
|
84
|
+
...(await getTemplateVarsFromRoleInherit({ thread: threads.thinker })),
|
|
85
|
+
|
|
86
|
+
guide: {
|
|
87
|
+
goal:
|
|
88
|
+
(await threads.caller.context.stash.art['foci.goal.concept'].get())
|
|
89
|
+
?.content ||
|
|
90
|
+
UnexpectedCodePathError.throw('goal not declared', {
|
|
91
|
+
art: threads.caller.context.stash.art['foci.goal.concept'],
|
|
92
|
+
}),
|
|
93
|
+
feedback:
|
|
94
|
+
(await threads.caller.context.stash.art.feedback.get())?.content || '',
|
|
95
|
+
},
|
|
96
|
+
|
|
97
|
+
focus: {
|
|
98
|
+
context:
|
|
99
|
+
(await threads.thinker.context.stash.art['focus.context'].get())
|
|
100
|
+
?.content ||
|
|
101
|
+
(await threads.caller.context.stash.art['foci.goal.context'].get()) // fallback to @[caller].focus[goal].context
|
|
102
|
+
?.content ||
|
|
103
|
+
'',
|
|
104
|
+
concept:
|
|
105
|
+
(await threads.thinker.context.stash.art['focus.concept'].get())
|
|
106
|
+
?.content || '',
|
|
107
|
+
},
|
|
108
|
+
|
|
109
|
+
seed: {
|
|
110
|
+
concept:
|
|
111
|
+
(await threads.caller.context.stash.art['foci.input.concept'].get())
|
|
112
|
+
?.content ||
|
|
113
|
+
UnexpectedCodePathError.throw('input not declared', {
|
|
114
|
+
art: threads.caller.context.stash.art['foci.input.concept'],
|
|
115
|
+
}),
|
|
116
|
+
},
|
|
117
|
+
|
|
118
|
+
skill: {
|
|
119
|
+
briefs: await getTemplateValFromArtifacts({
|
|
120
|
+
artifacts: [
|
|
121
|
+
...BRIEFS_FOR_DEMONSTRATE,
|
|
122
|
+
...threads.thinker.context.stash.briefs,
|
|
123
|
+
],
|
|
124
|
+
}),
|
|
125
|
+
},
|
|
126
|
+
|
|
127
|
+
references: await getTemplateValFromArtifacts({
|
|
128
|
+
artifacts: threads.caller.context.stash.refs,
|
|
129
|
+
}),
|
|
130
|
+
|
|
131
|
+
templates: await getTemplateValFromArtifacts({
|
|
132
|
+
artifacts: [...threads.caller.context.stash.art.templates],
|
|
133
|
+
}),
|
|
134
|
+
}),
|
|
135
|
+
});
|
|
136
|
+
|
|
137
|
+
const stepImagine = genStepImagineViaTemplate<StitcherDesired>({
|
|
138
|
+
slug: '@[thinker]<demonstrate>',
|
|
139
|
+
stitchee: 'thinker',
|
|
140
|
+
readme: '',
|
|
141
|
+
template,
|
|
142
|
+
imagine: withRetry(
|
|
143
|
+
withTimeout(sdkOpenAi.imagine, { threshold: { seconds: 60 } }), // allow up to 60 sec, for longer files
|
|
144
|
+
),
|
|
145
|
+
});
|
|
146
|
+
|
|
147
|
+
const stepPersist = genStepArtSet({
|
|
148
|
+
stitchee: 'thinker',
|
|
149
|
+
artee: 'focus.concept',
|
|
150
|
+
});
|
|
151
|
+
|
|
152
|
+
export const stepDemonstrate = asStitcherFlat<StitcherDesired>(
|
|
153
|
+
genStitchRoute({
|
|
154
|
+
slug: '@[thinker]<demonstrate>',
|
|
155
|
+
readme: '@[thinker]<demonstrate> -> [article]',
|
|
156
|
+
sequence: [stepImagine, stepPersist],
|
|
157
|
+
}),
|
|
158
|
+
);
|
|
159
|
+
|
|
160
|
+
export const loopDemonstrate = genLoopFeedback({
|
|
161
|
+
stitchee: 'thinker',
|
|
162
|
+
artee: 'focus.concept',
|
|
163
|
+
repeatee: stepDemonstrate,
|
|
164
|
+
});
|
package/dist/roles/thinker/skills/khue.cluster/.demo/user.journeys.input1.cluster.v2025_08_17.i1.md
ADDED
|
@@ -0,0 +1,72 @@
|
|
|
1
|
+
[
|
|
2
|
+
{
|
|
3
|
+
"label": "E-commerce and Shopping",
|
|
4
|
+
"members": [
|
|
5
|
+
"a fan purchasing merchandise and concert tickets through a band’s fan club portal",
|
|
6
|
+
"a shopper browsing fashion trends and creating a personalized outfit on a clothing retailer's site",
|
|
7
|
+
"a traveler planning and booking a multi-stop vacation using a travel aggregator",
|
|
8
|
+
"a subscriber managing subscriptions and preferences through a digital newspaper site",
|
|
9
|
+
"a foodie exploring recipes and meal planning with an online culinary community"
|
|
10
|
+
],
|
|
11
|
+
"rationale": "These activities involve purchasing goods, services, or subscriptions online, often tailored to personal preferences and interests."
|
|
12
|
+
},
|
|
13
|
+
{
|
|
14
|
+
"label": "Community Interaction and Engagement",
|
|
15
|
+
"members": [
|
|
16
|
+
"a hobbyist engaging with a community forum to share projects and seek advice",
|
|
17
|
+
"a team collaborating and tracking project tasks using a productivity software suite",
|
|
18
|
+
"an artist sharing portfolio works and engaging with followers on social media",
|
|
19
|
+
"a researcher accessing databases and compiling data for academic work via a university portal"
|
|
20
|
+
],
|
|
21
|
+
"rationale": "These scenarios focus on engaging and collaborating within online communities to share ideas, manage tasks, and disseminate information."
|
|
22
|
+
},
|
|
23
|
+
{
|
|
24
|
+
"label": "Entertainment and Leisure",
|
|
25
|
+
"members": [
|
|
26
|
+
"a gamer unlocking achievements and in-game rewards while progressing through a video game",
|
|
27
|
+
"a subscriber exploring exclusive content and engaging with creators on a streaming platform",
|
|
28
|
+
"a traveler planning and booking a multi-stop vacation using a travel aggregator"
|
|
29
|
+
],
|
|
30
|
+
"rationale": "These activities are centered around entertainment, leisure, and exploration, often through digital and interactive platforms."
|
|
31
|
+
},
|
|
32
|
+
{
|
|
33
|
+
"label": "Financial and Investment Management",
|
|
34
|
+
"members": [
|
|
35
|
+
"an individual researching and choosing a financial investment through an online brokerage platform",
|
|
36
|
+
"a donor contributing to multiple causes and managing donations through a charitable giving platform"
|
|
37
|
+
],
|
|
38
|
+
"rationale": "Both actions involve financial decision-making and management facilitated by digital platforms."
|
|
39
|
+
},
|
|
40
|
+
{
|
|
41
|
+
"label": "Professional and Career Development",
|
|
42
|
+
"members": [
|
|
43
|
+
"a job seeker applying and interviewing for positions via an employment website",
|
|
44
|
+
"an entrepreneur submitting a business idea for evaluation via a startup accelerator program",
|
|
45
|
+
"a writer drafting and publishing posts using a blogging platform's features"
|
|
46
|
+
],
|
|
47
|
+
"rationale": "These activities relate to career advancement and professional contributions facilitated through online platforms."
|
|
48
|
+
},
|
|
49
|
+
{
|
|
50
|
+
"label": "Health and Wellness",
|
|
51
|
+
"members": [
|
|
52
|
+
"a fitness enthusiast scheduling and tracking workouts with a mobile fitness application",
|
|
53
|
+
"a patient exploring healthcare options and scheduling appointments through a telehealth service"
|
|
54
|
+
],
|
|
55
|
+
"rationale": "These tasks focus on managing personal health and wellness through the use of technology and digital services."
|
|
56
|
+
},
|
|
57
|
+
{
|
|
58
|
+
"label": "Real Estate and Property Management",
|
|
59
|
+
"members": [
|
|
60
|
+
"a visitor comparing neighborhoods and selecting a property on a real estate website",
|
|
61
|
+
"a parent managing school-related activities and communication through a virtual learning environment"
|
|
62
|
+
],
|
|
63
|
+
"rationale": "These scenarios involve evaluating properties and managing activities related to real estate and education, often facilitated by digital tools."
|
|
64
|
+
},
|
|
65
|
+
{
|
|
66
|
+
"label": "Technology Setup and Management",
|
|
67
|
+
"members": [
|
|
68
|
+
"a new user learning about and setting up a smart home device using the manufacturer's mobile app"
|
|
69
|
+
],
|
|
70
|
+
"rationale": "This activity involves setting up technology through a mobile app for personal convenience and management."
|
|
71
|
+
}
|
|
72
|
+
]
|
package/dist/roles/thinker/skills/khue.cluster/.demo/user.journeys.input1.cluster.v2025_08_17.i2.md
ADDED
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
[
|
|
2
|
+
{
|
|
3
|
+
"label": "Online Commerce and Transactions",
|
|
4
|
+
"members": [
|
|
5
|
+
"an individual researching and choosing a financial investment through an online brokerage platform",
|
|
6
|
+
"a visitor comparing neighborhoods and selecting a property on a real estate website",
|
|
7
|
+
"a fan purchasing merchandise and concert tickets through a band’s fan club portal",
|
|
8
|
+
"a shopper browsing fashion trends and creating a personalized outfit on a clothing retailer's site",
|
|
9
|
+
"a traveler planning and booking a multi-stop vacation using a travel aggregator",
|
|
10
|
+
"a job seeker applying and interviewing for positions via an employment website",
|
|
11
|
+
"a donor contributing to multiple causes and managing donations through a charitable giving platform"
|
|
12
|
+
],
|
|
13
|
+
"rationale": "These activities involve making purchases or selecting services digitally, often involving research, comparison, and transaction execution on online platforms."
|
|
14
|
+
},
|
|
15
|
+
{
|
|
16
|
+
"label": "Digital Content and Community Engagement",
|
|
17
|
+
"members": [
|
|
18
|
+
"a new user learning about and setting up a smart home device using the manufacturer's mobile app",
|
|
19
|
+
"a hobbyist engaging with a community forum to share projects and seek advice",
|
|
20
|
+
"a parent managing school-related activities and communication through a virtual learning environment",
|
|
21
|
+
"a subscriber exploring exclusive content and engaging with creators on a streaming platform",
|
|
22
|
+
"an artist sharing portfolio works and engaging with followers on social media",
|
|
23
|
+
"a writer drafting and publishing posts using a blogging platform's features",
|
|
24
|
+
"a foodie exploring recipes and meal planning with an online culinary community"
|
|
25
|
+
],
|
|
26
|
+
"rationale": "These actions focus on engaging with digital content, learning, sharing, and interacting with communities through various online platforms."
|
|
27
|
+
},
|
|
28
|
+
{
|
|
29
|
+
"label": "Productivity and Professional Development",
|
|
30
|
+
"members": [
|
|
31
|
+
"an entrepreneur submitting a business idea for evaluation via a startup accelerator program",
|
|
32
|
+
"a researcher accessing databases and compiling data for academic work via a university portal",
|
|
33
|
+
"a team collaborating and tracking project tasks using a productivity software suite",
|
|
34
|
+
"a fitness enthusiast scheduling and tracking workouts with a mobile fitness application",
|
|
35
|
+
"a patient exploring healthcare options and scheduling appointments through a telehealth service"
|
|
36
|
+
],
|
|
37
|
+
"rationale": "These activities pertain to professional development, personal productivity, collaboration, and managing health and wellness, often using specialized online platforms."
|
|
38
|
+
},
|
|
39
|
+
{
|
|
40
|
+
"label": "Entertainment and Recreation",
|
|
41
|
+
"members": [
|
|
42
|
+
"a gamer unlocking achievements and in-game rewards while progressing through a video game"
|
|
43
|
+
],
|
|
44
|
+
"rationale": "This activity involves engaging with digital entertainment platforms for leisure and recreation, often focusing on the gaming experience."
|
|
45
|
+
},
|
|
46
|
+
{
|
|
47
|
+
"label": "Service Management and Personalization",
|
|
48
|
+
"members": [
|
|
49
|
+
"a subscriber managing subscriptions and preferences through a digital newspaper site"
|
|
50
|
+
],
|
|
51
|
+
"rationale": "This activity involves personalized management and customization of service subscriptions to meet the user's preferences and needs."
|
|
52
|
+
}
|
|
53
|
+
]
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
[
|
|
2
|
+
{
|
|
3
|
+
"label": "Financial and Investment Objectives",
|
|
4
|
+
"members": [
|
|
5
|
+
"an individual researching and choosing a financial investment through an online brokerage platform",
|
|
6
|
+
"an entrepreneur submitting a business idea for evaluation via a startup accelerator program",
|
|
7
|
+
"a donor contributing to multiple causes and managing donations through a charitable giving platform"
|
|
8
|
+
],
|
|
9
|
+
"rationale": "These objectives involve managing finances, investments, or capital in various forms, whether through personal investment platforms, entrepreneurial assessment, or philanthropic activities."
|
|
10
|
+
},
|
|
11
|
+
{
|
|
12
|
+
"label": "Real Estate and Property Management",
|
|
13
|
+
"members": [
|
|
14
|
+
"a visitor comparing neighborhoods and selecting a property on a real estate website",
|
|
15
|
+
"a parent managing school-related activities and communication through a virtual learning environment",
|
|
16
|
+
"a donor contributing to multiple causes and managing donations through a charitable giving platform"
|
|
17
|
+
],
|
|
18
|
+
"rationale": "This cluster involves objectives related to property, either through real estate selection or managing activities related to properties, such as those involving educational environments."
|
|
19
|
+
},
|
|
20
|
+
{
|
|
21
|
+
"label": "Personal Development and Fitness",
|
|
22
|
+
"members": [
|
|
23
|
+
"a fitness enthusiast scheduling and tracking workouts with a mobile fitness application",
|
|
24
|
+
"a traveler planning and booking a multi-stop vacation using a travel aggregator",
|
|
25
|
+
"a patient exploring healthcare options and scheduling appointments through a telehealth service"
|
|
26
|
+
],
|
|
27
|
+
"rationale": "These objectives are associated with personal development and maintaining physical health, facilitated through technology for fitness, travel, or healthcare."
|
|
28
|
+
},
|
|
29
|
+
{
|
|
30
|
+
"label": "Content and Media Engagement",
|
|
31
|
+
"members": [
|
|
32
|
+
"a fan purchasing merchandise and concert tickets through a band’s fan club portal",
|
|
33
|
+
"a subscriber exploring exclusive content and engaging with creators on a streaming platform",
|
|
34
|
+
"a gamer unlocking achievements and in-game rewards while progressing through a video game",
|
|
35
|
+
"an artist sharing portfolio works and engaging with followers on social media",
|
|
36
|
+
"a writer drafting and publishing posts using a blogging platform's features"
|
|
37
|
+
],
|
|
38
|
+
"rationale": "This cluster groups objectives related to engaging with various forms of media and content, whether through music, streaming, gaming, or creative arts."
|
|
39
|
+
},
|
|
40
|
+
{
|
|
41
|
+
"label": "Community and Collaboration",
|
|
42
|
+
"members": [
|
|
43
|
+
"a hobbyist engaging with a community forum to share projects and seek advice",
|
|
44
|
+
"a team collaborating and tracking project tasks using a productivity software suite",
|
|
45
|
+
"a researcher accessing databases and compiling data for academic work via a university portal"
|
|
46
|
+
],
|
|
47
|
+
"rationale": "These objectives involve engaging with communities or teams for sharing, collaborating, and achieving collective goals."
|
|
48
|
+
},
|
|
49
|
+
{
|
|
50
|
+
"label": "Consumer Shopping and Trends",
|
|
51
|
+
"members": [
|
|
52
|
+
"a shopper browsing fashion trends and creating a personalized outfit on a clothing retailer's site",
|
|
53
|
+
"a subscriber managing subscriptions and preferences through a digital newspaper site",
|
|
54
|
+
"a foodie exploring recipes and meal planning with an online culinary community"
|
|
55
|
+
],
|
|
56
|
+
"rationale": "This cluster involves shopping and consumer behaviors focused on exploring trends, managing subscriptions, or culinary interests."
|
|
57
|
+
}
|
|
58
|
+
]
|
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
[
|
|
2
|
+
{
|
|
3
|
+
"label": "E-commerce and Shopping",
|
|
4
|
+
"members": [
|
|
5
|
+
"a shopper browsing fashion trends and creating a personalized outfit on a clothing retailer's site",
|
|
6
|
+
"a fan purchasing merchandise and concert tickets through a band’s fan club portal",
|
|
7
|
+
"a foodie exploring recipes and meal planning with an online culinary community"
|
|
8
|
+
],
|
|
9
|
+
"rationale": "These personas are centered around online shopping, purchasing, and customizing experiences related to fashion, fan merchandise, and food."
|
|
10
|
+
},
|
|
11
|
+
{
|
|
12
|
+
"label": "Home and Lifestyle Management",
|
|
13
|
+
"members": [
|
|
14
|
+
"a new user learning about and setting up a smart home device using the manufacturer's mobile app",
|
|
15
|
+
"a parent managing school-related activities and communication through a virtual learning environment",
|
|
16
|
+
"a fitness enthusiast scheduling and tracking workouts with a mobile fitness application"
|
|
17
|
+
],
|
|
18
|
+
"rationale": "This group involves managing aspects of daily life and home, from smart home devices and school activities to fitness routines."
|
|
19
|
+
},
|
|
20
|
+
{
|
|
21
|
+
"label": "Finance and Investment",
|
|
22
|
+
"members": [
|
|
23
|
+
"an individual researching and choosing a financial investment through an online brokerage platform",
|
|
24
|
+
"a donor contributing to multiple causes and managing donations through a charitable giving platform"
|
|
25
|
+
],
|
|
26
|
+
"rationale": "Both personas involve financial activities; one in investment and the other in charitable donations."
|
|
27
|
+
},
|
|
28
|
+
{
|
|
29
|
+
"label": "Travel and Leisure",
|
|
30
|
+
"members": [
|
|
31
|
+
"a traveler planning and booking a multi-stop vacation using a travel aggregator",
|
|
32
|
+
"a patient exploring healthcare options and scheduling appointments through a telehealth service"
|
|
33
|
+
],
|
|
34
|
+
"rationale": "Although one is focused on travel and the other on healthcare, both involve planning and booking services online."
|
|
35
|
+
},
|
|
36
|
+
{
|
|
37
|
+
"label": "Creative and Social Engagement",
|
|
38
|
+
"members": [
|
|
39
|
+
"an artist sharing portfolio works and engaging with followers on social media",
|
|
40
|
+
"a writer drafting and publishing posts using a blogging platform's features",
|
|
41
|
+
"a gamer unlocking achievements and in-game rewards while progressing through a video game",
|
|
42
|
+
"a subscriber exploring exclusive content and engaging with creators on a streaming platform"
|
|
43
|
+
],
|
|
44
|
+
"rationale": "This cluster includes personas engaged in creative expression and social interaction through digital platforms for art, writing, gaming, and streaming."
|
|
45
|
+
},
|
|
46
|
+
{
|
|
47
|
+
"label": "Professional Development and Collaboration",
|
|
48
|
+
"members": [
|
|
49
|
+
"an entrepreneur submitting a business idea for evaluation via a startup accelerator program",
|
|
50
|
+
"a team collaborating and tracking project tasks using a productivity software suite",
|
|
51
|
+
"a researcher accessing databases and compiling data for academic work via a university portal",
|
|
52
|
+
"a job seeker applying and interviewing for positions via an employment website"
|
|
53
|
+
],
|
|
54
|
+
"rationale": "These personas are involved in professional growth, whether through entrepreneurship, project management, academic research, or job seeking."
|
|
55
|
+
},
|
|
56
|
+
{
|
|
57
|
+
"label": "Community and Learning",
|
|
58
|
+
"members": [
|
|
59
|
+
"a hobbyist engaging with a community forum to share projects and seek advice",
|
|
60
|
+
"a subscriber managing subscriptions and preferences through a digital newspaper site"
|
|
61
|
+
],
|
|
62
|
+
"rationale": "Both personas interact with communities and content, with one focusing on community forums and the other on managing subscriptions to news media."
|
|
63
|
+
}
|
|
64
|
+
]
|