[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill-atlassian-twg-bench-lite":3,"mdc-ygtttb-key":40,"related-org-atlassian-twg-bench-lite":755,"related-repo-atlassian-twg-bench-lite":940},{"slug":4,"name":4,"fn":5,"description":6,"org":7,"tags":11,"stars":23,"repoUrl":24,"updatedAt":25,"license":26,"forks":27,"topics":28,"repo":35,"sourceUrl":38,"mdContent":39},"twg-bench-lite","run A\u002FB comparisons of Atlassian context","Run a lightweight single-prompt A\u002FB comparison of free Atlassian\u002Flocal MCP context vs TWG CLI graph context using paired read-only agent sessions.\n",{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},"atlassian","Atlassian","https:\u002F\u002Fpexgzepcugksgbtrxkhf.supabase.co\u002Fstorage\u002Fv1\u002Fobject\u002Fpublic\u002Forg-logos\u002Fatlassian.png",[12,16,19,20],{"name":13,"slug":14,"type":15},"Research","research","tag",{"name":17,"slug":18,"type":15},"MCP","mcp",{"name":9,"slug":8,"type":15},{"name":21,"slug":22,"type":15},"A\u002FB Testing","a-b-testing",6,"https:\u002F\u002Fgithub.com\u002Fatlassian\u002Ftwg-cli","2026-07-22T05:36:16.491486",null,0,[29,8,30,31,32,33,34],"agents","claude","cli","codex","teamwork-graph","twg",{"repoUrl":24,"stars":23,"forks":27,"topics":36,"description":37},[29,8,30,31,32,33,34],"Public home for Atlassian Teamwork Graph CLI users, release notes, issue tracking, agent skills, and marketplace plugin integration notes.","https:\u002F\u002Fgithub.com\u002Fatlassian\u002Ftwg-cli\u002Ftree\u002FHEAD\u002Fskills\u002Ftwg-bench-lite","---\nname: twg-bench-lite\ndescription: >\n  Run a lightweight single-prompt A\u002FB comparison of free Atlassian\u002Flocal MCP\n  context vs TWG CLI graph context using paired read-only agent sessions.\n---\n\n# twg-bench-lite\n\nRun one read-only prompt twice: once with free Atlassian\u002Flocal MCP context and\nonce with paid Atlassian Teamwork Graph context through TWG CLI. This is a\nskill-first workflow with a thin `twg benchmark lite run` bridge. The benchmark\nrepo owns reusable runner, judge, and report-template code.\n\n## CLI launcher fallback\n\nRun `twg \u003Ccommand>`. On shell `command not found`, use `$HOME\u002F.local\u002Fbin\u002Ftwg`\n(macOS\u002FLinux) \u002F `$env:LOCALAPPDATA\\Programs\\twg\\bin\\twg.exe` (PowerShell), then\ntell user to add that directory to PATH. Do not treat auth or command errors as\nPATH failures.\n\n## Runtime Support\n\nV1 supports Codex and Rovo live runs. Claude is V2. Do not require users to\ninstall the benchmark CLI locally.\n\n## Eligibility\n\nUse a text-only read task both arms can attempt. Do not compare mutations; for\nwrites, compare a read-only plan or dry-run only after user approval. Preserve\nthe underlying prompt byte-for-byte for both arms.\n\n## Prerequisite\n\nFor the default full lifecycle command, verify the portable runner and selected\nruntime first:\n\n```bash\ntwg benchmark lite --check\n```\n\nThe default check is Codex; use `--agent rovo` when the run should use Rovo.\n\nFor Rovo runs:\n\n```bash\ntwg benchmark lite --check --agent rovo\n```\n\nThe quality judge defaults to the selected runtime, so Rovo runs use a Rovo\njudge by default. If the user explicitly wants a different judge runtime, use:\n\n```bash\ntwg benchmark lite --check --agent rovo --judge-agent codex\n```\n\nThe managed custom agents are only required for manual orchestration:\n\n- `twg-bench-lite-control`\n- `twg-bench-lite-test`\n\nIf a manual run needs either agent and it is missing, tell the user to run:\n\n```bash\ntwg skills install --yes\n```\n\nThen start a fresh Codex thread so agent discovery refreshes. Do not substitute\ngeneric agents for manual orchestration because arm isolation is the point.\n\nBefore a live run, verify setup with:\n\n```bash\ntwg benchmark lite --check\n```\n\nThis checks the bundled runner artifact and the selected live-run runtime.\nCodex checks include the Codex executable and Codex home. Rovo checks include\nthe Rovo executable and OAuth status. If `--judge-agent` differs from `--agent`,\nthe check verifies both runtimes. It also reports the global `twg-bench-lite`\nskill install and managed control\u002Ftest Codex agent configs as manual-workflow\noptional checks when relevant.\n\n## Arms\n\n- **Control - Free Atlassian with Local MCPs Context:** use free Atlassian tools\n  plus user-local MCPs\u002Fconnectors. Do not use TWG CLI, TWG skills, paid graph\n  tools, prior artifacts, or local files as task evidence unless the prompt is\n  explicitly about local files.\n- **Test - Paid Atlassian Teamwork Graph Context:** use TWG CLI graph context\n  with bundled TWG guidance as the primary work-data source.\n\n## Paired Run\n\nFor the default full lifecycle, run:\n\n```bash\ntwg benchmark lite run --prompt \"\u003Cread-only prompt>\" --output-dir \u003Cdir>\n```\n\nUse `--agent rovo` to run the same lifecycle with Rovo.\nThe quality judge uses the same runtime unless `--judge-agent codex|rovo` is\nsupplied.\n\nFor manual orchestration:\n\n1. Save the exact comparison prompt.\n2. Ask TWG CLI for the test-arm route before launching the paired agents:\n   `twg benchmark lite plan --prompt-file \u003Cprompt-file> --json`.\n3. Spawn both managed agents concurrently with no forked parent context:\n   `twg-bench-lite-control` and `twg-bench-lite-test`.\n4. Send the identical prompt as the complete user message to each child. Do not\n   add arm-specific instructions; the managed agent configs own isolation.\n   The test agent may receive the TWG route plan as tool-selection policy only;\n   it is not answer evidence.\n5. Leave model\u002Freasoning overrides unset unless the user asks; apply any\n   override equally to both arms.\n6. Wait for both children to finish and record their agent IDs or session links.\n7. Do not solve the task again in the parent. The parent compares, evaluates,\n   and reports.\n\nPrint lifecycle progress in the parent session: start, prompt captured, agents\nstarted, each arm finished, outputs read, quality reviewed, report compiled,\ndone.\n\n## Quality\n\nRead both answers before interpreting token delta. Classify as `equivalent`,\n`twg-better`, `control-better`, `capability-gain`, or `not-comparable`.\n`not-comparable` is a real outcome for missing, unusable, or non-comparable\nanswers, not a placeholder. Claim observed savings only for `equivalent` or\n`twg-better`; for `capability-gain`, report capability instead.\n\nEvaluate coverage, correctness, evidence quality, directness, and limitations.\nDo not assign numeric quality scores.\n\n## Lite Report\n\nReturn a compact report in the parent answer with:\n\n- prompt text,\n- control\u002Ftest status and final outputs,\n- observed tool families and TWG command evidence when available,\n- token\u002Ftool\u002Fduration metrics when the agent runtime exposes them,\n- quality classification and rationale,\n- integrity notes: identical prompt, expected roles, TWG absent from control,\n  TWG used in test, and any measurement gaps.\n\nIf token\u002Fsession metrics are unavailable, say \"not measured\"; do not estimate.\nDescribe the result as one observed prompt comparison, not a universal\nefficiency rate.\n",{"data":41,"body":42},{"name":4,"description":6},{"type":43,"children":44},"root",[45,52,67,74,111,117,122,128,133,139,144,182,195,200,237,242,287,292,315,320,349,354,359,384,412,418,442,448,453,527,547,552,612,617,623,695,700,706,711,744,749],{"type":46,"tag":47,"props":48,"children":49},"element","h1",{"id":4},[50],{"type":51,"value":4},"text",{"type":46,"tag":53,"props":54,"children":55},"p",{},[56,58,65],{"type":51,"value":57},"Run one read-only prompt twice: once with free Atlassian\u002Flocal MCP context and\nonce with paid Atlassian Teamwork Graph context through TWG CLI. This is a\nskill-first workflow with a thin ",{"type":46,"tag":59,"props":60,"children":62},"code",{"className":61},[],[63],{"type":51,"value":64},"twg benchmark lite run",{"type":51,"value":66}," bridge. The benchmark\nrepo owns reusable runner, judge, and report-template code.",{"type":46,"tag":68,"props":69,"children":71},"h2",{"id":70},"cli-launcher-fallback",[72],{"type":51,"value":73},"CLI launcher fallback",{"type":46,"tag":53,"props":75,"children":76},{},[77,79,85,87,93,95,101,103,109],{"type":51,"value":78},"Run ",{"type":46,"tag":59,"props":80,"children":82},{"className":81},[],[83],{"type":51,"value":84},"twg \u003Ccommand>",{"type":51,"value":86},". On shell ",{"type":46,"tag":59,"props":88,"children":90},{"className":89},[],[91],{"type":51,"value":92},"command not found",{"type":51,"value":94},", use ",{"type":46,"tag":59,"props":96,"children":98},{"className":97},[],[99],{"type":51,"value":100},"$HOME\u002F.local\u002Fbin\u002Ftwg",{"type":51,"value":102},"\n(macOS\u002FLinux) \u002F ",{"type":46,"tag":59,"props":104,"children":106},{"className":105},[],[107],{"type":51,"value":108},"$env:LOCALAPPDATA\\Programs\\twg\\bin\\twg.exe",{"type":51,"value":110}," (PowerShell), then\ntell user to add that directory to PATH. Do not treat auth or command errors as\nPATH failures.",{"type":46,"tag":68,"props":112,"children":114},{"id":113},"runtime-support",[115],{"type":51,"value":116},"Runtime Support",{"type":46,"tag":53,"props":118,"children":119},{},[120],{"type":51,"value":121},"V1 supports Codex and Rovo live runs. Claude is V2. Do not require users to\ninstall the benchmark CLI locally.",{"type":46,"tag":68,"props":123,"children":125},{"id":124},"eligibility",[126],{"type":51,"value":127},"Eligibility",{"type":46,"tag":53,"props":129,"children":130},{},[131],{"type":51,"value":132},"Use a text-only read task both arms can attempt. Do not compare mutations; for\nwrites, compare a read-only plan or dry-run only after user approval. Preserve\nthe underlying prompt byte-for-byte for both arms.",{"type":46,"tag":68,"props":134,"children":136},{"id":135},"prerequisite",[137],{"type":51,"value":138},"Prerequisite",{"type":46,"tag":53,"props":140,"children":141},{},[142],{"type":51,"value":143},"For the default full lifecycle command, verify the portable runner and selected\nruntime first:",{"type":46,"tag":145,"props":146,"children":151},"pre",{"className":147,"code":148,"language":149,"meta":150,"style":150},"language-bash shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","twg benchmark lite --check\n","bash","",[152],{"type":46,"tag":59,"props":153,"children":154},{"__ignoreMap":150},[155],{"type":46,"tag":156,"props":157,"children":160},"span",{"class":158,"line":159},"line",1,[161,166,172,177],{"type":46,"tag":156,"props":162,"children":164},{"style":163},"--shiki-light:#E2931D;--shiki-default:#FFCB6B;--shiki-dark:#FFCB6B",[165],{"type":51,"value":34},{"type":46,"tag":156,"props":167,"children":169},{"style":168},"--shiki-light:#91B859;--shiki-default:#C3E88D;--shiki-dark:#C3E88D",[170],{"type":51,"value":171}," benchmark",{"type":46,"tag":156,"props":173,"children":174},{"style":168},[175],{"type":51,"value":176}," lite",{"type":46,"tag":156,"props":178,"children":179},{"style":168},[180],{"type":51,"value":181}," --check\n",{"type":46,"tag":53,"props":183,"children":184},{},[185,187,193],{"type":51,"value":186},"The default check is Codex; use ",{"type":46,"tag":59,"props":188,"children":190},{"className":189},[],[191],{"type":51,"value":192},"--agent rovo",{"type":51,"value":194}," when the run should use Rovo.",{"type":46,"tag":53,"props":196,"children":197},{},[198],{"type":51,"value":199},"For Rovo runs:",{"type":46,"tag":145,"props":201,"children":203},{"className":147,"code":202,"language":149,"meta":150,"style":150},"twg benchmark lite --check --agent rovo\n",[204],{"type":46,"tag":59,"props":205,"children":206},{"__ignoreMap":150},[207],{"type":46,"tag":156,"props":208,"children":209},{"class":158,"line":159},[210,214,218,222,227,232],{"type":46,"tag":156,"props":211,"children":212},{"style":163},[213],{"type":51,"value":34},{"type":46,"tag":156,"props":215,"children":216},{"style":168},[217],{"type":51,"value":171},{"type":46,"tag":156,"props":219,"children":220},{"style":168},[221],{"type":51,"value":176},{"type":46,"tag":156,"props":223,"children":224},{"style":168},[225],{"type":51,"value":226}," --check",{"type":46,"tag":156,"props":228,"children":229},{"style":168},[230],{"type":51,"value":231}," --agent",{"type":46,"tag":156,"props":233,"children":234},{"style":168},[235],{"type":51,"value":236}," rovo\n",{"type":46,"tag":53,"props":238,"children":239},{},[240],{"type":51,"value":241},"The quality judge defaults to the selected runtime, so Rovo runs use a Rovo\njudge by default. If the user explicitly wants a different judge runtime, use:",{"type":46,"tag":145,"props":243,"children":245},{"className":147,"code":244,"language":149,"meta":150,"style":150},"twg benchmark lite --check --agent rovo --judge-agent codex\n",[246],{"type":46,"tag":59,"props":247,"children":248},{"__ignoreMap":150},[249],{"type":46,"tag":156,"props":250,"children":251},{"class":158,"line":159},[252,256,260,264,268,272,277,282],{"type":46,"tag":156,"props":253,"children":254},{"style":163},[255],{"type":51,"value":34},{"type":46,"tag":156,"props":257,"children":258},{"style":168},[259],{"type":51,"value":171},{"type":46,"tag":156,"props":261,"children":262},{"style":168},[263],{"type":51,"value":176},{"type":46,"tag":156,"props":265,"children":266},{"style":168},[267],{"type":51,"value":226},{"type":46,"tag":156,"props":269,"children":270},{"style":168},[271],{"type":51,"value":231},{"type":46,"tag":156,"props":273,"children":274},{"style":168},[275],{"type":51,"value":276}," rovo",{"type":46,"tag":156,"props":278,"children":279},{"style":168},[280],{"type":51,"value":281}," --judge-agent",{"type":46,"tag":156,"props":283,"children":284},{"style":168},[285],{"type":51,"value":286}," codex\n",{"type":46,"tag":53,"props":288,"children":289},{},[290],{"type":51,"value":291},"The managed custom agents are only required for manual orchestration:",{"type":46,"tag":293,"props":294,"children":295},"ul",{},[296,306],{"type":46,"tag":297,"props":298,"children":299},"li",{},[300],{"type":46,"tag":59,"props":301,"children":303},{"className":302},[],[304],{"type":51,"value":305},"twg-bench-lite-control",{"type":46,"tag":297,"props":307,"children":308},{},[309],{"type":46,"tag":59,"props":310,"children":312},{"className":311},[],[313],{"type":51,"value":314},"twg-bench-lite-test",{"type":46,"tag":53,"props":316,"children":317},{},[318],{"type":51,"value":319},"If a manual run needs either agent and it is missing, tell the user to run:",{"type":46,"tag":145,"props":321,"children":323},{"className":147,"code":322,"language":149,"meta":150,"style":150},"twg skills install --yes\n",[324],{"type":46,"tag":59,"props":325,"children":326},{"__ignoreMap":150},[327],{"type":46,"tag":156,"props":328,"children":329},{"class":158,"line":159},[330,334,339,344],{"type":46,"tag":156,"props":331,"children":332},{"style":163},[333],{"type":51,"value":34},{"type":46,"tag":156,"props":335,"children":336},{"style":168},[337],{"type":51,"value":338}," skills",{"type":46,"tag":156,"props":340,"children":341},{"style":168},[342],{"type":51,"value":343}," install",{"type":46,"tag":156,"props":345,"children":346},{"style":168},[347],{"type":51,"value":348}," --yes\n",{"type":46,"tag":53,"props":350,"children":351},{},[352],{"type":51,"value":353},"Then start a fresh Codex thread so agent discovery refreshes. Do not substitute\ngeneric agents for manual orchestration because arm isolation is the point.",{"type":46,"tag":53,"props":355,"children":356},{},[357],{"type":51,"value":358},"Before a live run, verify setup with:",{"type":46,"tag":145,"props":360,"children":361},{"className":147,"code":148,"language":149,"meta":150,"style":150},[362],{"type":46,"tag":59,"props":363,"children":364},{"__ignoreMap":150},[365],{"type":46,"tag":156,"props":366,"children":367},{"class":158,"line":159},[368,372,376,380],{"type":46,"tag":156,"props":369,"children":370},{"style":163},[371],{"type":51,"value":34},{"type":46,"tag":156,"props":373,"children":374},{"style":168},[375],{"type":51,"value":171},{"type":46,"tag":156,"props":377,"children":378},{"style":168},[379],{"type":51,"value":176},{"type":46,"tag":156,"props":381,"children":382},{"style":168},[383],{"type":51,"value":181},{"type":46,"tag":53,"props":385,"children":386},{},[387,389,395,397,403,405,410],{"type":51,"value":388},"This checks the bundled runner artifact and the selected live-run runtime.\nCodex checks include the Codex executable and Codex home. Rovo checks include\nthe Rovo executable and OAuth status. If ",{"type":46,"tag":59,"props":390,"children":392},{"className":391},[],[393],{"type":51,"value":394},"--judge-agent",{"type":51,"value":396}," differs from ",{"type":46,"tag":59,"props":398,"children":400},{"className":399},[],[401],{"type":51,"value":402},"--agent",{"type":51,"value":404},",\nthe check verifies both runtimes. It also reports the global ",{"type":46,"tag":59,"props":406,"children":408},{"className":407},[],[409],{"type":51,"value":4},{"type":51,"value":411},"\nskill install and managed control\u002Ftest Codex agent configs as manual-workflow\noptional checks when relevant.",{"type":46,"tag":68,"props":413,"children":415},{"id":414},"arms",[416],{"type":51,"value":417},"Arms",{"type":46,"tag":293,"props":419,"children":420},{},[421,432],{"type":46,"tag":297,"props":422,"children":423},{},[424,430],{"type":46,"tag":425,"props":426,"children":427},"strong",{},[428],{"type":51,"value":429},"Control - Free Atlassian with Local MCPs Context:",{"type":51,"value":431}," use free Atlassian tools\nplus user-local MCPs\u002Fconnectors. Do not use TWG CLI, TWG skills, paid graph\ntools, prior artifacts, or local files as task evidence unless the prompt is\nexplicitly about local files.",{"type":46,"tag":297,"props":433,"children":434},{},[435,440],{"type":46,"tag":425,"props":436,"children":437},{},[438],{"type":51,"value":439},"Test - Paid Atlassian Teamwork Graph Context:",{"type":51,"value":441}," use TWG CLI graph context\nwith bundled TWG guidance as the primary work-data source.",{"type":46,"tag":68,"props":443,"children":445},{"id":444},"paired-run",[446],{"type":51,"value":447},"Paired Run",{"type":46,"tag":53,"props":449,"children":450},{},[451],{"type":51,"value":452},"For the default full lifecycle, run:",{"type":46,"tag":145,"props":454,"children":456},{"className":147,"code":455,"language":149,"meta":150,"style":150},"twg benchmark lite run --prompt \"\u003Cread-only prompt>\" --output-dir \u003Cdir>\n",[457],{"type":46,"tag":59,"props":458,"children":459},{"__ignoreMap":150},[460],{"type":46,"tag":156,"props":461,"children":462},{"class":158,"line":159},[463,467,471,475,480,485,491,496,501,506,511,516,522],{"type":46,"tag":156,"props":464,"children":465},{"style":163},[466],{"type":51,"value":34},{"type":46,"tag":156,"props":468,"children":469},{"style":168},[470],{"type":51,"value":171},{"type":46,"tag":156,"props":472,"children":473},{"style":168},[474],{"type":51,"value":176},{"type":46,"tag":156,"props":476,"children":477},{"style":168},[478],{"type":51,"value":479}," run",{"type":46,"tag":156,"props":481,"children":482},{"style":168},[483],{"type":51,"value":484}," --prompt",{"type":46,"tag":156,"props":486,"children":488},{"style":487},"--shiki-light:#39ADB5;--shiki-default:#89DDFF;--shiki-dark:#89DDFF",[489],{"type":51,"value":490}," \"",{"type":46,"tag":156,"props":492,"children":493},{"style":168},[494],{"type":51,"value":495},"\u003Cread-only prompt>",{"type":46,"tag":156,"props":497,"children":498},{"style":487},[499],{"type":51,"value":500},"\"",{"type":46,"tag":156,"props":502,"children":503},{"style":168},[504],{"type":51,"value":505}," --output-dir",{"type":46,"tag":156,"props":507,"children":508},{"style":487},[509],{"type":51,"value":510}," \u003C",{"type":46,"tag":156,"props":512,"children":513},{"style":168},[514],{"type":51,"value":515},"di",{"type":46,"tag":156,"props":517,"children":519},{"style":518},"--shiki-light:#90A4AE;--shiki-default:#EEFFFF;--shiki-dark:#BABED8",[520],{"type":51,"value":521},"r",{"type":46,"tag":156,"props":523,"children":524},{"style":487},[525],{"type":51,"value":526},">\n",{"type":46,"tag":53,"props":528,"children":529},{},[530,532,537,539,545],{"type":51,"value":531},"Use ",{"type":46,"tag":59,"props":533,"children":535},{"className":534},[],[536],{"type":51,"value":192},{"type":51,"value":538}," to run the same lifecycle with Rovo.\nThe quality judge uses the same runtime unless ",{"type":46,"tag":59,"props":540,"children":542},{"className":541},[],[543],{"type":51,"value":544},"--judge-agent codex|rovo",{"type":51,"value":546}," is\nsupplied.",{"type":46,"tag":53,"props":548,"children":549},{},[550],{"type":51,"value":551},"For manual orchestration:",{"type":46,"tag":553,"props":554,"children":555},"ol",{},[556,561,574,592,597,602,607],{"type":46,"tag":297,"props":557,"children":558},{},[559],{"type":51,"value":560},"Save the exact comparison prompt.",{"type":46,"tag":297,"props":562,"children":563},{},[564,566,572],{"type":51,"value":565},"Ask TWG CLI for the test-arm route before launching the paired agents:\n",{"type":46,"tag":59,"props":567,"children":569},{"className":568},[],[570],{"type":51,"value":571},"twg benchmark lite plan --prompt-file \u003Cprompt-file> --json",{"type":51,"value":573},".",{"type":46,"tag":297,"props":575,"children":576},{},[577,579,584,586,591],{"type":51,"value":578},"Spawn both managed agents concurrently with no forked parent context:\n",{"type":46,"tag":59,"props":580,"children":582},{"className":581},[],[583],{"type":51,"value":305},{"type":51,"value":585}," and ",{"type":46,"tag":59,"props":587,"children":589},{"className":588},[],[590],{"type":51,"value":314},{"type":51,"value":573},{"type":46,"tag":297,"props":593,"children":594},{},[595],{"type":51,"value":596},"Send the identical prompt as the complete user message to each child. Do not\nadd arm-specific instructions; the managed agent configs own isolation.\nThe test agent may receive the TWG route plan as tool-selection policy only;\nit is not answer evidence.",{"type":46,"tag":297,"props":598,"children":599},{},[600],{"type":51,"value":601},"Leave model\u002Freasoning overrides unset unless the user asks; apply any\noverride equally to both arms.",{"type":46,"tag":297,"props":603,"children":604},{},[605],{"type":51,"value":606},"Wait for both children to finish and record their agent IDs or session links.",{"type":46,"tag":297,"props":608,"children":609},{},[610],{"type":51,"value":611},"Do not solve the task again in the parent. The parent compares, evaluates,\nand reports.",{"type":46,"tag":53,"props":613,"children":614},{},[615],{"type":51,"value":616},"Print lifecycle progress in the parent session: start, prompt captured, agents\nstarted, each arm finished, outputs read, quality reviewed, report compiled,\ndone.",{"type":46,"tag":68,"props":618,"children":620},{"id":619},"quality",[621],{"type":51,"value":622},"Quality",{"type":46,"tag":53,"props":624,"children":625},{},[626,628,634,636,642,644,650,651,657,659,665,667,672,674,679,681,686,688,693],{"type":51,"value":627},"Read both answers before interpreting token delta. Classify as ",{"type":46,"tag":59,"props":629,"children":631},{"className":630},[],[632],{"type":51,"value":633},"equivalent",{"type":51,"value":635},",\n",{"type":46,"tag":59,"props":637,"children":639},{"className":638},[],[640],{"type":51,"value":641},"twg-better",{"type":51,"value":643},", ",{"type":46,"tag":59,"props":645,"children":647},{"className":646},[],[648],{"type":51,"value":649},"control-better",{"type":51,"value":643},{"type":46,"tag":59,"props":652,"children":654},{"className":653},[],[655],{"type":51,"value":656},"capability-gain",{"type":51,"value":658},", or ",{"type":46,"tag":59,"props":660,"children":662},{"className":661},[],[663],{"type":51,"value":664},"not-comparable",{"type":51,"value":666},".\n",{"type":46,"tag":59,"props":668,"children":670},{"className":669},[],[671],{"type":51,"value":664},{"type":51,"value":673}," is a real outcome for missing, unusable, or non-comparable\nanswers, not a placeholder. Claim observed savings only for ",{"type":46,"tag":59,"props":675,"children":677},{"className":676},[],[678],{"type":51,"value":633},{"type":51,"value":680}," or\n",{"type":46,"tag":59,"props":682,"children":684},{"className":683},[],[685],{"type":51,"value":641},{"type":51,"value":687},"; for ",{"type":46,"tag":59,"props":689,"children":691},{"className":690},[],[692],{"type":51,"value":656},{"type":51,"value":694},", report capability instead.",{"type":46,"tag":53,"props":696,"children":697},{},[698],{"type":51,"value":699},"Evaluate coverage, correctness, evidence quality, directness, and limitations.\nDo not assign numeric quality scores.",{"type":46,"tag":68,"props":701,"children":703},{"id":702},"lite-report",[704],{"type":51,"value":705},"Lite Report",{"type":46,"tag":53,"props":707,"children":708},{},[709],{"type":51,"value":710},"Return a compact report in the parent answer with:",{"type":46,"tag":293,"props":712,"children":713},{},[714,719,724,729,734,739],{"type":46,"tag":297,"props":715,"children":716},{},[717],{"type":51,"value":718},"prompt text,",{"type":46,"tag":297,"props":720,"children":721},{},[722],{"type":51,"value":723},"control\u002Ftest status and final outputs,",{"type":46,"tag":297,"props":725,"children":726},{},[727],{"type":51,"value":728},"observed tool families and TWG command evidence when available,",{"type":46,"tag":297,"props":730,"children":731},{},[732],{"type":51,"value":733},"token\u002Ftool\u002Fduration metrics when the agent runtime exposes them,",{"type":46,"tag":297,"props":735,"children":736},{},[737],{"type":51,"value":738},"quality classification and rationale,",{"type":46,"tag":297,"props":740,"children":741},{},[742],{"type":51,"value":743},"integrity notes: identical prompt, expected roles, TWG absent from control,\nTWG used in test, and any measurement gaps.",{"type":46,"tag":53,"props":745,"children":746},{},[747],{"type":51,"value":748},"If token\u002Fsession metrics are unavailable, say \"not measured\"; do not estimate.\nDescribe the result as one observed prompt comparison, not a universal\nefficiency rate.",{"type":46,"tag":750,"props":751,"children":752},"style",{},[753],{"type":51,"value":754},"html .light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html.light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html.dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}",{"items":756,"total":939},[757,778,796,813,828,839,854,872,887,901,915,925],{"slug":758,"name":758,"fn":759,"description":760,"org":761,"tags":762,"stars":775,"repoUrl":776,"updatedAt":777},"capture-tasks-from-meeting-notes","create Jira tasks from meeting notes","Analyze meeting notes to find action items and create Jira tasks for assigned work. When an agent needs to: (1) Create Jira tasks or tickets from meeting notes, (2) Extract or find action items from notes or Confluence pages, (3) Parse meeting notes for assigned tasks, or (4) Analyze notes and generate tasks for team members. Identifies assignees, looks up account IDs, and creates tasks with proper context.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[763,766,769,772],{"name":764,"slug":765,"type":15},"Automation","automation",{"name":767,"slug":768,"type":15},"Jira","jira",{"name":770,"slug":771,"type":15},"Meetings","meetings",{"name":773,"slug":774,"type":15},"Task Management","task-management",848,"https:\u002F\u002Fgithub.com\u002Fatlassian\u002Fatlassian-mcp-server","2026-07-12T07:58:45.323861",{"slug":779,"name":779,"fn":780,"description":781,"org":782,"tags":783,"stars":775,"repoUrl":776,"updatedAt":795},"generate-status-report","generate project status reports for Confluence","Generate project status reports from Jira issues and publish to Confluence. When an agent needs to: (1) Create a status report for a project, (2) Summarize project progress or updates, (3) Generate weekly\u002Fdaily reports from Jira, (4) Publish status summaries to Confluence, or (5) Analyze project blockers and completion. Queries Jira issues, categorizes by status\u002Fpriority, and creates formatted reports for delivery managers and executives.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[784,785,788,789,792],{"name":9,"slug":8,"type":15},{"name":786,"slug":787,"type":15},"Confluence","confluence",{"name":767,"slug":768,"type":15},{"name":790,"slug":791,"type":15},"Project Management","project-management",{"name":793,"slug":794,"type":15},"Reporting","reporting","2026-07-12T07:58:38.457696",{"slug":797,"name":797,"fn":798,"description":799,"org":800,"tags":801,"stars":775,"repoUrl":776,"updatedAt":812},"jira-sprint-dashboard","create Jira sprint dashboards","Create a visual Jira sprint dashboard from Jira project, space, sprint, board, filter, JQL, work item keys, or Jira URL data. Use when the user asks for a Jira sprint dashboard, standup dashboard, sprint review, delivery review, engineering manager dashboard, WIP review, planning view, closeout view, or a visual snapshot of Jira work that is more useful than a flat report. Use the richest dashboard format supported by the current agent, such as Cursor Canvas, an interactive artifact, HTML, or Markdown.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[802,805,808,809],{"name":803,"slug":804,"type":15},"Agile","agile",{"name":806,"slug":807,"type":15},"Dashboards","dashboards",{"name":767,"slug":768,"type":15},{"name":810,"slug":811,"type":15},"Sprint Planning","sprint-planning","2026-07-12T07:58:41.031798",{"slug":814,"name":814,"fn":815,"description":816,"org":817,"tags":818,"stars":775,"repoUrl":776,"updatedAt":827},"search-company-knowledge","search internal company knowledge bases","Search across company knowledge bases (Confluence, Jira, internal docs) to find and explain internal concepts, processes, and technical details. When an agent needs to: (1) Find or search for information about systems, terminology, processes, deployment, authentication, infrastructure, architecture, or technical concepts, (2) Search internal documentation, knowledge base, company docs, or our docs, (3) Explain what something is, how it works, or look up information, or (4) Synthesize information from multiple sources. Searches in parallel and provides cited answers.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[819,820,823,824],{"name":786,"slug":787,"type":15},{"name":821,"slug":822,"type":15},"Enterprise Search","enterprise-search",{"name":767,"slug":768,"type":15},{"name":825,"slug":826,"type":15},"Knowledge Management","knowledge-management","2026-07-12T07:58:39.684132",{"slug":829,"name":829,"fn":830,"description":831,"org":832,"tags":833,"stars":775,"repoUrl":776,"updatedAt":838},"spec-to-backlog","convert Confluence specifications to Jira backlogs","Automatically convert Confluence specification documents into structured Jira backlogs with Epics and implementation tickets. When an agent needs to: (1) Create Jira tickets from a Confluence page, (2) Generate a backlog from a specification, (3) Break down a spec into implementation tasks, or (4) Convert requirements into Jira issues. Handles reading Confluence pages, analyzing specifications, creating Epics with proper structure, and generating detailed implementation tickets linked to the Epic.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[834,835,836,837],{"name":803,"slug":804,"type":15},{"name":786,"slug":787,"type":15},{"name":767,"slug":768,"type":15},{"name":790,"slug":791,"type":15},"2026-07-12T07:58:37.200385",{"slug":840,"name":840,"fn":841,"description":842,"org":843,"tags":844,"stars":775,"repoUrl":776,"updatedAt":853},"triage-issue","triage bug reports in Jira","Intelligently triage bug reports and error messages by searching for duplicates in Jira and offering to create new issues or add comments to existing ones. When an agent needs to: (1) Triage a bug report or error message, (2) Check if an issue is a duplicate, (3) Find similar past issues, (4) Create a new bug ticket with proper context, or (5) Add information to an existing ticket. Searches Jira for similar issues, identifies duplicates, checks fix history, and helps create well-structured bug reports.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[845,848,849,850],{"name":846,"slug":847,"type":15},"Debugging","debugging",{"name":767,"slug":768,"type":15},{"name":790,"slug":791,"type":15},{"name":851,"slug":852,"type":15},"Triage","triage","2026-07-12T07:58:33.007343",{"slug":855,"name":855,"fn":856,"description":857,"org":858,"tags":859,"stars":869,"repoUrl":870,"updatedAt":871},"forge-app-builder","build and deploy Atlassian Forge apps","Guides building, deploying, troubleshooting, and installing Atlassian Forge apps — custom extensions built with the Forge CLI (forge create, forge deploy, forge install). Use when the user wants to create a Forge app (issue panels, dashboard gadgets, Confluence macros, global pages), is encountering Forge CLI errors or deployment issues (e.g. forge install failures, environment errors), or needs help with Forge-specific concepts like resolvers, UI Kit, manifest scopes, or developer spaces. Do not use for general Jira configuration, automation rules, JQL queries, or Atlassian REST API usage outside of a Forge app context.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[860,861,863,866],{"name":9,"slug":8,"type":15},{"name":862,"slug":31,"type":15},"CLI",{"name":864,"slug":865,"type":15},"Deployment","deployment",{"name":867,"slug":868,"type":15},"Plugin Development","plugin-development",14,"https:\u002F\u002Fgithub.com\u002Fatlassian\u002Fforge-skills","2026-07-12T07:58:52.007851",{"slug":873,"name":873,"fn":874,"description":875,"org":876,"tags":877,"stars":869,"repoUrl":870,"updatedAt":886},"forge-app-review","review Atlassian Forge app readiness","Performs a lightweight pre-release readiness review of Atlassian Forge apps across manifest\u002Fmodule wiring, architecture, runtime compatibility, dependency posture, tests, deploy readiness, and obvious security, cost, or reliability smells. Use when the user asks \"review my Forge app\", \"pre-deploy check\", \"is this app ready to ship\", \"review manifest\", \"general app review\", \"release readiness\", or asks for a broad quality pass. Do not use for deep security audits\u002FSAST\u002Fexploitability review, cost optimization, or diagnosing a known broken app; route those to forge-security-review, forge-cost-optimizer, or forge-debugger respectively.\n",{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[878,879,882,883],{"name":9,"slug":8,"type":15},{"name":880,"slug":881,"type":15},"Code Analysis","code-analysis",{"name":864,"slug":865,"type":15},{"name":884,"slug":885,"type":15},"QA","qa","2026-07-12T07:58:50.744672",{"slug":888,"name":888,"fn":889,"description":890,"org":891,"tags":892,"stars":869,"repoUrl":870,"updatedAt":900},"forge-connector","build Atlassian Forge Teamwork Graph connectors","Guides building and deploying Atlassian Forge Teamwork Graph connector apps that ingest external data into Atlassian's Teamwork Graph, making it searchable in Rovo Search and surfaced in Rovo Chat. Use when the user wants to build a Forge connector, ingest external data into Atlassian, connect a third-party tool (e.g. Google Drive, ServiceNow, Salesforce) to Atlassian, make external content searchable in Rovo, build a graph:connector module, use the @forge\u002Fteamwork-graph SDK, or implement onConnectionChange \u002F validateConnection functions.\n",{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[893,896,899],{"name":894,"slug":895,"type":15},"API Development","api-development",{"name":897,"slug":898,"type":15},"Engineering","engineering",{"name":821,"slug":822,"type":15},"2026-07-12T07:58:48.520248",{"slug":902,"name":902,"fn":903,"description":904,"org":905,"tags":906,"stars":869,"repoUrl":870,"updatedAt":914},"forge-cost-optimizer","optimize Atlassian Forge platform costs","Optimizes Atlassian Forge apps to reduce platform consumption and avoid unnecessary costs using Atlassian's \"Optimise Forge platform costs\" guidance. Use when the user asks to optimize Forge app costs, reduce Forge invocations, lower GB-seconds, reduce storage or log usage, tune memory, replace polling, improve scheduled triggers, reduce KVS writes, move work to the frontend, use bridge APIs, batch API calls, add caching, or evaluate Forge Remote trade-offs. By default, perform an audit first and offer to make the recommended changes after presenting the audit. Only modify files immediately when the user explicitly asks the agent to implement or apply optimizations.\n",{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[907,908,911],{"name":9,"slug":8,"type":15},{"name":909,"slug":910,"type":15},"Cost Optimization","cost-optimization",{"name":912,"slug":913,"type":15},"Operations","operations","2026-07-12T07:58:53.557299",{"slug":916,"name":916,"fn":917,"description":918,"org":919,"tags":920,"stars":869,"repoUrl":870,"updatedAt":924},"forge-debugger","diagnose and fix Atlassian Forge apps","Diagnoses and fixes issues in Atlassian Forge apps. Use this skill whenever a Forge app has errors, crashes, shows blank UI, fails to deploy, doesn't appear after installation, has permission issues, or produces unexpected output. Trigger on any mention of forge logs, forge deploy errors, resolver errors, blank panels, missing scopes, Custom UI not rendering, production vs dev discrepancies, or any Jira\u002FConfluence app that \"stopped working\". Also trigger when the user asks to debug, troubleshoot, investigate, or fix a Forge app issue — even if they haven't used the word \"Forge\" but describe a Jira panel or Confluence macro acting up.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[921,922,923],{"name":9,"slug":8,"type":15},{"name":846,"slug":847,"type":15},{"name":864,"slug":865,"type":15},"2026-07-12T07:58:47.226713",{"slug":926,"name":926,"fn":927,"description":928,"org":929,"tags":930,"stars":869,"repoUrl":870,"updatedAt":938},"forge-security-review","perform security reviews for Forge apps","Performs a white-box security review of Atlassian Forge apps using structured, Forge-specific security rules and evidence-driven reporting. Use when the user asks for a Forge security review, security audit, vuln assessment, pentest-style code review, authz review, tenant isolation analysis, web trigger hardening, or static analysis execution for a Forge app.\n",{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[931,934,935],{"name":932,"slug":933,"type":15},"Audit","audit",{"name":880,"slug":881,"type":15},{"name":936,"slug":937,"type":15},"Security","security","2026-07-12T07:58:54.806538",24,{"items":941,"total":1023},[942,951,962,969,982,995,1013],{"slug":34,"name":34,"fn":943,"description":944,"org":945,"tags":946,"stars":23,"repoUrl":24,"updatedAt":950},"execute Atlassian work-data tasks","Root TWG CLI skill for Atlassian work-data tasks. Use typed commands for known anchors; use live `twg help` only when command shape or output contract is uncertain.\n",{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[947,948,949],{"name":9,"slug":8,"type":15},{"name":764,"slug":765,"type":15},{"name":862,"slug":31,"type":15},"2026-07-25T05:31:49.287124",{"slug":952,"name":952,"fn":953,"description":954,"org":955,"tags":956,"stars":23,"repoUrl":24,"updatedAt":961},"twg-agentic-search","perform iterative enterprise knowledge search","Use with root `twg` for deep iterative enterprise\u002Fcompany knowledge search and internal research with Rovo Search across connected apps\u002Fconnectors including Confluence, Jira, Drive, Slack, Bitbucket, and GitHub.\n",{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[957,958,959,960],{"name":9,"slug":8,"type":15},{"name":821,"slug":822,"type":15},{"name":825,"slug":826,"type":15},{"name":13,"slug":14,"type":15},"2026-07-25T05:56:27.582838",{"slug":4,"name":4,"fn":5,"description":6,"org":963,"tags":964,"stars":23,"repoUrl":24,"updatedAt":25},{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[965,966,967,968],{"name":21,"slug":22,"type":15},{"name":9,"slug":8,"type":15},{"name":17,"slug":18,"type":15},{"name":13,"slug":14,"type":15},{"slug":970,"name":970,"fn":971,"description":972,"org":973,"tags":974,"stars":23,"repoUrl":24,"updatedAt":981},"twg-confluence","manage Confluence content and hierarchy","Use with root `twg` for Confluence content, spaces, hierarchy, authoring, editing, comments, versions, permissions, exports, and CQL. Applies Confluence semantics and safe write rules.\n",{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[975,976,977,980],{"name":9,"slug":8,"type":15},{"name":786,"slug":787,"type":15},{"name":978,"slug":979,"type":15},"Documents","documents",{"name":825,"slug":826,"type":15},"2026-07-25T05:31:47.271484",{"slug":983,"name":983,"fn":984,"description":985,"org":986,"tags":987,"stars":23,"repoUrl":24,"updatedAt":994},"twg-context-discovery","discover project context and dependencies","Use with root `twg` for deep context, dependency maps, related entities, project-to-repo discovery, OOO catch-ups, and \"catch me up\" requests around a concrete anchor.\n",{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[988,989,990,991],{"name":9,"slug":8,"type":15},{"name":825,"slug":826,"type":15},{"name":13,"slug":14,"type":15},{"name":992,"slug":993,"type":15},"Search","search","2026-07-25T05:31:51.299922",{"slug":996,"name":996,"fn":997,"description":998,"org":999,"tags":1000,"stars":23,"repoUrl":24,"updatedAt":1012},"twg-engineering-work","analyze engineering work and pull requests","Use with root `twg` for code search, repositories using an API\u002Fpackage, implementation and reverse-dependency discovery, PR status and reviews, repo contributors, hot areas, and issue-to-PR lookups.\n",{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[1001,1002,1005,1006,1009],{"name":9,"slug":8,"type":15},{"name":1003,"slug":1004,"type":15},"Code Review","code-review",{"name":897,"slug":898,"type":15},{"name":1007,"slug":1008,"type":15},"GitHub","github",{"name":1010,"slug":1011,"type":15},"Pull Requests","pull-requests","2026-07-25T05:31:52.317362",{"slug":1014,"name":1014,"fn":1015,"description":1016,"org":1017,"tags":1018,"stars":23,"repoUrl":24,"updatedAt":1022},"twg-jira","manage Jira work items and projects","Use with root `twg` for Jira workitems, projects, boards, sprints, fields, transitions, comments, links, and administration. Applies Jira semantics and safe mutation rules.\n",{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[1019,1020,1021],{"name":9,"slug":8,"type":15},{"name":767,"slug":768,"type":15},{"name":773,"slug":774,"type":15},"2026-07-25T05:31:46.279241",11]