{"schema_version":1,"workflow_uuid":"791dd19e-349f-11f1-9bc6-00163e2b0d79","workflow_title":"Actual Budget — Local-First Personal Finance App","page_url":"https://tokrepo.com/en/workflows/actual-budget-local-first-personal-finance-app-791dd19e","raw_url":"https://tokrepo.com/raw/actual-budget-local-first-personal-finance-app-791dd19e","metadata_url":"https://tokrepo.com/metadata/actual-budget-local-first-personal-finance-app-791dd19e.json","install_plan_url":"https://api.tokrepo.com/api/v1/tokenboard/workflows/install-plan?uuid=791dd19e-349f-11f1-9bc6-00163e2b0d79&target=codex","recommended_install":{"schema_version":1,"status":"stage","policy":"stage_only","install_mode":"stage_only","target":"codex","command":"npx -y tokrepo@latest install 791dd19e-349f-11f1-9bc6-00163e2b0d79 --target codex","dry_run_command":"npx -y tokrepo@latest install 791dd19e-349f-11f1-9bc6-00163e2b0d79 --target codex --dry-run --json","runtime_commands":{"codex":"npx -y tokrepo@latest install 791dd19e-349f-11f1-9bc6-00163e2b0d79 --target codex","gemini":"npx -y tokrepo@latest install 791dd19e-349f-11f1-9bc6-00163e2b0d79 --target gemini","project":"npx -y tokrepo@latest install 791dd19e-349f-11f1-9bc6-00163e2b0d79"},"prompt":"Install and make this TokRepo asset usable: \"Actual Budget — Local-First Personal Finance App\".\n\nPage: https://tokrepo.com/en/workflows/actual-budget-local-first-personal-finance-app-791dd19e\nUUID: 791dd19e-349f-11f1-9bc6-00163e2b0d79\nTarget adapter: codex\nPolicy/mode: stage_only / stage_only\n\nRead these machine-facing entry points first:\n- metadata: https://tokrepo.com/metadata/actual-budget-local-first-personal-finance-app-791dd19e.json\n- install contract: https://tokrepo.com/install-contract/actual-budget-local-first-personal-finance-app-791dd19e.json\n- install plan: https://api.tokrepo.com/api/v1/tokenboard/workflows/install-plan?uuid=791dd19e-349f-11f1-9bc6-00163e2b0d79&target=codex\n- raw content: https://tokrepo.com/raw/actual-budget-local-first-personal-finance-app-791dd19e\n\nCommands:\n- choose the current runtime; do not use unsupported CLI targets.\n- Codex: npx -y tokrepo@latest install 791dd19e-349f-11f1-9bc6-00163e2b0d79 --target codex\n- Gemini CLI: npx -y tokrepo@latest install 791dd19e-349f-11f1-9bc6-00163e2b0d79 --target gemini\n- Claude Code / project agent: run npx -y tokrepo@latest install 791dd19e-349f-11f1-9bc6-00163e2b0d79 from the project root; add `--dry-run --json` first to inspect the plan.\n- add `--dry-run --json` to the chosen command first; after the plan allows it, run the chosen command.\n\nExecution rules:\n1. Run the install command to stage the asset safely.\n2. Read the staged README, install-plan, and entrypoint files.\n3. Activate scripts, MCP config, or global config only after user confirmation.\n4. Verify usability with the install-plan post_verify checks and the asset README.\n\nReport back with changed files, verification result, and how to use the asset next.","next_steps":["Run the install command to stage the asset safely.","Read the staged README, install-plan, and entrypoint files.","Activate scripts, MCP config, or global config only after user confirmation.","Verify usability with the install-plan post_verify checks and the asset README."],"success_check":["The asset is safely staged.","The agent can give clear activation steps from the staged content."]},"agent_metadata":{"asset_kind":"skill","target_tools":["claude_code","codex","gemini_cli"],"install_mode":"stage_only","entrypoint":"step-1.md","risk_profile":{"executes_code":false,"modifies_global_config":false,"requires_secrets":["ACTUAL_NORDIGEN_SECRET_ID","ACTUAL_NORDIGEN_SECRET_KEY","ACTUAL_SIMPLEFIN_TOKEN"],"uses_absolute_paths":false,"network_access":false},"dependencies":{"npm":[],"pip":[],"brew":[],"system":[]},"content_hash":"69166e56cbe6cf17ca9288cfcad459db519a2f8ba2ad7b6ea370190303db62c3","verification":{"commands":[],"expected_files":[""]}},"agent_fit":{"target":"codex","score":29,"status":"stage_only","policy":"stage_only","why":["target_tools includes codex","asset_kind skill","install_mode stage_only","policy stage_only","install_mode is stage_only","risk_profile.requires_secrets is not empty","trust established"],"asset_kind":"skill","install_mode":"stage_only"},"trust":{"author_trust_level":"established","verified_publisher":false,"asset_signed_hash":"69166e56cbe6cf17ca9288cfcad459db519a2f8ba2ad7b6ea370190303db62c3","signature_status":"hash_only","install_count":0,"report_count":0,"dangerous_capability_badges":["requires_secrets","stage_only"],"review_status":"unreviewed","signals":["asset has usage views","author has published assets","content hash available"]},"provenance":{"owner_uuid":"8a911193-3180-11f1-9bc6-00163e2b0d79","owner_name":"AI Open Source","source_url":"https://tokrepo.com/en/workflows/actual-budget-local-first-personal-finance-app-791dd19e","content_hash":"69166e56cbe6cf17ca9288cfcad459db519a2f8ba2ad7b6ea370190303db62c3","visibility":1,"created_at":"2026-04-10 13:38:16","updated_at":"2026-06-17 16:43:17"},"target_adapter":{"target":"codex","adapter":"skill-directory","root":"~/.codex/skills","entrypoint":"SKILL.md","manifest_path":"~/.codex/tokrepo/install-manifest.json","staging_root":"~/.codex/tokrepo/staged/791dd19e-349f-11f1-9bc6-00163e2b0d79","install_modes":["single","bundle","split","stage_only"],"activates_files":true},"install_plan":{"schema_version":2,"target":"codex","asset_uuid":"791dd19e-349f-11f1-9bc6-00163e2b0d79","asset_title":"Actual Budget — Local-First Personal Finance App","source_url":"https://tokrepo.com/en/workflows/actual-budget-local-first-personal-finance-app-791dd19e","install_mode":"stage_only","entrypoint":"step-1.md","preconditions":[{"type":"target_supported","status":"pass","message":"codex install target is supported"},{"type":"install_root","status":"pass","message":"~/.codex/skills for activated assets; ~/.codex/tokrepo/staged/791dd19e-349f-11f1-9bc6-00163e2b0d79 for staged assets"},{"type":"target_tool_metadata","status":"pass","message":"metadata allows codex"},{"type":"content_hash","status":"pass","message":"asset metadata includes content_hash"},{"type":"trust_policy","status":"pass","message":"publisher trust level is established"},{"type":"policy_decision","status":"warn","message":"stage_only for 791dd19e-349f-11f1-9bc6-00163e2b0d79 (stage_only)"}],"actions":[{"type":"stage_file","path":"~/.codex/tokrepo/staged/791dd19e-349f-11f1-9bc6-00163e2b0d79/step-1.md","source_name":"step-1.md","sha256":"0ded69abeb647575d63eb4172c2d99748de0c4295311d42492d7d70577e3793b","bytes":5322,"risk":{"executes_code":false,"modifies_global_config":false,"requires_secrets":["ACTUAL_NORDIGEN_SECRET_ID","ACTUAL_NORDIGEN_SECRET_KEY","ACTUAL_SIMPLEFIN_TOKEN"],"uses_absolute_paths":false,"network_access":false},"if_exists":"overwrite"}],"policy_decision":{"decision":"stage_only","requires_confirmation":false,"reasons":["install_mode is stage_only","risk_profile.requires_secrets is not empty"]},"requires_confirmation":false,"rollback":[{"type":"remove_file","path":"~/.codex/tokrepo/staged/791dd19e-349f-11f1-9bc6-00163e2b0d79/step-1.md"}],"post_verify":[{"type":"file_sha256","path":"~/.codex/tokrepo/staged/791dd19e-349f-11f1-9bc6-00163e2b0d79/step-1.md","sha256":"0ded69abeb647575d63eb4172c2d99748de0c4295311d42492d7d70577e3793b"}],"metadata":{"asset_kind":"skill","target_tools":["claude_code","codex","gemini_cli"],"install_mode":"stage_only","entrypoint":"step-1.md","risk_profile":{"executes_code":false,"modifies_global_config":false,"requires_secrets":["ACTUAL_NORDIGEN_SECRET_ID","ACTUAL_NORDIGEN_SECRET_KEY","ACTUAL_SIMPLEFIN_TOKEN"],"uses_absolute_paths":false,"network_access":false},"dependencies":{"npm":[],"pip":[],"brew":[],"system":[]},"content_hash":"69166e56cbe6cf17ca9288cfcad459db519a2f8ba2ad7b6ea370190303db62c3","verification":{"commands":[],"expected_files":[""]}},"agent_fit":{"target":"codex","score":29,"status":"stage_only","policy":"stage_only","why":["target_tools includes codex","asset_kind skill","install_mode stage_only","policy stage_only","install_mode is stage_only","risk_profile.requires_secrets is not empty","trust established"],"asset_kind":"skill","install_mode":"stage_only"},"trust":{"author_trust_level":"established","verified_publisher":false,"asset_signed_hash":"69166e56cbe6cf17ca9288cfcad459db519a2f8ba2ad7b6ea370190303db62c3","signature_status":"hash_only","install_count":0,"report_count":0,"dangerous_capability_badges":["requires_secrets","stage_only"],"review_status":"unreviewed","signals":["asset has usage views","author has published assets","content hash available"]},"provenance":{"owner_uuid":"8a911193-3180-11f1-9bc6-00163e2b0d79","owner_name":"AI Open Source","source_url":"https://tokrepo.com/en/workflows/actual-budget-local-first-personal-finance-app-791dd19e","content_hash":"69166e56cbe6cf17ca9288cfcad459db519a2f8ba2ad7b6ea370190303db62c3","visibility":1,"created_at":"2026-04-10 13:38:16","updated_at":"2026-06-17 16:43:17"},"target_adapter":{"target":"codex","adapter":"skill-directory","root":"~/.codex/skills","entrypoint":"SKILL.md","manifest_path":"~/.codex/tokrepo/install-manifest.json","staging_root":"~/.codex/tokrepo/staged/791dd19e-349f-11f1-9bc6-00163e2b0d79","install_modes":["single","bundle","split","stage_only"],"activates_files":true},"evidence_bundle":{"acceptance_gate":{"recommended_action":"stage_or_request_confirmation","rule":"Agents should only activate an asset after evidence_bundle.integrity, policy_compatibility, rollback, and post_verify have been inspected.","status":"caution"},"asset_title":"Actual Budget — Local-First Personal Finance App","asset_uuid":"791dd19e-349f-11f1-9bc6-00163e2b0d79","eval_evidence":["https://tokrepo.com/evals/install-safety.json","https://tokrepo.com/evals/trust-evidence-coverage.json","https://tokrepo.com/evals/handoff-quality.json"],"generated_at":"2026-06-17T08:43:18Z","integrity":{"content_hash":"2e0d48360046a2783c61a716fdeac8f98a8b7e1e854ba63a611ad7552e4c8f5b","declared_content_hash":"69166e56cbe6cf17ca9288cfcad459db519a2f8ba2ad7b6ea370190303db62c3","file_count":1,"hash_algorithm":"sha256","install_plan_hash":"27911aa508dd77840b6c7e5b573b59c8cb9f208a97fea7175aa6da14f06d39cf"},"policy_compatibility":{"permission_envelope":{"destructive":false,"executes_code":false,"file_count":1,"filesystem_write":["~/.codex/tokrepo/staged"],"global_config_write":false,"network":false,"requires_secrets":["ACTUAL_NORDIGEN_SECRET_ID","ACTUAL_NORDIGEN_SECRET_KEY","ACTUAL_SIMPLEFIN_TOKEN"],"uses_absolute_paths":false},"policy_decision":{"decision":"stage_only","requires_confirmation":false,"reasons":["install_mode is stage_only","risk_profile.requires_secrets is not empty"]},"requires_confirmation":false,"target":"codex","trust_score_v2":{"recommended_action":"stage_or_request_confirmation","status":"caution","trust_score":60}},"provenance":{"asset_kind":"skill","asset_title":"Actual Budget — Local-First Personal Finance App","asset_uuid":"791dd19e-349f-11f1-9bc6-00163e2b0d79","computed_bundle_hash":"2e0d48360046a2783c61a716fdeac8f98a8b7e1e854ba63a611ad7552e4c8f5b","content_hash":"69166e56cbe6cf17ca9288cfcad459db519a2f8ba2ad7b6ea370190303db62c3","created_at":"2026-04-10 13:38:16","generated_at":"2026-06-17T08:43:18Z","install_plan_hash":"27911aa508dd77840b6c7e5b573b59c8cb9f208a97fea7175aa6da14f06d39cf","owner_name":"AI Open Source","owner_uuid":"8a911193-3180-11f1-9bc6-00163e2b0d79","parent_uuid":"","schema_version":2,"source":"tokrepo_asset","source_url":"https://tokrepo.com/en/workflows/actual-budget-local-first-personal-finance-app-791dd19e","updated_at":"2026-06-17 16:43:17","visibility":1},"sbom":{"asset_kind":"skill","asset_title":"Actual Budget — Local-First Personal Finance App","asset_uuid":"791dd19e-349f-11f1-9bc6-00163e2b0d79","capability_flags":{"destructive":false,"executes_code":false,"modifies_global_config":false,"network_access":false,"requires_secrets":["ACTUAL_NORDIGEN_SECRET_ID","ACTUAL_NORDIGEN_SECRET_KEY","ACTUAL_SIMPLEFIN_TOKEN"]},"content_hash":"2e0d48360046a2783c61a716fdeac8f98a8b7e1e854ba63a611ad7552e4c8f5b","dependencies":{"brew":[],"mcp":[],"npm":[],"pip":[],"system":[]},"files":[{"bytes":5322,"path":"~/.codex/tokrepo/staged/791dd19e-349f-11f1-9bc6-00163e2b0d79/step-1.md","role":"supporting_file","sha256":"0ded69abeb647575d63eb4172c2d99748de0c4295311d42492d7d70577e3793b","source_name":"step-1.md"}],"format":"SBOM-lite","install_mode":"stage_only","schema_version":1,"target":"codex"},"schema":"https://tokrepo.com/schemas/agent-evidence-bundle.schema.json","schema_version":1,"schemas":{"asset_verification":"https://tokrepo.com/schemas/asset-verification.schema.json","evidence_bundle":"https://tokrepo.com/schemas/agent-evidence-bundle.schema.json","install_plan":"https://tokrepo.com/schemas/install-plan.schema.json","provenance":"https://tokrepo.com/schemas/provenance.schema.json","sbom":"https://tokrepo.com/schemas/agent-evidence-bundle.schema.json#/properties/sbom"},"signature_evidence":{"content_hash":"2e0d48360046a2783c61a716fdeac8f98a8b7e1e854ba63a611ad7552e4c8f5b","hash_algorithm":"sha256","install_plan_hash":"27911aa508dd77840b6c7e5b573b59c8cb9f208a97fea7175aa6da14f06d39cf","schema_version":1,"signed_hash":"69166e56cbe6cf17ca9288cfcad459db519a2f8ba2ad7b6ea370190303db62c3","status":"hash_only","verification_notes":["hash_only evidence proves content integrity but not publisher identity unless an external signature verifies it"]},"source_url":"https://tokrepo.com/en/workflows/actual-budget-local-first-personal-finance-app-791dd19e","target":"codex"},"sbom":{"asset_kind":"skill","asset_title":"Actual Budget — Local-First Personal Finance App","asset_uuid":"791dd19e-349f-11f1-9bc6-00163e2b0d79","capability_flags":{"destructive":false,"executes_code":false,"modifies_global_config":false,"network_access":false,"requires_secrets":["ACTUAL_NORDIGEN_SECRET_ID","ACTUAL_NORDIGEN_SECRET_KEY","ACTUAL_SIMPLEFIN_TOKEN"]},"content_hash":"2e0d48360046a2783c61a716fdeac8f98a8b7e1e854ba63a611ad7552e4c8f5b","dependencies":{"brew":[],"mcp":[],"npm":[],"pip":[],"system":[]},"files":[{"bytes":5322,"path":"~/.codex/tokrepo/staged/791dd19e-349f-11f1-9bc6-00163e2b0d79/step-1.md","role":"supporting_file","sha256":"0ded69abeb647575d63eb4172c2d99748de0c4295311d42492d7d70577e3793b","source_name":"step-1.md"}],"format":"SBOM-lite","install_mode":"stage_only","schema_version":1,"target":"codex"},"signature_evidence":{"content_hash":"2e0d48360046a2783c61a716fdeac8f98a8b7e1e854ba63a611ad7552e4c8f5b","hash_algorithm":"sha256","install_plan_hash":"27911aa508dd77840b6c7e5b573b59c8cb9f208a97fea7175aa6da14f06d39cf","schema_version":1,"signed_hash":"69166e56cbe6cf17ca9288cfcad459db519a2f8ba2ad7b6ea370190303db62c3","status":"hash_only","verification_notes":["hash_only evidence proves content integrity but not publisher identity unless an external signature verifies it"]},"provenance_v2":{"asset_kind":"skill","asset_title":"Actual Budget — Local-First Personal Finance App","asset_uuid":"791dd19e-349f-11f1-9bc6-00163e2b0d79","computed_bundle_hash":"2e0d48360046a2783c61a716fdeac8f98a8b7e1e854ba63a611ad7552e4c8f5b","content_hash":"69166e56cbe6cf17ca9288cfcad459db519a2f8ba2ad7b6ea370190303db62c3","created_at":"2026-04-10 13:38:16","generated_at":"2026-06-17T08:43:18Z","install_plan_hash":"27911aa508dd77840b6c7e5b573b59c8cb9f208a97fea7175aa6da14f06d39cf","owner_name":"AI Open Source","owner_uuid":"8a911193-3180-11f1-9bc6-00163e2b0d79","parent_uuid":"","schema_version":2,"source":"tokrepo_asset","source_url":"https://tokrepo.com/en/workflows/actual-budget-local-first-personal-finance-app-791dd19e","updated_at":"2026-06-17 16:43:17","visibility":1},"transitive_dependencies":null}}