{"_id":"academic-army","_rev":"26-df55f51c043a8dc65a006807fcff4878","name":"academic-army","dist-tags":{"latest":"0.5.2"},"versions":{"0.1.0":{"name":"academic-army","version":"0.1.0","_id":"academic-army@0.1.0","maintainers":[{"name":"yindaheng98","email":"yindaheng98@gmail.com"}],"dist":{"shasum":"655af0f3fab36fd3c8567a995ea54bbd8ed41c95","tarball":"https://registry.npmjs.org/academic-army/-/academic-army-0.1.0.tgz","fileCount":68,"integrity":"sha512-3xuvHMAqTENZ/Wo/6YD3ZrIQKBoUKpUdXBwy7YoYCNhiVark33/wngXmTbUKP0/BnPLsmLDlVDwT3kShNS9clA==","signatures":[{"sig":"MEUCIBuy44aJcmp0Q15qxNxrTAB53L2qXc9/ZWpp9G0mjlLQAiEA8wZT4Bz//ecylBihzPoxrMCBz44Yz0o0qHxIxneidTE=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":425634},"type":"module","engines":{"node":">=20.19"},"gitHead":"15060d763682cacd5a87487b082b7482356c90af","scripts":{"cli":"tsx src/cli.ts","lint":"eslint .","build":"npm run clean && tsc -p tsconfig.json","check":"tsc -p tsconfig.json --noEmit","clean":"node -e \"require('node:fs').rmSync('dist', { recursive: true, force: true })\"","format":"prettier \"src/**/*.ts\" \"*.{js,json}\" \".*.json\" --write","typecheck":"npm run check","developing":"tsx src/cli.ts developing","evolve-skill":"tsx src/cli.ts evolve-skill","format:check":"prettier \"src/**/*.ts\" \"*.{js,json}\" \".*.json\" --check","developing-skill":"tsx src/cli.ts developing-skill"},"_npmUser":{"name":"yindaheng98","email":"yindaheng98@gmail.com"},"_npmVersion":"10.5.2","description":"Agent workflows and skills for AcademicArmy.","directories":{},"_nodeVersion":"20.13.1","dependencies":{"@openai/codex-sdk":"^0.134.0","coding-agent-forge":"^1.2.5"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.22.3","eslint":"^10.4.1","prettier":"^3.8.3","@eslint/js":"^10.0.1","typescript":"^6.0.3","@types/node":"^25.9.1","typescript-eslint":"^8.60.1"},"_npmOperationalInternal":{"tmp":"tmp/academic-army_0.1.0_1780978464558_0.25972828940142856","host":"s3://npm-registry-packages-npm-production"}},"0.1.1":{"name":"academic-army","version":"0.1.1","license":"MIT","_id":"academic-army@0.1.1","maintainers":[{"name":"yindaheng98","email":"yindaheng98@gmail.com"}],"homepage":"https://github.com/yindaheng98/AcademicArmy#readme","bugs":{"url":"https://github.com/yindaheng98/AcademicArmy/issues"},"dist":{"shasum":"b258f27fd0549832ebc2e3310552a1845b89af6e","tarball":"https://registry.npmjs.org/academic-army/-/academic-army-0.1.1.tgz","fileCount":117,"integrity":"sha512-O7M/S41/MJdOSg5SX5oyDqQQrYq6vhsiO75IPeS5J3Ij4peuH1LZ/g4czQZCgKtn4BYSb9e0eNXaVJYdXbjFjA==","signatures":[{"sig":"MEYCIQDSwBZ2pLwdZoyumwalOLAeeUQ+vRkc5eITx8vGnFCEOAIhANN2tldJMAVxlZezXn5dw5JDyuISLq8Wy+JovBzTMZo7","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/academic-army@0.1.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":424856},"type":"module","engines":{"node":">=20.19"},"exports":{".":{"types":"./dist/pipeline.d.ts","import":"./dist/pipeline.js"},"./developing":{"types":"./dist/developing/index.d.ts","import":"./dist/developing/index.js"},"./evolve-skill":{"types":"./dist/evolve-skill/index.d.ts","import":"./dist/evolve-skill/index.js"}},"gitHead":"80590c1e13f13482f51c3d6f6d4bf24dcce6f628","scripts":{"cli":"tsx src/cli.ts","dev":"tsx src/cli.ts","lint":"eslint .","build":"npm run clean && tsc -p tsconfig.json","check":"tsc -p tsconfig.json --noEmit","clean":"node -e \"require('node:fs').rmSync('dist', { recursive: true, force: true })\"","format":"prettier . --write","typecheck":"npm run check","developing":"tsx src/cli.ts developing","evolve-skill":"tsx src/cli.ts evolve-skill","format:check":"prettier . --check","developing-skill":"tsx src/cli.ts developing-skill"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:8dc281e7-f772-4a2b-92e5-aed09c82bde9"}},"repository":{"url":"git+https://github.com/yindaheng98/AcademicArmy.git","type":"git"},"_npmVersion":"11.16.0","description":"Agent workflows and skills for AcademicArmy.","directories":{},"_nodeVersion":"20.20.2","dependencies":{"@openai/codex-sdk":"^0.134.0","coding-agent-forge":"^1.2.5"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.22.3","eslint":"^10.4.1","prettier":"^3.8.3","@eslint/js":"^10.0.1","typescript":"^6.0.3","@types/node":"^25.9.1","typescript-eslint":"^8.60.1"},"_npmOperationalInternal":{"tmp":"tmp/academic-army_0.1.1_1780979434838_0.37618444241937654","host":"s3://npm-registry-packages-npm-production"}},"0.1.2":{"name":"academic-army","version":"0.1.2","license":"MIT","_id":"academic-army@0.1.2","maintainers":[{"name":"yindaheng98","email":"yindaheng98@gmail.com"}],"homepage":"https://github.com/yindaheng98/AcademicArmy#readme","bugs":{"url":"https://github.com/yindaheng98/AcademicArmy/issues"},"dist":{"shasum":"9b901fd730fc70cb1daa3d884e3f179f4e48605e","tarball":"https://registry.npmjs.org/academic-army/-/academic-army-0.1.2.tgz","fileCount":117,"integrity":"sha512-p6D0eiehW85e3+3Mf3uJms/WXD5B72iMEZBtD7eKR1Mkzf0MBUSVCv72tZz2u7+BomMgLwdAP62xAr/Tga9iSQ==","signatures":[{"sig":"MEUCIERgYTw0717geWydUCLOGPsxqljC15XaJjLIlywdKBexAiEAj3DqXuAgIGCjp32I1yoNrDW63s4U2h84U1FWf+Lggiw=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/academic-army@0.1.2","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":431922},"type":"module","engines":{"node":">=20.19"},"exports":{".":{"types":"./dist/pipeline.d.ts","import":"./dist/pipeline.js"},"./developing":{"types":"./dist/developing/index.d.ts","import":"./dist/developing/index.js"},"./evolve-skill":{"types":"./dist/evolve-skill/index.d.ts","import":"./dist/evolve-skill/index.js"}},"gitHead":"622f549eeeffcda8c95ac90f9a50eee9680bac6d","scripts":{"cli":"tsx src/cli.ts","dev":"tsx src/cli.ts","lint":"eslint .","build":"npm run clean && tsc -p tsconfig.json","check":"tsc -p tsconfig.json --noEmit","clean":"node -e \"require('node:fs').rmSync('dist', { recursive: true, force: true })\"","format":"prettier . --write","typecheck":"npm run check","developing":"tsx src/cli.ts developing","evolve-skill":"tsx src/cli.ts evolve-skill","format:check":"prettier . --check","developing-skill":"tsx src/cli.ts developing-skill"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:8dc281e7-f772-4a2b-92e5-aed09c82bde9"}},"repository":{"url":"git+https://github.com/yindaheng98/AcademicArmy.git","type":"git"},"_npmVersion":"11.16.0","description":"Agent workflows and skills for AcademicArmy.","directories":{},"_nodeVersion":"20.20.2","dependencies":{"@openai/codex-sdk":"^0.134.0","coding-agent-forge":"^1.2.5"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.22.3","eslint":"^10.4.1","prettier":"^3.8.3","@eslint/js":"^10.0.1","typescript":"^6.0.3","@types/node":"^25.9.1","typescript-eslint":"^8.60.1"},"_npmOperationalInternal":{"tmp":"tmp/academic-army_0.1.2_1780979470869_0.4330641576342811","host":"s3://npm-registry-packages-npm-production"}},"0.1.3":{"name":"academic-army","version":"0.1.3","license":"MIT","_id":"academic-army@0.1.3","maintainers":[{"name":"yindaheng98","email":"yindaheng98@gmail.com"}],"homepage":"https://github.com/yindaheng98/AcademicArmy#readme","bugs":{"url":"https://github.com/yindaheng98/AcademicArmy/issues"},"dist":{"shasum":"eb05b059dd56f1b1741a5e5f28a8b6235b99f300","tarball":"https://registry.npmjs.org/academic-army/-/academic-army-0.1.3.tgz","fileCount":117,"integrity":"sha512-7+ZHUcj18q5N5hB8KjMMsY9AMSR1o4nERSYHFM7hYgN5a28THIHNSyfWfdUvG21QpWHBbtqTrKu/uZn23ryj6g==","signatures":[{"sig":"MEQCIA+DC4wb6LFLZ18Pb2NeDZcpkuF/NUbXis744pN/uuwLAiAgIVRcJDTmb6UAgMI5MtXfg9WHco6BRGdsZp9WrZL2tA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/academic-army@0.1.3","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":433177},"type":"module","engines":{"node":">=20.19"},"exports":{".":{"types":"./dist/pipeline.d.ts","import":"./dist/pipeline.js"},"./developing":{"types":"./dist/developing/index.d.ts","import":"./dist/developing/index.js"},"./evolve-skill":{"types":"./dist/evolve-skill/index.d.ts","import":"./dist/evolve-skill/index.js"}},"gitHead":"5fa9b2b96ca90a2d235fa4c69d4695e816fac58c","scripts":{"cli":"tsx src/cli.ts","dev":"tsx src/cli.ts","lint":"eslint .","build":"npm run clean && tsc -p tsconfig.json","check":"tsc -p tsconfig.json --noEmit","clean":"node -e \"require('node:fs').rmSync('dist', { recursive: true, force: true })\"","format":"prettier . --write","typecheck":"npm run check","developing":"tsx src/cli.ts developing","evolve-skill":"tsx src/cli.ts evolve-skill","format:check":"prettier . --check","developing-skill":"tsx src/cli.ts developing-skill"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:8dc281e7-f772-4a2b-92e5-aed09c82bde9"}},"repository":{"url":"git+https://github.com/yindaheng98/AcademicArmy.git","type":"git"},"_npmVersion":"11.16.0","description":"Agent workflows and skills for AcademicArmy.","directories":{},"_nodeVersion":"20.20.2","dependencies":{"@openai/codex-sdk":"^0.134.0","coding-agent-forge":"^1.2.5"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.22.3","eslint":"^10.4.1","prettier":"^3.8.3","@eslint/js":"^10.0.1","typescript":"^6.0.3","@types/node":"^25.9.1","typescript-eslint":"^8.60.1"},"_npmOperationalInternal":{"tmp":"tmp/academic-army_0.1.3_1780980748861_0.6309690287045644","host":"s3://npm-registry-packages-npm-production"}},"0.1.4":{"name":"academic-army","version":"0.1.4","license":"MIT","_id":"academic-army@0.1.4","maintainers":[{"name":"yindaheng98","email":"yindaheng98@gmail.com"}],"homepage":"https://github.com/yindaheng98/AcademicArmy#readme","bugs":{"url":"https://github.com/yindaheng98/AcademicArmy/issues"},"dist":{"shasum":"d2d327e3b646dffcd1d0ed2f49ce6fe756c6cacc","tarball":"https://registry.npmjs.org/academic-army/-/academic-army-0.1.4.tgz","fileCount":113,"integrity":"sha512-T56rH9VZ3v1EcySt6YkL+khiuVGqkWXXEksXZtMsquZjjXauP2cmmd/J3Z/SGOhXI1cnenIDxNPVLNs51tlDnw==","signatures":[{"sig":"MEUCID5ahWwo9nufojqX/T4D+qmJjJb86PzxHHQBgSQyjQW6AiEAnfj4U0XNEPHZUy9vRiUlUJhZ2xhVyHgGgepgIh6q0k8=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/academic-army@0.1.4","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":431669},"type":"module","engines":{"node":">=20.19"},"exports":{"./developing":{"types":"./dist/developing/index.d.ts","import":"./dist/developing/index.js"},"./evolve-skill":{"types":"./dist/evolve-skill/index.d.ts","import":"./dist/evolve-skill/index.js"}},"gitHead":"e294bf9c96c854d2b4a1013b1240465c34470720","scripts":{"cli":"tsx src/cli.ts","dev":"tsx src/cli.ts","lint":"eslint .","build":"npm run clean && tsc -p tsconfig.json","check":"tsc -p tsconfig.json --noEmit","clean":"node -e \"require('node:fs').rmSync('dist', { recursive: true, force: true })\"","format":"prettier . --write","typecheck":"npm run check","developing":"tsx src/cli.ts developing","evolve-skill":"tsx src/cli.ts evolve-skill","format:check":"prettier . --check","developing-skill":"tsx src/cli.ts developing-skill"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:8dc281e7-f772-4a2b-92e5-aed09c82bde9"}},"repository":{"url":"git+https://github.com/yindaheng98/AcademicArmy.git","type":"git"},"_npmVersion":"11.16.0","description":"Agent workflows and skills for AcademicArmy.","directories":{},"_nodeVersion":"20.20.2","dependencies":{"@openai/codex-sdk":"^0.134.0","coding-agent-forge":"^1.3.1"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.22.3","eslint":"^10.4.1","prettier":"^3.8.3","@eslint/js":"^10.0.1","typescript":"^6.0.3","@types/node":"^25.9.1","typescript-eslint":"^8.60.1"},"_npmOperationalInternal":{"tmp":"tmp/academic-army_0.1.4_1781156801868_0.1537661900164562","host":"s3://npm-registry-packages-npm-production"}},"0.2.0":{"name":"academic-army","version":"0.2.0","license":"MIT","_id":"academic-army@0.2.0","maintainers":[{"name":"yindaheng98","email":"yindaheng98@gmail.com"}],"homepage":"https://github.com/yindaheng98/AcademicArmy#readme","bugs":{"url":"https://github.com/yindaheng98/AcademicArmy/issues"},"dist":{"shasum":"148d43c7cfd0b44f4b2c8f0d4f8f1302d5a0ed57","tarball":"https://registry.npmjs.org/academic-army/-/academic-army-0.2.0.tgz","fileCount":69,"integrity":"sha512-cUmfesZT4tD8O4h1u7oQlDor29GGZZ21S5Vnzzlt6hUqoEknBKQai+BdsqstUxjQi0AbgNtXMgzUdygO9YJ21Q==","signatures":[{"sig":"MEYCIQDMIWqFPUdK/ZAqM+879IrkZHQSZq0UeOm4Dn3+pw2auAIhAKtgRDhiolJPOsLj8U3U6hv7QQH2W6ifEOKSy6tBVR85","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/academic-army@0.2.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":373449},"type":"module","engines":{"node":">=20.19"},"exports":{"./evolve-skill":{"types":"./dist/evolve-skill/index.d.ts","import":"./dist/evolve-skill/index.js"}},"gitHead":"482fee854a25d4cc12a584e466dd36d20115dc58","scripts":{"cli":"tsx src/cli.ts","dev":"tsx src/cli.ts","lint":"eslint .","build":"npm run clean && tsc -p tsconfig.json","check":"tsc -p tsconfig.json --noEmit","clean":"node -e \"require('node:fs').rmSync('dist', { recursive: true, force: true })\"","format":"prettier . --write","typecheck":"npm run check","developing":"tsx src/cli.ts developing","evolve-skill":"tsx src/cli.ts evolve-skill","format:check":"prettier . --check","developing-skill":"tsx src/cli.ts developing-skill"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:8dc281e7-f772-4a2b-92e5-aed09c82bde9"}},"repository":{"url":"git+https://github.com/yindaheng98/AcademicArmy.git","type":"git"},"_npmVersion":"11.17.0","description":"Agent workflows and skills for AcademicArmy.","directories":{},"_nodeVersion":"20.20.2","dependencies":{"@openai/codex-sdk":"^0.134.0","coding-agent-forge":"^1.3.1","developing-agent-forge":"^2.0.0"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.22.3","eslint":"^10.4.1","prettier":"^3.8.3","@eslint/js":"^10.0.1","typescript":"^6.0.3","@types/node":"^25.9.1","typescript-eslint":"^8.60.1"},"_npmOperationalInternal":{"tmp":"tmp/academic-army_0.2.0_1781588387319_0.2499430059553418","host":"s3://npm-registry-packages-npm-production"}},"0.2.1":{"name":"academic-army","version":"0.2.1","license":"MIT","_id":"academic-army@0.2.1","maintainers":[{"name":"yindaheng98","email":"yindaheng98@gmail.com"}],"homepage":"https://github.com/yindaheng98/AcademicArmy#readme","bugs":{"url":"https://github.com/yindaheng98/AcademicArmy/issues"},"dist":{"shasum":"c8db963e2fddd33791ebb85f873495dc43e0da49","tarball":"https://registry.npmjs.org/academic-army/-/academic-army-0.2.1.tgz","fileCount":69,"integrity":"sha512-fOdsvtDMMBNQERWFLrcV+fQOR81FYFw4ehWA7tHQ4fnBIVmDXXmLwtXSVcR/27SEiuVkQCthfYjXWFAtHue/Og==","signatures":[{"sig":"MEQCIBhPropGZou509pE1ubFQOsK40AtE6eZnbpaDJLdX4EFAiAo0yO7x0q1fPh43jL2LeVC16duVIHQTW9MIGX/gwRNMA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/academic-army@0.2.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":374354},"type":"module","engines":{"node":">=20.19"},"exports":{"./evolve-skill":{"types":"./dist/evolve-skill/index.d.ts","import":"./dist/evolve-skill/index.js"}},"gitHead":"a9743295d820b2f6775e7c9616e14a6ff67c12fd","scripts":{"cli":"tsx src/cli.ts","dev":"tsx src/cli.ts","lint":"eslint .","build":"npm run clean && tsc -p tsconfig.json","check":"tsc -p tsconfig.json --noEmit","clean":"node -e \"require('node:fs').rmSync('dist', { recursive: true, force: true })\"","format":"prettier . --write","typecheck":"npm run check","developing":"tsx src/cli.ts developing","evolve-skill":"tsx src/cli.ts evolve-skill","format:check":"prettier . --check","developing-skill":"tsx src/cli.ts developing-skill"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:8dc281e7-f772-4a2b-92e5-aed09c82bde9"}},"repository":{"url":"git+https://github.com/yindaheng98/AcademicArmy.git","type":"git"},"_npmVersion":"11.17.0","description":"Agent workflows and skills for AcademicArmy.","directories":{},"_nodeVersion":"20.20.2","dependencies":{"@openai/codex-sdk":"^0.134.0","coding-agent-forge":"^1.3.2","developing-agent-forge":"^2.2.3"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.22.3","eslint":"^10.4.1","prettier":"^3.8.3","@eslint/js":"^10.0.1","typescript":"^6.0.3","@types/node":"^25.9.1","typescript-eslint":"^8.60.1"},"_npmOperationalInternal":{"tmp":"tmp/academic-army_0.2.1_1781734551381_0.5069666443618783","host":"s3://npm-registry-packages-npm-production"}},"0.3.0":{"name":"academic-army","version":"0.3.0","license":"MIT","_id":"academic-army@0.3.0","maintainers":[{"name":"yindaheng98","email":"yindaheng98@gmail.com"}],"homepage":"https://github.com/yindaheng98/AcademicArmy#readme","bugs":{"url":"https://github.com/yindaheng98/AcademicArmy/issues"},"dist":{"shasum":"7966675a0e77c17521f2102181b1c63a24bec3c0","tarball":"https://registry.npmjs.org/academic-army/-/academic-army-0.3.0.tgz","fileCount":68,"integrity":"sha512-efIRhrQgNEGn8PQt8u/UkjORFIAY1MkFDf8Tx94eEiRsii9EcXet6WkYBtx9PzgWbI6He4MGHs9/hDz6AjEN2A==","signatures":[{"sig":"MEUCIA1DYweTvKqWxPHpV+Tc+083zAHdwcEaTs9FVSqBW9nPAiEAzelqqgZI6i+n5zHv8556FFpZnoBr96oS54ybS7lRfik=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/academic-army@0.3.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":341081},"type":"module","engines":{"node":">=20.19"},"exports":{"./evolve-skill":{"types":"./dist/evolve-skill/index.d.ts","import":"./dist/evolve-skill/index.js"}},"gitHead":"dc83d48010cb90e0156ff175e1ed3a0e124f4b2e","scripts":{"cli":"tsx src/cli.ts","dev":"tsx src/cli.ts","lint":"eslint .","build":"npm run clean && tsc -p tsconfig.json","check":"tsc -p tsconfig.json --noEmit","clean":"node -e \"require('node:fs').rmSync('dist', { recursive: true, force: true })\"","format":"prettier . --write","typecheck":"npm run check","developing":"tsx src/cli.ts developing","evolve-skill":"tsx src/cli.ts evolve-skill","format:check":"prettier . --check","developing-skill":"tsx src/cli.ts developing-skill"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:8dc281e7-f772-4a2b-92e5-aed09c82bde9"}},"repository":{"url":"git+https://github.com/yindaheng98/AcademicArmy.git","type":"git"},"_npmVersion":"11.17.0","description":"Agent workflows and skills for AcademicArmy.","directories":{},"_nodeVersion":"20.20.2","dependencies":{"@openai/codex-sdk":"^0.134.0","coding-agent-forge":"^1.3.2","developing-agent-forge":"^2.3.0"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.22.3","eslint":"^10.4.1","prettier":"^3.8.3","@eslint/js":"^10.0.1","typescript":"^6.0.3","@types/node":"^25.9.1","typescript-eslint":"^8.60.1"},"_npmOperationalInternal":{"tmp":"tmp/academic-army_0.3.0_1781846181861_0.7338563362009567","host":"s3://npm-registry-packages-npm-production"}},"0.3.1":{"name":"academic-army","version":"0.3.1","license":"MIT","_id":"academic-army@0.3.1","maintainers":[{"name":"yindaheng98","email":"yindaheng98@gmail.com"}],"homepage":"https://github.com/yindaheng98/AcademicArmy#readme","bugs":{"url":"https://github.com/yindaheng98/AcademicArmy/issues"},"dist":{"shasum":"10190c9e8296ee9a77599c85cc6c5546f03990fa","tarball":"https://registry.npmjs.org/academic-army/-/academic-army-0.3.1.tgz","fileCount":68,"integrity":"sha512-2V1nnA6BBPkN1Em3wJYYXw3M93+0OZYZ6ws714jHLaLe8xFwqmMqbYnOLT8b7mr+1Yg8rUcx1fz5hH/EsD5k2Q==","signatures":[{"sig":"MEUCIQCOBBwLvM6fpYiboWiJw801o+KEeIJjutwfhETf+TYqvwIgRMP+obDLvz00RghDcMXRAst/8AtifuMS+9tQ6WAa/RA=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/academic-army@0.3.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":341081},"type":"module","engines":{"node":">=20.19"},"exports":{"./evolve-skill":{"types":"./dist/evolve-skill/index.d.ts","import":"./dist/evolve-skill/index.js"}},"gitHead":"a387a148a2e60002e926522b29e2ea89357943f8","scripts":{"cli":"tsx src/cli.ts","dev":"tsx src/cli.ts","lint":"eslint .","build":"npm run clean && tsc -p tsconfig.json","check":"tsc -p tsconfig.json --noEmit","clean":"node -e \"require('node:fs').rmSync('dist', { recursive: true, force: true })\"","format":"prettier . --write","typecheck":"npm run check","developing":"tsx src/cli.ts developing","evolve-skill":"tsx src/cli.ts evolve-skill","format:check":"prettier . --check","developing-skill":"tsx src/cli.ts developing-skill"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:8dc281e7-f772-4a2b-92e5-aed09c82bde9"}},"repository":{"url":"git+https://github.com/yindaheng98/AcademicArmy.git","type":"git"},"_npmVersion":"11.17.0","description":"Agent workflows and skills for AcademicArmy.","directories":{},"_nodeVersion":"20.20.2","dependencies":{"@openai/codex-sdk":"^0.134.0","coding-agent-forge":"^1.3.2","developing-agent-forge":"^2.3.1"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.22.3","eslint":"^10.4.1","prettier":"^3.8.3","@eslint/js":"^10.0.1","typescript":"^6.0.3","@types/node":"^25.9.1","typescript-eslint":"^8.60.1"},"_npmOperationalInternal":{"tmp":"tmp/academic-army_0.3.1_1781930913455_0.26881850398192686","host":"s3://npm-registry-packages-npm-production"}},"0.3.2":{"name":"academic-army","version":"0.3.2","license":"MIT","_id":"academic-army@0.3.2","maintainers":[{"name":"yindaheng98","email":"yindaheng98@gmail.com"}],"homepage":"https://github.com/yindaheng98/AcademicArmy#readme","bugs":{"url":"https://github.com/yindaheng98/AcademicArmy/issues"},"dist":{"shasum":"53bb0dab4562a381be6abbcf53193cc03ed674c6","tarball":"https://registry.npmjs.org/academic-army/-/academic-army-0.3.2.tgz","fileCount":68,"integrity":"sha512-tcztD1MxpN4R5byhcHVJRiwZ8MwQUM/74iySAkQr9tceEvqFh8Ztk8NWpppB5WBo2f+gZA9hZKL3C7m/wCVjcA==","signatures":[{"sig":"MEQCIHTA6JDf3fhxka4XQPe4Mm+XEXTSiDpvADKzhci7SbkzAiAccplBflAIG19aPvaqXBXy310l09qOFo9usKw0zyE/gg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/academic-army@0.3.2","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":341081},"type":"module","engines":{"node":">=20.19"},"exports":{"./evolve-skill":{"types":"./dist/evolve-skill/index.d.ts","import":"./dist/evolve-skill/index.js"}},"gitHead":"3ea368087f7959a835a0462ca76e0e0d9fd29127","scripts":{"cli":"tsx src/cli.ts","dev":"tsx src/cli.ts","lint":"eslint .","build":"npm run clean && tsc -p tsconfig.json","check":"tsc -p tsconfig.json --noEmit","clean":"node -e \"require('node:fs').rmSync('dist', { recursive: true, force: true })\"","format":"prettier . --write","typecheck":"npm run check","developing":"tsx src/cli.ts developing","evolve-skill":"tsx src/cli.ts evolve-skill","format:check":"prettier . --check","developing-skill":"tsx src/cli.ts developing-skill"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:8dc281e7-f772-4a2b-92e5-aed09c82bde9"}},"repository":{"url":"git+https://github.com/yindaheng98/AcademicArmy.git","type":"git"},"_npmVersion":"11.17.0","description":"Agent workflows and skills for AcademicArmy.","directories":{},"_nodeVersion":"20.20.2","dependencies":{"@openai/codex-sdk":"^0.134.0","coding-agent-forge":"^1.3.2","developing-agent-forge":"^2.3.2"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.22.3","eslint":"^10.4.1","prettier":"^3.8.3","@eslint/js":"^10.0.1","typescript":"^6.0.3","@types/node":"^25.9.1","typescript-eslint":"^8.60.1"},"_npmOperationalInternal":{"tmp":"tmp/academic-army_0.3.2_1781932523233_0.6786461953094323","host":"s3://npm-registry-packages-npm-production"}},"0.3.3":{"name":"academic-army","version":"0.3.3","license":"MIT","_id":"academic-army@0.3.3","maintainers":[{"name":"yindaheng98","email":"yindaheng98@gmail.com"}],"homepage":"https://github.com/yindaheng98/AcademicArmy#readme","bugs":{"url":"https://github.com/yindaheng98/AcademicArmy/issues"},"dist":{"shasum":"908a67ad8447a5018f514d2e305ff26cebd331ab","tarball":"https://registry.npmjs.org/academic-army/-/academic-army-0.3.3.tgz","fileCount":68,"integrity":"sha512-8lZPrDcvnkzm52ijavSvtu6E9Z4+gEHyKCvKS6VUAg1pU20TBEZv33ZeMX4Cw+WSh8itWAKxfPHE5w6pCzX8PQ==","signatures":[{"sig":"MEUCIA/dT+mw9EexWiYR453b2rQ+KpMsWrhM98IaHRNmazqZAiEA4OUZtDhrVidQz70/wf1/LSm5qK5rQZwH+0mSG+zw4jY=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/academic-army@0.3.3","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":341081},"type":"module","engines":{"node":">=20.19"},"exports":{"./evolve-skill":{"types":"./dist/evolve-skill/index.d.ts","import":"./dist/evolve-skill/index.js"}},"gitHead":"c9e8aaf2c9721afdc545273d21211dee99310453","scripts":{"cli":"tsx src/cli.ts","dev":"tsx src/cli.ts","lint":"eslint .","build":"npm run clean && tsc -p tsconfig.json","check":"tsc -p tsconfig.json --noEmit","clean":"node -e \"require('node:fs').rmSync('dist', { recursive: true, force: true })\"","format":"prettier . --write","typecheck":"npm run check","developing":"tsx src/cli.ts developing","evolve-skill":"tsx src/cli.ts evolve-skill","format:check":"prettier . --check","developing-skill":"tsx src/cli.ts developing-skill"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:8dc281e7-f772-4a2b-92e5-aed09c82bde9"}},"repository":{"url":"git+https://github.com/yindaheng98/AcademicArmy.git","type":"git"},"_npmVersion":"11.17.0","description":"Agent workflows and skills for AcademicArmy.","directories":{},"_nodeVersion":"20.20.2","dependencies":{"@openai/codex-sdk":"^0.134.0","coding-agent-forge":"^1.3.2","developing-agent-forge":"^2.4.0"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.22.3","eslint":"^10.4.1","prettier":"^3.8.3","@eslint/js":"^10.0.1","typescript":"^6.0.3","@types/node":"^25.9.1","typescript-eslint":"^8.60.1"},"_npmOperationalInternal":{"tmp":"tmp/academic-army_0.3.3_1781933089725_0.5183157732053119","host":"s3://npm-registry-packages-npm-production"}},"0.3.5":{"name":"academic-army","version":"0.3.5","license":"MIT","_id":"academic-army@0.3.5","maintainers":[{"name":"yindaheng98","email":"yindaheng98@gmail.com"}],"homepage":"https://github.com/yindaheng98/AcademicArmy#readme","bugs":{"url":"https://github.com/yindaheng98/AcademicArmy/issues"},"dist":{"shasum":"97bc61954cb003afb160baef86fbd79d4fb84d17","tarball":"https://registry.npmjs.org/academic-army/-/academic-army-0.3.5.tgz","fileCount":88,"integrity":"sha512-JxexJga72s6JSvmURrjNTIWZbjdYDE9ZGz8DRpMhfqGlAOMzGVyT8m9YOqpQVqIgEWWVpSIAOkjWFBcSPCxqBw==","signatures":[{"sig":"MEYCIQCAbLxOqlhVVJQc1hmFPoloZ46t+y0KAl43ipZSSpUAmgIhAMvXSnn34/NnOC87Ju/N1D4L2VQm+QYnKFGIidJtJ1LG","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/academic-army@0.3.5","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":374094},"type":"module","engines":{"node":">=20.19"},"exports":{"./evolve-skill":{"types":"./dist/evolve-skill/index.d.ts","import":"./dist/evolve-skill/index.js"}},"gitHead":"b3d4330f7f07367a65de4cb4578563b8e4441bae","scripts":{"cli":"tsx src/cli.ts","dev":"tsx src/cli.ts","lint":"eslint .","build":"npm run clean && tsc -p tsconfig.json","check":"tsc -p tsconfig.json --noEmit","clean":"node -e \"require('node:fs').rmSync('dist', { recursive: true, force: true })\"","format":"prettier . --write","typecheck":"npm run check","developing":"tsx src/cli.ts developing","evolve-skill":"tsx src/cli.ts evolve-skill","format:check":"prettier . --check","developing-skill":"tsx src/cli.ts developing-skill"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:8dc281e7-f772-4a2b-92e5-aed09c82bde9"}},"repository":{"url":"git+https://github.com/yindaheng98/AcademicArmy.git","type":"git"},"_npmVersion":"11.17.0","description":"Agent workflows and skills for AcademicArmy.","directories":{},"_nodeVersion":"20.20.2","dependencies":{"@openai/codex-sdk":"^0.134.0","coding-agent-forge":"^1.3.2","developing-agent-forge":"^2.5.2"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.22.3","eslint":"^10.4.1","prettier":"^3.8.3","@eslint/js":"^10.0.1","typescript":"^6.0.3","@types/node":"^25.9.1","typescript-eslint":"^8.60.1"},"_npmOperationalInternal":{"tmp":"tmp/academic-army_0.3.5_1782014668829_0.3560769622457276","host":"s3://npm-registry-packages-npm-production"}},"0.3.6":{"name":"academic-army","version":"0.3.6","license":"MIT","_id":"academic-army@0.3.6","maintainers":[{"name":"yindaheng98","email":"yindaheng98@gmail.com"}],"homepage":"https://github.com/yindaheng98/AcademicArmy#readme","bugs":{"url":"https://github.com/yindaheng98/AcademicArmy/issues"},"dist":{"shasum":"4b49c14f050a0d5013138488eaab366c24a677af","tarball":"https://registry.npmjs.org/academic-army/-/academic-army-0.3.6.tgz","fileCount":88,"integrity":"sha512-aWfq+ysqn6H+ERJMe06n+7IJ1bMiHXtE67Jt58h+olYZYPwD7GyfegfO/iXodL30Xub+70IhZl6JlKeb+jzZbA==","signatures":[{"sig":"MEUCIQCBGWab+L4eDWYUeSodYSxPd4NJTikjNABkJDL+TJsmpwIgfiMUgKWRUTxkTuInvI01XnUNmWfjY/yRKRCsYv5ypJ8=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/academic-army@0.3.6","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":374059},"type":"module","engines":{"node":">=20.19"},"exports":{"./evolve-skill":{"types":"./dist/evolve-skill/index.d.ts","import":"./dist/evolve-skill/index.js"}},"gitHead":"29a49b513d4d22c0d4b3939ef5ece7168d79347a","scripts":{"cli":"tsx src/cli.ts","dev":"tsx src/cli.ts","lint":"eslint .","build":"npm run clean && tsc -p tsconfig.json","check":"tsc -p tsconfig.json --noEmit","clean":"node -e \"require('node:fs').rmSync('dist', { recursive: true, force: true })\"","format":"prettier . --write","typecheck":"npm run check","developing":"tsx src/cli.ts developing","evolve-skill":"tsx src/cli.ts evolve-skill","format:check":"prettier . --check","developing-skill":"tsx src/cli.ts developing-skill"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:8dc281e7-f772-4a2b-92e5-aed09c82bde9"}},"repository":{"url":"git+https://github.com/yindaheng98/AcademicArmy.git","type":"git"},"_npmVersion":"11.17.0","description":"Agent workflows and skills for AcademicArmy.","directories":{},"_nodeVersion":"20.20.2","dependencies":{"coding-agent-forge":">=1.3.5","developing-agent-forge":">=2.5.3"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.22.3","eslint":"^10.4.1","prettier":"^3.8.3","@eslint/js":"^10.0.1","typescript":"^6.0.3","@types/node":"^25.9.1","typescript-eslint":"^8.60.1"},"_npmOperationalInternal":{"tmp":"tmp/academic-army_0.3.6_1782019424923_0.01628678437159814","host":"s3://npm-registry-packages-npm-production"}},"0.3.7":{"name":"academic-army","version":"0.3.7","license":"MIT","_id":"academic-army@0.3.7","maintainers":[{"name":"yindaheng98","email":"yindaheng98@gmail.com"}],"homepage":"https://github.com/yindaheng98/AcademicArmy#readme","bugs":{"url":"https://github.com/yindaheng98/AcademicArmy/issues"},"dist":{"shasum":"97b16771023deabd7a10dd1b475828dd1e0e2f9e","tarball":"https://registry.npmjs.org/academic-army/-/academic-army-0.3.7.tgz","fileCount":88,"integrity":"sha512-bL/FdmmrLC0vjeEVWiDv9Z2BEVLTU3FJxv+KCMZHALF+DPTIBUyoJjkqQvyAc1fR1epAn9IkKlIPAuseDUx+Gw==","signatures":[{"sig":"MEYCIQCIHjkOwB+spiu0vBrXHHH4W0ZWFrmslCYaf+4/EIhJNQIhAJbFuqo4BpxjAqEB85UjMgTppyo9VcwpIkX5sE2naxLI","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/academic-army@0.3.7","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":374500},"type":"module","engines":{"node":">=20.19"},"exports":{"./evolve-skill":{"types":"./dist/evolve-skill/index.d.ts","import":"./dist/evolve-skill/index.js"}},"gitHead":"f128197c6b3fb92a67a4b92f33786499ae180b2e","scripts":{"cli":"tsx src/cli.ts","dev":"tsx src/cli.ts","lint":"eslint .","build":"npm run clean && tsc -p tsconfig.json","check":"tsc -p tsconfig.json --noEmit","clean":"node -e \"require('node:fs').rmSync('dist', { recursive: true, force: true })\"","format":"prettier . --write","typecheck":"npm run check","developing":"tsx src/cli.ts developing","evolve-skill":"tsx src/cli.ts evolve-skill","format:check":"prettier . --check","developing-skill":"tsx src/cli.ts developing-skill"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:8dc281e7-f772-4a2b-92e5-aed09c82bde9"}},"repository":{"url":"git+https://github.com/yindaheng98/AcademicArmy.git","type":"git"},"_npmVersion":"11.17.0","description":"Agent workflows and skills for AcademicArmy.","directories":{},"_nodeVersion":"20.20.2","dependencies":{"coding-agent-forge":">=1.3.5","developing-agent-forge":">=2.6.0"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.22.3","eslint":"^10.4.1","prettier":"^3.8.3","@eslint/js":"^10.0.1","typescript":"^6.0.3","@types/node":"^25.9.1","typescript-eslint":"^8.60.1"},"_npmOperationalInternal":{"tmp":"tmp/academic-army_0.3.7_1782021672753_0.3746475252615662","host":"s3://npm-registry-packages-npm-production"}},"0.3.8":{"name":"academic-army","version":"0.3.8","license":"MIT","_id":"academic-army@0.3.8","maintainers":[{"name":"yindaheng98","email":"yindaheng98@gmail.com"}],"homepage":"https://github.com/yindaheng98/AcademicArmy#readme","bugs":{"url":"https://github.com/yindaheng98/AcademicArmy/issues"},"dist":{"shasum":"bd2907f9610e73419a4377717dfee06a57b9c35b","tarball":"https://registry.npmjs.org/academic-army/-/academic-army-0.3.8.tgz","fileCount":88,"integrity":"sha512-tyk3L3Cn7wVnPCP753xK70k7BfSZfWK0ZMkOpJDyfokCtjhzOtKIW3cqP6C4VT3aNtkS5guJudL7NN7fbtu5IA==","signatures":[{"sig":"MEUCIHiA+wxlJaRjMiRuxL0xcq1Vs2C7r/+LhhJUwAFD9UDTAiEA+ZzMAm29NtU1ygDYsoiLigKeunLzBpNmbN9Y4aD83hw=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/academic-army@0.3.8","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":374961},"type":"module","engines":{"node":">=20.19"},"exports":{"./evolve-skill":{"types":"./dist/evolve-skill/index.d.ts","import":"./dist/evolve-skill/index.js"}},"gitHead":"35d39af1063a65b227c041bd2ab0c199e7185791","scripts":{"cli":"tsx src/cli.ts","dev":"tsx src/cli.ts","lint":"eslint .","build":"npm run clean && tsc -p tsconfig.json","check":"tsc -p tsconfig.json --noEmit","clean":"node -e \"require('node:fs').rmSync('dist', { recursive: true, force: true })\"","format":"prettier . --write","typecheck":"npm run check","developing":"tsx src/cli.ts developing","evolve-skill":"tsx src/cli.ts evolve-skill","format:check":"prettier . --check","developing-skill":"tsx src/cli.ts developing-skill"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:8dc281e7-f772-4a2b-92e5-aed09c82bde9"}},"repository":{"url":"git+https://github.com/yindaheng98/AcademicArmy.git","type":"git"},"_npmVersion":"11.17.0","description":"Agent workflows and skills for AcademicArmy.","directories":{},"_nodeVersion":"20.20.2","dependencies":{"coding-agent-forge":">=1.3.5","developing-agent-forge":">=2.7.3"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.22.3","eslint":"^10.4.1","prettier":"^3.8.3","@eslint/js":"^10.0.1","typescript":"^6.0.3","@types/node":"^25.9.1","typescript-eslint":"^8.60.1"},"_npmOperationalInternal":{"tmp":"tmp/academic-army_0.3.8_1782104370317_0.6544483574412747","host":"s3://npm-registry-packages-npm-production"}},"0.3.9":{"name":"academic-army","version":"0.3.9","license":"MIT","_id":"academic-army@0.3.9","maintainers":[{"name":"yindaheng98","email":"yindaheng98@gmail.com"}],"homepage":"https://github.com/yindaheng98/AcademicArmy#readme","bugs":{"url":"https://github.com/yindaheng98/AcademicArmy/issues"},"dist":{"shasum":"a0fb24b8145297ecd40db99b7b3a8691d57a1f9b","tarball":"https://registry.npmjs.org/academic-army/-/academic-army-0.3.9.tgz","fileCount":88,"integrity":"sha512-rMbPeh6UNyY9iurpPM8F/Rn9pdDL6UqCjL6tQxhgf1wDZYmWThelNh7f6Ds4D7FiT3+lZ45H1LuPsZZ/NoCmGA==","signatures":[{"sig":"MEYCIQDwoECCoFjf58Cf4Z1uIiT+1O8Qy6zj8icWFlnLH32PEwIhAKJ0EehB/jx3/Kx9/Ir1JYlberNfkQrb+EjlFzlN9ZQG","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/academic-army@0.3.9","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":374961},"type":"module","engines":{"node":">=20.19"},"exports":{"./evolve-skill":{"types":"./dist/evolve-skill/index.d.ts","import":"./dist/evolve-skill/index.js"}},"gitHead":"e11ef18416c917c57f779cd9d32aaffc76039066","scripts":{"cli":"tsx src/cli.ts","dev":"tsx src/cli.ts","lint":"eslint .","build":"npm run clean && tsc -p tsconfig.json","check":"tsc -p tsconfig.json --noEmit","clean":"node -e \"require('node:fs').rmSync('dist', { recursive: true, force: true })\"","format":"prettier . --write","typecheck":"npm run check","developing":"tsx src/cli.ts developing","evolve-skill":"tsx src/cli.ts evolve-skill","format:check":"prettier . --check","developing-skill":"tsx src/cli.ts developing-skill"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:8dc281e7-f772-4a2b-92e5-aed09c82bde9"}},"repository":{"url":"git+https://github.com/yindaheng98/AcademicArmy.git","type":"git"},"_npmVersion":"11.17.0","description":"Agent workflows and skills for AcademicArmy.","directories":{},"_nodeVersion":"20.20.2","dependencies":{"coding-agent-forge":">=1.3.5","developing-agent-forge":">=2.7.4"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.22.3","eslint":"^10.4.1","prettier":"^3.8.3","@eslint/js":"^10.0.1","typescript":"^6.0.3","@types/node":"^25.9.1","typescript-eslint":"^8.60.1"},"_npmOperationalInternal":{"tmp":"tmp/academic-army_0.3.9_1782105544391_0.9610651910154089","host":"s3://npm-registry-packages-npm-production"}},"0.3.10":{"name":"academic-army","version":"0.3.10","license":"MIT","_id":"academic-army@0.3.10","maintainers":[{"name":"yindaheng98","email":"yindaheng98@gmail.com"}],"homepage":"https://github.com/yindaheng98/AcademicArmy#readme","bugs":{"url":"https://github.com/yindaheng98/AcademicArmy/issues"},"dist":{"shasum":"cc3f4c102cbcbe949af07e7a485c4df830b12ae0","tarball":"https://registry.npmjs.org/academic-army/-/academic-army-0.3.10.tgz","fileCount":88,"integrity":"sha512-GAOzajxAq5CeJCE93uPhKKvkBLy3I6P1nMsHBEKGGOeHfVmsvIHkwB/YwqtUklDQysNj2Hl+8yE7gFlWY4VQLw==","signatures":[{"sig":"MEUCID6Ho6IH/ixlQLpKlWkS5Kiek4ixD2bu8tZDlRNPWenvAiEAvkBne834w1QVjz8JnTSUc78eFllVqFyfWWemLz5//iU=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/academic-army@0.3.10","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":374987},"type":"module","engines":{"node":">=20.19"},"exports":{"./evolve-skill":{"types":"./dist/evolve-skill/index.d.ts","import":"./dist/evolve-skill/index.js"}},"gitHead":"d2d6506d46f495b49234a53e0a0ee4249bc1c688","scripts":{"cli":"tsx src/cli.ts","dev":"tsx src/cli.ts","lint":"eslint .","build":"npm run clean && tsc -p tsconfig.json","check":"tsc -p tsconfig.json --noEmit","clean":"node -e \"require('node:fs').rmSync('dist', { recursive: true, force: true })\"","format":"prettier . --write","typecheck":"npm run check","developing":"tsx src/cli.ts developing","evolve-skill":"tsx src/cli.ts evolve-skill","format:check":"prettier . --check","developing-skill":"tsx src/cli.ts developing-skill"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:8dc281e7-f772-4a2b-92e5-aed09c82bde9"}},"repository":{"url":"git+https://github.com/yindaheng98/AcademicArmy.git","type":"git"},"_npmVersion":"11.17.0","description":"Agent workflows and skills for AcademicArmy.","directories":{},"_nodeVersion":"20.20.2","dependencies":{"coding-agent-forge":">=1.3.5","developing-agent-forge":">=2.7.5"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.22.3","eslint":"^10.4.1","prettier":"^3.8.3","@eslint/js":"^10.0.1","typescript":"^6.0.3","@types/node":"^25.9.1","typescript-eslint":"^8.60.1"},"_npmOperationalInternal":{"tmp":"tmp/academic-army_0.3.10_1782108882923_0.05808023410728813","host":"s3://npm-registry-packages-npm-production"}},"0.3.11":{"name":"academic-army","version":"0.3.11","license":"MIT","_id":"academic-army@0.3.11","maintainers":[{"name":"yindaheng98","email":"yindaheng98@gmail.com"}],"homepage":"https://github.com/yindaheng98/AcademicArmy#readme","bugs":{"url":"https://github.com/yindaheng98/AcademicArmy/issues"},"dist":{"shasum":"ba5dd8ca6e41bb726634f4059e1375975ffef769","tarball":"https://registry.npmjs.org/academic-army/-/academic-army-0.3.11.tgz","fileCount":88,"integrity":"sha512-Z2XU/tI0LW3GiQPJTM5x3mcubwuTKMit7Kq6cldRmijg+9Hmjtc/QHgtsQCYv4Msvl7821X0iHC8miUaoK6t6g==","signatures":[{"sig":"MEUCIAvZCl3FwVEBNDnVUvxcJa+xgKUgf2CLiAtS7hbUW4OvAiEAt7AdJ1ycN2qL63djj7etDdQ9F2lZxozQnwcANPDlME8=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/academic-army@0.3.11","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":411832},"type":"module","engines":{"node":">=20.19"},"exports":{"./evolve-skill":{"types":"./dist/evolve-skill/index.d.ts","import":"./dist/evolve-skill/index.js"}},"gitHead":"88de72d0b9ae243c303ec1c302fefc4a68146916","scripts":{"cli":"tsx src/cli.ts","dev":"tsx src/cli.ts","lint":"eslint .","build":"npm run clean && tsc -p tsconfig.json","check":"tsc -p tsconfig.json --noEmit","clean":"node -e \"require('node:fs').rmSync('dist', { recursive: true, force: true })\"","format":"prettier . --write","typecheck":"npm run check","developing":"tsx src/cli.ts developing","evolve-skill":"tsx src/cli.ts evolve-skill","format:check":"prettier . --check","developing-skill":"tsx src/cli.ts developing-skill"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:8dc281e7-f772-4a2b-92e5-aed09c82bde9"}},"repository":{"url":"git+https://github.com/yindaheng98/AcademicArmy.git","type":"git"},"_npmVersion":"11.17.0","description":"Agent workflows and skills for AcademicArmy.","directories":{},"_nodeVersion":"20.20.2","dependencies":{"coding-agent-forge":">=1.3.5","developing-agent-forge":">=2.7.5"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.22.3","eslint":"^10.4.1","prettier":"^3.8.3","@eslint/js":"^10.0.1","typescript":"^6.0.3","@types/node":"^25.9.1","typescript-eslint":"^8.60.1"},"_npmOperationalInternal":{"tmp":"tmp/academic-army_0.3.11_1782275854692_0.3029086211066483","host":"s3://npm-registry-packages-npm-production"}},"0.3.12":{"name":"academic-army","version":"0.3.12","license":"MIT","_id":"academic-army@0.3.12","maintainers":[{"name":"yindaheng98","email":"yindaheng98@gmail.com"}],"homepage":"https://github.com/yindaheng98/AcademicArmy#readme","bugs":{"url":"https://github.com/yindaheng98/AcademicArmy/issues"},"dist":{"shasum":"768c0715fdc3940857c21154e081ad37395d5833","tarball":"https://registry.npmjs.org/academic-army/-/academic-army-0.3.12.tgz","fileCount":88,"integrity":"sha512-mYO94Iw1ajXDuW7vSPBpd1vV6x8uurt2hN7IOg31sdcdlg2ZqpECCQzPlNR4x4F5NqxzU4OK5H3deb7GcIhePQ==","signatures":[{"sig":"MEUCIQCZt2HP6SxzYH5Y1o8neyL/nZsS5Dwx/WDa/s4dFfIZOgIgEY4yV6/eQ2htofhcfOX3x4C+/kpC0H+U78PHcTJc21A=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/academic-army@0.3.12","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":411832},"type":"module","engines":{"node":">=20.19"},"exports":{"./evolve-skill":{"types":"./dist/evolve-skill/index.d.ts","import":"./dist/evolve-skill/index.js"}},"gitHead":"cc5d108505a0a2ca404f53a065e43ae76c861994","scripts":{"cli":"tsx src/cli.ts","dev":"tsx src/cli.ts","lint":"eslint .","build":"npm run clean && tsc -p tsconfig.json","check":"tsc -p tsconfig.json --noEmit","clean":"node -e \"require('node:fs').rmSync('dist', { recursive: true, force: true })\"","format":"prettier . --write","typecheck":"npm run check","developing":"tsx src/cli.ts developing","evolve-skill":"tsx src/cli.ts evolve-skill","format:check":"prettier . --check","developing-skill":"tsx src/cli.ts developing-skill"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:8dc281e7-f772-4a2b-92e5-aed09c82bde9"}},"repository":{"url":"git+https://github.com/yindaheng98/AcademicArmy.git","type":"git"},"_npmVersion":"11.17.0","description":"Agent workflows and skills for AcademicArmy.","directories":{},"_nodeVersion":"20.20.2","dependencies":{"coding-agent-forge":">=1.3.5","developing-agent-forge":">=2.8.1"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.22.3","eslint":"^10.4.1","prettier":"^3.8.3","@eslint/js":"^10.0.1","typescript":"^6.0.3","@types/node":"^25.9.1","typescript-eslint":"^8.60.1"},"_npmOperationalInternal":{"tmp":"tmp/academic-army_0.3.12_1782356782274_0.5294497681616523","host":"s3://npm-registry-packages-npm-production"}},"0.3.13":{"name":"academic-army","version":"0.3.13","license":"MIT","_id":"academic-army@0.3.13","maintainers":[{"name":"yindaheng98","email":"yindaheng98@gmail.com"}],"homepage":"https://github.com/yindaheng98/AcademicArmy#readme","bugs":{"url":"https://github.com/yindaheng98/AcademicArmy/issues"},"dist":{"shasum":"732207864f481ab44c213e52d01f68478aae7636","tarball":"https://registry.npmjs.org/academic-army/-/academic-army-0.3.13.tgz","fileCount":88,"integrity":"sha512-zu4GUx7HULDGz772wPOzBBJ5HvG79iYsDSZZSFoGTPJrlmCre9Wi9AzZXmQwwQ7+thGjH9nzU8W+zCRt2uBnoQ==","signatures":[{"sig":"MEUCIQD1AzCF96Ka5rWm0EIuLUK2LSTctlZAXeiZIVFpJS/hSAIgTsgAQjkgPd/nF5RTWNz0NvMPjGaSEEHQh5i5GHHrnxQ=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/academic-army@0.3.13","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":411832},"type":"module","engines":{"node":">=20.19"},"exports":{"./evolve-skill":{"types":"./dist/evolve-skill/index.d.ts","import":"./dist/evolve-skill/index.js"}},"gitHead":"5496a2a5133d1b34549813e3666528cb426ca061","scripts":{"cli":"tsx src/cli.ts","dev":"tsx src/cli.ts","lint":"eslint .","build":"npm run clean && tsc -p tsconfig.json","check":"tsc -p tsconfig.json --noEmit","clean":"node -e \"require('node:fs').rmSync('dist', { recursive: true, force: true })\"","format":"prettier . --write","typecheck":"npm run check","developing":"tsx src/cli.ts developing","evolve-skill":"tsx src/cli.ts evolve-skill","format:check":"prettier . --check","developing-skill":"tsx src/cli.ts developing-skill"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:8dc281e7-f772-4a2b-92e5-aed09c82bde9"}},"repository":{"url":"git+https://github.com/yindaheng98/AcademicArmy.git","type":"git"},"_npmVersion":"11.17.0","description":"Agent workflows and skills for AcademicArmy.","directories":{},"_nodeVersion":"20.20.2","dependencies":{"coding-agent-forge":">=1.3.5","developing-agent-forge":">=2.8.2"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.22.3","eslint":"^10.4.1","prettier":"^3.8.3","@eslint/js":"^10.0.1","typescript":"^6.0.3","@types/node":"^25.9.1","typescript-eslint":"^8.60.1"},"_npmOperationalInternal":{"tmp":"tmp/academic-army_0.3.13_1782448696692_0.3513141354326763","host":"s3://npm-registry-packages-npm-production"}},"0.3.14":{"name":"academic-army","version":"0.3.14","license":"MIT","_id":"academic-army@0.3.14","maintainers":[{"name":"yindaheng98","email":"yindaheng98@gmail.com"}],"homepage":"https://github.com/yindaheng98/AcademicArmy#readme","bugs":{"url":"https://github.com/yindaheng98/AcademicArmy/issues"},"dist":{"shasum":"b274c0a551c1406b5f5f848aeb589b4b80cb2bbc","tarball":"https://registry.npmjs.org/academic-army/-/academic-army-0.3.14.tgz","fileCount":88,"integrity":"sha512-H9XINoS7W0jLjfBXRYr7J3y7WZ/+f+6l9qdPcKZn6iRmCd6qGQcZstrncNHEqTWmWJqh/JFB/u7RhgPKHYx7Ag==","signatures":[{"sig":"MEQCICRddR0XS/FvmgURblG5Y1OhbQJUc5ox98j05UALqv+uAiB2H0M7xMF+t6Tdoh3uz4vMCwQRpD3H3QMN+jbQZSmDwQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/academic-army@0.3.14","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":412097},"type":"module","engines":{"node":">=20.19"},"exports":{"./evolve-skill":{"types":"./dist/evolve-skill/index.d.ts","import":"./dist/evolve-skill/index.js"}},"gitHead":"c6b856c8b9c06f54d4ebf9e76bb0c55c753e0efe","scripts":{"cli":"tsx src/cli.ts","dev":"tsx src/cli.ts","lint":"eslint .","build":"npm run clean && tsc -p tsconfig.json","check":"tsc -p tsconfig.json --noEmit","clean":"node -e \"require('node:fs').rmSync('dist', { recursive: true, force: true })\"","format":"prettier . --write","typecheck":"npm run check","developing":"tsx src/cli.ts developing","evolve-skill":"tsx src/cli.ts evolve-skill","format:check":"prettier . --check","developing-skill":"tsx src/cli.ts developing-skill"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:8dc281e7-f772-4a2b-92e5-aed09c82bde9"}},"repository":{"url":"git+https://github.com/yindaheng98/AcademicArmy.git","type":"git"},"_npmVersion":"11.18.0","description":"Agent workflows and skills for AcademicArmy.","directories":{},"_nodeVersion":"20.20.2","dependencies":{"coding-agent-forge":">=1.3.5","developing-agent-forge":">=2.8.3"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.22.3","eslint":"^10.4.1","prettier":"^3.8.3","@eslint/js":"^10.0.1","typescript":"^6.0.3","@types/node":"^25.9.1","typescript-eslint":"^8.60.1"},"_npmOperationalInternal":{"tmp":"tmp/academic-army_0.3.14_1783121174589_0.9135389427085818","host":"s3://npm-registry-packages-npm-production"}},"0.4.0":{"name":"academic-army","version":"0.4.0","license":"MIT","_id":"academic-army@0.4.0","maintainers":[{"name":"yindaheng98","email":"yindaheng98@gmail.com"}],"homepage":"https://github.com/yindaheng98/AcademicArmy#readme","bugs":{"url":"https://github.com/yindaheng98/AcademicArmy/issues"},"dist":{"shasum":"331475337a8155644b2a076eb25d4f24cdf5fe89","tarball":"https://registry.npmjs.org/academic-army/-/academic-army-0.4.0.tgz","fileCount":92,"integrity":"sha512-VlVf3T/yAY9iqGFGApDbxJ1EXAep0+3n5qlgLS14Turw6XEdTlqWXZ7HxEaIJMztM1H5hIB48MweKRuZZkuPfg==","signatures":[{"sig":"MEQCIBM16im8Uk2ZIPF86quB2L/hFOb2ONe/ykcId3Y5BcDDAiBe61Vyk7+YEW+o6DYH4hRY5mO6swO3vdox9uwiqXvs/Q==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/academic-army@0.4.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":413295},"type":"module","engines":{"node":">=20.19"},"exports":{"./evolve-skill":{"types":"./dist/evolve-skill/index.d.ts","import":"./dist/evolve-skill/index.js"}},"gitHead":"8c3d9257af278605515770ef58df5c6f7b5c5aa4","scripts":{"cli":"tsx src/cli.ts","dev":"tsx src/cli.ts","lint":"eslint .","build":"npm run clean && tsc -p tsconfig.json","check":"tsc -p tsconfig.json --noEmit","clean":"node -e \"require('node:fs').rmSync('dist', { recursive: true, force: true })\"","format":"prettier . --write","typecheck":"npm run check","developing":"tsx src/cli.ts developing","evolve-skill":"tsx src/cli.ts evolve-skill","format:check":"prettier . --check","developing-skill":"tsx src/cli.ts developing-skill"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:8dc281e7-f772-4a2b-92e5-aed09c82bde9"}},"repository":{"url":"git+https://github.com/yindaheng98/AcademicArmy.git","type":"git"},"_npmVersion":"11.18.0","description":"Agent workflows and skills for AcademicArmy.","directories":{},"_nodeVersion":"20.20.2","dependencies":{"coding-agent-forge":">=1.3.5","developing-agent-forge":">=2.8.3"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.22.3","eslint":"^10.4.1","prettier":"^3.8.3","@eslint/js":"^10.0.1","typescript":"^6.0.3","@types/node":"^25.9.1","typescript-eslint":"^8.60.1"},"_npmOperationalInternal":{"tmp":"tmp/academic-army_0.4.0_1783123812595_0.600378720641817","host":"s3://npm-registry-packages-npm-production"}},"0.4.1":{"name":"academic-army","version":"0.4.1","license":"MIT","_id":"academic-army@0.4.1","maintainers":[{"name":"yindaheng98","email":"yindaheng98@gmail.com"}],"homepage":"https://github.com/yindaheng98/AcademicArmy#readme","bugs":{"url":"https://github.com/yindaheng98/AcademicArmy/issues"},"dist":{"shasum":"0e167cc3b8f8d434d0798c251e6f306bc4541b0b","tarball":"https://registry.npmjs.org/academic-army/-/academic-army-0.4.1.tgz","fileCount":100,"integrity":"sha512-IQczl4jXaXEurgy9eEBcWrVIJvxvlGi7JCJ8CHLprNE8eWaSf64lEhRL0PsBRCXOntHdP6TW95VAdJRnL8ZrMw==","signatures":[{"sig":"MEQCIATtMhgNSR0Ga8P7YXh5B+7k3bGCtZuH4ks2FjV2iXHkAiBQAm7vlL4F/4kiuSXcFhlTdbXOJfenbVE4vCrb7oSPsQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/academic-army@0.4.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":415327},"type":"module","engines":{"node":">=20.19"},"exports":{"./evolve-skill":{"types":"./dist/evolve-skill/index.d.ts","import":"./dist/evolve-skill/index.js"}},"gitHead":"159399917a52f18ce6ba0d87073e385728ee732c","scripts":{"cli":"tsx src/cli.ts","dev":"tsx src/cli.ts","lint":"eslint .","build":"npm run clean && tsc -p tsconfig.json","check":"tsc -p tsconfig.json --noEmit","clean":"node -e \"require('node:fs').rmSync('dist', { recursive: true, force: true })\"","format":"prettier . --write","typecheck":"npm run check","developing":"tsx src/cli.ts developing","evolve-skill":"tsx src/cli.ts evolve-skill","format:check":"prettier . --check","developing-skill":"tsx src/cli.ts developing-skill"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:8dc281e7-f772-4a2b-92e5-aed09c82bde9"}},"repository":{"url":"git+https://github.com/yindaheng98/AcademicArmy.git","type":"git"},"_npmVersion":"11.18.0","description":"Agent workflows and skills for AcademicArmy.","directories":{},"_nodeVersion":"20.20.2","dependencies":{"coding-agent-forge":">=1.3.5","developing-agent-forge":">=2.8.3"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.22.3","eslint":"^10.4.1","prettier":"^3.8.3","@eslint/js":"^10.0.1","typescript":"^6.0.3","@types/node":"^25.9.1","typescript-eslint":"^8.60.1"},"_npmOperationalInternal":{"tmp":"tmp/academic-army_0.4.1_1783126593479_0.8933779721651918","host":"s3://npm-registry-packages-npm-production"}},"0.5.0":{"name":"academic-army","version":"0.5.0","license":"MIT","_id":"academic-army@0.5.0","maintainers":[{"name":"yindaheng98","email":"yindaheng98@gmail.com"}],"homepage":"https://github.com/yindaheng98/AcademicArmy#readme","bugs":{"url":"https://github.com/yindaheng98/AcademicArmy/issues"},"dist":{"shasum":"5756842c884c9f644b3b384eeb4ad3f9e2ede527","tarball":"https://registry.npmjs.org/academic-army/-/academic-army-0.5.0.tgz","fileCount":101,"integrity":"sha512-sWsTrl/zharx64b9MgKd2CleTpVB/AXTKcAIY1w9iZ0H4uz6x23bp36o/yzfkWHiolXa6qvLKUmd6f6WBDcpnQ==","signatures":[{"sig":"MEYCIQCHu9odBg+0KRLDYqYLt/7btUSKi5JmBnepRy1ZlapN0wIhAInN4Q9JNwRTh52SfHPNa6wNxPBkaK9g1dHrT5YPdnmY","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/academic-army@0.5.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":434834},"type":"module","engines":{"node":">=20.19"},"exports":{"./evolve-skill":{"types":"./dist/evolve-skill/index.d.ts","import":"./dist/evolve-skill/index.js"}},"gitHead":"92b1639cb8c2b3834b48d0d6856f00ce9e45c961","scripts":{"cli":"tsx src/cli.ts","dev":"tsx src/cli.ts","lint":"eslint .","build":"npm run clean && tsc -p tsconfig.json","check":"tsc -p tsconfig.json --noEmit","clean":"node -e \"require('node:fs').rmSync('dist', { recursive: true, force: true })\"","format":"prettier . --write","typecheck":"npm run check","developing":"tsx src/cli.ts developing","evolve-skill":"tsx src/cli.ts evolve-skill","format:check":"prettier . --check","developing-skill":"tsx src/cli.ts developing-skill"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:8dc281e7-f772-4a2b-92e5-aed09c82bde9"}},"repository":{"url":"git+https://github.com/yindaheng98/AcademicArmy.git","type":"git"},"_npmVersion":"11.18.0","description":"Agent workflows and skills for AcademicArmy.","directories":{},"_nodeVersion":"20.20.2","dependencies":{"coding-agent-forge":">=1.5.0","developing-agent-forge":">=2.9.0"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.22.3","eslint":"^10.4.1","prettier":"^3.8.3","@eslint/js":"^10.0.1","typescript":"^6.0.3","@types/node":"^25.9.1","typescript-eslint":"^8.60.1"},"_npmOperationalInternal":{"tmp":"tmp/academic-army_0.5.0_1783148632022_0.7052601053737195","host":"s3://npm-registry-packages-npm-production"}},"0.5.1":{"name":"academic-army","version":"0.5.1","license":"MIT","_id":"academic-army@0.5.1","maintainers":[{"name":"yindaheng98","email":"yindaheng98@gmail.com"}],"homepage":"https://github.com/yindaheng98/AcademicArmy#readme","bugs":{"url":"https://github.com/yindaheng98/AcademicArmy/issues"},"dist":{"shasum":"f417d01b38b283b78a0e78765ec56efa0d531ec4","tarball":"https://registry.npmjs.org/academic-army/-/academic-army-0.5.1.tgz","fileCount":101,"integrity":"sha512-0tv12jXTXpTZzlNCYwYQ2aX7ijHhAv+6FBRcBKv47qshOjw6jc9iZYxBaRDCA6LD7m2/W3ZgigqBIjH7czFMVw==","signatures":[{"sig":"MEUCIQCPXlDTaS+Tx5+tCWpPVQyLkP5l8Td+5DyRAbvARgky8QIgJM8y+WzbI3x/OOH1CmCWKLtosOyr90rMhg4Jzh9D04U=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/academic-army@0.5.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":434849},"type":"module","engines":{"node":">=20.19"},"exports":{"./evolve-skill":{"types":"./dist/evolve-skill/index.d.ts","import":"./dist/evolve-skill/index.js"}},"gitHead":"9f09149270cc1594daedeb292dc134928af8ce78","scripts":{"cli":"tsx src/cli.ts","dev":"tsx src/cli.ts","lint":"eslint .","build":"npm run clean && tsc -p tsconfig.json","check":"tsc -p tsconfig.json --noEmit","clean":"node -e \"require('node:fs').rmSync('dist', { recursive: true, force: true })\"","format":"prettier . --write","typecheck":"npm run check","developing":"tsx src/cli.ts developing","evolve-skill":"tsx src/cli.ts evolve-skill","format:check":"prettier . --check","developing-skill":"tsx src/cli.ts developing-skill"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:8dc281e7-f772-4a2b-92e5-aed09c82bde9"}},"repository":{"url":"git+https://github.com/yindaheng98/AcademicArmy.git","type":"git"},"_npmVersion":"11.18.0","description":"Agent workflows and skills for AcademicArmy.","directories":{},"_nodeVersion":"20.20.2","dependencies":{"coding-agent-forge":">=1.5.0","developing-agent-forge":">=2.10.0"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.22.3","eslint":"^10.4.1","prettier":"^3.8.3","@eslint/js":"^10.0.1","typescript":"^6.0.3","@types/node":"^25.9.1","typescript-eslint":"^8.60.1"},"_npmOperationalInternal":{"tmp":"tmp/academic-army_0.5.1_1783149958112_0.8971103387264907","host":"s3://npm-registry-packages-npm-production"}},"0.5.2":{"name":"academic-army","version":"0.5.2","description":"Agent workflows and skills for AcademicArmy.","license":"MIT","repository":{"type":"git","url":"git+https://github.com/yindaheng98/AcademicArmy.git"},"type":"module","engines":{"node":">=22.13"},"exports":{"./evolve-skill":{"types":"./dist/evolve-skill/index.d.ts","import":"./dist/evolve-skill/index.js"}},"scripts":{"clean":"node -e \"require('node:fs').rmSync('dist', { recursive: true, force: true })\"","build":"npm run clean && tsc -p tsconfig.json","check":"tsc -p tsconfig.json --noEmit","typecheck":"npm run check","lint":"eslint .","format":"prettier . --write","format:check":"prettier . --check","dev":"tsx src/cli.ts","cli":"tsx src/cli.ts","developing":"tsx src/cli.ts developing","developing-skill":"tsx src/cli.ts developing-skill","evolve-skill":"tsx src/cli.ts evolve-skill"},"dependencies":{"coding-agent-forge":">=1.5.0","developing-agent-forge":">=2.10.0"},"devDependencies":{"@eslint/js":"^10.0.1","@types/node":"^25.9.1","eslint":"^10.4.1","prettier":"^3.8.3","tsx":"^4.22.3","typescript":"^6.0.3","typescript-eslint":"^8.60.1"},"gitHead":"5b4fcdaf5268c34a3f0f346fd27245f6beeb2510","_id":"academic-army@0.5.2","bugs":{"url":"https://github.com/yindaheng98/AcademicArmy/issues"},"homepage":"https://github.com/yindaheng98/AcademicArmy#readme","_nodeVersion":"20.20.2","_npmVersion":"11.18.0","dist":{"integrity":"sha512-YYHD4XzNa7FmW/zXZgP3KyMCxN+tOMK/rjxESYixHQ1zOlYe71Wby5IQVG23Q7PREO5TvHzgATFAJDELORdakw==","shasum":"699bebdb66a84a07eef515b0423c4228fc044efa","tarball":"https://registry.npmjs.org/academic-army/-/academic-army-0.5.2.tgz","fileCount":101,"unpackedSize":434917,"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/academic-army@0.5.2","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEYCIQC/Bc5qMWwBRWg0Vbs/VGsN/DyFZJGghD69XwKBFmd0PwIhAMwivOL4DcmfMw2wmVFTepvo7f72uePFHFs1UZ00afvF"}]},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:8dc281e7-f772-4a2b-92e5-aed09c82bde9"}},"directories":{},"maintainers":[{"name":"yindaheng98","email":"yindaheng98@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/academic-army_0.5.2_1783150190507_0.8176741491608979"},"_hasShrinkwrap":false}},"time":{"created":"2026-06-09T04:14:24.496Z","modified":"2026-07-04T07:29:50.929Z","0.1.0":"2026-06-09T04:14:24.742Z","0.1.1":"2026-06-09T04:30:34.974Z","0.1.2":"2026-06-09T04:31:11.034Z","0.1.3":"2026-06-09T04:52:29.009Z","0.1.4":"2026-06-11T05:46:41.998Z","0.2.0":"2026-06-16T05:39:47.464Z","0.2.1":"2026-06-17T22:15:51.526Z","0.3.0":"2026-06-19T05:16:22.037Z","0.3.1":"2026-06-20T04:48:33.594Z","0.3.2":"2026-06-20T05:15:23.373Z","0.3.3":"2026-06-20T05:24:49.865Z","0.3.5":"2026-06-21T04:04:28.989Z","0.3.6":"2026-06-21T05:23:45.083Z","0.3.7":"2026-06-21T06:01:12.898Z","0.3.8":"2026-06-22T04:59:30.478Z","0.3.9":"2026-06-22T05:19:04.540Z","0.3.10":"2026-06-22T06:14:43.066Z","0.3.11":"2026-06-24T04:37:34.836Z","0.3.12":"2026-06-25T03:06:22.446Z","0.3.13":"2026-06-26T04:38:16.867Z","0.3.14":"2026-07-03T23:26:14.732Z","0.4.0":"2026-07-04T00:10:12.810Z","0.4.1":"2026-07-04T00:56:33.635Z","0.5.0":"2026-07-04T07:03:52.164Z","0.5.1":"2026-07-04T07:25:58.256Z","0.5.2":"2026-07-04T07:29:50.637Z"},"bugs":{"url":"https://github.com/yindaheng98/AcademicArmy/issues"},"license":"MIT","homepage":"https://github.com/yindaheng98/AcademicArmy#readme","repository":{"type":"git","url":"git+https://github.com/yindaheng98/AcademicArmy.git"},"description":"Agent workflows and skills for AcademicArmy.","maintainers":[{"name":"yindaheng98","email":"yindaheng98@gmail.com"}],"readme":"# AcademicArmy\n\nAcademicArmy 是一个基于 Codex 的研究工作流，用来把研究想法转成结构化论文规划产物和可持续开发的实现代码库。当前核心由一组规划类 skills，以及驱动开发和 skill evolution agents 的 TypeScript pipelines 组成。\n\n> 当前状态：实验性工作流基础设施。生成的项目和运行产物位于 `workspace/`，该目录被 git 忽略。\n\n[English README](README.md)\n\n## 为什么需要它\n\nAcademicArmy 的主体核心可以概括为一句话：按图施工。\n\n这里的“施工图”就是 `paper_blueprint.md`、`experiment_plan.md` 和 `coding_plan.md`。它们应该足够具体，让下游 agents 在实现阶段不需要重新设计研究方向、证据策略或代码契约。\n\n需要精细调研的部分，主要通过会使用 API 的 skill 调用 Deep Research 来完成。这样可以避免为了检索而在本地保存大量数据，让项目更轻量，也方便后续刷新调研结果。\n\n## 工作流如何衔接\n\n先使用三个规划类 skill 交互生成三份面向 AI 执行的 Markdown 产物：\n\n| 步骤                            | Artifact             | 作用                                                                                                                                                   |\n| ------------------------------- | -------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------ |\n| `academic-army-architect`       | `paper_blueprint.md` | 论文战略蓝图，用来固定论文身份、目标 venue 姿态、核心 claims、贡献边界、候选方法空间、证据需求和下游约束。                                             |\n| `academic-army-experiment-plan` | `experiment_plan.md` | 实验策略，把论文 claims 映射到证据链、数据集或 workload、指标、baselines、消融、鲁棒性检查和审稿人关心的验证点。                                       |\n| `academic-army-coding-plan`     | `coding_plan.md`     | 代码实现契约，把论文蓝图和实验方案转成逻辑模块边界、接口与 entrypoint 语义、实验 harness、测试类别、raw result artifact schema 和 method freeze 规则。 |\n\n每个规划类 skill 还会同时生成一份中文 `*.explain.md` 解释文件，方便用户审阅；但后续开发 runner 读取的是上面三份英文 Markdown。\n\n规划类 skills 使用固定语言分工。面向后续 AI 执行的产物，例如 `paper_blueprint.md`、`experiment_plan.md` 和 `coding_plan.md`，统一使用英文，并且只放方案或规范本身。配套解释文件，例如 `paper_blueprint.explain.md`、`experiment_plan.explain.md` 和 `coding_plan.explain.md`，统一使用中文，用来帮助用户确认推导逻辑、关键取舍和当前确认状态。\n\n## 快速开始\n\n### 1. 安装本地依赖\n\n首次使用先安装依赖：\n\n```bash\nnpm install\n```\n\n把 MCP server 安装到本地虚拟环境：\n\n```bash\n.venv/bin/python -m pip install -e .\n```\n\n### 2. 配置 AcademicArmy MCP\n\n先在仓库根目录创建 `.env`：\n\n```env\nOPENAI_API_KEY=your_api_key_here\n```\n\n运行项目 pipeline 时，通过 [`agent-forge.yaml`](agent-forge.yaml) 使用 `academic_army_mcp_tools`。该配置会用 `.venv/bin/python -m academic_army_mcp_tools` 启动已安装的包，不受各个 agent thread 工作目录影响。\n\n如果直接在 Codex 中运行 AcademicArmy skills，需要用 [`install_mcp.py`](install_mcp.py) 把同一个 MCP server 安装到 Codex 里，这样 skill 才能在项目 pipeline 之外调用 `academic_army_mcp_tools.deepresearch` 和 `academic_army_mcp_tools.writing_master`：\n\n```bash\npython install_mcp.py\n```\n\n### 3. 生成规划产物\n\n从一个想法开始。这个想法可以很粗略，也可以比较详细，不需要一开始就是完整的研究方案。\n\n使用 `academic-army-architect` 把这个想法整理成 `paper_blueprint.md`，也就是后续执行用的核心“施工图”。由于最初的想法通常还不够收敛，这一步可以通过多轮澄清和修改，把论文蓝图逐步调整到足够支撑下游工作的状态。\n\n当你对论文蓝图满意后，继续使用后续规划类 skills 生成 `experiment_plan.md` 和 `coding_plan.md`。这三份规划产物共同构成 AcademicArmy 的施工图，成为迭代代码开发的项目起点。\n\n### 4. 运行开发循环\n\n三份规划产物准备好后，先把下一轮高层开发目标写进 `workspace/plan/goal.md`，然后运行：\n\n```bash\n$EDITOR workspace/plan/goal.md\nbash runs/develop.sh\n```\n\n运行 [`runs/develop.sh`](runs/develop.sh) 来调用 `developing-agent-forge` 提供的 `developing` pipeline，读取三份规划产物和当前 `--goal-path` 文件，并在 `workspace/codebase` 下迭代写代码。每次想执行下一个新任务时，先更新 `workspace/plan/goal.md`，再重新运行 wrapper。\n\n开发循环会把项目进度记忆放在 `workspace/memory/project-progress`，把代码设计记忆放在 `workspace/memory/code-design`。如果新 goal 开始继承旧上下文，可以在重新运行前编辑或删除这些目录里的过期 memory 文件。\n\n本仓库的 TypeScript 入口和目录结构见 [`src/README.zh-CN.md`](src/README.zh-CN.md)。开发循环实现来自 `developing-agent-forge` 包。\n\n## 常见任务\n\n### 改进规划 Skill 输出\n\n如果 `academic-army-architect`、`academic-army-experiment-plan` 或 `academic-army-coding-plan` 直接生成的产物不满意，不建议只手工修产物本身。更好的做法是打开 [`metaskills/`](metaskills/) 下对应的 metaskill，把不满意的地方、希望偏向的写法和失败模式写进去，然后运行对应的 `envolve.sh` 脚本多迭代几轮。\n\n运行这些脚本时，会调用 TypeScript 的 [`evolve-skill`](src/evolve-skill/README.zh-CN.md) pipeline。`evolve-skill` 不同于直接运行一次 skill，它是一个简单的 multi-agent loop：新的 runner agent 用固定任务测试 skill，evaluator agent 按 metaskill 评价产物，modifier agent 再根据评价修改 skill 本身。通常多跑几轮后，再直接运行该 skill，就能得到更接近预期的结果。\n\n### 直接运行 TypeScript Pipelines\n\n使用 shell scripts 作为这些 TypeScript pipeline 的便捷包装：\n\n```bash\nnpm run developing\nnpm run developing-skill\nnpm run evolve-skill\n```\n\nTypeScript pipeline 的目录结构和实现说明见 [`src/README.zh-CN.md`](src/README.zh-CN.md)。\n\n对于 `developing` 和 `developing-skill`，每次想切换到新的任务重点时，更新传给 `--goal-path` 的文件即可。预设 wrappers 使用的是 `workspace/plan/goal.md`。基础开发循环来自 `developing-agent-forge`；本仓库在本地提供 `developing-skill` trajectory optimizer。\n\n### 调用 MCP 工具\n\nAcademicArmy 在 [`academic_army_mcp_tools`](academic_army_mcp_tools) 包中提供了可安装的 stdio MCP 实现。它暴露这些工具：\n\n- `deepresearch(prompt: str)`：把 prompt 交给 OpenAI Responses，以 `gpt-5.5`、high reasoning、web search、background mode 和 source inclusion 的固定配置运行。\n- `writing_master(prompt: str)`：把 prompt 交给 OpenAI Responses，以 `gpt-5.5-pro`、high reasoning、web search、background mode 和 source inclusion 的固定配置运行，用于高阶学术写作咨询。\n\n使用时只需要让 agent 给工具传入一个自包含 prompt，例如：\n\n```text\nUse deepresearch with prompt:\nFind the closest papers to this research idea, compare their methods, and return a cited structured report.\n```\n\n## 项目结构\n\n| 路径                       | 用途                                                               |\n| -------------------------- | ------------------------------------------------------------------ |\n| `agent-forge.yaml`         | Agent 和团队 wiring。                                              |\n| `install_mcp.py`           | 把项目 MCP server 安装到 Codex，供直接运行 skill 时使用。          |\n| `academic_army_mcp_tools/` | 可安装的 stdio MCP 实现，暴露 `deepresearch` 和 `writing_master`。 |\n| `skills/`                  | 已准备的 AcademicArmy skills。                                     |\n| `metaskills/`              | 对应的 metaskill 设计与 evolution 文件。                           |\n| `runs/`                    | TypeScript pipelines 的便捷 wrappers。                             |\n| `src/`                     | TypeScript pipeline 的目录结构和实现说明。                         |\n| `workspace/`               | 生成的规划产物、代码库工作区、记忆和归档。                         |\n\nAgent 和团队 wiring 位于 [`agent-forge.yaml`](agent-forge.yaml)。本仓库内的 TypeScript agents 实现于 [`src/evolve-skill/agents`](src/evolve-skill/agents)；developing agents 来自 `developing-agent-forge`。\n\n已准备的 AcademicArmy skills 位于 [`skills/`](skills/)，对应的 metaskill 设计与 evolution 文件位于 [`metaskills/`](metaskills/)。\n\n## 配置参考\n\n| 文件或变量                | 用于               | 说明                                                                                                                     |\n| ------------------------- | ------------------ | ------------------------------------------------------------------------------------------------------------------------ |\n| `.env` / `OPENAI_API_KEY` | AcademicArmy MCP   | MCP server 和 `install_mcp.py` 会读取。                                                                                  |\n| `agent-forge.yaml`        | 项目 pipelines     | 启动 `.venv` 中已安装的 `academic_army_mcp_tools` 包；修改 MCP 包代码后运行 `.venv/bin/python -m pip install -e .`。     |\n| `secret.yaml`             | 预设 shell scripts | 预设 wrappers 使用的本地忽略 config overlay。它可以包含密码、API key、runtime 凭据等不能提交或上传到 GitHub 的隐私内容。 |\n\n如果需要覆盖或补充环境变量，可以重复使用 `-e/--env NAME=VALUE`：\n\n```bash\npython install_mcp.py -e OPENAI_API_KEY=your_api_key_here\n```\n\n运行安装脚本时，会刷新 Codex 中的 `academic_army_mcp_tools` 配置项，注册当前 Python 可执行文件和 `-m academic_army_mcp_tools`，把仓库根目录设置为 MCP 工作目录，读取 `.env`，并把这些环境变量传给 MCP server。\n\n## 常见问题\n\n| 问题                         | 常见原因                                                                         | 解决办法                                                                                    |\n| ---------------------------- | -------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------- |\n| 缺少 `OPENAI_API_KEY`        | 没有 `.env`，或没有把变量转发给 Codex MCP。                                      | 创建 `.env`；如果直接在 Codex 中跑 skill，再执行 `python install_mcp.py`。                  |\n| Wrapper 找不到 `secret.yaml` | 预设脚本传入了本地 config overlay，用来放密码、API key、runtime 凭据等隐私内容。 | 创建本地 `secret.yaml`，或调整脚本使用你的 config 文件。不要把这个文件提交或上传到 GitHub。 |\n| 开发输出偏离规划             | 三份规划产物还不够具体。                                                         | 先修订 `paper_blueprint.md`、`experiment_plan.md` 和 `coding_plan.md`，再继续开发。         |\n\n## 开发\n\n修改 runner 代码前，使用常规 TypeScript 检查：\n\n```bash\nnpm run check\nnpm run lint\n```\n\n## License\n\nMIT. See [LICENSE](LICENSE).\n","readmeFilename":"README.zh-CN.md"}