Claude Code skill implementing Manus-style persistent markdown planning — the workflow pattern behind the $2B acquisition.
553 matches across 10 categories. Click a row to expand file-level details.
| Severity | File | Line | Snippet |
|---|---|---|---|
| HIGH | …/skills/planning-with-files/scripts/session-catchup.py | 0 | session catchup script for planning-with-files analyzes the previous session to find unsynced context after the last pla |
| HIGH | …/skills/planning-with-files/scripts/session-catchup.py | 0 | session catchup script for planning-with-files analyzes the previous session to find unsynced context after the last pla |
| HIGH | …/skills/planning-with-files/scripts/session-catchup.py | 0 | session catchup script for planning-with-files analyzes the previous session to find unsynced context after the last pla |
| HIGH | …/skills/planning-with-files/scripts/session-catchup.py | 0 | session catchup script for planning-with-files analyzes the previous session to find unsynced context after the last pla |
| HIGH | …/skills/planning-with-files/scripts/session-catchup.py | 0 | session catchup script for planning-with-files analyzes the previous session to find unsynced context after the last pla |
| HIGH | …/skills/planning-with-files/scripts/session-catchup.py | 0 | session catchup script for planning-with-files analyzes the previous session to find unsynced context after the last pla |
| HIGH | skills/planning-with-files/scripts/session-catchup.py | 0 | session catchup script for planning-with-files analyzes the previous session to find unsynced context after the last pla |
| HIGH | …/skills/planning-with-files/scripts/session-catchup.py | 0 | session catchup script for planning-with-files analyzes the previous session to find unsynced context after the last pla |
| HIGH | …/skills/planning-with-files/scripts/session-catchup.py | 0 | session catchup script for planning-with-files analyzes the previous session to find unsynced context after the last pla |
| HIGH | …/skills/planning-with-files/scripts/session-catchup.py | 0 | prefer optional orjson while keeping the hook dependency-free. |
| HIGH | …/skills/planning-with-files/scripts/session-catchup.py | 0 | prefer optional orjson while keeping the hook dependency-free. |
| HIGH | …/skills/planning-with-files/scripts/session-catchup.py | 0 | prefer optional orjson while keeping the hook dependency-free. |
| HIGH | …/skills/planning-with-files/scripts/session-catchup.py | 0 | prefer optional orjson while keeping the hook dependency-free. |
| HIGH | …/skills/planning-with-files/scripts/session-catchup.py | 0 | prefer optional orjson while keeping the hook dependency-free. |
| HIGH | skills/planning-with-files/scripts/session-catchup.py | 0 | prefer optional orjson while keeping the hook dependency-free. |
| HIGH | …ills/planning-with-files-es/scripts/session-catchup.py | 0 | prefer optional orjson while keeping the hook dependency-free. |
| HIGH | …ills/planning-with-files-zh/scripts/session-catchup.py | 0 | prefer optional orjson while keeping the hook dependency-free. |
| HIGH | …ills/planning-with-files-de/scripts/session-catchup.py | 0 | prefer optional orjson while keeping the hook dependency-free. |
| HIGH | …lls/planning-with-files-zht/scripts/session-catchup.py | 0 | prefer optional orjson while keeping the hook dependency-free. |
| HIGH | …ills/planning-with-files-ar/scripts/session-catchup.py | 0 | prefer optional orjson while keeping the hook dependency-free. |
| HIGH | …/skills/planning-with-files/scripts/session-catchup.py | 0 | prefer optional orjson while keeping the hook dependency-free. |
| HIGH | …/skills/planning-with-files/scripts/session-catchup.py | 0 | prefer optional orjson while keeping the hook dependency-free. |
| HIGH | …/skills/planning-with-files/scripts/session-catchup.py | 0 | normalize project path to match claude code's internal representation. claude code stores session directories using the |
| HIGH | …/skills/planning-with-files/scripts/session-catchup.py | 0 | normalize project path to match claude code's internal representation. claude code stores session directories using the |
| HIGH | …/skills/planning-with-files/scripts/session-catchup.py | 0 | normalize project path to match claude code's internal representation. claude code stores session directories using the |
| HIGH | …/skills/planning-with-files/scripts/session-catchup.py | 0 | normalize project path to match claude code's internal representation. claude code stores session directories using the |
| HIGH | …/skills/planning-with-files/scripts/session-catchup.py | 0 | normalize project path to match claude code's internal representation. claude code stores session directories using the |
| HIGH | skills/planning-with-files/scripts/session-catchup.py | 0 | normalize project path to match claude code's internal representation. claude code stores session directories using the |
| HIGH | …ills/planning-with-files-es/scripts/session-catchup.py | 0 | normalize project path to match claude code's internal representation. claude code stores session directories using the |
| HIGH | …ills/planning-with-files-zh/scripts/session-catchup.py | 0 | normalize project path to match claude code's internal representation. claude code stores session directories using the |
| HIGH | …ills/planning-with-files-de/scripts/session-catchup.py | 0 | normalize project path to match claude code's internal representation. claude code stores session directories using the |
| HIGH | …lls/planning-with-files-zht/scripts/session-catchup.py | 0 | normalize project path to match claude code's internal representation. claude code stores session directories using the |
| HIGH | …ills/planning-with-files-ar/scripts/session-catchup.py | 0 | normalize project path to match claude code's internal representation. claude code stores session directories using the |
| HIGH | …/skills/planning-with-files/scripts/session-catchup.py | 0 | normalize project path to match claude code's internal representation. claude code stores session directories using the |
| HIGH | …/skills/planning-with-files/scripts/session-catchup.py | 0 | normalize project path to match claude code's internal representation. claude code stores session directories using the |
| HIGH | …/skills/planning-with-files/scripts/session-catchup.py | 0 | resolve claude code's project-specific session storage path. |
| HIGH | …/skills/planning-with-files/scripts/session-catchup.py | 0 | resolve claude code's project-specific session storage path. |
| HIGH | …/skills/planning-with-files/scripts/session-catchup.py | 0 | resolve claude code's project-specific session storage path. |
| HIGH | …/skills/planning-with-files/scripts/session-catchup.py | 0 | resolve claude code's project-specific session storage path. |
| HIGH | …/skills/planning-with-files/scripts/session-catchup.py | 0 | resolve claude code's project-specific session storage path. |
| HIGH | skills/planning-with-files/scripts/session-catchup.py | 0 | resolve claude code's project-specific session storage path. |
| HIGH | …ills/planning-with-files-es/scripts/session-catchup.py | 0 | resolve claude code's project-specific session storage path. |
| HIGH | …ills/planning-with-files-zh/scripts/session-catchup.py | 0 | resolve claude code's project-specific session storage path. |
| HIGH | …ills/planning-with-files-de/scripts/session-catchup.py | 0 | resolve claude code's project-specific session storage path. |
| HIGH | …lls/planning-with-files-zht/scripts/session-catchup.py | 0 | resolve claude code's project-specific session storage path. |
| HIGH | …ills/planning-with-files-ar/scripts/session-catchup.py | 0 | resolve claude code's project-specific session storage path. |
| HIGH | …/skills/planning-with-files/scripts/session-catchup.py | 0 | resolve claude code's project-specific session storage path. |
| HIGH | …/skills/planning-with-files/scripts/session-catchup.py | 0 | resolve claude code's project-specific session storage path. |
| HIGH | …/skills/planning-with-files/scripts/session-catchup.py | 0 | get all session files sorted by modification time (newest first). |
| HIGH | …/skills/planning-with-files/scripts/session-catchup.py | 0 | get all session files sorted by modification time (newest first). |
| HIGH | …/skills/planning-with-files/scripts/session-catchup.py | 0 | get all session files sorted by modification time (newest first). |
| HIGH | …/skills/planning-with-files/scripts/session-catchup.py | 0 | get all session files sorted by modification time (newest first). |
| HIGH | …/skills/planning-with-files/scripts/session-catchup.py | 0 | get all session files sorted by modification time (newest first). |
| HIGH | scripts/session-catchup.py | 0 | get all session files sorted by modification time (newest first). |
| HIGH | …/skills/planning-with-files/scripts/session-catchup.py | 0 | get all session files sorted by modification time (newest first). |
| HIGH | skills/planning-with-files/scripts/session-catchup.py | 0 | get all session files sorted by modification time (newest first). |
| HIGH | …ills/planning-with-files-es/scripts/session-catchup.py | 0 | get all session files sorted by modification time (newest first). |
| HIGH | …ills/planning-with-files-zh/scripts/session-catchup.py | 0 | get all session files sorted by modification time (newest first). |
| HIGH | …ills/planning-with-files-de/scripts/session-catchup.py | 0 | get all session files sorted by modification time (newest first). |
| HIGH | …lls/planning-with-files-zht/scripts/session-catchup.py | 0 | get all session files sorted by modification time (newest first). |
| 97 more matches not shown… | |||
| Severity | File | Line | Snippet |
|---|---|---|---|
| LOW | …/skills/planning-with-files/scripts/session-catchup.py | 127 | def find_current_codex_session(sessions: List[Path]) -> Optional[Path]: |
| LOW | …/skills/planning-with-files/scripts/session-catchup.py | 402 | def find_last_planning_update(messages: List[Dict[str, Any]]) -> Tuple[int, Optional[str]]: |
| LOW | …/skills/planning-with-files/scripts/session-catchup.py | 64 | def find_last_planning_update(messages: List[Dict]) -> Tuple[int, Optional[str]]: |
| LOW | …/skills/planning-with-files/scripts/session-catchup.py | 127 | def find_current_codex_session(sessions: List[Path]) -> Optional[Path]: |
| LOW | …/skills/planning-with-files/scripts/session-catchup.py | 402 | def find_last_planning_update(messages: List[Dict[str, Any]]) -> Tuple[int, Optional[str]]: |
| LOW | …/skills/planning-with-files/scripts/session-catchup.py | 127 | def find_current_codex_session(sessions: List[Path]) -> Optional[Path]: |
| LOW | …/skills/planning-with-files/scripts/session-catchup.py | 402 | def find_last_planning_update(messages: List[Dict[str, Any]]) -> Tuple[int, Optional[str]]: |
| LOW | tests/test_check_complete_resolver.py | 78 | def test_explicit_path_arg_still_works(self) -> None: |
| LOW | tests/test_check_complete_resolver.py | 89 | def test_no_args_resolves_slug_plan_via_active_pointer(self) -> None: |
| LOW | tests/test_check_complete_resolver.py | 104 | def test_no_args_resolves_via_plan_id_env(self) -> None: |
| LOW | tests/test_check_complete_resolver.py | 121 | def test_no_args_legacy_root_plan_still_works(self) -> None: |
| LOW | tests/test_check_complete_resolver.py | 132 | def test_no_args_no_plan_anywhere_clean_message(self) -> None: |
| LOW | tests/test_v238_command_files.py | 45 | def test_loop_template_exists(self) -> None: |
| LOW | tests/test_v238_command_files.py | 48 | def test_plan_goal_frontmatter(self) -> None: |
| LOW | tests/test_v238_command_files.py | 56 | def test_plan_loop_frontmatter(self) -> None: |
| LOW | tests/test_v238_command_files.py | 61 | def test_plan_goal_mentions_goal_command(self) -> None: |
| LOW | tests/test_v238_command_files.py | 67 | def test_plan_loop_mentions_loop_command(self) -> None: |
| LOW | tests/test_v238_command_files.py | 72 | def test_loop_template_mentions_planning_files(self) -> None: |
| LOW | tests/test_hook_resolver_integration.py | 52 | def test_user_prompt_submit_silent_with_no_plan(self) -> None: |
| LOW | tests/test_hook_resolver_integration.py | 58 | def test_user_prompt_submit_injects_from_planning_subdir(self) -> None: |
| LOW | tests/test_hook_resolver_integration.py | 71 | def test_user_prompt_submit_legacy_root_still_works(self) -> None: |
| LOW | tests/test_hook_resolver_integration.py | 84 | def test_user_prompt_submit_env_plan_id_pins_correct_plan(self) -> None: |
| LOW | tests/test_hook_resolver_integration.py | 100 | def test_pre_tool_use_allows_with_no_plan(self) -> None: |
| LOW | tests/test_hook_resolver_integration.py | 106 | def test_pre_tool_use_surfaces_plan_from_subdir_on_stderr(self) -> None: |
| LOW | tests/test_hook_resolver_integration.py | 123 | def test_stop_silent_with_no_plan(self) -> None: |
| LOW | tests/test_hook_resolver_integration.py | 129 | def test_stop_reports_incomplete_from_subdir_plan(self) -> None: |
| LOW | tests/test_hook_resolver_integration.py | 145 | def test_post_tool_use_silent_with_no_plan(self) -> None: |
| LOW | tests/test_hook_resolver_integration.py | 151 | def test_post_tool_use_reminds_when_plan_in_subdir(self) -> None: |
| LOW | tests/test_precompact_hook.py | 26 | def extract_precompact_command(text: str) -> str: |
| LOW | tests/test_precompact_hook.py | 56 | def test_precompact_is_declared(self) -> None: |
| LOW | tests/test_precompact_hook.py | 59 | def test_precompact_uses_wildcard_matcher(self) -> None: |
| LOW | tests/test_precompact_hook.py | 92 | def test_emits_reminder_when_plan_exists(self) -> None: |
| LOW | tests/test_hook_body_v240.py | 83 | def test_slug_plan_beats_root_task_plan(self) -> None: |
| LOW | tests/test_hook_body_v240.py | 102 | def test_legacy_root_only_still_works(self) -> None: |
| LOW | tests/test_hook_body_v240.py | 111 | def test_no_plan_anywhere_silent_exit_zero(self) -> None: |
| LOW | tests/test_hook_body_v240.py | 117 | def test_corrupt_active_plan_falls_through_to_newest(self) -> None: |
| LOW | tests/test_hook_body_v240.py | 129 | def test_sha_cache_populates_after_attested_fire(self) -> None: |
| LOW | tests/test_hook_body_v240.py | 161 | def test_tamper_still_blocks_with_inverted_order(self) -> None: |
| LOW | tests/test_hook_body_v240.py | 185 | def test_progress_tail_timestamps_normalized(self) -> None: |
| LOW | tests/test_hook_body_v240.py | 210 | def test_pretooluse_injects_plan_data(self) -> None: |
| LOW | tests/test_session_catchup.py | 100 | def test_codex_variant_finds_matching_project_sessions(self): |
| LOW | tests/test_session_catchup.py | 110 | def test_codex_variant_prefers_current_thread_for_same_project(self): |
| LOW | tests/test_session_catchup.py | 125 | def test_codex_variant_skips_small_sessions_and_subagents(self): |
| LOW | tests/test_session_catchup.py | 146 | def test_codex_structured_patch_event_marks_planning_update(self): |
| LOW | tests/test_session_catchup.py | 164 | def test_messages_without_line_numbers_are_ignored(self): |
| LOW | tests/test_session_catchup.py | 187 | def test_codex_main_prints_catchup_from_matching_session(self): |
| LOW | tests/test_script_permissions.py | 24 | def test_shell_scripts_are_executable(self) -> None: |
| LOW | tests/test_script_permissions.py | 28 | def test_session_catchup_is_executable(self) -> None: |
| LOW | tests/test_codex_hooks.py | 38 | def test_hooks_json_declares_all_expected_codex_events(self) -> None: |
| LOW | tests/test_codex_hooks.py | 54 | def test_permission_request_adapter_emits_plan_reminder(self) -> None: |
| LOW | tests/test_codex_hooks.py | 73 | def test_permission_request_silent_without_plan(self) -> None: |
| LOW | tests/test_codex_hooks.py | 85 | def test_session_start_reuses_plan_context(self) -> None: |
| LOW | tests/test_codex_hooks.py | 110 | def test_pre_tool_use_adapter_emits_system_message(self) -> None: |
| LOW | tests/test_codex_hooks.py | 135 | def test_post_tool_use_adapter_emits_progress_reminder(self) -> None: |
| LOW | tests/test_codex_hooks.py | 150 | def test_stop_adapter_blocks_once_then_allows_reentry(self) -> None: |
| LOW | tests/test_resolve_plan_dir.py | 39 | def test_resolver_script_exists(self) -> None: |
| LOW | tests/test_resolve_plan_dir.py | 42 | def test_empty_repo_returns_nothing(self) -> None: |
| LOW | tests/test_resolve_plan_dir.py | 48 | def test_env_plan_id_takes_precedence(self) -> None: |
| LOW | tests/test_resolve_plan_dir.py | 58 | def test_active_plan_used_when_env_missing(self) -> None: |
| LOW | tests/test_resolve_plan_dir.py | 68 | def test_falls_back_to_newest_dir(self) -> None: |
| 105 more matches not shown… | |||
| Severity | File | Line | Snippet |
|---|---|---|---|
| HIGH | scripts/_v240_update_hook_bodies.py | 60 | "AP=$(tr -d '\\r\\n[:space:]' < .planning/.active_plan 2>/dev/null); " |
| HIGH | scripts/_v240_update_hook_bodies.py | 71 | "m=$(stat -c '%Y' \"$d\" 2>/dev/null || stat -f '%m' \"$d\" 2>/dev/null || date -r \"$d\" +%s 2>/dev/null || echo 0) |
| HIGH | scripts/_v240_update_hook_bodies.py | 72 | 'if [ "$m" -gt "$NEWEST_MT" ] 2>/dev/null; then NEWEST_MT="$m"; NEWEST="$d"; fi; ' |
| HIGH | scripts/_v240_update_hook_bodies.py | 80 | "[ -f .plan-attestation ] && ATTEST=$(tr -d '\\r\\n[:space:]' < .plan-attestation 2>/dev/null); " |
| HIGH | scripts/_v240_update_hook_bodies.py | 83 | "[ -f \"${RESOLVED}/.attestation\" ] && ATTEST=$(tr -d '\\r\\n[:space:]' < \"${RESOLVED}/.attestation\" 2>/dev/null) |
| HIGH | scripts/_v240_update_hook_bodies.py | 88 | 'CD="${TMPDIR:-/tmp}/pwf-sha"; mkdir -p "$CD" 2>/dev/null; ' |
| HIGH | scripts/_v240_update_hook_bodies.py | 89 | 'KEY=$(printf "%s" "$PLAN_FILE" | { sha256sum 2>/dev/null || shasum -a 256 2>/dev/null; } | awk \'{print $1}\' | cut |
| HIGH | scripts/_v240_update_hook_bodies.py | 89 | 'KEY=$(printf "%s" "$PLAN_FILE" | { sha256sum 2>/dev/null || shasum -a 256 2>/dev/null; } | awk \'{print $1}\' | cut |
| HIGH | scripts/_v240_update_hook_bodies.py | 90 | "MT=$(stat -c '%Y' \"$PLAN_FILE\" 2>/dev/null || stat -f '%m' \"$PLAN_FILE\" 2>/dev/null || date -r \"$PLAN_FILE\" + |
| HIGH | scripts/_v240_update_hook_bodies.py | 92 | 'if [ -f "$CF" ]; then CM=$(sed -n 1p "$CF" 2>/dev/null); CS=$(sed -n 2p "$CF" 2>/dev/null); fi; ' |
| HIGH | scripts/_v240_update_hook_bodies.py | 94 | 'else ACTUAL=$( (sha256sum "$PLAN_FILE" 2>/dev/null || shasum -a 256 "$PLAN_FILE" 2>/dev/null) | awk \'{print $1}\') |
| HIGH | scripts/_v240_update_hook_bodies.py | 94 | 'else ACTUAL=$( (sha256sum "$PLAN_FILE" 2>/dev/null || shasum -a 256 "$PLAN_FILE" 2>/dev/null) | awk \'{print $1}\') |
| HIGH | scripts/_v240_update_hook_bodies.py | 95 | '[ -n "$ACTUAL" ] && [ -n "$MT" ] && printf "%s\\n%s\\n" "$MT" "$ACTUAL" > "$CF" 2>/dev/null; fi; ' |
| HIGH | scripts/_v240_update_hook_bodies.py | 129 | 'head -30 "$PLAN_FILE" 2>/dev/null; ' |
| HIGH | scripts/_v240_update_hook_bodies.py | 173 | 'powershell.exe -NoProfile -ExecutionPolicy RemoteSigned -File \\"$TARGET_PS1\\" 2>/dev/null; ' |
| HIGH | scripts/_v240_update_hook_bodies.py | 175 | 'sh \\"$TARGET_SH\\" 2>/dev/null; ' |
| Severity | File | Line | Snippet |
|---|---|---|---|
| MEDIUM | tests/test_hook_resolver_integration.py | 48 | # ------------------------------------------------------------------ |
| MEDIUM | tests/test_hook_resolver_integration.py | 50 | # ------------------------------------------------------------------ |
| MEDIUM | tests/test_hook_resolver_integration.py | 96 | # ------------------------------------------------------------------ |
| MEDIUM | tests/test_hook_resolver_integration.py | 98 | # ------------------------------------------------------------------ |
| MEDIUM | tests/test_hook_resolver_integration.py | 119 | # ------------------------------------------------------------------ |
| MEDIUM | tests/test_hook_resolver_integration.py | 121 | # ------------------------------------------------------------------ |
| MEDIUM | tests/test_hook_resolver_integration.py | 141 | # ------------------------------------------------------------------ |
| MEDIUM | tests/test_hook_resolver_integration.py | 143 | # ------------------------------------------------------------------ |
| MEDIUM | tests/test_codex_session_isolation.py | 55 | # ------------------------------------------------------------------ |
| MEDIUM | tests/test_codex_session_isolation.py | 57 | # ------------------------------------------------------------------ |
| MEDIUM | tests/test_codex_session_isolation.py | 74 | # ------------------------------------------------------------------ |
| MEDIUM | tests/test_codex_session_isolation.py | 76 | # ------------------------------------------------------------------ |
| MEDIUM | scripts/sync-ide-folders.py | 28 | # ─── Canonical source ────────────────────────────────────────────── |
| MEDIUM | scripts/sync-ide-folders.py | 31 | # ─── Shared source files (relative to CANONICAL) ────────────────── |
| MEDIUM | scripts/sync-ide-folders.py | 57 | # ─── IDE sync manifests ─────────────────────────────────────────── |
| MEDIUM | scripts/sync-ide-folders.py | 168 | # ─── Utility functions ───────────────────────────────────────────── |
| MEDIUM | scripts/sync-ide-folders.py | 201 | # ─── Main ────────────────────────────────────────────────────────── |
| MEDIUM | …skills/planning-with-files/scripts/sync-ide-folders.py | 28 | # ─── Canonical source ────────────────────────────────────────────── |
| MEDIUM | …skills/planning-with-files/scripts/sync-ide-folders.py | 31 | # ─── Shared source files (relative to CANONICAL) ────────────────── |
| MEDIUM | …skills/planning-with-files/scripts/sync-ide-folders.py | 51 | # ─── IDE sync manifests ─────────────────────────────────────────── |
| MEDIUM | …skills/planning-with-files/scripts/sync-ide-folders.py | 162 | # ─── Utility functions ───────────────────────────────────────────── |
| MEDIUM | …skills/planning-with-files/scripts/sync-ide-folders.py | 195 | # ─── Main ────────────────────────────────────────────────────────── |
| Severity | File | Line | Snippet |
|---|---|---|---|
| LOW | …/skills/planning-with-files/scripts/session-catchup.py | 107 | |
| LOW | …/skills/planning-with-files/scripts/session-catchup.py | 402 | |
| LOW | …/skills/planning-with-files/scripts/session-catchup.py | 475 | |
| LOW | …/skills/planning-with-files/scripts/session-catchup.py | 64 | |
| LOW | …/skills/planning-with-files/scripts/session-catchup.py | 93 | |
| LOW | …/skills/planning-with-files/scripts/session-catchup.py | 107 | |
| LOW | …/skills/planning-with-files/scripts/session-catchup.py | 402 | |
| LOW | …/skills/planning-with-files/scripts/session-catchup.py | 475 | |
| LOW | …/skills/planning-with-files/scripts/session-catchup.py | 107 | |
| LOW | …/skills/planning-with-files/scripts/session-catchup.py | 402 | |
| LOW | …/skills/planning-with-files/scripts/session-catchup.py | 475 | |
| LOW | tests/test_session_catchup.py | 187 | |
| LOW | …/skills/planning-with-files/scripts/session-catchup.py | 107 | |
| LOW | …/skills/planning-with-files/scripts/session-catchup.py | 402 | |
| LOW | …/skills/planning-with-files/scripts/session-catchup.py | 475 | |
| LOW | scripts/session-catchup.py | 99 | |
| LOW | scripts/session-catchup.py | 116 | |
| LOW | scripts/session-catchup.py | 160 | |
| LOW | scripts/sync-ide-folders.py | 224 | |
| LOW | …/skills/planning-with-files/scripts/session-catchup.py | 107 | |
| LOW | …/skills/planning-with-files/scripts/session-catchup.py | 402 | |
| LOW | …/skills/planning-with-files/scripts/session-catchup.py | 475 | |
| LOW | …/planning-with-files/assets/scripts/session-catchup.py | 51 | |
| LOW | skills/planning-with-files/scripts/session-catchup.py | 107 | |
| LOW | skills/planning-with-files/scripts/session-catchup.py | 402 | |
| LOW | skills/planning-with-files/scripts/session-catchup.py | 475 | |
| LOW | …ills/planning-with-files-es/scripts/session-catchup.py | 107 | |
| LOW | …ills/planning-with-files-es/scripts/session-catchup.py | 217 | |
| LOW | …ills/planning-with-files-es/scripts/session-catchup.py | 290 | |
| LOW | …ills/planning-with-files-zh/scripts/session-catchup.py | 107 | |
| LOW | …ills/planning-with-files-zh/scripts/session-catchup.py | 217 | |
| LOW | …ills/planning-with-files-zh/scripts/session-catchup.py | 290 | |
| LOW | …ills/planning-with-files-de/scripts/session-catchup.py | 107 | |
| LOW | …ills/planning-with-files-de/scripts/session-catchup.py | 217 | |
| LOW | …ills/planning-with-files-de/scripts/session-catchup.py | 290 | |
| LOW | …lls/planning-with-files-zht/scripts/session-catchup.py | 107 | |
| LOW | …lls/planning-with-files-zht/scripts/session-catchup.py | 217 | |
| LOW | …lls/planning-with-files-zht/scripts/session-catchup.py | 290 | |
| LOW | …ills/planning-with-files-ar/scripts/session-catchup.py | 107 | |
| LOW | …ills/planning-with-files-ar/scripts/session-catchup.py | 217 | |
| LOW | …ills/planning-with-files-ar/scripts/session-catchup.py | 290 | |
| LOW | …/skills/planning-with-files/scripts/session-catchup.py | 107 | |
| LOW | …/skills/planning-with-files/scripts/session-catchup.py | 402 | |
| LOW | …/skills/planning-with-files/scripts/session-catchup.py | 475 | |
| LOW | .hermes/plugins/planning-with-files/planning_files.py | 50 | |
| LOW | .hermes/plugins/planning-with-files/planning_files.py | 107 | |
| LOW | …/skills/planning-with-files/scripts/session-catchup.py | 99 | |
| LOW | …/skills/planning-with-files/scripts/session-catchup.py | 116 | |
| LOW | …/skills/planning-with-files/scripts/session-catchup.py | 160 | |
| LOW | …skills/planning-with-files/scripts/sync-ide-folders.py | 218 | |
| LOW | …/skills/planning-with-files/scripts/session-catchup.py | 107 | |
| LOW | …/skills/planning-with-files/scripts/session-catchup.py | 402 | |
| LOW | …/skills/planning-with-files/scripts/session-catchup.py | 475 |
| Severity | File | Line | Snippet |
|---|---|---|---|
| LOW | …ini/skills/planning-with-files/scripts/init-session.sh | 4 | # Usage: |
| LOW | …mini/skills/planning-with-files/scripts/attest-plan.sh | 14 | # Usage: |
| LOW | …/skills/planning-with-files/scripts/set-active-plan.sh | 4 | # Usage: |
| LOW | …skills/planning-with-files/scripts/resolve-plan-dir.sh | 12 | # Usage: |
| LOW | …nue/skills/planning-with-files/scripts/init-session.sh | 4 | # Usage: |
| LOW | …inue/skills/planning-with-files/scripts/attest-plan.sh | 14 | # Usage: |
| LOW | …/skills/planning-with-files/scripts/set-active-plan.sh | 4 | # Usage: |
| LOW | …skills/planning-with-files/scripts/resolve-plan-dir.sh | 12 | # Usage: |
| LOW | .codex/hooks/resolve-plan-dir.sh | 12 | # Usage: |
| LOW | …dex/skills/planning-with-files/scripts/init-session.sh | 4 | # Usage: |
| LOW | …odex/skills/planning-with-files/scripts/attest-plan.sh | 14 | # Usage: |
| LOW | …/skills/planning-with-files/scripts/set-active-plan.sh | 4 | # Usage: |
| LOW | …skills/planning-with-files/scripts/resolve-plan-dir.sh | 12 | # Usage: |
| LOW | scripts/init-session.sh | 4 | # Usage: |
| LOW | scripts/attest-plan.sh | 14 | # Usage: |
| LOW | scripts/set-active-plan.sh | 4 | # Usage: |
| LOW | scripts/resolve-plan-dir.sh | 12 | # Usage: |
| LOW | …ory/skills/planning-with-files/scripts/init-session.sh | 4 | # Usage: |
| LOW | …tory/skills/planning-with-files/scripts/attest-plan.sh | 14 | # Usage: |
| LOW | …/skills/planning-with-files/scripts/set-active-plan.sh | 4 | # Usage: |
| LOW | …skills/planning-with-files/scripts/resolve-plan-dir.sh | 12 | # Usage: |
| LOW | skills/planning-with-files/scripts/init-session.sh | 4 | # Usage: |
| LOW | skills/planning-with-files/scripts/attest-plan.sh | 14 | # Usage: |
| LOW | skills/planning-with-files/scripts/set-active-plan.sh | 4 | # Usage: |
| LOW | skills/planning-with-files/scripts/resolve-plan-dir.sh | 12 | # Usage: |
| LOW | …ddy/skills/planning-with-files/scripts/init-session.sh | 4 | # Usage: |
| LOW | …uddy/skills/planning-with-files/scripts/attest-plan.sh | 14 | # Usage: |
| LOW | …/skills/planning-with-files/scripts/set-active-plan.sh | 4 | # Usage: |
| LOW | …skills/planning-with-files/scripts/resolve-plan-dir.sh | 12 | # Usage: |
| LOW | .pi/skills/planning-with-files/scripts/init-session.sh | 4 | # Usage: |
| LOW | .pi/skills/planning-with-files/scripts/attest-plan.sh | 14 | # Usage: |
| LOW | …/skills/planning-with-files/scripts/set-active-plan.sh | 4 | # Usage: |
| LOW | …skills/planning-with-files/scripts/resolve-plan-dir.sh | 12 | # Usage: |
| Severity | File | Line | Snippet |
|---|---|---|---|
| LOW | …ini/skills/planning-with-files/scripts/init-session.sh | 1 | #!/usr/bin/env bash |
| LOW | …mini/skills/planning-with-files/scripts/attest-plan.sh | 1 | #!/bin/sh |
| LOW | …mini/skills/planning-with-files/scripts/attest-plan.sh | 101 | hash_val="$(compute_hash "${plan_file}")" || exit 1 |
| LOW | …i/skills/planning-with-files/scripts/check-complete.sh | 1 | #!/usr/bin/env bash |
| LOW | …skills/planning-with-files/scripts/resolve-plan-dir.sh | 1 | #!/bin/sh |
| LOW | …nue/skills/planning-with-files/scripts/init-session.sh | 1 | #!/usr/bin/env bash |
| LOW | …inue/skills/planning-with-files/scripts/attest-plan.sh | 1 | #!/bin/sh |
| LOW | …inue/skills/planning-with-files/scripts/attest-plan.sh | 101 | hash_val="$(compute_hash "${plan_file}")" || exit 1 |
| LOW | …e/skills/planning-with-files/scripts/check-complete.sh | 1 | #!/usr/bin/env bash |
| LOW | …skills/planning-with-files/scripts/resolve-plan-dir.sh | 1 | #!/bin/sh |
| LOW | tests/test_clear_recovery.sh | 1 | #!/usr/bin/env bash |
| LOW | .codex/hooks/resolve-plan-dir.sh | 1 | #!/bin/sh |
| LOW | …dex/skills/planning-with-files/scripts/init-session.sh | 1 | #!/usr/bin/env bash |
| LOW | …odex/skills/planning-with-files/scripts/attest-plan.sh | 1 | #!/bin/sh |
| LOW | …odex/skills/planning-with-files/scripts/attest-plan.sh | 101 | hash_val="$(compute_hash "${plan_file}")" || exit 1 |
| LOW | …x/skills/planning-with-files/scripts/check-complete.sh | 1 | #!/usr/bin/env bash |
| LOW | …skills/planning-with-files/scripts/resolve-plan-dir.sh | 1 | #!/bin/sh |
| LOW | scripts/init-session.sh | 1 | #!/usr/bin/env bash |
| LOW | scripts/attest-plan.sh | 1 | #!/bin/sh |
| LOW | scripts/attest-plan.sh | 101 | hash_val="$(compute_hash "${plan_file}")" || exit 1 |
| LOW | scripts/check-complete.sh | 1 | #!/usr/bin/env bash |
| LOW | scripts/resolve-plan-dir.sh | 1 | #!/bin/sh |
| LOW | …ory/skills/planning-with-files/scripts/init-session.sh | 1 | #!/usr/bin/env bash |
| LOW | …tory/skills/planning-with-files/scripts/attest-plan.sh | 1 | #!/bin/sh |
| LOW | …tory/skills/planning-with-files/scripts/attest-plan.sh | 101 | hash_val="$(compute_hash "${plan_file}")" || exit 1 |
| LOW | …y/skills/planning-with-files/scripts/check-complete.sh | 1 | #!/usr/bin/env bash |
| LOW | …skills/planning-with-files/scripts/resolve-plan-dir.sh | 1 | #!/bin/sh |
| LOW | skills/planning-with-files/scripts/init-session.sh | 1 | #!/usr/bin/env bash |
| LOW | skills/planning-with-files/scripts/attest-plan.sh | 1 | #!/bin/sh |
| LOW | skills/planning-with-files/scripts/attest-plan.sh | 101 | hash_val="$(compute_hash "${plan_file}")" || exit 1 |
| LOW | skills/planning-with-files/scripts/check-complete.sh | 1 | #!/usr/bin/env bash |
| LOW | skills/planning-with-files/scripts/resolve-plan-dir.sh | 1 | #!/bin/sh |
| LOW | …ddy/skills/planning-with-files/scripts/init-session.sh | 1 | #!/usr/bin/env bash |
| LOW | …uddy/skills/planning-with-files/scripts/attest-plan.sh | 1 | #!/bin/sh |
| LOW | …uddy/skills/planning-with-files/scripts/attest-plan.sh | 101 | hash_val="$(compute_hash "${plan_file}")" || exit 1 |
| LOW | …y/skills/planning-with-files/scripts/check-complete.sh | 1 | #!/usr/bin/env bash |
| LOW | …skills/planning-with-files/scripts/resolve-plan-dir.sh | 1 | #!/bin/sh |
| LOW | .pi/skills/planning-with-files/scripts/init-session.sh | 1 | #!/usr/bin/env bash |
| LOW | .pi/skills/planning-with-files/scripts/attest-plan.sh | 1 | #!/bin/sh |
| LOW | .pi/skills/planning-with-files/scripts/attest-plan.sh | 101 | hash_val="$(compute_hash "${plan_file}")" || exit 1 |
| LOW | …i/skills/planning-with-files/scripts/check-complete.sh | 1 | #!/usr/bin/env bash |
| LOW | …skills/planning-with-files/scripts/resolve-plan-dir.sh | 1 | #!/bin/sh |
| Severity | File | Line | Snippet |
|---|---|---|---|
| LOW | …i/skills/planning-with-files/scripts/check-complete.sh | 2 | # Check if all phases in task_plan.md are complete |
| LOW | …/skills/planning-with-files/scripts/session-catchup.py | 562 | # Check if planning files exist (indicates active task) |
| LOW | …e/skills/planning-with-files/scripts/check-complete.sh | 2 | # Check if all phases in task_plan.md are complete |
| LOW | …/skills/planning-with-files/scripts/session-catchup.py | 157 | # Check if planning files exist (indicates active task) |
| LOW | …e/skills/planning-with-files/scripts/check-complete.sh | 2 | # Check if all phases in task_plan.md are complete |
| LOW | …/skills/planning-with-files/scripts/session-catchup.py | 562 | # Check if planning files exist (indicates active task) |
| LOW | …e/skills/planning-with-files/scripts/check-complete.sh | 2 | # Check if all phases in task_plan.md are complete |
| LOW | …/skills/planning-with-files/scripts/session-catchup.py | 562 | # Check if planning files exist (indicates active task) |
| LOW | …x/skills/planning-with-files/scripts/check-complete.sh | 2 | # Check if all phases in task_plan.md are complete |
| LOW | …/skills/planning-with-files/scripts/session-catchup.py | 562 | # Check if planning files exist (indicates active task) |
| LOW | scripts/check-complete.sh | 2 | # Check if all phases in task_plan.md are complete |
| LOW | …y/skills/planning-with-files/scripts/check-complete.sh | 2 | # Check if all phases in task_plan.md are complete |
| LOW | …/skills/planning-with-files/scripts/session-catchup.py | 562 | # Check if planning files exist (indicates active task) |
| LOW | skills/planning-with-files/scripts/check-complete.sh | 2 | # Check if all phases in task_plan.md are complete |
| LOW | skills/planning-with-files/scripts/session-catchup.py | 562 | # Check if planning files exist (indicates active task) |
| LOW | …ills/planning-with-files-es/scripts/session-catchup.py | 377 | # Check if planning files exist (indicates active task) |
| LOW | …ills/planning-with-files-zh/scripts/session-catchup.py | 377 | # Check if planning files exist (indicates active task) |
| LOW | …ills/planning-with-files-de/scripts/session-catchup.py | 377 | # Check if planning files exist (indicates active task) |
| LOW | …lls/planning-with-files-zht/scripts/session-catchup.py | 377 | # Check if planning files exist (indicates active task) |
| LOW | …ills/planning-with-files-ar/scripts/session-catchup.py | 377 | # Check if planning files exist (indicates active task) |
| LOW | …y/skills/planning-with-files/scripts/check-complete.sh | 2 | # Check if all phases in task_plan.md are complete |
| LOW | …/skills/planning-with-files/scripts/session-catchup.py | 562 | # Check if planning files exist (indicates active task) |
| LOW | …s/skills/planning-with-files/scripts/check-complete.sh | 2 | # Check if all phases in task_plan.md are complete |
| LOW | …i/skills/planning-with-files/scripts/check-complete.sh | 2 | # Check if all phases in task_plan.md are complete |
| LOW | …/skills/planning-with-files/scripts/session-catchup.py | 562 | # Check if planning files exist (indicates active task) |
| Severity | File | Line | Snippet |
|---|---|---|---|
| LOW | tests/test_check_complete_resolver.py | 15 | |
| LOW | tests/test_v238_command_files.py | 8 | |
| LOW | tests/test_hook_resolver_integration.py | 8 | |
| LOW | tests/test_precompact_hook.py | 11 | |
| LOW | tests/test_precompact_hook.py | 13 | |
| LOW | tests/test_hook_body_v240.py | 18 | |
| LOW | tests/test_resolve_plan_dir.py | 10 | |
| LOW | tests/test_plan_attestation.py | 12 | |
| LOW | tests/test_plan_attestation.py | 18 | |
| LOW | tests/test_init_session_slug.py | 9 | |
| LOW | tests/test_init_session_slug.py | 11 | |
| LOW | tests/test_session_catchup_opencode.py | 11 | |
| LOW | tests/test_session_catchup_opencode.py | 18 | |
| LOW | tests/test_set_active_plan.py | 7 | |
| LOW | tests/test_pi_extension_packaging.py | 7 | |
| LOW | tests/test_skill_md_version_parity.py | 16 | |
| LOW | tests/test_canonical_script_sync.py | 18 | |
| LOW | tests/test_codex_session_isolation.py | 11 | |
| LOW | tests/test_pi_docs_hook_support.py | 5 | |
| LOW | tests/test_pi_extension_capabilities.py | 6 | |
| LOW | .codex/hooks/post_tool_use.py | 2 | |
| LOW | .codex/hooks/permission_request.py | 8 | |
| LOW | .codex/hooks/codex_hook_adapter.py | 2 | |
| LOW | .codex/hooks/stop.py | 2 | |
| LOW | .codex/hooks/pre_tool_use.py | 2 | |
| LOW | scripts/_v240_update_hook_bodies.py | 25 | |
| LOW | scripts/bump-version.py | 27 | |
| LOW | …/planning-with-files/assets/scripts/session-catchup.py | 12 | |
| LOW | .hermes/plugins/planning-with-files/hooks.py | 1 | |
| LOW | .hermes/plugins/planning-with-files/__init__.py | 1 | |
| LOW | .hermes/plugins/planning-with-files/hook_state.py | 1 |
| Severity | File | Line | Snippet |
|---|---|---|---|
| LOW | .codex/hooks/codex_hook_adapter.py | 87 | except Exception as exc: # pragma: no cover |
| MEDIUM | .codex/hooks/codex_hook_adapter.py | 84 | def main_guard(func) -> int: |
| MEDIUM | scripts/bump-version.py | 143 | print(f"Error: '{new}' is not a valid semver string.", file=sys.stderr) |
| LOW | scripts/session-catchup.py | 154 | except Exception: |
| LOW | scripts/session-catchup.py | 238 | except Exception: |
| MEDIUM | scripts/sync-ide-folders.py | 231 | print(f"Error: Canonical source not found at {CANONICAL}/") |
| LOW | …/skills/planning-with-files/scripts/session-catchup.py | 154 | except Exception: |
| LOW | …/skills/planning-with-files/scripts/session-catchup.py | 238 | except Exception: |
| MEDIUM | …skills/planning-with-files/scripts/sync-ide-folders.py | 225 | print(f"Error: Canonical source not found at {CANONICAL}/") |